Meet YOLO26: next-gen vision AI.

Link to this sectionYOLOv9: 객체 탐지 기술의 도약#

YOLOv9은 실시간 객체 탐지 분야의 중대한 진전을 의미하며, PGI(Programmable Gradient Information) 및 GELAN(Generalized Efficient Layer Aggregation Network)과 같은 획기적인 기술을 도입했습니다. 이 모델은 효율성, 정확도 및 적응성 측면에서 놀라운 향상을 보여주며 MS COCO 데이터셋에서 새로운 벤치마크를 세웠습니다. YOLOv9 프로젝트는 별도의 오픈 소스 팀에 의해 개발되었지만, Ultralytics YOLOv5에서 제공하는 강력한 코드베이스를 기반으로 하여 AI 연구 커뮤니티의 협력 정신을 잘 보여줍니다.



Watch: YOLOv9 Training on Custom Data using Ultralytics | Industrial Package Dataset

YOLOv9 성능 비교

Link to this sectionYOLOv9 소개#

최적의 실시간 객체 탐지를 추구하는 과정에서, YOLOv9은 심층 신경망에 내재된 정보 손실 문제를 해결하는 혁신적인 접근 방식으로 두각을 나타냅니다. PGI와 다재다능한 GELAN 아키텍처를 통합함으로써, YOLOv9은 모델의 학습 능력을 향상시킬 뿐만 아니라 탐지 과정 전반에 걸쳐 중요한 정보를 유지하여 뛰어난 정확도와 성능을 달성합니다.

Link to this sectionYOLOv9의 핵심 혁신#

YOLOv9의 발전은 심층 신경망에서의 정보 손실 문제 해결에 깊이 뿌리를 두고 있습니다. 정보 병목 현상 원리(Information Bottleneck Principle)와 가역 함수(Reversible Functions)의 혁신적인 사용이 설계의 핵심이며, 이를 통해 YOLOv9은 높은 효율성과 정확도를 유지합니다.

Link to this section정보 병목 현상 원리#

정보 병목 현상 원리는 딥러닝의 근본적인 문제를 드러냅니다. 데이터가 네트워크의 연속적인 층을 통과할수록 정보 손실의 가능성이 커진다는 것입니다. 이 현상은 수학적으로 다음과 같이 표현됩니다:

I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))

여기서 I는 상호 정보량을 나타내고, fg는 각각 파라미터 thetaphi를 가진 변환 함수를 나타냅니다. YOLOv9은 PGI(Programmable Gradient Information)를 구현하여 이 문제에 대응하며, 이는 네트워크 깊이 전반에 걸쳐 필수 데이터를 보존하고 더 안정적인 그래디언트 생성과 결과적으로 더 나은 모델 수렴 및 성능을 보장합니다.

Link to this section가역 함수#

가역 함수의 개념은 YOLOv9 설계의 또 다른 초석입니다. 함수는 정보 손실 없이 반전될 수 있다면 가역적인 것으로 간주되며, 이는 다음과 같이 표현됩니다:

X = v_zeta(r_psi(X))

여기서 psizeta는 각각 가역 함수와 그 역함수의 파라미터입니다. 이 속성은 네트워크가 완전한 정보 흐름을 유지하도록 하여 모델 파라미터의 더 정확한 업데이트를 가능하게 하므로 딥러닝 아키텍처에 매우 중요합니다. YOLOv9은 아키텍처 내에 가역 함수를 통합하여 특히 깊은 층에서 정보 저하의 위험을 완화하고 객체 탐지 작업을 위한 중요한 데이터를 보존합니다.

Link to this section경량 모델에 미치는 영향#

정보 손실 문제를 해결하는 것은 경량 모델에 특히 중요합니다. 경량 모델은 종종 파라미터가 부족하고 피드포워드 과정에서 상당한 정보를 잃기 쉽기 때문입니다. YOLOv9의 아키텍처는 PGI와 가역 함수를 사용하여 모델이 간소화되더라도 정확한 객체 탐지에 필요한 필수 정보가 유지되고 효과적으로 활용되도록 합니다.

Link to this sectionPGI(Programmable Gradient Information)#

PGI는 정보 병목 현상 문제를 해결하기 위해 YOLOv9에 도입된 새로운 개념으로, 심층 네트워크 층 전반에 걸쳐 필수 데이터의 보존을 보장합니다. 이를 통해 안정적인 그래디언트를 생성할 수 있으며, 정확한 모델 업데이트를 촉진하고 전반적인 탐지 성능을 향상시킵니다.

Link to this sectionGELAN(Generalized Efficient Layer Aggregation Network)#

GELAN은 전략적인 아키텍처 발전으로서 YOLOv9이 우수한 파라미터 활용도와 계산 효율성을 달성할 수 있게 합니다. 이 설계는 다양한 계산 블록의 유연한 통합을 가능하게 하여, 속도나 정확도를 희생하지 않으면서도 광범위한 애플리케이션에 YOLOv9을 적용할 수 있게 합니다.

