YOLOv9 vs. YOLOv7: 상세 기술 비교
객체 감지를 위해 YOLO 모델을 선택할 때 다양한 버전 간의 미묘한 차이를 이해하는 것이 중요합니다. 이 페이지에서는 대만 Academia Sinica 정보 과학 연구소의 연구원들이 개발한 YOLO 시리즈의 두 가지 중요한 모델인 YOLOv7과 YOLOv9 간의 자세한 기술 비교를 제공합니다. 다양한 애플리케이션에 대한 아키텍처 혁신, 성능 벤치마크 및 적합성을 살펴보고 컴퓨터 비전 프로젝트에 대한 정보에 입각한 결정을 내리는 데 도움을 드립니다.
YOLOv9: 향상된 학습을 위한 Programmable Gradient Information
2024년 2월에 소개된 YOLOv9은 모델 성능을 저하시킬 수 있는 일반적인 문제인 심층 신경망의 정보 손실 문제를 해결하여 상당한 발전을 이루었습니다.
저자: Chien-Yao Wang 및 Hong-Yuan Mark Liao
조직: 대만 Academia Sinica, 정보 과학 연구소
날짜: 2024-02-21
Arxiv: https://arxiv.org/abs/2402.13616
GitHub: https://github.com/WongKinYiu/yolov9
문서: https://docs.ultralytics.com/models/yolov9/
아키텍처 및 주요 기능
YOLOv9은 정보 흐름과 학습 효율성을 개선하기 위한 새로운 개념을 도입하여 이전 모델과 차별화됩니다.
- 프로그래밍 가능한 기울기 정보 (PGI): 이는 YOLOv9의 핵심 혁신입니다. 보조 가역적 분기를 통해 안정적인 기울기를 생성하여 심층 네트워크의 정보 병목 현상 문제를 해결합니다. 이를 통해 중요한 정보가 모든 레이어에서 보존되어 보다 효과적인 모델 학습과 더 나은 최종 정확도를 제공합니다.
- Generalized Efficient Layer Aggregation Network (GELAN): YOLOv9는 파라미터 활용도와 계산 효율성을 최적화하는 새로운 네트워크 아키텍처를 특징으로 합니다. GELAN은 YOLOv5와 같은 모델에서 중요한 역할을 했던 CSPNet과 같은 설계의 성공을 기반으로 하는 경량의 gradient-path-planning 기반 아키텍처입니다.
강점
- 향상된 정확도: PGI와 GELAN의 조합은 뛰어난 특징 추출을 가능하게 하고 YOLOv7에 비해 더 높은 평균 정밀도(mAP) 점수를 제공하며, 특히 더 큰 모델 변형에서 두드러집니다.
- 향상된 효율성: YOLOv9는 YOLOv7보다 더 적은 파라미터와 연산량(FLOP)으로 더 나은 정확도를 달성합니다. 예를 들어 YOLOv9-C는 YOLOv7x와 유사한 mAP를 달성하면서 파라미터 수는 66%, FLOP 수는 46% 더 적습니다.
- 최첨단 기술: YOLO 원작자들의 최신 혁신 기술을 나타내며, 실시간 객체 감지에서 가능한 한계를 뛰어넘습니다.
약점
- 계산 요구량: 정확도에 비해 효율적이지만 고급 아키텍처, 특히 YOLOv9-E와 같은 더 큰 변형 모델은 훈련 및 배포를 위해 상당한 컴퓨팅 자원을 여전히 필요로 할 수 있습니다.
- 더 새로운 모델: 더 최신 릴리스이므로, 커뮤니티 지원 및 즉시 사용 가능한 배포 튜토리얼은 확고하게 자리 잡은 YOLOv7보다 덜 광범위할 수 있습니다. 그러나 Ultralytics YOLOv9 구현은 간소화되고 문서화가 잘 되어 있으며 지원되는 환경을 제공하여 이러한 단점을 완화합니다.
사용 사례
YOLOv9은 객체를 정확하게 감지하는 것이 중요한 최고 수준의 정확도와 효율성을 요구하는 애플리케이션에 이상적입니다.
YOLOv7: 속도 및 효율성에 최적화됨
2022년 7월에 출시된 YOLOv7은 실시간 추론을 위해 속도와 정확성 간의 균형을 크게 최적화하는 것을 목표로 하는 획기적인 모델이었습니다.
작성자: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
소속: Institute of Information Science, Academia Sinica, Taiwan
날짜: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
문서: https://docs.ultralytics.com/models/yolov7/
아키텍처 및 주요 기능
YOLOv7은 추론 비용을 늘리지 않으면서 모델을 더 빠르고 정확하게 만들 수 있도록 아키텍처와 훈련 프로세스 최적화에 중점을 두었습니다.
- Extended Efficient Layer Aggregation Network (E-ELAN): 이 아키텍처 블록은 원래의 기울기 경로를 방해하지 않으면서 더욱 다양한 특징을 학습할 수 있도록 하여 네트워크의 학습 능력을 향상시키고 성능을 개선합니다.
- 모델 스케일링: YOLOv7은 모델 깊이와 너비를 위한 복합 스케일링 방법을 도입하여 다양한 모델 크기와 계산 예산에 맞게 효과적으로 최적화할 수 있습니다.
- 학습 가능한 Bag-of-Freebies: 이 개념은 고급 데이터 증강 및 레이블 할당 전략과 같은 학습 중 다양한 최적화 기술을 통합합니다. 이러한 기술은 추론 중에 계산 오버헤드를 추가하지 않고 정확도를 향상시킵니다.
강점
- 높은 추론 속도: YOLOv7은 속도에 고도로 최적화되어 있으며 사용 가능한 가장 빠른 객체 감지기 중 하나이므로 다양한 하드웨어에서 실시간 애플리케이션에 탁월합니다.
- 뛰어난 성능: 경쟁력 있는 mAP 점수를 달성하여 다양한 표준 객체 감지 작업에 안정적이고 강력한 선택이 될 수 있습니다.
- 검증된 모델: YOLOv7은(는) 더 오랫동안 사용 가능했기 때문에 폭넓은 채택, 광범위한 커뮤니티 리소스 및 다양한 산업 분야에서 많은 입증된 배포 사례의 이점을 누릴 수 있습니다.
약점
- 낮은 최고 정확도: 빠르긴 하지만, 까다로운 객체가 있는 복잡한 시나리오에서는 최신 YOLOv9에 비해 약간 낮은 최고 정확도를 나타낼 수 있습니다.
- Anchor-Based: 사전 정의된 앵커 박스에 의존하므로, 특이한 종횡비를 가진 객체를 감지하는 데 앵커 프리 방식보다 유연성이 떨어질 수 있습니다.
사용 사례
YOLOv7은 추론 속도가 가장 중요한 요소인 애플리케이션에 적합합니다.
- 에지 AI 장치에서 실시간 비디오 분석 및 감시.
- 빠르게 움직이는 생산 라인의 품질 관리와 같은 높은 처리량 시스템.
- 빠른 배포가 필수적인 객체 감지 시스템의 신속한 프로토타입 제작.
성능 및 효율성: 직접 비교
YOLOv9와 YOLOv7의 주요 차이점은 정확도, 모델 크기 및 계산 비용 간의 균형에 있습니다. YOLOv9는 효율성 면에서 한계를 뛰어넘어 더 적은 파라미터와 FLOPs로 더 높은 정확도를 제공합니다. 예를 들어 YOLOv9-M은 YOLOv7l과 동일한 51.4% mAP를 달성하지만 파라미터 수는 46% 더 적고 FLOPs는 27% 더 적습니다. 이러한 추세는 계속 이어져 YOLOv9-E는 55.6% mAP로 새로운 최고 수준을 설정하여 모든 YOLOv7 버전을 능가합니다.
효율성이 향상되었다는 것은 주어진 정확도 목표에 대해 YOLOv9가 더 작고 빠르며 에너지 효율적인 모델을 제공한다는 의미입니다.
모델 | 크기 (픽셀) |
mAPval 50-95 |
속도 CPU ONNX (ms) |
속도 T4 TensorRT10 (ms) |
파라미터 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
결론: 어떤 모델이 적합할까요?
YOLOv7과 YOLOv9는 모두 강력한 모델이지만, 약간 다른 우선순위를 가지고 있습니다.
-
응용 분야에 가능한 최고의 정확도와 효율성이 필요한 경우 YOLOv9를 선택하십시오. 아키텍처 발전으로 인해 더 작은 모델에서 최고의 성능을 필요로 하는 복잡한 장면과 리소스가 제한된 배포에 적합합니다.
-
표준 실시간 응용 분야에 대해 전투 테스트를 거친 매우 빠른 모델이 필요하고 광범위한 커뮤니티 리소스를 갖춘 보다 확립된 아키텍처로 작업하려는 경우 YOLOv7을 선택하십시오.
최고의 전반적인 경험을 원하는 개발자 및 연구원에게는 Ultralytics 생태계 내에서 이러한 모델을 사용하는 것이 좋습니다. 최신 모델인 Ultralytics YOLOv8 및 YOLO11은 경쟁력 있는 성능을 제공할 뿐만 아니라 다음과 같은 중요한 이점도 제공합니다.
- 사용 편의성: 간단한 Python API와 광범위한 문서를 통해 간소화된 사용자 경험을 제공합니다.
- 잘 관리되는 생태계: 활발한 개발, 강력한 커뮤니티 지원 및 노코드 학습 및 배포를 위한 Ultralytics HUB와 같은 도구와의 통합을 제공합니다.
- 다양성: 단일 프레임워크 내에서 인스턴스 분할(instance segmentation), 자세 추정(pose estimation) 및 분류(classification)를 포함하여 탐지 이상의 여러 작업을 지원합니다.
- 학습 효율성: 즉시 사용 가능한 사전 학습된 가중치와 다른 많은 모델 유형에 비해 더 낮은 메모리 요구 사항을 갖춘 효율적인 학습 프로세스입니다.
다른 모델 살펴보기
자세한 비교를 위해 Ultralytics 문서에서 사용할 수 있는 다른 최첨단 모델을 살펴보십시오.