부본 YOLOv9: 실시간 객체 감지의 도약 - Unite.AI
Rescale 미팅 예약

인공 지능

YOLOv9: 실시간 객체 감지의 도약

mm

게재

 on

물체 감지 덕분에 최근 몇 년 동안 급속한 발전을 보였습니다. 깊은 학습 YOLO(You Only Look Once)와 같은 알고리즘. 최신 반복, OLO 로브 9, 이전 버전에 비해 정확성, 효율성 및 적용성이 크게 향상되었습니다. 이 게시물에서는 YOLOv9를 실시간 객체 감지를 위한 새로운 최첨단 기술로 만드는 혁신에 대해 자세히 알아 보겠습니다.

객체 감지에 대한 빠른 입문서

YOLOv9의 새로운 기능을 살펴보기 전에 객체 감지 작동 방식을 간략하게 살펴보겠습니다. 객체 감지의 목표는 자동차, 사람, 동물과 같은 이미지 내 객체를 식별하고 찾는 것입니다. 자율주행차, 감시 시스템, 이미지 검색과 같은 애플리케이션을 위한 핵심 기능입니다.

감지기는 이미지를 입력으로 사용하고 감지된 개체 주위에 경계 상자를 출력합니다. 각 경계 상자에는 관련 클래스 레이블이 있습니다. MS COCO와 같은 인기 있는 데이터 세트는 이러한 모델을 훈련하고 평가하기 위해 수천 개의 레이블이 지정된 이미지를 제공합니다.

객체 감지에는 두 가지 주요 접근 방식이 있습니다.

  • 2단 검출기 Faster R-CNN과 마찬가지로 먼저 지역 제안을 생성한 다음 각 지역의 경계를 분류하고 개선합니다. 더 정확하지만 느린 경향이 있습니다.
  • 단일 스테이지 감지기 YOLO처럼 단일 패스로 이미지 위에 직접 모델을 적용합니다. 매우 빠른 추론 시간을 위해 약간의 정확성을 희생합니다.

YOLO는 단일 단계 접근 방식을 개척했습니다. 정확성과 효율성을 향상시키기 위해 여러 버전에 걸쳐 어떻게 발전했는지 살펴보겠습니다.

이전 YOLO 버전 검토

YOLO(You Only Look Once) 모델 제품군은 2016년 원본 버전이 출시된 이후 빠른 객체 감지의 선두에 있었습니다. 다음은 YOLO가 여러 반복을 통해 어떻게 발전했는지에 대한 간략한 개요입니다.

  • OLO 로브 1 단일 패스의 전체 이미지에서 직접 경계 상자 및 클래스 확률을 예측하는 통합 모델을 제안했습니다. 이로 인해 이전 2단 모델에 비해 속도가 매우 빨라졌습니다.
  • OLO 로브 2 더 나은 안정성을 위해 배치 정규화를 사용하고, 여러 크기를 감지하기 위해 다양한 크기와 종횡비로 상자를 고정하고, 기타 다양한 최적화를 통해 원본을 개선했습니다.
  • OLO 로브 3 더 많은 레이어와 그 사이에 바로 가기가 있는 Darknet-53이라는 새로운 기능 추출기를 추가하여 정확도를 더욱 향상시켰습니다.
  • OLO 로브 4 다른 객체 감지기 및 분할 모델의 아이디어를 결합하여 빠른 추론을 유지하면서 정확도를 더욱 높였습니다.
  • OLO 로브 5 PyTorch에서 YOLOv4를 완전히 다시 작성하고 몇 가지 다른 개선 사항과 함께 CSPDarknet이라는 새로운 기능 추출 백본을 추가했습니다.
  • OLO 로브 6 성능을 더욱 향상시키기 위해 대규모 외부 데이터 세트에 대해 사전 훈련된 모델을 사용하여 아키텍처 및 훈련 프로세스를 계속 최적화했습니다.

요약하자면, 이전 YOLO 버전은 모델 아키텍처, 훈련 기술 및 사전 훈련의 개선을 통해 더 높은 정확도를 달성했습니다. 그러나 모델이 더 커지고 복잡해지면서 속도와 효율성이 저하되기 시작합니다.

더 나은 효율성의 필요성

많은 애플리케이션에서는 컴퓨팅 리소스가 제한된 장치에서 실시간으로 개체 감지를 실행해야 합니다. 모델이 더 커지고 계산 집약도가 높아짐에 따라 배포가 실용적이지 않게 됩니다.