YOLOv9 아키텍처 비교

Link to this sectionYOLOv9 벤치마크#

Ultralytics를 사용한 YOLOv9의 벤치마킹은 실제 시나리오에서 훈련 및 검증된 모델의 성능을 평가하는 것을 포함합니다. 이 과정에는 다음이 포함됩니다:

  • 성능 평가: 모델의 속도와 정확도를 평가합니다.
  • 내보내기 형식: 다양한 내보내기 형식에서 모델을 테스트하여 필요한 표준을 충족하고 다양한 환경에서 잘 작동하는지 확인합니다.
  • 프레임워크 지원: Ultralytics YOLOv8 내에 포괄적인 프레임워크를 제공하여 이러한 평가를 용이하게 하고 일관되고 신뢰할 수 있는 결과를 보장합니다.

벤치마킹을 통해 모델이 통제된 테스트 환경에서 잘 작동할 뿐만 아니라 실제 애플리케이션에서도 높은 성능을 유지하도록 보장할 수 있습니다.



Watch: How to Benchmark the YOLOv9 Model Using the Ultralytics Python Package

Link to this sectionMS COCO 데이터셋에서의 성능#

YOLOv9의 COCO 데이터셋 성능은 실시간 객체 탐지에서의 중대한 발전을 보여주며, 다양한 모델 크기에 걸쳐 새로운 벤치마크를 수립합니다. 표 1은 최첨단 실시간 객체 탐지기들의 포괄적인 비교를 제시하며, YOLOv9의 우수한 효율성과 정확도를 보여줍니다.

성능
모델크기
(픽셀)
mAPval
50-95
mAPval
50
파라미터
(M)
FLOPs
(B)
YOLOv9t64038.353.12.07.7
YOLOv9s64046.863.47.226.7
YOLOv9m64051.468.120.176.8
YOLOv9c64053.070.225.5102.8
YOLOv9e64055.672.858.1192.5

초소형 t 변형부터 확장형 e 모델까지 이르는 YOLOv9의 반복들은 정확도(mAP 지표)뿐만 아니라 파라미터 수와 계산 요구 사항(FLOPs)의 감소를 통한 효율성 개선을 보여줍니다. 이 표는 이전 버전 및 경쟁 모델과 비교하여 높은 정밀도를 제공하면서도 계산 오버헤드를 유지하거나 줄이는 YOLOv9의 능력을 강조합니다.

비교적 YOLOv9은 놀라운 성과를 보여줍니다:

  • 경량 모델: YOLOv9s는 파라미터 효율성과 계산 부하에서 YOLO MS-S를 능가하며 AP에서 0.4∼0.6%의 향상을 달성합니다.
  • 중대형 모델: YOLOv9m 및 YOLOv9e는 모델 복잡성과 탐지 성능 간의 균형을 맞추는 데 눈에 띄는 진전을 보여주며, 향상된 정확도를 배경으로 파라미터와 계산의 상당한 감소를 제공합니다.

특히 YOLOv9c 모델은 아키텍처 최적화의 효율성을 강조합니다. YOLOv7 AF보다 파라미터는 42% 적고 계산 요구량은 21% 적지만 비슷한 정확도를 달성하여 YOLOv9의 상당한 효율성 개선을 입증합니다. 또한 YOLOv9e 모델은 YOLOv8x보다 파라미터는 15% 적고 계산 요구량은 25% 적으면서도 AP에서 1.7%의 점진적 향상을 달성하여 대형 모델에 대한 새로운 표준을 세웠습니다.

이러한 결과는 실시간 객체 탐지 작업에 필수적인 정밀도를 타협하지 않으면서도 향상된 효율성을 강조하는 모델 설계에 대한 YOLOv9의 전략적 발전을 보여줍니다. 이 모델은 성능 지표의 한계를 뛰어넘을 뿐만 아니라 계산 효율성의 중요성을 강조하며, 컴퓨터 비전 분야에서 중추적인 발전이 되었습니다.

Link to this section결론#

2024년 2월에 출시된 YOLOv9은 실시간 객체 탐지의 중추적인 발전을 대표하며 효율성, 정확도 및 적응성 측면에서 상당한 개선을 제공했습니다. PGI 및 GELAN과 같은 혁신적인 솔루션을 통해 중요한 과제를 해결함으로써 YOLOv9은 출시 당시 새로운 벤치마크를 수립했습니다. YOLO11YOLO26과 같은 최신 모델들이 추가적인 개선과 함께 출시되었지만, YOLOv9의 아키텍처 혁신은 계속해서 이 분야에 영향을 미치고 있습니다.

Link to this section사용 예제#

이 예제는 간단한 YOLOv9 학습 및 추론 예제를 제공합니다. 이러한 모드 및 기타 모드에 대한 전체 문서는 예측, 학습, 검증내보내기 문서 페이지를 참조하십시오.

예시

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")

Link to this section지원되는 작업 및 모드#

YOLOv9 시리즈는 고성능 객체 탐지를 위해 최적화된 다양한 모델을 제공합니다. 이 모델들은 다양한 계산 요구 사항과 정확도 요구 사항을 충족하므로 광범위한 애플리케이션에 다용도로 사용될 수 있습니다.

모델파일 이름작업추론검증학습내보내기(Export)
YOLOv9yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.pt객체 탐지
YOLOv9-segyolov9c-seg.pt yolov9e-seg.pt인스턴스 세분화(Instance Segmentation)

이 표는 YOLOv9 모델 변형에 대한 자세한 개요를 제공하며, 객체 탐지 작업에서의 기능과 추론, 검증, 학습, 내보내기와 같은 다양한 운영 모드와의 호환성을 강조합니다. 이러한 포괄적인 지원을 통해 사용자는 광범위한 객체 탐지 시나리오에서 YOLOv9 모델의 기능을 최대한 활용할 수 있습니다.

참고

YOLOv9 모델을 학습하려면 동일한 크기의 YOLOv8 모델보다 더 많은 자원이 필요하며 더 오랜 시간이 걸립니다.

Link to this section인용 및 감사의 글#

실시간 객체 탐지 분야에 기여한 YOLOv9 저자들에게 감사를 표합니다:

인용
@article{wang2024yolov9,
  title={YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information},
  author={Wang, Chien-Yao  and Liao, Hong-Yuan Mark},
  booktitle={arXiv preprint arXiv:2402.13616},
  year={2024}
}

원래의 YOLOv9 논문은 arXiv에서 찾을 수 있습니다. 저자들은 자신의 작업을 공개했으며, 코드베이스는 GitHub에서 액세스할 수 있습니다. 우리는 그들이 이 분야를 발전시키고 더 넓은 커뮤니티가 그들의 작업을 접할 수 있도록 만든 노력에 감사드립니다.

Link to this sectionFAQ#

Link to this sectionYOLOv9은 실시간 객체 탐지를 위해 어떤 혁신을 도입합니까?#

YOLOv9은 PGI(Programmable Gradient Information) 및 GELAN(Generalized Efficient Layer Aggregation Network)과 같은 획기적인 기술을 도입했습니다. 이러한 혁신은 심층 신경망의 정보 손실 문제를 해결하여 높은 효율성, 정확도 및 적응성을 보장합니다. PGI는 네트워크 층 전반에 걸쳐 필수 데이터를 보존하고, GELAN은 파라미터 활용도와 계산 효율성을 최적화합니다. MS COCO 데이터셋에서 새로운 벤치마크를 세운 YOLOv9의 핵심 혁신에 대해 자세히 알아보십시오.

Link to this sectionYOLOv9은 다른 모델과 비교하여 MS COCO 데이터셋에서 어떤 성능을 보입니까?#

YOLOv9은 더 높은 정확도와 효율성을 달성함으로써 최첨단 실시간 객체 탐지기를 능가합니다. COCO 데이터셋에서 YOLOv9 모델은 계산 오버헤드를 유지하거나 줄이면서 다양한 크기에 걸쳐 우수한 mAP 점수를 보여줍니다. 예를 들어, YOLOv9c는 YOLOv7 AF보다 파라미터는 42% 적고 계산 요구량은 21% 적으면서도 비슷한 정확도를 달성합니다. 자세한 지표는 성능 비교를 살펴보십시오.

Link to this sectionPython과 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 학습을 위해서는 다음을 실행하십시오:

yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640

학습 및 추론에 대한 사용 예제를 자세히 알아보십시오.

Link to this section경량 모델에 Ultralytics YOLOv9을 사용하면 어떤 이점이 있습니까?#

YOLOv9은 정보 손실을 완화하도록 설계되었으며, 이는 종종 상당한 정보를 잃기 쉬운 경량 모델에 특히 중요합니다. PGI(Programmable Gradient Information)와 가역 함수를 통합함으로써 YOLOv9은 필수 데이터 보존을 보장하여 모델의 정확도와 효율성을 향상시킵니다. 이는 고성능의 소형 모델이 필요한 애플리케이션에 매우 적합합니다. 자세한 내용은 경량 모델에 미치는 YOLOv9의 영향 섹션을 살펴보십시오.

Link to this sectionYOLOv9은 어떤 작업과 모드를 지원합니까?#

YOLOv9은 객체 탐지 및 인스턴스 세그멘테이션을 포함한 다양한 작업을 지원합니다. 추론, 검증, 학습 및 내보내기와 같은 여러 운영 모드와 호환됩니다. 이러한 다재다능함으로 인해 YOLOv9은 다양한 실시간 컴퓨터 비전 애플리케이션에 적용할 수 있습니다. 자세한 내용은 지원되는 작업 및 모드 섹션을 참조하십시오.

댓글