콘텐츠로 건너뛰기

YOLOv9 YOLOv10: 물체 감지를 위한 기술 비교

올바른 객체 감지 모델을 선택하는 것은 개발자와 연구자에게 매우 중요한 결정이며, 높은 정밀도에 대한 요구와 실시간 추론 및 계산 리소스의 제약 사이의 균형을 맞추는 것입니다. 이 가이드에서는 다음과 같은 두 가지 모델을 심층적으로 비교합니다. YOLOv9YOLOv10과 2024년 컴퓨터 비전 성능의 한계를 뛰어넘을 두 가지 최신 아키텍처를 심층적으로 비교합니다.

YOLOv9 딥 러닝 정보 병목 현상을 해결하기 위한 아키텍처 혁신에 중점을 둔 반면, YOLOv10 지연 시간을 최소화하기 위해 NMS 사용하지 않는 설계로 패러다임 전환을 도입했습니다. 두 모델 모두 Ultralytics Python 패키지에 완전히 통합되어 사용자가 통합된 에코시스템 내에서 쉽게 훈련, 검증 및 배포할 수 있습니다.

성능 지표 및 벤치마크

이 두 모델 간의 성능 절충점은 뚜렷합니다. YOLOv9 일반적으로 평균 평균 정밀도(mAP)의 한계를 뛰어넘으며, 특히 더 큰 변형을 사용할 때 정확도가 가장 중요한 시나리오에 적합합니다. 반대로 YOLOv10 효율성을 위해 설계되어 추론 지연 시간과 매개변수 수를 크게 줄여 엣지 배포에 이상적입니다.

아래 표는 COCO 데이터 세트를 사용하여 이러한 차이점을 보여줍니다. 특히, YOLOv10n은 T4 GPU에서 놀라운 속도를 달성하는 반면, YOLOv9e는 탐지 정확도에서 우위를 점하고 있습니다.

모델크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

YOLOv9: 정보 병목 현상 해결

2024년 2월 출시, YOLOv9 은 심층 신경망의 근본적인 이론적 과제인 데이터가 심층 계층을 통해 전파될 때 발생하는 정보 손실을 목표로 합니다. 이 모델은 네트워크가 정확한 물체 감지에 필요한 필수 기능을 유지하도록 설계되었습니다.

기술 세부 사항:

아키텍처 PGI 및 GELAN

YOLOv9 두 가지 획기적인 개념을 도입했습니다:

  1. 프로그래밍 가능한 그라데이션 정보(PGI): 훈련 중 정보 손실을 방지하는 보조 감독 프레임워크입니다. 네트워크 가중치 업데이트를 위해 신뢰할 수 있는 그라데이션을 생성하여 이전 아키텍처에서 발견된 심층 감독 문제를 해결합니다.
  2. 일반화된 효율적인 계층 집계 네트워크(GELAN): 매개변수 효율성을 극대화하는 새로운 아키텍처입니다. GELAN은 레이어 간에 피처를 집계하는 방식을 최적화하여 기존 설계에 비해 더 적은 수의 파라미터로 더 높은 정확도를 달성할 수 있도록 합니다.

강점과 약점

YOLOv9 정확도가 중요한 애플리케이션에서 탁월한 성능을 발휘합니다. 세부적인 특징 정보를 보존할 수 있어 작은 물체를 감지하거나 복잡한 장면을 탐색하는 데 탁월합니다. 하지만 이러한 정교함에는 복잡성이라는 대가가 따릅니다. PGI와 같은 아키텍처 추가 기능은 주로 학습을 위한 것이므로 추론 중에 제거할 수 있지만 학습 리소스가 더 많이 필요할 수 있습니다. 또한 효율적이기는 하지만 일반적으로 지연 시간이 YOLOv10 전문화된 효율적인 설계보다 높습니다.

YOLOv9 대해 자세히 알아보기

YOLOv10: NMS 탐지 시대

YOLOv10은 칭화대학교 연구진이 개발하여 2024년 5월에 출시한 것으로, 실시간 속도와 엔드투엔드 배포 가능성을 우선시합니다. 이 솔루션의 가장 큰 특징은 전통적으로 추론 지연의 병목 현상이었던 후처리 단계인 비최대 억제(NMS)를 제거했다는 점입니다.

기술 세부 사항:

아키텍처: 일관된 이중 할당

YOLOv10 핵심 혁신은 훈련 중 일관된 이중 과제입니다. 이 모델은 훈련 중에는 풍부한 감독을 위해 일대다 할당 전략을 사용하지만 추론 시에는 일대일 할당으로 전환합니다. 이 아키텍처를 통해 모델은 각 객체에 대한 최적의 바운딩 박스를 직접 예측할 수 있으므로 NMS 후처리가 불필요해집니다. 순위 가이드 블록 설계와 결합된 YOLOv10 중복성과 계산 오버헤드(FLOPs)를 줄여줍니다.

강점과 약점

