Ultralytics YOLO27:

YOLOv4: 고속·정밀 객체 탐지#

2020년 Alexey Bochkovskiy가 출시한 최첨단 실시간 객체 탐지기 YOLOv4에 대한 Ultralytics 문서 페이지에 오신 것을 환영합니다(https://github.com/AlexeyAB/darknet). YOLOv4는 속도와 정확도 사이에서 최적의 균형을 제공하도록 설계되어 다양한 애플리케이션에 탁월한 선택입니다.

YOLOv4 아키텍처 다이어그램 YOLOv4 아키텍처 다이어그램. YOLOv4의 백본, 넥, 헤드 구성 요소와 최적의 실시간 객체 탐지를 위한 상호 연결된 레이어를 포함한 복잡한 네트워크 설계를 보여줍니다.

소개#

YOLOv4는 You Only Look Once version 4를 의미합니다. 이전 YOLO 버전인 YOLOv3 및 기타 객체 탐지 모델의 한계를 해결하기 위해 개발된 실시간 객체 탐지 모델입니다. 다른 합성곱 신경망(CNN) 기반 객체 탐지기와 달리 YOLOv4는 추천 시스템뿐만 아니라 독립형 프로세스 관리와 사람의 입력 감소에도 적용할 수 있습니다. 일반 그래픽 처리 장치(GPUs)에서 작동하므로 저렴한 비용으로 대규모 사용이 가능하며, 학습에 GPU 하나만 필요하면서도 일반 GPU에서 실시간으로 작동하도록 설계되었습니다.

아키텍처#

YOLOv4는 성능을 최적화하기 위해 함께 작동하는 여러 혁신적인 기능을 활용합니다. 여기에는 가중 잔차 연결(Weighted-Residual-Connections, WRC), 단계 간 부분 연결(Cross-Stage-Partial-connections, CSP), 교차 미니-배치 정규화(CmBN), 자기 적대적 학습(Self-adversarial-training, SAT), Mish 활성화, 모자이크 데이터 증강, DropBlock 정규화, CIoU 손실이 포함됩니다. 이러한 기능을 결합하여 최첨단 결과를 달성합니다.

일반적인 객체 탐지기는 입력, 백본, 넥, 헤드를 비롯한 여러 부분으로 구성됩니다. YOLOv4의 백본은 ImageNet으로 사전 학습되며 객체의 클래스와 바운딩 박스를 예측하는 데 사용됩니다. 백본에는 VGG, ResNet, ResNeXt 또는 DenseNet 등 여러 모델을 사용할 수 있습니다. 탐지기의 넥은 여러 단계에서 특징 맵을 수집하는 데 사용되며, 일반적으로 여러 상향식 경로와 여러 하향식 경로를 포함합니다. 헤드는 최종 객체 탐지와 분류를 수행하는 부분입니다.

무료 혜택 모음#

YOLOv4는 학습 중 추론 비용을 증가시키지 않고 모델의 정확도를 향상하는 기법인 "무료 혜택 모음"을 활용합니다. 데이터 증강객체 탐지에 사용되는 일반적인 무료 혜택 모음 기법으로, 입력 이미지의 다양성을 높여 모델의 견고성을 향상합니다. 데이터 증강의 예로는 광도 왜곡(이미지의 밝기, 대비, 색조, 채도 및 노이즈 조정)과 기하학적 왜곡(무작위 크기 조정, 자르기, 뒤집기 및 회전 추가)이 있습니다. 이러한 기법은 모델이 다양한 유형의 이미지에 더 잘 일반화하도록 돕습니다.

기능 및 성능#

YOLOv4는 객체 탐지에서 최적의 속도와 정확도를 제공하도록 설계되었습니다. YOLOv4의 아키텍처는 백본으로 CSPDarknet53, 넥으로 PANet, 탐지 헤드로 YOLOv3를 포함합니다. 이 설계를 통해 YOLOv4는 인상적인 속도로 객체 탐지를 수행할 수 있어 실시간 애플리케이션에 적합합니다. 또한 YOLOv4는 COCO와 같은 객체 탐지 벤치마크에서 최첨단 결과를 달성하며 뛰어난 정확도를 보입니다.

YOLOv5YOLOv7과 같은 YOLO 제품군의 다른 모델과 비교할 때 YOLOv4는 속도와 정확도의 균형에서 강력한 위치를 유지합니다. 최신 모델이 특정 장점을 제공할 수 있지만, YOLOv4의 아키텍처 혁신은 실시간 성능이 필요한 많은 애플리케이션에서 계속해서 유효합니다.

사용 예시#

YOLOv4는 Darknet 기반 모델이며 Ultralytics Python 패키지에서 기본적으로 지원되지 않습니다. ultralytics/assets에 게시된 yolov4.pt 사전 학습 가중치와 ultralytics/cfg/models/v4/ YAML이 없습니다. 이 페이지는 아키텍처 참고 자료로 유지됩니다. YOLOv4 실행에 관심이 있는 사용자는 설치 및 사용 지침을 YOLOv4 GitHub 저장소에서 직접 확인해야 합니다.

다음은 YOLOv4를 사용하기 위해 수행할 수 있는 일반적인 단계의 간략한 개요입니다.

  1. YOLOv4 GitHub 저장소를 방문합니다: https://github.com/AlexeyAB/darknet.

  2. 설치를 위해 README 파일에 제공된 지침을 따릅니다. 일반적으로 저장소 복제, 필요한 종속성 설치, 필요한 환경 변수 설정이 포함됩니다.

  3. 설치가 완료되면 저장소에 제공된 사용 지침에 따라 모델을 학습하고 사용할 수 있습니다. 일반적으로 데이터셋 준비, 모델 매개변수 구성, 모델 학습, 학습된 모델을 사용한 객체 탐지가 포함됩니다.

구체적인 단계는 사용 사례와 YOLOv4 저장소의 현재 상태에 따라 달라질 수 있습니다. 따라서 YOLOv4 GitHub 저장소에 제공된 지침을 직접 확인하는 것이 좋습니다.

Ultralytics 프레임워크에서 학습 및 추론을 수행하려면 YOLO11 또는 YOLO26을 참조하십시오.

결론#

YOLOv4는 속도와 정확도의 균형을 이루는 강력하고 효율적인 객체 탐지 모델입니다. 학습 중 고유한 기능과 무료 혜택 모음 기법을 사용하여 실시간 객체 탐지 작업에서 뛰어난 성능을 발휘합니다. YOLOv4는 일반 GPU를 보유한 누구나 학습하고 사용할 수 있어 감시 시스템, 자율 주행 차량, 산업 자동화 등 다양한 애플리케이션에서 접근성과 실용성이 높습니다.

프로젝트에 객체 탐지를 구현하려는 경우 YOLOv4는 여전히 강력한 경쟁력을 갖추고 있으며, 특히 실시간 성능이 우선순위일 때 더욱 그렇습니다. 현재 Ultralytics는 YOLO11YOLO26과 같은 최신 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#

  • "You Only Look Once version 4"를 의미하는 YOLOv4는 2020년 Alexey Bochkovskiy가 개발한 최첨단 실시간 객체 탐지 모델입니다. 속도와 정확도 사이의 최적의 균형을 달성하여 실시간 애플리케이션에 매우 적합합니다. YOLOv4의 아키텍처에는 가중 잔차 연결(Weighted-Residual-Connections, WRC), 단계 간 부분 연결(Cross-Stage-Partial-connections, CSP), 자기 적대적 학습(Self-adversarial-training, SAT) 등의 여러 혁신적인 기능이 포함되어 최첨단 결과를 달성합니다. 일반 GPU에서 효율적으로 작동하는 고성능 모델을 찾고 있다면 YOLOv4는 탁월한 선택입니다.

  • YOLOv4의 아키텍처에는 백본, 넥, 헤드라는 몇 가지 핵심 구성 요소가 포함됩니다. VGG, ResNet 또는 CSPDarknet53과 같은 모델을 사용할 수 있는 백본은 클래스와 바운딩 박스를 예측하도록 사전 학습됩니다. PANet을 사용하는 넥은 여러 단계의 특징 맵을 연결하여 데이터를 종합적으로 추출합니다. 마지막으로 YOLOv3의 구성을 사용하는 헤드가 최종 객체 탐지를 수행합니다. 또한 YOLOv4는 모자이크 데이터 증강과 DropBlock 정규화 같은 "무료 혜택 모음" 기법을 사용하여 속도와 정확도를 더욱 최적화합니다.

  • "무료 혜택 모음"은 추론 비용을 증가시키지 않고 YOLOv4의 학습 정확도를 향상하는 방법을 의미합니다. 이러한 기법에는 광도 왜곡(밝기, 대비 등의 조정)과 기하학적 왜곡(크기 조정, 자르기, 뒤집기, 회전) 같은 다양한 형태의 데이터 증강이 포함됩니다. 이러한 증강은 입력 이미지의 다양성을 높여 YOLOv4가 다양한 유형의 이미지에 더 잘 일반화하도록 하며, 실시간 성능을 저해하지 않고 견고성과 정확도를 향상합니다.

  • YOLOv4는 속도와 정확도를 모두 최적화하도록 설계되어 빠르고 안정적인 성능이 필요한 실시간 객체 탐지 작업에 적합합니다. 일반 GPU에서 효율적으로 작동하며 학습과 추론에 GPU 하나만 필요합니다. 따라서 추천 시스템부터 독립형 프로세스 관리에 이르는 다양한 애플리케이션에서 사용할 수 있고, 광범위한 하드웨어 구성을 줄여 실시간 객체 탐지를 위한 비용 효율적인 솔루션을 제공합니다.

  • YOLOv4를 시작하려면 공식 YOLOv4 GitHub 저장소를 방문해야 합니다. README 파일에 제공된 설치 지침을 따르십시오. 일반적으로 저장소 복제, 종속성 설치, 환경 변수 설정이 포함됩니다. 설치가 완료되면 데이터셋을 준비하고 모델 매개변수를 구성한 후 제공된 사용 지침에 따라 모델을 학습할 수 있습니다. 현재 Ultralytics는 YOLOv4를 지원하지 않으므로 최신의 상세한 지침은 YOLOv4 GitHub를 직접 참조하는 것이 좋습니다.

댓글