예를 들어, 자율주행차는 차량 내부의 프로세서를 사용하여 높은 프레임 속도로 물체를 감지해야 합니다. 보안 카메라는 자체 내장 하드웨어 내의 비디오 피드에서 객체 감지를 실행해야 합니다. 휴대폰 및 기타 소비자 장치는 전력 및 열 제약이 매우 엄격합니다.

최신 YOLO 버전은 많은 수의 매개변수와 곱셈-덧셈 연산(FLOP)을 통해 높은 정확도를 얻었습니다. 그러나 이로 인해 속도, 크기 및 전력 효율성이 저하됩니다.

예를 들어 YOLOv5-L은 단일 100×1280 이미지를 처리하는 데 1280억 개가 넘는 FLOP가 필요합니다. 많은 실시간 사용 사례에서는 속도가 너무 느립니다. 모델이 계속 커지는 추세는 과적합 위험을 증가시키고 일반화를 어렵게 만듭니다.

따라서 객체 감지의 적용 가능성을 확장하려면 효율성을 향상시킬 수 있는 방법이 필요합니다. 즉, 더 적은 매개변수와 계산으로 더 나은 정확도를 얻을 수 있는 방법이 필요합니다. 이 문제를 해결하기 위해 YOLOv9에서 사용되는 기술을 살펴보겠습니다.

YOLOv9 – 더 적은 리소스로 더 나은 정확성

YOLOv9의 연구원들은 더 넓은 범위의 장치에서 실시간 성능을 달성하기 위해 효율성을 향상시키는 데 중점을 두었습니다. 그들은 두 가지 주요 혁신을 도입했습니다.

  1. 새로운 모델 아키텍처 일반 효율적인 계층 집합 네트워크(GELAN) 이는 매개변수와 FLOP를 최소화하면서 정확도를 최대화합니다.
  2. 라는 훈련 기술 프로그래밍 가능한 그라데이션 정보(PGI) 이는 특히 작은 모델의 경우 보다 안정적인 학습 기울기를 제공합니다.

이러한 각 발전이 어떻게 효율성 향상에 도움이 되는지 살펴보겠습니다.

GELAN을 통한 더욱 효율적인 아키텍처

모델 아키텍처 자체는 추론 중 속도 및 리소스 사용량과 정확성의 균형을 맞추는 데 중요합니다. 신경망은 입력 이미지에서 관련 특징을 캡처하려면 충분한 깊이와 너비가 필요합니다. 그러나 레이어나 필터가 너무 많으면 모델이 느리고 비대해집니다.

저자는 가능한 가장 작은 아키텍처에서 최대 정확도를 끌어내기 위해 특별히 GELAN을 설계했습니다.

GELAN은 함께 쌓인 두 가지 주요 빌딩 블록을 사용합니다.

  • 효율적인 레이어 집합 블록 – 여러 네트워크 지점에 걸쳐 변환을 집계하여 다중 규모 기능을 효율적으로 캡처합니다.
  • 계산 블록 – CSPNet 블록은 여러 계층에 걸쳐 정보를 전파하는 데 도움이 됩니다. 컴퓨팅 제약 조건에 따라 모든 블록을 대체할 수 있습니다.

이러한 블록의 균형을 신중하게 조정하고 결합함으로써 GELAN은 성능, 매개변수 및 속도 사이에서 최적의 위치에 도달합니다. 동일한 모듈식 아키텍처를 다양한 크기의 모델과 하드웨어에 걸쳐 확장하거나 축소할 수 있습니다.

실험에 따르면 GELAN은 이전 YOLO 아키텍처에 비해 더 작은 모델에 더 많은 성능을 제공하는 것으로 나타났습니다. 예를 들어, 7M 매개변수를 가진 GELAN-Small은 11M 매개변수 YOLOv7-Nano보다 성능이 뛰어났습니다. 그리고 20M 매개변수가 있는 GELAN-Medium은 7-35M 매개변수가 필요한 YOLOv40 중간 모델과 동등하게 수행됩니다.

따라서 효율성을 위해 특별히 최적화된 매개변수화된 아키텍처를 설계함으로써 GELAN은 모델이 리소스가 제한된 장치에서 더 빠르게 실행될 수 있도록 해줍니다. 다음으로 우리는 PGI가 어떻게 훈련을 향상시키는 데 도움이 되는지 살펴보겠습니다.

PGI(Programmable Gradient Information)를 통한 더 나은 교육

제한된 리소스로 정확성을 극대화하려면 모델 훈련도 중요합니다. YOLOv9 작성자는 신뢰할 수 없는 기울기 정보로 인해 더 작은 모델을 훈련하는 데 문제가 있음을 확인했습니다.