YOLOv10 가장 큰 장점은 지연 시간이 짧다는 점입니다. NMS 제거함으로써 추론 지연 시간이 결정론적으로 현저히 낮아지며, 이는 실시간 비디오 처리에 매우 중요합니다. 또한, 비교 표에서 볼 수 있듯이 YOLOv10 모델은 더 적은 FLOP으로 경쟁력 있는 정확도를 달성하는 등 뛰어난 파라미터 효율성을 자랑합니다. 잠재적인 약점은 기존 에코시스템에 비해 비교적 최근에 도입되었다는 점이지만, Ultralytics 통합을 통해 이를 완화할 수 있습니다. 또한 에코시스템의 다른 모델들이 광범위한 멀티태스크 지원을 제공하는 반면, 이 모델은 탐지에 매우 특화되어 있습니다.

엔드투엔드 내보내기

YOLOv10 설계상 NMS 않기 때문에 ONNX 또는 TensorRT 같은 형식으로 내보내는 것이 더 간단하고 복잡한 후처리 플러그인 없이도 '순수한' 엔드투엔드 모델을 생성할 수 있는 경우가 많습니다.

YOLOv10 대해 자세히 알아보기

개발자를 위한 비교 분석

이러한 모델을 프로덕션에 통합할 때는 원시 지표 외에도 몇 가지 실용적인 요소가 작용합니다.

사용 편의성 및 에코시스템

두 모델 모두 Ultralytics 에코시스템의 일부가 됨으로써 엄청난 이점을 누릴 수 있습니다. 즉, 개발자는 동일한 학습 파이프라인, 검증 도구 및 배포 형식을 활용하여 모델 문자열만 변경하면 YOLOv9 YOLOv10 간에 전환할 수 있습니다.

  • 학습 효율성: Ultralytics 모델은 일반적으로 트랜스포머 기반 검출기보다 메모리가 적게 필요하므로 표준 소비자 GPU에서 학습할 수 있습니다.
  • 다목적성: YOLOv9 및 YOLOv10 탐지에 중점을 두지만, Ultralytics API는 YOLO11 및 YOLOv8 같은 모델을 통해 인스턴스 분할포즈 추정과 같은 다른 작업을 지원하여 다양한 비전 AI 프로젝트를 위한 포괄적인 툴킷을 제공합니다.

이상적인 사용 사례

  • 언제 YOLOv9 선택하세요:

    • 의료 영상, 제조 분야의 결함 감지 등 최고의 정확도가 요구되는 애플리케이션에 적합합니다.
    • 정보 보존이 중요한 detect 어려운 물체로 작업하고 있습니다.
    • 지연 시간은 정밀도에 비하면 부차적인 문제입니다.
  • 언제 YOLOv10 선택하세요:

    • 속도가 중요합니다. 자율 주행, 로보틱스 내비게이션 또는 고FPS 비디오 분석과 같은 애플리케이션은 NMS 설계의 이점을 누릴 수 있습니다.
    • GPU 리소스가 제한된 엣지 디바이스 (예: NVIDIA Jetson 또는 라즈베리 파이)에 배포합니다.
    • NMS 처리로 인한 변동성이 없는 결정론적 추론 시간이 필요합니다.

코드 예제: 두 모델 모두 실행

통합된 Ultralytics API 덕분에 자체 데이터에서 이러한 모델을 비교하는 것은 간단합니다. 다음 Python 코드는 두 아키텍처로 추론을 로드하고 실행하는 방법을 보여줍니다.

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model_v9 = YOLO("yolov9c.pt")

# Load a pre-trained YOLOv10 model
model_v10 = YOLO("yolov10n.pt")

# Run inference on an image
results_v9 = model_v9("path/to/image.jpg")
results_v10 = model_v10("path/to/image.jpg")

# Print results
print(f"YOLOv9 Detection: {len(results_v9[0].boxes)}")
print(f"YOLOv10 Detection: {len(results_v10[0].boxes)}")

결론

YOLOv9 YOLOv10 모두 컴퓨터 비전의 중요한 이정표입니다. YOLOv9 은 특징 유지와 정확도의 이론적 한계를 뛰어넘어 연구 및 정밀도가 필요한 작업에 강력한 성능을 발휘합니다. YOLOv10 은 NMS 병목 현상을 제거하여 실시간 애플리케이션을 위한 간소화된 솔루션을 제공함으로써 효율성을 재정의합니다.

여러 작업(세분화 및 분류 포함)에서 정확성, 속도, 풍부한 기능의 완벽한 균형을 원하는 사용자에게는 다음을 살펴볼 것을 권장합니다. YOLO11. Ultralytics 최신 버전인 YOLO11 이전 버전의 장점들을 거의 모든 비전 AI 애플리케이션에 적합한 강력하고 엔터프라이즈급 패키지로 개선했습니다.

다른 모델 살펴보기

Ultralytics 에코시스템은 방대합니다. 프로젝트 요구 사항이 다른 경우 다음 대안을 고려하세요:

  • YOLO11: 탐지, 세분화, 포즈, OBB 및 분류 전반에 걸쳐 뛰어난 성능과 다양한 기능을 제공하는 최신 최신 모델입니다.
  • YOLOv8: 폭넓은 호환성과 멀티태스킹 지원으로 인기가 높고 안정적인 모델입니다.
  • RT-DETR: NMS 없이도 높은 정확도를 제공하는 변압기 기반 감지기로, 특정 사용 사례에서 YOLO 아키텍처의 대안이 될 수 있습니다.

Ultralytics 플랫폼을 활용하면 이 전체 모델 제품군에 액세스할 수 있으므로 항상 작업에 적합한 도구를 사용할 수 있습니다.


댓글