YOLOv4: 고속 및 정밀 객체 탐지#
2020년 Alexey Bochkovskiy가 https://github.com/AlexeyAB/darknet에서 공개한 최고 성능의 실시간 객체 검출기인 YOLOv4에 대한 Ultralytics 문서 페이지에 오신 것을 환영합니다. YOLOv4는 속도와 정확도의 최적의 균형을 제공하도록 설계되어 많은 애플리케이션에 훌륭한 선택이 됩니다.
YOLOv4 아키텍처 다이어그램. 백본, 넥, 헤드 컴포넌트와 최적의 실시간 객체 검출을 위한 상호 연결된 레이어를 포함하는 YOLOv4의 정교한 네트워크 설계를 보여줍니다.
소개#
YOLOv4는 You Only Look Once version 4의 약자입니다. YOLOv3 및 기타 객체 검출 모델과 같은 이전 YOLO 버전의 한계를 해결하기 위해 개발된 실시간 객체 검출 모델입니다. 다른 합성곱 신경망(CNN) 기반 객체 검출기와 달리, YOLOv4는 추천 시스템뿐만 아니라 독립형 프로세스 관리 및 인간 입력 감소에도 적용할 수 있습니다. 전통적인 그래픽 처리 장치(GPU)에서의 작동으로 저렴한 가격에 대량 사용이 가능하며, 훈련을 위해 단 하나의 일반적인 GPU만 요구하면서도 일반 GPU에서 실시간으로 작동하도록 설계되었습니다.
아키텍처#
YOLOv4는 성능을 최적화하기 위해 함께 작동하는 몇 가지 혁신적인 기능을 활용합니다. 여기에는 가중 잔차 연결(WRC), 교차 단계 부분 연결(CSP), 교차 미니 배치 정규화(CmBN), 자기 적대적 훈련(SAT), Mish 활성화, 모자이크 데이터 증강, DropBlock 정규화 및 CIoU 손실이 포함됩니다. 이러한 기능들이 결합되어 최첨단 결과를 달성합니다.
일반적인 객체 검출기는 입력, 백본, 넥, 헤드를 포함한 여러 부분으로 구성됩니다. YOLOv4의 백본은 ImageNet에서 사전 훈련되며 객체의 클래스와 바운딩 박스를 예측하는 데 사용됩니다. 백본은 VGG, ResNet, ResNeXt 또는 DenseNet을 포함한 여러 모델에서 가져올 수 있습니다. 검출기의 넥 부분은 다양한 단계에서 피처 맵을 수집하는 데 사용되며, 일반적으로 여러 상향식 경로와 여러 하향식 경로를 포함합니다. 헤드 부분은 최종 객체 검출 및 분류를 수행하는 데 사용되는 부분입니다.
Bag of Freebies#
YOLOv4는 추론 비용을 늘리지 않으면서 훈련 중 모델의 정확도를 향상시키는 기술인 "무료 점심(bag of freebies)" 방법도 활용합니다. 데이터 증강은 객체 검출에서 사용되는 일반적인 무료 점심 기술로, 입력 이미지의 다양성을 높여 모델의 견고성을 향상시킵니다. 데이터 증강의 일부 예시로는 광도 왜곡(이미지의 밝기, 대비, 색조, 채도 및 노이즈 조정)과 기하학적 왜곡(무작위 스케일링, 자르기, 뒤집기 및 회전 추가)이 있습니다. 이러한 기술은 모델이 다양한 유형의 이미지에 더 잘 일반화되도록 돕습니다.
기능 및 성능#
YOLOv4는 객체 검출에서 최적의 속도와 정확도를 위해 설계되었습니다. YOLOv4의 아키텍처에는 백본으로 CSPDarknet53, 넥으로 PANet, 검출 헤드로 YOLOv3가 포함됩니다. 이 설계를 통해 YOLOv4는 인상적인 속도로 객체 검출을 수행할 수 있어 실시간 애플리케이션에 적합합니다. 또한 YOLOv4는 정확도 면에서도 탁월하여 COCO와 같은 객체 검출 벤치마크에서 최고 수준의 결과를 달성합니다.
YOLOv5 및 YOLOv7과 같은 YOLO 제품군의 다른 모델들과 비교할 때, YOLOv4는 속도와 정확도 사이의 균형에서 강력한 위치를 유지합니다. 최신 모델이 특정 이점을 제공할 수 있지만, YOLOv4의 아키텍처 혁신은 실시간 성능이 요구되는 많은 애플리케이션에서 여전히 유효합니다.
사용 예제#
YOLOv4는 Darknet 기반 모델이며 Ultralytics Python 패키지에서 네이티브 지원되지 않습니다: ultralytics/assets에 게시된 yolov4.pt 사전 학습된 가중치나 ultralytics/cfg/models/v4/ YAML 파일이 없습니다. 이 페이지는 아키텍처 참고용으로 유지됩니다. YOLOv4 실행에 관심이 있는 사용자는 설치 및 사용 지침을 위해 YOLOv4 GitHub 저장소를 직접참조하시기 바랍니다.
YOLOv4를 사용하기 위해 수행할 수 있는 일반적인 단계에 대한 간략한 개요는 다음과 같습니다:
-
YOLOv4 GitHub 저장소 방문하기: https://github.com/AlexeyAB/darknet.
-
설치를 위해 README 파일에 제공된 지침을 따르십시오. 이는 일반적으로 저장소를 클론하고, 필요한 종속성을 설치하며, 필요한 환경 변수를 설정하는 과정을 포함합니다.
-
설치가 완료되면 저장소에 제공된 사용 지침에 따라 모델을 훈련하고 사용할 수 있습니다. 여기에는 일반적으로 데이터 세트 준비, 모델 매개변수 구성, 모델 훈련, 훈련된 모델을 사용한 객체 탐지 수행이 포함됩니다.
특정 단계는 사용 사례와 YOLOv4 저장소의 현재 상태에 따라 다를 수 있습니다. 따라서 YOLOv4 GitHub 저장소에 제공된 지침을 직접 참조하는 것을 강력히 권장합니다.
Ultralytics 프레임워크 내에서의 훈련 및 추론에 대해서는 YOLO11 또는 YOLO26을 참조하십시오.
결론#
YOLOv4는 속도와 정확도의 균형을 맞추는 강력하고 효율적인 객체 검출 모델입니다. 고유한 기능과 훈련 중 무료 점심 기술을 사용하여 실시간 객체 검출 작업에서 뛰어난 성능을 발휘합니다. YOLOv4는 일반 GPU를 가진 누구나 훈련하고 사용할 수 있으므로, 감시 시스템, 자율주행 차량, 산업 자동화를 포함한 다양한 애플리케이션에서 접근하기 쉽고 실용적입니다.
프로젝트에 객체 검출을 구현하려는 사람들에게 YOLOv4는 특히 실시간 성능이 최우선 과제일 때 강력한 경쟁자로 남아 있습니다. Ultralytics는 현재 YOLO11 및 YOLO26과 같은 최신 YOLO 버전 지원에 집중하고 있지만, YOLOv4에서 도입된 아키텍처 혁신은 이러한 후속 모델들의 개발에 영향을 미쳤습니다.
인용 및 감사의 글#
실시간 객체 탐지 분야에 기여한 YOLOv4 저자들의 중요한 공로를 인정합니다:
@misc{bochkovskiy2020yolov4,
title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
year={2020},
eprint={2004.10934},
archivePrefix={arXiv},
primaryClass={cs.CV}
}원본 YOLOv4 논문은 arXiv에서 찾아볼 수 있습니다. 저자들은 연구 결과를 공개했으며, 코드베이스는 GitHub에서 액세스할 수 있습니다. 분야를 발전시키고 더 넓은 커뮤니티가 연구에 접근할 수 있도록 한 그들의 노력에 감사드립니다.
FAQ#
YOLOv4란 무엇이며 객체 검출에 이를 사용해야 하는 이유는 무엇인가요?#
"You Only Look Once version 4"의 약자인 YOLOv4는 2020년 Alexey Bochkovskiy가 개발한 최고 성능의 실시간 객체 검출 모델입니다. 속도와 정확도 사이의 최적의 균형을 달성하여 실시간 애플리케이션에 매우 적합합니다. YOLOv4의 아키텍처에는 최고 수준의 결과를 달성하기 위해 가중 잔차 연결(WRC), 교차 단계 부분 연결(CSP), 자기 적대적 훈련(SAT) 등 여러 혁신적인 기능이 통합되어 있습니다. 일반 GPU에서 효율적으로 작동하는 고성능 모델을 찾고 있다면 YOLOv4는 훌륭한 선택입니다.
YOLOv4의 아키텍처는 성능을 어떻게 향상시키나요?#
YOLOv4의 아키텍처에는 백본, 넥, 헤드의 몇 가지 주요 컴포넌트가 포함됩니다. VGG, ResNet 또는 CSPDarknet53과 같은 모델일 수 있는 백본은 클래스와 바운딩 박스를 예측하도록 사전 훈련됩니다. PANet을 활용하는 넥은 포괄적인 데이터 추출을 위해 다양한 단계의 피처 맵을 연결합니다. 마지막으로 YOLOv3의 구성을 사용하는 헤드가 최종 객체 검출을 수행합니다. 또한 YOLOv4는 모자이크 데이터 증강 및 DropBlock 정규화와 같은 "무료 점심" 기술을 채택하여 속도와 정확도를 더욱 최적화합니다.
YOLOv4 맥락에서 "bag of freebies"란 무엇인가요?#
"Bag of freebies"는 추론 비용을 증가시키지 않으면서 YOLOv4의 훈련 정확도를 향상시키는 방법을 의미합니다. 이러한 기술에는 광도 왜곡(밝기, 대비 조정 등) 및 기하학적 왜곡(스케일링, 자르기, 뒤집기, 회전)과 같은 다양한 형태의 데이터 증강이 포함됩니다. 이러한 증강은 입력 이미지의 변동성을 높여 YOLOv4가 다양한 유형의 이미지에 더 잘 일반화되도록 도와 실시간 성능을 저해하지 않으면서 견고성과 정확도를 향상시킵니다.
YOLOv4가 일반 GPU에서의 실시간 객체 탐지에 적합하다고 간주되는 이유는 무엇인가요?#
YOLOv4는 속도와 정확도를 모두 최적화하도록 설계되어 빠르고 안정적인 성능이 요구되는 실시간 객체 검출 작업에 이상적입니다. 일반 GPU에서 효율적으로 작동하며 훈련과 추론 모두에 단 하나만 필요합니다. 덕분에 추천 시스템부터 독립형 프로세스 관리에 이르는 다양한 애플리케이션에 접근하고 실용적으로 사용할 수 있으며, 광범위한 하드웨어 설정의 필요성을 줄여 실시간 객체 검출을 위한 비용 효율적인 솔루션이 됩니다.
Ultralytics에서 현재 지원하지 않는 경우 YOLOv4를 어떻게 시작할 수 있나요?#
YOLOv4를 시작하려면 공식 YOLOv4 GitHub 저장소를 방문해야 합니다. README 파일에 제공된 설치 지침을 따르십시오. 일반적으로 저장소 복제, 종속성 설치, 환경 변수 설정이 포함됩니다. 일단 설치되면 데이터셋 준비, 모델 파라미터 구성, 제공된 사용 지침에 따라 모델을 훈련할 수 있습니다. 현재 Ultralytics는 YOLOv4를 지원하지 않으므로 가장 최신이고 상세한 안내를 위해 YOLOv4 GitHub를 직접 참조하는 것이 좋습니다.