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는 추천 시스템뿐 아니라 독립형 프로세스 관리 및 사람의 입력 감소에도 적용할 수 있습니다. 일반 그래픽 처리 장치(GPUs)에서 작동하므로 저렴한 비용으로 광범위하게 사용할 수 있습니다. 또한 일반 GPU 한 대만 학습에 필요하며, 일반 GPU에서 실시간으로 작동하도록 설계되었습니다.
아키텍처#
YOLOv4는 성능을 최적화하기 위해 함께 작동하는 여러 혁신적인 기능을 활용합니다. 여기에는 Weighted-Residual-Connections(WRC), Cross-Stage-Partial-connections(CSP), Cross mini-배치 정규화(CmBN), Self-adversarial-training(SAT), Mish-activation, 모자이크 데이터 증강, DropBlock 정규화, CIoU 손실이 포함됩니다. 이러한 기능을 결합해 최첨단 결과를 달성합니다.
일반적인 객체 디텍터는 입력, 백본, 넥, 헤드 등 여러 부분으로 구성됩니다. YOLOv4의 백본은 ImageNet으로 사전 학습되며 객체의 클래스와 바운딩 박스를 예측하는 데 사용됩니다. 백본에는 VGG, ResNet, ResNeXt, DenseNet 등 여러 모델을 사용할 수 있습니다. 디텍터의 넥은 다양한 단계의 특징 맵을 수집하며, 일반적으로 여러 하향 경로와 상향 경로를 포함합니다. 헤드는 최종 객체 탐지와 분류를 수행하는 부분입니다.
프리비의 묶음#
YOLOv4는 학습 중 모델의 정확도를 높이면서 추론 비용은 늘리지 않는 기법인 '프리비의 묶음'도 활용합니다. 데이터 증강은 객체 탐지에서 사용하는 일반적인 프리비의 묶음 기법으로, 입력 이미지의 다양성을 높여 모델의 견고성을 향상합니다. 데이터 증강의 예로는 광도 왜곡(이미지의 밝기, 대비, 색조, 채도, 노이즈 조정)과 기하학적 왜곡(무작위 크기 조정, 자르기, 뒤집기, 회전 추가)이 있습니다. 이러한 기법은 모델이 다양한 유형의 이미지에 더 잘 일반화되도록 돕습니다.
기능 및 성능#
YOLOv4는 객체 탐지에서 최적의 속도와 정확도를 구현하도록 설계되었습니다. YOLOv4 아키텍처는 백본으로 CSPDarknet53, 넥으로 PANet, 탐지 헤드로 YOLOv3를 사용합니다. 이러한 설계 덕분에 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는 속도와 정확도의 균형을 갖춘 강력하고 효율적인 객체 탐지 모델입니다. 학습 중 고유한 기능과 프리비의 묶음 기법을 활용해 실시간 객체 탐지 작업에서 뛰어난 성능을 발휘합니다. 일반 GPU를 사용하는 누구나 YOLOv4를 학습하고 사용할 수 있으므로 감시 시스템, 자율 주행 차량, 산업 자동화 등 폭넓은 애플리케이션에서 접근성과 실용성을 갖춥니다.
프로젝트에 객체 탐지를 구현하려는 사용자에게 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에서 이용할 수 있습니다. 해당 분야를 발전시키고 연구 결과를 더 넓은 커뮤니티에 공개해 주신 저자들의 노력에 감사드립니다.
자주 묻는 질문#
"You Only Look Once version 4"를 뜻하는 YOLOv4는 Alexey Bochkovskiy가 2020년에 개발한 최첨단 실시간 객체 탐지 모델입니다. 속도와 정확도 간 최적의 균형을 달성해 실시간 애플리케이션에 매우 적합합니다. YOLOv4 아키텍처는 Weighted-Residual-Connections(WRC), Cross-Stage-Partial-connections(CSP), Self-adversarial-training(SAT) 등 여러 혁신적인 기능을 통합해 최첨단 결과를 달성합니다. 일반 GPU에서 효율적으로 작동하는 고성능 모델을 찾고 있다면 YOLOv4가 탁월한 선택입니다.
'프리비의 묶음'은 추론 비용을 늘리지 않고 YOLOv4의 학습 정확도를 향상하는 방법을 가리킵니다. 이러한 기법에는 광도 왜곡(밝기, 대비 등을 조정)과 기하학적 왜곡(크기 조정, 자르기, 뒤집기, 회전)과 같은 다양한 데이터 증강 방식이 포함됩니다. 입력 이미지의 다양성을 높이면 이러한 증강 기법을 통해 YOLOv4가 여러 유형의 이미지에 더 잘 일반화되므로, 실시간 성능을 저해하지 않고 견고성과 정확도를 향상할 수 있습니다.
YOLOv4는 속도와 정확도를 모두 최적화하도록 설계되어 빠르고 안정적인 성능이 필요한 실시간 객체 탐지 작업에 이상적입니다. 일반 GPU에서 효율적으로 작동하며 학습과 추론에 GPU 한 대만 필요합니다. 따라서 추천 시스템부터 독립형 프로세스 관리까지 다양한 애플리케이션에서 접근성과 실용성을 갖추며, 광범위한 하드웨어 구성의 필요성을 줄여 실시간 객체 탐지를 위한 비용 효율적인 솔루션을 제공합니다.
YOLOv4를 시작하려면 공식 YOLOv4 GitHub 저장소를 방문하세요. README 파일의 설치 지침을 따르세요. 일반적으로 저장소 복제, 종속성 설치, 환경 변수 설정이 포함됩니다. 설치가 끝나면 데이터셋을 준비하고 모델 매개변수를 구성한 다음 제공된 사용 지침에 따라 모델을 학습할 수 있습니다. Ultralytics는 현재 YOLOv4를 지원하지 않으므로 최신의 자세한 지침은 YOLOv4 GitHub에서 직접 확인하는 것이 좋습니다.