YOLOv10 RT-DETRv2: 객체 감지를 위한 기술 비교
최적의 객체 감지 아키텍처를 선택하는 것은 추론 속도, 정확도, 컴퓨팅 리소스 요구 사항 간의 절충점을 찾아야 하는 중차대한 결정입니다. 이 종합 가이드에서는 다음을 비교합니다. YOLOv10와 효율성으로 잘 알려진 CNN 기반 YOLO 제품군의 최첨단 진화 버전인 RT-DETRv2와 고정밀 작업을 위해 설계된 정교한 트랜스포머 기반 모델을 비교합니다. 이러한 아키텍처 혁신, 성능 메트릭, 이상적인 배포 시나리오를 분석하여 컴퓨터 비전 프로젝트에 적합한 제품을 선택할 수 있도록 도와드립니다.
YOLOv10: 효율성 중심의 실시간 탐지
YOLOv10 은 기존 실시간 탐지기의 병목 현상을 제거하는 데 중점을 둔 YOLO 계보의 중요한 도약입니다. 칭화대학교 연구진이 개발한 이 제품은 NMS 필요 없는 훈련 패러다임을 도입하여 배포 파이프라인을 간소화함으로써 비최대 억제 후처리의 필요성을 제거합니다.
- 저자: Ao Wang, Hui Chen, Lihao Liu 외
- 조직:조직: 칭화 대학교
- 날짜: 2024-05-23
- Arxiv:2405.14458
- GitHub:THU-MIG/yolov10
- Docs:YOLOv10 문서
아키텍처 혁신
YOLOv10 전체적인 효율성-정확성 중심 설계를 채택합니다. 훈련 중에 일관된 이중 할당을 사용하여 NMS 추론이 가능하므로 지연 시간이 크게 줄어듭니다. 또한 이 아키텍처는 경량 분류 헤드와 공간 채널 분리형 다운샘플링을 통해 계산 중복성을 최소화합니다. 이 설계는 모델이 경쟁력 있는 정확도를 유지하면서 매우 빠른 속도를 유지하도록 보장하므로 리소스가 부족한 엣지 컴퓨팅에 특히 적합합니다.
NMS 추론
YOLOv10 비최대 억제(NMS) 를 제거하여 후처리 단계의 복잡성을 줄였습니다. 따라서 추론 지연 시간이 줄어들고 NMS 커스텀 CUDA 커널 없이도 엔드투엔드 파이프라인에 모델을 더 쉽게 배포할 수 있습니다.
이 모델은 극도로 제한된 환경을 위한 나노(n) 버전부터 높은 정확도가 요구되는 초대형(x) 버전까지 다양한 크기로 효과적으로 확장할 수 있습니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on an image
results = model.predict("path/to/image.jpg")
RT-DETRv2: 트랜스포머 기반 정밀도
RT-DETRv2(실시간 물체 감지트랜스포머 v2)는 기존 RT-DETR 성공을 기반으로 실시간 물체 감지를 위한 비전 트랜스포머의 적용을 더욱 개선한 것입니다. Baidu에서 개발한 이 모델은 자체 주의 메커니즘을 활용하여 글로벌 컨텍스트를 캡처하며, 종종 폐색이 있는 복잡한 장면에서 CNN 기반 모델보다 뛰어난 성능을 발휘합니다.
- 작성자: Wenyu Lv, Yian Zhao, Qinyao Chang, et al.
- 조직조직: Baidu
- 날짜: 2024-07-24
- Arxiv:2407.17140
- GitHub:RT-DETRv2 리포지토리
- 문서:RT-DETR 문서
탐지 분야의 비주얼 트랜스포머
로컬 수신 필드를 사용하여 이미지를 처리하는 기존 CNN과 달리 RT-DETRv2 비전 트랜스포머(ViT) 백본을 사용합니다. 이를 통해 모델이 스스로 이미지 패치를 처리하여 장면에서 멀리 떨어진 물체 간의 관계를 효과적으로 이해할 수 있습니다. 이러한 글로벌 컨텍스트 기능은 감지 정확도를 향상시키지만, 일반적으로 YOLOv10 간소화된 아키텍처에 비해 계산 비용이 더 높습니다.
RT-DETRv2 적응형으로 설계되어 다양한 성능 요구 사항에 맞게 다양한 모델 규모를 제공하지만, 일반적으로 동급의 YOLO 모델보다 훈련 및 추론에 더 많은 GPU 메모리를 요구합니다.
성능 분석
아래 비교는 각 아키텍처의 뚜렷한 장점을 강조합니다. YOLOv10 은 속도와 효율성이 뛰어나며 지연 시간과 매개변수 수가 현저히 낮습니다. 예를 들어, YOLOv10n 모델은 T4 GPU 1.56ms로 실행되므로 고속 비디오 처리에 이상적입니다. RT-DETRv2는 더 느리지만 특히 모델 크기가 클수록 강력한 정확도를 제공하지만, FLOP과 메모리 사용량이 상당히 높습니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
표에서 볼 수 있듯이, YOLOv10x는 54.4%의 우수한 mAP 달성하여 RT-DETRv2 54.3%에 비해 훨씬 더 우수한 반면, 추론에 23% 더 적은 시간을 사용하고 모델 풋프린트도 훨씬 더 작습니다. 이러한 효율성 덕분에 하드웨어 리소스를 고려해야 하는 대부분의 애플리케이션에서 YOLOv10 보다 균형 잡힌 선택이 될 수 있습니다.
강점과 약점
YOLOv10
- 강점:
- 짧은 지연 시간: NMS 사용하지 않는 설계로 실시간 애플리케이션에 필수적인 매우 빠른 추론이 가능합니다.
- 리소스 효율성: 더 적은 수의 파라미터와 플롭이 필요하므로 NVIDIA Jetson과 같은 엣지 AI 디바이스나 모바일 플랫폼에 배포하는 데 적합합니다.
- 에코시스템 통합: Ultralytics 에코시스템에 완전히 통합되어 ONNX, TensorRT, CoreML 같은 형식으로 쉽게 내보낼 수 있습니다.
- 약점:
- 작은 물체 감지: 초소형 버전(예: YOLOv10n)은 대형 트랜스포머 모델에 비해 원시 속도에 대한 세분화된 정확도가 다소 떨어질 수 있습니다.
RT-DETRv2
- 강점:
- 글로벌 컨텍스트: 트랜스포머 아키텍처는 복잡한 장면과 오브젝트 간의 관계를 이해하는 데 탁월합니다.
- NMS 네이티브: 트랜스포머는 자연스럽게 NMS 피하여 YOLOv10 유사한 후처리 파이프라인을 간소화합니다.
- 약점:
- 높은 컴퓨팅 비용: 훈련과 추론에는 훨씬 더 많은 CUDA 메모리와 연산 능력이 필요합니다.
- 느린 속도: 셀프 어텐션 메커니즘은 정확하지만 계산 비용이 많이 들기 때문에 지연 시간이 길어집니다.
- 배포 복잡성: 트랜스포머 모델은 CNN에 비해 특정 임베디드 하드웨어에 최적화하기가 더 어려울 수 있습니다.
이상적인 사용 사례
이러한 모델 중 선택은 주로 특정 운영상의 제약 조건에 따라 달라집니다.
- YOLOv10 선택하세요: 자율 주행 드론이나 모바일 앱과 같은 엣지 디바이스에서 실시간 성능이 필요한 경우. 메모리 사용 공간이 적고 속도가 빨라 트래픽 모니터링이나 리테일 분석과 같은 시나리오에 적합합니다.
- 다음과 같은 경우 RT-DETRv2 선택하세요: GPU 리소스가 충분하고 고급 학술 연구 또는 어려운 이미지의 서버 측 분석과 같이 정확도를 극대화하는 것이 최우선 과제인 복잡한 장면을 처리하는 경우.
Ultralytics 이점
두 모델 모두 매력적인 기능을 제공하지만, 다음을 활용하여 Ultralytics YOLO 모델과 최신 버전의 YOLO11-를 활용하면 개발 수명 주기에서 뚜렷한 이점을 얻을 수 있습니다.
- 사용의 용이성: Ultralytics 교육, 검증, 배포를 표준화하는 통합 Python API와 CLI 제공합니다. 이를 통해 개발자는 한 줄의 코드로 YOLOv8, YOLO11 및 RT-DETR 간에 전환할 수 있습니다.
- 훈련 효율성: Ultralytics 모델은 효율적인 학습에 최적화되어 있으며, 표준 구현보다 더 빠르게 수렴하고 더 적은 메모리를 필요로 하는 경우가 많습니다. 따라서 클라우드 컴퓨팅 비용이 절감되고 시장 출시 시간이 단축됩니다.
- 다목적성: 탐지 외에도 Ultralytics 프레임워크는 세분화, 포즈 추정 및 OBB를 지원하므로 도구를 변경하지 않고도 프로젝트의 기능을 확장할 수 있습니다.
- 잘 관리된 에코시스템: 잦은 업데이트, 광범위한 가이드, 활발한 커뮤니티를 통해 사용자는 지속적인 개선과 지원의 혜택을 누릴 수 있습니다.
다양한 모델 실행
Ultralytics API를 사용하면 아키텍처 간 전환이 원활하게 이루어집니다:
from ultralytics import RTDETR, YOLO
# Train YOLOv10
model_yolo = YOLO("yolov10n.pt")
model_yolo.train(data="coco8.yaml", epochs=100)
# Train RT-DETR
model_rtdetr = RTDETR("rtdetr-l.pt")
model_rtdetr.train(data="coco8.yaml", epochs=100)
결론
모두 YOLOv10 및 RT-DETRv2 는 모두 물체 감지 기술의 최전선을 대표합니다. RT-DETRv2 는 정밀도보다 계산 비용이 더 중요한 연구 중심 작업에 적합한 강력한 선택입니다. 그러나 대부분의 실제 배포에서는, YOLOv10 이 뛰어난 균형을 제공합니다. 빠른 속도, 짧은 지연 시간, 리소스 효율성의 조합으로 확장 가능한 애플리케이션을 구축하는 엔지니어에게 실질적인 승자가 될 수 있습니다.
또한, 최신 YOLO11 을 통해 개발자는 사용자 친화적인 Ultralytics 에코시스템 내에서 정확도와 속도를 더욱 개선할 수 있습니다. 클라우드에 배포하든 엣지에 배포하든, Ultralytics 플랫폼은 세계 최고 수준의 컴퓨터 비전 솔루션을 효율적으로 구축할 수 있는 도구를 제공합니다.
다른 모델 살펴보기
추가 비교에 관심이 있으시다면 확인해 보세요: