YOLOv4: 빠르고 정밀한 물체 감지
알렉세이 보흐코브스키( https://github.com/AlexeyAB/darknet)가 2020년에 출시한 최첨단 실시간 물체 감지기인 YOLOv4의 설명서 페이지( Ultralytics )에 오신 것을 환영합니다 . YOLOv4는 속도와 정확성 사이에서 최적의 균형을 제공하도록 설계되어 다양한 애플리케이션에 탁월한 선택이 될 것입니다.
YOLOv4 아키텍처 다이어그램. 백본, 넥, 헤드 구성 요소와 최적의 실시간 객체 감지를 위한 상호 연결된 레이어를 포함한 YOLOv4의 복잡한 네트워크 설계를 소개합니다.
소개
YOLOv4는 You Only Look Once 버전 4의 약자입니다. 이전 버전( YOLO ) 및 기타 객체 감지 모델의 한계를 해결하기 위해 개발된 실시간 객체 감지 모델입니다. 다른 컨볼루션 신경망 (CNN) 기반 객체 검출기와 달리 YOLOv4는 추천 시스템뿐만 아니라 독립형 프로세스 관리 및 인적 입력 감소에도 적용할 수 있습니다. 기존 그래픽 처리 장치(GPU)에서 작동하기 때문에 합리적인 가격으로 대량 사용이 가능하며, 기존 GPU 에서 실시간으로 작동하면서 학습을 위해 GPU 하나만 필요하도록 설계되었습니다.
아키텍처
YOLOv4는 성능을 최적화하기 위해 함께 작동하는 몇 가지 혁신적인 기능을 사용합니다. 여기에는 가중 잔여 연결(WRC), 교차 단계 부분 연결(CSP), 교차 미니 배치 정규화(CmBN), 자기 적대 학습(SAT), 미시 활성화, 모자이크 데이터 증강, 드롭블록 정규화, CIoU 손실 등이 포함됩니다. 이러한 기능을 결합하여 최첨단 결과를 얻을 수 있습니다.
일반적인 객체 감지기는 입력, 백본, 목, 머리 등 여러 부분으로 구성됩니다. YOLOv4의 백본은 이미지넷에서 사전 학습되며 객체의 클래스 및 바운딩 박스를 예측하는 데 사용됩니다. 백본은 VGG, ResNet, ResNeXt 또는 DenseNet을 포함한 여러 모델에서 가져올 수 있습니다. 탐지기의 목 부분은 여러 단계의 특징 맵을 수집하는 데 사용되며 일반적으로 여러 개의 상향식 경로와 여러 개의 하향식 경로를 포함합니다. 머리 부분은 최종 객체 감지 및 분류에 사용되는 부분입니다.
공짜 가방
YOLOv4는 또한 추론 비용을 늘리지 않고도 훈련 중에 모델의 정확도를 향상시키는 기술인 "공짜 가방"으로 알려진 방법을 사용합니다. 데이터 증강은 객체 감지에 사용되는 일반적인 공짜 가방 기법으로, 입력 이미지의 가변성을 증가시켜 모델의 견고성을 향상시킵니다. 데이터 증강의 몇 가지 예로는 광도 왜곡(이미지의 밝기, 대비, 색조, 채도, 노이즈 조정)과 기하학적 왜곡(임의 크기 조정, 자르기, 뒤집기, 회전 추가)이 있습니다. 이러한 기법은 모델이 다양한 유형의 이미지에 더 잘 일반화할 수 있도록 도와줍니다.
기능 및 성능
YOLOv4는 물체 감지의 속도와 정확도를 최적화하도록 설계되었습니다. YOLOv4의 아키텍처는 백본으로 CSPDarknet53, 넥으로 PANet, 감지 헤드로 YOLOv3를 포함합니다. 이러한 설계 덕분에 YOLOv4는 인상적인 속도로 물체 감지를 수행할 수 있어 실시간 애플리케이션에 적합합니다. 또한 YOLOv4는 정확도가 뛰어나 COCO와 같은 물체 감지 벤치마크에서 최고 수준의 결과를 달성했습니다.
다음과 같은 YOLO 제품군의 다른 모델과 비교할 때 YOLOv5 및 YOLOv7과 같은 다른 모델과 비교할 때, YOLOv4는 속도와 정확성 사이의 균형에서 강력한 입지를 유지하고 있습니다. 최신 모델이 특정 이점을 제공할 수 있지만, YOLOv4의 아키텍처 혁신은 실시간 성능이 필요한 많은 애플리케이션에 계속 적합하게 만들어 줍니다.
사용 예
이 글을 작성하는 시점을 기준으로 Ultralytics 은 현재 YOLOv4 모델을 지원하지 않습니다. 따라서 YOLOv4 사용에 관심이 있는 사용자는 설치 및 사용 지침을 YOLOv4 GitHub 리포지토리에서 직접 참조해야 합니다.
다음은 YOLOv4를 사용하기 위해 취할 수 있는 일반적인 단계에 대한 간략한 개요입니다:
-
YOLOv4 GitHub 리포지토리 (https://github.com/AlexeyAB/darknet)를 방문하세요.
-
README 파일에 제공된 지침에 따라 설치합니다. 여기에는 일반적으로 리포지토리 복제, 필요한 종속성 설치, 필요한 환경 변수 설정이 포함됩니다.
-
설치가 완료되면 리포지토리에 제공된 사용 지침에 따라 모델을 훈련하고 사용할 수 있습니다. 여기에는 일반적으로 데이터 세트 준비, 모델 매개변수 구성, 모델 학습, 학습된 모델을 사용하여 객체 감지를 수행하는 과정이 포함됩니다.
구체적인 단계는 특정 사용 사례와 YOLOv4 리포지토리의 현재 상태에 따라 달라질 수 있다는 점에 유의하세요. 따라서 YOLOv4 GitHub 리포지토리에 제공된 지침을 직접 참조하는 것이 좋습니다.
이로 인해 불편을 드려 죄송하며, YOLOv4에 대한 지원이 구현되는 대로 Ultralytics 에 사용 예시가 포함된 문서를 업데이트하도록 노력하겠습니다.
결론
YOLOv4는 속도와 정확성 사이에서 균형을 이루는 강력하고 효율적인 물체 감지 모델입니다. 훈련 과정에서 고유한 기능과 다양한 무료 기법을 사용하여 실시간 물체 감지 작업에서 탁월한 성능을 발휘합니다. YOLOv4는 기존 GPU 있으면 누구나 훈련하고 사용할 수 있어 감시 시스템, 자율 주행 차량, 산업 자동화 등 다양한 애플리케이션에 접근 가능하고 실용적입니다.
프로젝트에서 객체 감지를 구현하려는 경우, 특히 실시간 성능이 우선시되는 경우 YOLOv4가 강력한 경쟁자로 남아 있습니다. 현재 Ultralytics 다음과 같은 최신 YOLO 버전을 지원하는 데 중점을 두고 있습니다. YOLOv8 및 YOLO11과 같은 최신 버전의 지원에 집중하고 있지만, YOLOv4에 도입된 아키텍처 혁신은 이러한 후속 모델의 개발에 영향을 미쳤습니다.
인용 및 감사
실시간 객체 감지 분야에서 크게 기여한 YOLOv4 작성자에게 감사의 말씀을 전합니다:
YOLOv4 논문 원본은 arXiv에서 확인할 수 있습니다. 저자들은 자신의 작업을 공개했으며, 코드베이스는 GitHub에서 액세스할 수 있습니다. 이 분야를 발전시키고 더 많은 커뮤니티가 자신의 연구에 접근할 수 있도록 노력해 주신 저자들의 노고에 감사드립니다.
자주 묻는 질문
YOLOv4란 무엇이며 물체 감지에 이 기술을 사용해야 하는 이유는 무엇인가요?
"You Only Look Once 버전 4"의 약자인 YOLOv4는 Alexey Bochkovskiy가 2020년에 개발한 최첨단 실시간 객체 감지 모델입니다. 속도와 정확도 사이에서 최적의 균형을 이루며 실시간 애플리케이션에 매우 적합합니다. YOLOv4의 아키텍처에는 가중 잔여 연결(WRC), 교차 단계 부분 연결(CSP), 자기 적대적 훈련(SAT) 등 여러 혁신적인 기능이 통합되어 있어 최첨단 결과를 얻을 수 있습니다. 기존 GPU에서 효율적으로 작동하는 고성능 모델을 찾고 있다면 YOLOv4가 탁월한 선택입니다.
YOLOv4의 아키텍처는 어떻게 성능을 향상시키나요?
YOLOv4의 아키텍처에는 백본, 넥, 헤드 등 몇 가지 주요 구성 요소가 포함되어 있습니다. 백본은 클래스 및 바운딩 박스를 예측하도록 사전 학습된 VGG, ResNet 또는 CSPDarknet53과 같은 모델일 수 있습니다. 목은 PANet을 활용해 여러 단계의 특징 맵을 연결하여 포괄적인 데이터 추출을 수행합니다. 마지막으로 YOLOv3의 구성을 사용하는 헤드가 최종 객체 감지를 수행합니다. 또한 YOLOv4는 모자이크 데이터 증강 및 DropBlock 정규화와 같은 "공짜 가방" 기술을 사용하여 속도와 정확도를 더욱 최적화합니다.
YOLOv4의 맥락에서 '공짜 가방'이란 무엇인가요?
"공짜 백"이란 추론 비용을 늘리지 않고도 YOLOv4의 학습 정확도를 향상시키는 방법을 말합니다. 이러한 기술에는 광도 왜곡(밝기, 대비 조정 등) 및 기하학적 왜곡(크기 조정, 자르기, 뒤집기, 회전)과 같은 다양한 형태의 데이터 증강이 포함됩니다. 이러한 증강은 입력 이미지의 가변성을 증가시킴으로써 YOLOv4가 다양한 유형의 이미지에 더 잘 일반화하여 실시간 성능을 저하시키지 않고 견고성과 정확성을 향상시키는 데 도움이 됩니다.
YOLOv4가 기존 GPU의 실시간 오브젝트 감지에 적합하다고 여겨지는 이유는 무엇인가요?
YOLOv4는 속도와 정확도를 모두 최적화하도록 설계되어 빠르고 안정적인 성능이 필요한 실시간 물체 감지 작업에 이상적입니다. 기존 GPU에서 효율적으로 작동하며, 학습과 추론 모두에 단 하나의 GPU만 필요합니다. 따라서 추천 시스템부터 독립형 프로세스 관리에 이르기까지 다양한 애플리케이션에 접근 가능하고 실용적이며, 광범위한 하드웨어 설정의 필요성을 줄여 실시간 객체 감지를 위한 비용 효율적인 솔루션이 될 수 있습니다.
Ultralytics 에서 현재 지원하지 않는 경우 YOLOv4를 시작하려면 어떻게 해야 하나요?
YOLOv4를 시작하려면 공식 YOLOv4 GitHub 리포지토리를 방문해야 합니다. 일반적으로 리포지토리 복제, 종속성 설치, 환경 변수 설정 등이 포함된 README 파일에 제공된 설치 지침을 따르세요. 설치가 완료되면 데이터 세트를 준비하고, 모델 파라미터를 구성하고, 제공된 사용 지침에 따라 모델을 훈련할 수 있습니다. Ultralytics 은 현재 YOLOv4를 지원하지 않으므로, 가장 최신의 자세한 지침은 YOLOv4 GitHub를 직접 참조하는 것이 좋습니다.