그라디언트 훈련 중에 모델의 가중치가 얼마나 업데이트되는지 확인합니다. 노이즈가 많거나 오해의 소지가 있는 그래디언트는 수렴이 좋지 않습니다. 이 문제는 소규모 네트워크에서 더욱 두드러집니다.

기술 깊은 감독 네트워크를 통해 더 나은 경사 신호를 전파하기 위해 손실이 있는 추가 측면 분기를 도입하여 이 문제를 해결합니다. 그러나 더 작은 경량 모델에서는 분해되어 분기를 일으키는 경향이 있습니다.

YOLOv9: 프로그래밍 가능한 그라데이션 정보를 사용하여 배우고 싶은 것을 학습

YOLOv9: 프로그래밍 가능한 그라데이션 정보를 사용하여 배우고 싶은 내용 배우기 https://arxiv.org/abs/2402.13616

이러한 한계를 극복하기 위해 YOLOv9는 다음을 도입합니다. 프로그래밍 가능한 그라데이션 정보(PGI). PGI에는 두 가지 주요 구성 요소가 있습니다.

  • 보조 가역 가지 – RevCols와 같은 블록을 사용하여 입력에 대한 가역적 연결을 유지함으로써 더욱 깔끔한 그라데이션을 제공합니다.
  • 다단계 그라데이션 통합 – 이렇게 하면 서로 다른 측면 가지가 간섭하여 분기되는 것을 방지할 수 있습니다. 기본 모델로 피드백하기 전에 모든 분기의 그래디언트를 결합합니다.

PGI는 더욱 신뢰할 수 있는 그래디언트를 생성함으로써 작은 모델이 큰 모델만큼 효과적으로 훈련되도록 돕습니다.

실험 결과 PGI는 모든 모델 크기, 특히 작은 구성에서 정확도가 향상된 것으로 나타났습니다. 예를 들어 YOLOv9-Small의 AP 점수는 GELAN-Small 기준보다 0.1~0.4% 향상되었습니다. 9% mAP에서 YOLOv55.6-E와 같은 심층 모델의 경우 이득이 훨씬 더 중요했습니다.

따라서 PGI를 사용하면 이전에는 과도하게 매개변수화된 모델을 통해서만 달성할 수 있었던 더 높은 정확도 수준으로 훈련할 수 있는 더 작고 효율적인 모델이 가능해졌습니다.

YOLOv9는 효율성을 위한 새로운 최첨단 기술을 제시합니다

GELAN의 아키텍처 발전과 PGI의 훈련 개선을 결합함으로써 YOLOv9는 전례 없는 효율성과 성능을 달성합니다.

  • 이전 YOLO 버전과 비교하여 YOLOv9는 10-15% 더 적은 매개변수와 25% 더 적은 계산으로 정확도 향상. 이를 통해 모델 크기 전반에 걸쳐 속도와 기능이 크게 향상됩니다.
  • YOLOv9는 YOLO-MS 및 RT-DETR과 같은 다른 실시간 감지기를 능가합니다. 매개변수 효율성 및 FLOP. 특정 성능 수준에 도달하려면 훨씬 적은 리소스가 필요합니다.
  • 더 작은 YOLOv9 모델은 RT-DETR-X와 같은 더 큰 사전 훈련된 모델을 능가합니다. 사용함에도 불구하고 36% 더 적은 매개변수, YOLOv9-E 달성 더 나은 55.6% AP 보다 효율적인 아키텍처를 통해

따라서 아키텍처 및 교육 수준에서 효율성을 해결함으로써 YOLOv9는 제한된 리소스 내에서 성능을 극대화하기 위한 새로운 최첨단 기술을 설정합니다.

GELAN – 효율성을 위해 최적화된 아키텍처

YOLOv9는 최소 매개변수 예산 내에서 정확성을 최대화하는 GELAN(General Efficient Layer Aggregation Network)이라는 새로운 아키텍처를 도입합니다. 이전 YOLO 모델을 기반으로 구축되었지만 특히 효율성을 위해 다양한 구성 요소를 최적화합니다.

https://arxiv.org/abs/2402.13616

YOLOv9: 프로그래밍 가능한 그라데이션 정보를 사용하여 배우고 싶은 것을 학습
https://arxiv.org/abs/2402.13616

CSPNet 및 ELAN에 대한 배경

v5 이후의 최신 YOLO 버전은 효율성 향상을 위해 CSPNet(Cross-Stage Partial Network) 기반 백본을 활용했습니다. CSPNet을 사용하면 오버헤드를 최소화하면서 병렬 네트워크 분기 전체에 걸쳐 기능 맵을 집계할 수 있습니다.

이는 단순히 레이어를 직렬로 쌓는 것보다 더 효율적이며, 이는 종종 중복 계산 및 과도한 매개변수화로 이어집니다.

YOLOv7은 CSPNet을 ELAN(Efficient Layer Aggregation Network)으로 업그레이드하여 블록 구조를 단순화했습니다.

ELAN은 출력의 집계 노드를 위해 레이어 간의 바로 가기 연결을 제거했습니다. 이를 통해 매개변수 및 FLOP 효율성이 더욱 향상되었습니다.

유연한 효율성을 위한 ELAN 일반화

저자는 ELAN을 더욱 일반화하여 겔란, YOLOv9에서 사용되는 백본입니다. GELAN은 유연성과 효율성을 향상시키기 위해 주요 수정 사항을 적용했습니다.

  • 교환 가능한 계산 블록 – 이전 ELAN에는 고정된 컨볼루셔널 레이어가 있었습니다. GELAN을 사용하면 ResNets 또는 CSPNet과 같은 계산 블록을 대체하여 더 많은 아키텍처 옵션을 제공할 수 있습니다.
  • 깊이별 매개변수화 – 메인 브랜치와 어그리게이터 브랜치에 대한 별도의 블록 깊이로 리소스 사용 미세 조정이 단순화됩니다.
  • 구성 전반에 걸쳐 안정적인 성능 – GELAN은 다양한 블록 유형과 깊이로 정확성을 유지하므로 유연한 확장이 가능합니다.

이러한 변화로 인해 GELAN은 효율성 극대화를 위한 강력하면서도 구성 가능한 백본이 되었습니다.

실험에서 GELAN 모델은 매개변수당 정확도 측면에서 이전 YOLO 아키텍처보다 지속적으로 뛰어난 성능을 보였습니다.

  • 7M 매개변수가 있는 GELAN-Small이 YOLOv7-Nano의 11M 매개변수를 능가합니다.
  • GELAN-Medium은 더 무거운 YOLOv7 중형 모델과 일치합니다.

따라서 GELAN은 다양한 효율성 목표에 걸쳐 YOLO를 확장할 수 있는 최적화된 백본을 제공합니다. 다음으로 우리는 PGI가 어떻게 훈련을 향상시키는 데 도움이 되는지 살펴보겠습니다.

PGI – 모든 모델 크기에 대한 향상된 교육

아키텍처 선택은 추론 시 효율성에 영향을 주지만 훈련 프로세스는 모델 리소스 사용량에도 영향을 미칩니다. YOLOv9는 PGI(Programmable Gradient Information)라는 새로운 기술을 사용하여 다양한 모델 크기와 복잡성에 대한 교육을 개선합니다.

신뢰할 수 없는 그라데이션 문제

훈련 중에 손실 함수는 모델 출력을 정답 레이블과 비교하고 오류 기울기를 계산하여 매개변수를 업데이트합니다. 시끄럽거나 오해의 소지가 있는 그라데이션 수렴성과 효율성이 저하됩니다.

매우 깊은 네트워크는 다음을 통해 이를 더욱 악화시킵니다. 정보 병목 현상 – 심층 레이어의 그라데이션은 손실되거나 압축된 신호로 인해 손상됩니다.

심층 감독 더 깨끗한 경사도를 제공하기 위해 손실이 있는 보조 측면 분기를 도입함으로써 도움이 됩니다. 하지만 종종 더 작은 모델의 경우 분해됨, 서로 다른 가지 사이에 간섭과 발산을 유발합니다.

따라서 모든 모델 크기, 특히 작은 모델에서 작동하는 안정적인 그라데이션을 제공할 수 있는 방법이 필요합니다.

프로그래밍 가능한 그라데이션 정보(PGI) 소개

신뢰할 수 없는 기울기를 해결하기 위해 YOLOv9는 PGI(Programmable Gradient Information)를 제안합니다. PGI에는 그라디언트 품질을 향상시키기 위해 설계된 두 가지 주요 구성 요소가 있습니다.

1. 보조 가역 가지

추가 지점 제공 가역적 연결 RevCols와 같은 블록을 사용하여 입력으로 돌아갑니다. 이는 정보 병목 현상을 방지하면서 깨끗한 그라데이션을 유지합니다.

2. 다단계 그라데이션 통합

융합 블록은 기본 모델로 피드백되기 전에 모든 분기의 그라데이션을 집계합니다. 이렇게 하면 분기 간 분기가 방지됩니다.

PGI는 더욱 신뢰할 수 있는 그래디언트를 생성함으로써 모든 모델 크기에 걸쳐 훈련 수렴과 효율성을 향상시킵니다.

  • 경량 모델 이전에는 사용할 수 없었던 심층 감독의 이점을 누릴 수 있습니다.
  • 더 큰 모델 더 나은 일반화를 가능하게 하는 더 깨끗한 기울기를 얻습니다.

실험에서는 PGI가 기본 GELAN에 비해 소규모 및 대규모 YOLOv9 구성에 대해 정확도가 향상된 것으로 나타났습니다.

  • YOLOv0.1-Small의 경우 +0.4-9% AP
  • 더 큰 YOLOv0.5 모델의 경우 +0.6-9% AP

따라서 PGI의 프로그래밍 가능한 경사도를 사용하면 크고 작은 모델을 보다 효율적으로 훈련할 수 있습니다.

YOLOv9는 새로운 최첨단 정확도를 설정합니다

GELAN의 아키텍처 개선 사항과 PGI의 교육 개선 사항을 결합하여 YOLOv9는 실시간 개체 감지에 대한 새로운 최첨단 결과를 달성합니다.

COCO 데이터 세트에 대한 실험에서는 YOLOv9가 이전 YOLO 버전뿐만 아니라 YOLO-MS와 같은 다른 실시간 감지기의 정확성과 효율성을 능가하는 것으로 나타났습니다.

몇 가지 주요 내용은 다음과 같습니다.

  • YOLOv9-Small은 10% 더 적은 매개변수와 계산으로 YOLO-MS-Small을 능가합니다.
  • YOLOv9-Medium은 절반 미만의 리소스를 사용하여 더 무거운 YOLOv7 모델과 일치합니다.
  • YOLOv9-Large는 8% 더 적은 매개변수와 15% 더 적은 FLOP로 YOLOv25-X보다 성능이 뛰어납니다.

놀랍게도 더 작은 YOLOv9 모델은 RT-DETR-X와 같은 사전 훈련을 사용하는 다른 감지기의 더 무거운 모델을 능가합니다. 매개변수가 4배 적음에도 불구하고 YOLOv9-E는 정확성 면에서 RT-DETR-X보다 성능이 뛰어납니다.

이러한 결과는 YOLOv9의 뛰어난 효율성을 입증합니다. 이러한 개선 사항을 통해 보다 실제적인 사용 사례에서 고정밀 개체 감지가 가능해졌습니다.

YOLOv9 업그레이드에 대한 주요 내용

YOLOv9의 새로운 최첨단 성능을 가능하게 하는 주요 업그레이드 및 혁신 중 일부를 빠르게 요약해 보겠습니다.

  • GELAN 최적화 아키텍처 – 유연한 집계 블록을 통해 매개변수 효율성을 향상시킵니다. 다양한 대상에 대한 확장 모델을 허용합니다.
  • 프로그래밍 가능한 그라데이션 정보 – 가역적 연결 및 융합을 통해 안정적인 그래디언트를 제공합니다. 모델 크기 전반에 걸쳐 학습이 향상됩니다.
  • 더 적은 자원으로 더 높은 정확성 – YOLOv10에 비해 매개변수와 계산이 15~8% 감소하고 정확도가 향상됩니다. 보다 효율적인 추론을 가능하게 합니다.
  • 모델 크기 전반에 걸쳐 탁월한 결과 – 경량, 중형 및 대형 모델 구성을 위한 새로운 최첨단 기술을 설정합니다. 고도로 사전 훈련된 모델보다 성능이 뛰어납니다.
  • 확장된 적용성 – 효율성이 높을수록 엣지 장치의 실시간 감지와 같은 실행 가능한 사용 사례가 확대됩니다.

정확성, 효율성 및 적용 가능성을 직접적으로 해결함으로써 YOLOv9는 다양한 실제 요구 사항을 충족하기 위해 객체 감지를 발전시킵니다. 업그레이드는 이 중요한 컴퓨터 비전 기능의 미래 혁신을 위한 강력한 기반을 제공합니다.

저는 지난 50년 동안 기계 학습과 딥 러닝의 매혹적인 세계에 몰두했습니다. 저의 열정과 전문 ​​지식은 특히 AI/ML에 중점을 둔 XNUMX개 이상의 다양한 소프트웨어 엔지니어링 프로젝트에 기여하도록 이끌었습니다. 나의 계속되는 호기심은 또한 내가 더 탐구하고 싶은 분야인 자연어 처리로 나를 이끌었습니다.