콘텐츠로 건너뛰기

YOLOv4: 고속 및 정밀 객체 감지

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

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

소개

YOLOv4는 You Only Look Once 버전 4의 약자입니다. YOLOv3와 같은 이전 YOLO 버전 및 기타 객체 감지 모델의 제한 사항을 해결하기 위해 개발된 실시간 객체 감지 모델입니다. 다른 컨볼루션 신경망(CNN) 기반 객체 감지기와 달리 YOLOv4는 추천 시스템뿐만 아니라 독립 실행형 프로세스 관리 및 인간 입력 감소에도 적용할 수 있습니다. 기존 GPU(그래픽 처리 장치)에서 작동하므로 저렴한 가격으로 대량 사용이 가능하며 훈련에 하나의 GPU만 필요로 하면서 기존 GPU에서 실시간으로 작동하도록 설계되었습니다.

아키텍처

YOLOv4는 성능을 최적화하기 위해 함께 작동하는 여러 혁신적인 기능을 사용합니다. 여기에는 WRC(Weighted-Residual-Connections), CSP(Cross-Stage-Partial-connections), CmBN(Cross mini-Batch Normalization), SAT(Self-adversarial-training), Mish-activation, Mosaic 데이터 증강, DropBlock 정규화 및 CIoU 손실이 포함됩니다. 이러한 기능은 결합되어 최첨단 결과를 달성합니다.

일반적인 객체 감지기는 입력, 백본, 목, 머리를 포함한 여러 부분으로 구성됩니다. YOLOv4의 백본은 ImageNet에서 사전 훈련되었으며 객체의 클래스 및 경계 상자를 예측하는 데 사용됩니다. 백본은 VGG, ResNet, ResNeXt 또는 DenseNet을 포함한 여러 모델에서 가져올 수 있습니다. 감지기의 목 부분은 다양한 단계에서 특징 맵을 수집하는 데 사용되며 일반적으로 여러 하향식 경로와 여러 상향식 경로를 포함합니다. 머리 부분은 최종 객체 감지 및 분류를 수행하는 데 사용됩니다.

Bag of Freebies

YOLOv4는 또한 "bag of freebies"로 알려진 방법을 사용하는데, 이는 추론 비용을 증가시키지 않으면서 모델의 정확도를 향상시키는 기술입니다. 데이터 증강객체 감지에서 사용되는 일반적인 bag of freebies 기술로, 모델의 견고성을 향상시키기 위해 입력 이미지의 다양성을 증가시킵니다. 데이터 증강의 몇 가지 예로는 사진 왜곡(이미지의 밝기, 대비, 색조, 채도 및 노이즈 조정) 및 기하학적 왜곡(임의 스케일링, 자르기, 뒤집기 및 회전 추가)이 있습니다. 이러한 기술은 모델이 다양한 유형의 이미지에 더 잘 일반화되도록 돕습니다.

기능 및 성능

YOLOv4는 객체 감지에서 최적의 속도와 정확도를 위해 설계되었습니다. YOLOv4의 아키텍처에는 백본으로 CSPDarknet53, 넥으로 PANet, 감지 헤드로 YOLOv3가 포함됩니다. 이 설계를 통해 YOLOv4는 인상적인 속도로 객체 감지를 수행할 수 있어 실시간 애플리케이션에 적합합니다. YOLOv4는 또한 COCO와 같은 객체 감지 벤치마크에서 최고 수준의 결과를 달성하여 정확성 면에서도 뛰어납니다.

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

사용 예시

작성 시점을 기준으로 Ultralytics는 현재 YOLOv4 모델을 지원하지 않습니다. 따라서 YOLOv4 사용에 관심 있는 사용자는 설치 및 사용 지침은 YOLOv4 GitHub 저장소를 직접 참조해야 합니다.

다음은 YOLOv4를 사용하는 일반적인 단계에 대한 간략한 개요입니다.

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

  2. 설치에 대한 자세한 내용은 README 파일을 참조하세요. 일반적으로 저장소를 복제하고, 필요한 종속성을 설치하고, 필요한 환경 변수를 설정하는 과정이 포함됩니다.

  3. 설치가 완료되면 리포지토리에서 제공하는 사용 지침에 따라 모델을 학습하고 사용할 수 있습니다. 일반적으로 데이터 세트 준비, 모델 파라미터 구성, 모델 학습, 학습된 모델을 사용하여 객체 탐지를 수행하는 과정이 포함됩니다.

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

불편을 드려 죄송하며 YOLOv4 지원이 구현되면 Ultralytics 사용 예제로 이 문서를 업데이트하도록 노력하겠습니다.

결론

YOLOv4는 속도와 정확도 사이의 균형을 맞춘 강력하고 효율적인 객체 감지 모델입니다. 고유한 기능과 학습 중 bag of freebies 기술을 사용하여 실시간 객체 감지 작업에서 뛰어난 성능을 발휘합니다. YOLOv4는 기존 GPU를 가진 사람이면 누구나 학습하고 사용할 수 있어 감시 시스템, 자율 주행 차량산업 자동화를 포함한 광범위한 애플리케이션에 접근 가능하고 실용적입니다.

프로젝트에서 객체 감지를 구현하려는 사람들에게 YOLOv4는 특히 실시간 성능이 우선 순위인 경우 강력한 경쟁자로 남아 있습니다. Ultralytics는 현재 YOLOv8YOLO11과 같은 최신 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 버전 4"를 의미하는 YOLOv4는 2020년 Alexey Bochkovskiy가 개발한 최첨단 실시간 객체 감지 모델입니다. 속도와 정확도 사이의 최적의 균형을 달성하여 실시간 응용 분야에 매우 적합합니다. YOLOv4의 아키텍처는 최첨단 결과를 달성하기 위해 WRC(Weighted-Residual-Connections), CSP(Cross-Stage-Partial-connections) 및 SAT(Self-adversarial-training)와 같은 여러 혁신적인 기능을 통합합니다. 기존 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를 직접 참조하는 것이 좋습니다.



📅 1년 전에 생성됨 ✏️ 5개월 전에 업데이트됨

댓글