YOLOv9: 물체 감지 기술의 도약
YOLOv9은 프로그래밍 가능한 그라데이션 정보(PGI) 및 일반화된 효율적인 계층 집계 네트워크(GELAN)와 같은 획기적인 기술을 도입하여 실시간 객체 감지에 상당한 진전을 이루었습니다. 이 모델은 효율성, 정확성, 적응성 면에서 괄목할 만한 개선을 보여주며 MS COCO 데이터 세트의 새로운 벤치마크를 설정했습니다. 별도의 오픈소스 팀에서 개발한 YOLOv9 프로젝트는 다음에서 제공하는 강력한 코드베이스를 기반으로 합니다. Ultralytics YOLOv5에서 제공하는 강력한 코드베이스를 기반으로 개발되어 AI 연구 커뮤니티의 협업 정신을 보여줍니다.
Watch: Ultralytics | 산업용 패키지 데이터 집합을 사용한 맞춤형 데이터에 대한 YOLOv9 교육
YOLOv9 소개
최적의 실시간 물체 감지를 추구하는 YOLOv9은 심층 신경망에 내재된 정보 손실 문제를 극복하기 위한 혁신적인 접근 방식으로 두각을 나타내고 있습니다. PGI와 다목적 GELAN 아키텍처를 통합함으로써 YOLOv9은 모델의 학습 능력을 향상시킬 뿐만 아니라 탐지 프로세스 전반에 걸쳐 중요한 정보를 보존하여 탁월한 정확도와 성능을 달성합니다.
YOLOv9의 핵심 혁신
YOLOv9의 발전은 심층 신경망의 정보 손실로 인한 문제를 해결하는 데 깊이 뿌리를 두고 있습니다. 정보 병목 현상 원리와 리버서블 함수의 혁신적인 사용이 설계의 핵심이며, 이를 통해 YOLOv9은 높은 효율성과 정확성을 유지할 수 있습니다.
정보 병목 현상 원리
정보 병목 현상은 데이터가 네트워크의 연속적인 계층을 통과할수록 정보 손실 가능성이 증가한다는 딥 러닝의 근본적인 문제를 드러내는 원리입니다. 이 현상은 수학적으로 다음과 같이 표현됩니다:
어디 I
는 상호 정보를 나타내고 f
그리고 g
매개변수가 있는 변환 함수를 나타냅니다. theta
그리고 phi
를 각각 사용합니다. YOLOv9은 네트워크의 깊이 전반에 걸쳐 필수 데이터를 보존하고 보다 안정적인 그래디언트 생성을 보장하며 결과적으로 모델 수렴 및 성능을 향상시키는 프로그래밍 가능한 그래디언트 정보(PGI)를 구현하여 이러한 문제에 대응합니다.
리버시블 기능
리버서블 함수의 개념은 YOLOv9 디자인의 또 다른 초석입니다. 다음과 같이 정보의 손실 없이 반전할 수 있는 함수는 리버서블 함수로 간주됩니다:
와 함께 psi
그리고 zeta
를 각각 리버서블 및 역함수에 대한 매개변수로 지정할 수 있습니다. 이 속성은 다음과 같은 경우에 중요합니다. 딥 러닝 아키텍처는 네트워크가 완전한 정보 흐름을 유지할 수 있도록 하여 모델 파라미터를 보다 정확하게 업데이트할 수 있게 해줍니다. YOLOv9은 아키텍처 내에 가역 기능을 통합하여 특히 더 깊은 계층에서 정보 성능 저하의 위험을 완화하고 객체 감지 작업에 중요한 데이터를 보존할 수 있도록 합니다.
경량 모델에 미치는 영향
정보 손실을 해결하는 것은 특히 경량 모델의 경우 매개변수가 부족하고 피드포워드 프로세스 중에 중요한 정보를 잃기 쉬운 경우가 많기 때문에 매우 중요합니다. YOLOv9의 아키텍처는 PGI와 리버서블 기능을 사용하여 간소화된 모델에서도 정확한 객체 감지에 필요한 필수 정보를 유지하고 효과적으로 활용할 수 있도록 합니다.
프로그래밍 가능한 그라데이션 정보(PGI)
PGI는 정보 병목 문제를 해결하기 위해 YOLOv9에 도입된 새로운 개념으로, 심층 네트워크 계층에서 필수 데이터를 보존할 수 있도록 합니다. 이를 통해 신뢰할 수 있는 그라데이션을 생성하여 정확한 모델 업데이트를 촉진하고 전반적인 탐지 성능을 개선할 수 있습니다.
일반화된 효율적인 계층 집계 네트워크(GELAN)
GELAN은 전략적으로 아키텍처를 발전시켜 YOLOv9이 뛰어난 파라미터 활용도와 계산 효율성을 달성할 수 있게 해줍니다. 다양한 계산 블록을 유연하게 통합할 수 있도록 설계되어 속도나 정확도를 저하시키지 않으면서도 다양한 애플리케이션에 적용할 수 있는 YOLOv9입니다.
YOLOv9 벤치마크
를 사용한 YOLOv9의 벤치마킹은 Ultralytics 을 사용한 벤치마킹에는 실제 시나리오에서 학습되고 검증된 모델의 성능을 평가하는 작업이 포함됩니다. 이 프로세스에는 다음이 포함됩니다:
- 성능 평가: 모델의 속도와 정확도를 평가합니다.
- 내보내기 형식: 다양한 내보내기 형식에서 모델을 테스트하여 필요한 표준을 충족하고 다양한 환경에서 잘 작동하는지 확인합니다.
- 프레임워크 지원: 이러한 평가를 용이하게 하고 일관되고 신뢰할 수 있는 결과를 보장하기 위해 Ultralytics YOLOv8 내에 포괄적인 프레임워크를 제공합니다.
벤치마킹을 통해 모델이 통제된 테스트 환경에서 잘 작동할 뿐만 아니라 실제 애플리케이션에서도 높은 성능을 유지하는지 확인할 수 있습니다.
Watch: Ultralytics Python 패키지를 사용하여 YOLOv9 모델을 벤치마킹하는 방법
MS COCO 데이터세트에서의 성능
COCO 데이터 세트에서 YOLOv9의 성능은 다양한 모델 규모에 걸쳐 새로운 벤치마크를 설정하면서 실시간 객체 감지에서 상당한 발전을 이룩했음을 보여줍니다. 표 1은 최신 실시간 객체 감지기를 종합적으로 비교한 것으로, YOLOv9의 뛰어난 효율성과 정확성을 보여줍니다.
성능
모델 | 크기 (픽셀) |
mAPbox 50-95 |
mAPmask 50-95 |
매개변수 (M) |
FLOPs (B) |
---|---|---|---|---|---|
YOLOv9c-seg | 640 | 52.4 | 42.2 | 27.9 | 159.4 |
YOLOv9e-seg | 640 | 55.1 | 44.3 | 60.5 | 248.4 |
YOLOv9의 반복은 아주 작은 것에서부터 t
변형에 대한 광범위한 e
모델은 정확도(mAP 메트릭)뿐만 아니라 매개변수 수와 계산 요구 사항(FLOPs)이 줄어들어 효율성이 향상되었음을 보여줍니다. 이 표는 YOLOv9의 높은 정확도를 제공하는 능력을 보여줍니다. 정밀도 이전 버전 및 경쟁 모델에 비해 계산 오버헤드를 유지하거나 줄이면서 말이죠.
이에 비해 YOLOv9는 괄목할 만한 상승세를 보이고 있습니다:
- 경량 모델: YOLOv9s는 매개변수 효율성과 연산 부하에서 YOLO MS-S를 능가하는 동시에 AP에서 0.4∼0.6%의 개선을 달성했습니다.
- 중대형 모델: 모델 복잡성과 탐지 성능 간의 균형을 맞추는 데 있어 주목할 만한 발전을 보인 YOLOv9m과 YOLOv9e는 향상된 정확도를 배경으로 파라미터와 계산을 크게 줄였습니다.
특히 YOLOv9c 모델은 아키텍처 최적화의 효과를 강조합니다. 이 모델은 YOLOv7 AF보다 42% 적은 파라미터와 21% 적은 연산 수요로 작동하면서도 비슷한 정확도를 달성하여 YOLOv9의 상당한 효율성 향상을 보여줍니다. 또한, YOLOv9e 모델은 대형 모델의 새로운 표준을 제시하며, 기존보다 15% 더 적은 파라미터와 25% 더 적은 연산 수요를 자랑합니다. YOLOv8x보다 15% 더 적은 매개변수와 25% 더 적은 연산 필요성을 제공하며, AP는 1.7% 향상되었습니다.
이러한 결과는 실시간 물체 감지 작업에 필수적인 정밀도를 유지하면서 효율성을 향상시킨 YOLOv9의 모델 설계에 대한 전략적 진보를 보여줍니다. 이 모델은 성능 메트릭의 한계를 뛰어넘을 뿐만 아니라 계산 효율성의 중요성을 강조하여 컴퓨터 비전 분야에서 중추적인 발전을 이루었습니다.
결론
YOLOv9은 실시간 물체 감지의 중추적인 발전으로 효율성, 정확성, 적응성 측면에서 크게 개선된 기능을 제공합니다. PGI 및 GELAN과 같은 혁신적인 솔루션을 통해 중요한 과제를 해결함으로써 YOLOv9은 향후 이 분야의 연구 및 적용에 새로운 선례를 제시합니다. AI 커뮤니티가 계속 진화하는 가운데, YOLOv9은 기술 발전을 이끄는 협업과 혁신의 힘을 입증하는 사례입니다.
사용 예
이 예는 간단한 YOLOv9 훈련 및 추론 예제를 제공합니다. 이러한 모드 및 기타 모드에 대한 전체 문서는 예측, 학습, Val 및 내보내기 문서 페이지를 참조하세요.
예
PyTorch 사전 교육 *.pt
모델 및 구성 *.yaml
파일을 YOLO()
클래스를 사용하여 python 에서 모델 인스턴스를 생성합니다:
from ultralytics import YOLO
# Build a YOLOv9c model from scratch
model = YOLO("yolov9c.yaml")
# Build a YOLOv9c model from pretrained weight
model = YOLO("yolov9c.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv9c model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
CLI 명령을 사용하여 모델을 직접 실행할 수 있습니다:
지원되는 작업 및 모드
YOLOv9 시리즈는 고성능 객체 감지에 최적화된 다양한 모델을 제공합니다. 이 모델은 다양한 계산 요구 사항과 정확도 요구 사항을 충족하므로 다양한 애플리케이션에 다용도로 사용할 수 있습니다.
이 표에서는 객체 감지 작업에서의 기능과 추론, 검증, 훈련, 내보내기 등 다양한 운영 모드와의 호환성을 강조하는 YOLOv9 모델 변형에 대한 자세한 개요를 제공합니다. 이러한 포괄적인 지원을 통해 사용자는 광범위한 객체 감지 시나리오에서 YOLOv9 모델의 기능을 최대한 활용할 수 있습니다.
참고
YOLOv9 모델을 교육하려면 동등한 크기의 YOLOv8 모델보다 더 많은 리소스가 필요하고 시간이 오래 걸립니다.
인용 및 감사
실시간 객체 감지 분야에서 큰 공헌을 한 YOLOv9 작성자에게 감사의 말씀을 전합니다:
YOLOv9 논문 원본은 arXiv에서 확인할 수 있습니다. 저자들은 자신의 작업을 공개했으며, 코드베이스는 GitHub에서 액세스할 수 있습니다. 이 분야를 발전시키고 더 많은 커뮤니티가 자신의 연구에 접근할 수 있도록 한 저자들의 노력에 감사드립니다.
자주 묻는 질문
실시간 객체 감지를 위해 YOLOv9은 어떤 혁신을 도입했나요?
YOLOv9은 프로그래밍 가능한 그라데이션 정보(PGI)와 일반화된 효율적인 레이어 집계 네트워크(GELAN)와 같은 획기적인 기술을 도입했습니다. 이러한 혁신은 심층 신경망의 정보 손실 문제를 해결하여 높은 효율성, 정확성, 적응성을 보장합니다. PGI는 네트워크 레이어 전반에서 필수 데이터를 보존하고, GELAN은 매개변수 활용과 계산 효율성을 최적화합니다. MS COCO 데이터 세트에서 새로운 벤치마크를 설정하는 YOLOv9의 핵심 혁신에 대해 자세히 알아보세요.
YOLOv9은 다른 모델과 비교하여 MS COCO 데이터 세트에서 어떤 성능을 보이나요?
YOLOv9은 더 높은 정확도와 효율성을 달성하여 최첨단 실시간 물체 감지기의 성능을 능가합니다. COCO 데이터 세트에서 YOLOv9 모델은 계산 오버헤드를 유지하거나 줄이면서 다양한 크기에 걸쳐 우수한 mAP 점수를 보여줍니다. 예를 들어, YOLOv9c는 YOLOv7 AF보다 42% 적은 파라미터와 21% 적은 컴퓨팅 요구량으로 비슷한 정확도를 달성합니다. 자세한 메트릭에 대한 성능 비교를 살펴보세요.
Python 및 CLI 을 사용하여 YOLOv9 모델을 훈련하려면 어떻게 해야 하나요?
Python 및 CLI 명령을 모두 사용하여 YOLOv9 모델을 훈련할 수 있습니다. Python 의 경우 다음을 사용하여 모델을 인스턴스화합니다. YOLO
클래스를 호출하고 train
메서드를 사용합니다:
from ultralytics import YOLO
# Build a YOLOv9c model from pretrained weights and train
model = YOLO("yolov9c.pt")
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
CLI 교육을 실행합니다:
교육 및 추론의 사용 사례에 대해 자세히 알아보세요.
경량 모델에 Ultralytics YOLOv9을 사용하면 어떤 이점이 있나요?
YOLOv9은 정보 손실을 완화하도록 설계되었으며, 이는 중요한 정보가 손실되기 쉬운 경량 모델에 특히 중요합니다. 프로그래머블 그라디언트 정보(PGI)와 리버서블 기능을 통합하여 필수 데이터 보존을 보장하고 모델의 정확성과 효율성을 높인 YOLOv9. 따라서 고성능의 소형 모델이 필요한 애플리케이션에 매우 적합합니다. 자세한 내용은 경량 모델에 대한 YOLOv9의 영향 섹션을 참조하세요.
YOLOv9은 어떤 작업과 모드를 지원하나요?
YOLOv9은 객체 감지 및 인스턴스 세분화를 포함한 다양한 작업을 지원합니다. 추론, 검증, 훈련, 내보내기 등 여러 작동 모드와 호환됩니다. 이러한 다용도성 덕분에 YOLOv9은 다양한 실시간 컴퓨터 비전 애플리케이션에 적용할 수 있습니다. 자세한 내용은 지원되는 작업 및 모드 섹션을 참조하세요.