논문 정보
저자:
소속:
- Tsinghua University
인용:
- 2024.06.13 기준 3회
논문 업데이트 내역
- 초판 제출(v1) : 2024년 5월 23일
논문 & Github 링크
Arxiv
공식 Github
Abstract
YOLO 아키텍처는 많은 진전을 이루었다.
그러나 'Non-Maximum Suppression (NMS)에 의존한 후처리 방식'은 YOLO의 End-to-End 배포를 방해하고 추론 시간을 지연시키는 문제점이 있다.
또한 YOLO의 다양한 구성 요소에 대한 종합적이고 철저한 검토가 부족하여 계산 중복이 눈에 띄고 모델의 성능이 제한된다. 이는 최적의 효율성을 달성하지 못하며 성능 개선의 여지가 크다.
이 연구에서는 YOLO의 성능-효율성 경계를 더욱 발전시키기 위해, 먼저 NMS 없는 훈련을 위한 일관된 '이중 할당 방식'을 제안하여 경쟁력 있는 낮은 추론 시간을 동시에 제공한다.
또한, YOLO의 종합적 '효율성-정확성 주도 모델 설계 전략'을 도입하여, 효율성과 정확성 관점에서 다양한 구성 요소를 최적화함으로써 계산 오버헤드를 크게 줄이고 성능을 향상시켰다.
새로운 실시간 End-to-End 객체 탐지 YOLO 시리즈의 YOLOv10이 탄생
실험 결과, YOLOv10은 다양한 모델 크기에서 SOTA, 효율성을 달성
YOLOv10-S는 COCO 데이터셋에서 유사한 AP로 RT-DETR-R18보다 1.8배 빠르며, 파라미터와 FLOPs 수가 2.8배 적다.
YOLOv9-C와 비교할 때, YOLOv10-B는 동일한 성능을 유지하면서 지연 시간이 46% 적고 파라미터 수가 25% 적다.
1. Introduction
실시간 객체 탐지는 낮은 지연 시간으로 이미지에서 객체의 카테고리와 위치를 정확하게 예측하는 것을 목표로 한다.
YOLO 시리즈는 모델의 피드포워드 과정과 NMS 후처리로 구성된다.
하지만 이 두 과정의 결점으로 인해 최적의 정확도-지연 시간 경계를 달성하는 데 한계가 있다.
YOLO는 훈련 중 하나의 'ground-truth object'에 대해 여러 개의 'positive samples'를 할당하는 'one-to-many label assignment' 전략을 사용하여 성능을 향상시키지만, 추론 시 NMS가 필요해져 속도가 느려지고 NMS 하이퍼파라미터에 민감하게 된다.
이를 해결하기 위해 End-to-End DETR 아키텍처가 제안되었지만, 복작성으로 인해 정확도와 속도의 최적 균형을 달성하기 어렵다.
이 연구는 YOLO 후처리 및 모델 아키텍처를 개선하여 정확도-속도 경계를 확장하는 것을 목표로 한다.
NMS 없는 YOLO 훈련을 위한 일관된 이중 할당 전략을 제안하여 훈련 중 충분하고 일관된 감독 제공하면서 추론 시 NMS의 필요성을 제거
또한, 효율성과 정확성 관점에서 YOLO의 다양한 구성 요소를 최적화하는 종합적인 모델 설계 전략을 도입한다.
- 이를 통해 계산 중복을 줄이고 모델 역량을 강화한다.
새로운 실시간 End-to-End 탐지 YOLOv10은 다양한 모델 스케일에서 이전 sota 모델들보다 뛰어난 성능과 효율성을 달성했다.
2. Architecture
'Real-time object detectors(실시간 객체 탐지)' 는 낮은 지연 시간으로 이미지에서 객체를 분류하고 위치를 찾는 것을 목표로 하며, 실제 응용 프로그램에서 매우 중요
YOLOv1, YOLOv2, YOLOv3는 'Backbon, neck, head'의 세 부분으로 구성된 전형적인 탐지 아키텍처를 정의한다.
YOLOv4와 YOLOv5는 DarkNet을 대체하기 위해 'CSPNet' 설계를 도입하고, 데이터 증강 전략, 향상된 PAN, 다양한 모델 스케일 등을 포함한다.
YOLOv6는 neck과 backbone에 각각 'BiC와 SimCSPSPPF'를 도입하고, 앵커 기반 훈련과 자기 증류 전략을 제시한다.
YOLOv7은 풍부한 '기울기 흐름 경로'를 위해 'E-ELAN'을 도입하고, '여러 트레이너블 bag-of-freebies' 방법을 탐구한다.
YOLOv8은 효과적인 특징 추출 및 융합을 위해 'C2f building block'을 제시한다.
Gold-YOLO는 다중 스케일 특징 융합 능력을 향상시키기 위해 'GD 메커니즘'을 제공한다.
YOLOv9은 아키텍처를 개선하기 위해 'GELAN'을 제안하고, 훈련 과정을 증강하기 위해 'PGI'를 도입한다.
'End-to-end object detectors(엔드 투 엔드 객체 탐지)'는 전통적인 파이프라인에서 벗어나 간소화된 아키텍처를 제공하는 패러다임 전환으로 떠오르고 있다.
DETR는 transformer 아키텍처를 도입하고, one-to-one 매칭 예측을 달성하기 위해 Hungarian loss를 채택하여 수작업 구성 요소와 후처리를 제거한다. 이후 성능과 효율성을 향상시키기 위해 다양한 DETR 변형이 제안되었다.
Deformable-DETR은 다중 스케일 변형 가능한 주의 모듈을 활용하여 수렴 속도를 가속화한다.
DINO는 대비 노이즈 제거, 혼합 쿼리 선택, look forward twice 방식을 통합한다.
RT-DETR은 효율적인 하이브리드 인코더를 설계하고, 불확실성이 최소화된 쿼리 선택을 제안하여 정확도와 지연 시간을 모두 향상시킨다.
Learnable NMS와 relation networks는 CNN을 기반으로하는데 중복된 예측을 제거하기 위해 또 다른 네트워크를 제시한다.
OneNet과 DeFCN은 완전한 합성곱 네트워크로 End-to-End 객체 탐지를 가능하게 하는 one-to-one 매칭 전략을 제안한다.
FCOSpss는 최적의 예측 샘플을 선택하기 위해 positive sample selector를 도입한다.
3. Methodology
3.1 Consistent Dual Assignments for NMS-free Training
YOLO 시리즈는 일반적으로 훈련 중 TAL(Talented Assignment of Labels)을 사용하여 각 인스턴스에 여러 개의 positive samples를 할당한다.
이 방식은 충분한 감독 신호를 제공하여 최적화와 성능 향상에 도움이 되지만, 추론 시 NMS 후처리가 필요하게 되어 추론 효율성을 방해한다. 본 연구에서는 NMS가 없는 YOLO 훈련을 위해 이중 라벨 할당과 일관된 매칭 지표를 도입하여 높은 효율성과 경쟁력 있는 성능을 달성한다.
Dual Label Assignments(이중 라벨 할당)
- one-to-one 매칭은 각 ground truth에 하나의 예측만 할당하여 NMS 후처리를 피할 수 있지만, 약한 감독으로 인해 최적의 정확도와 수렴 속도를 달성하지 못한다.
- 이를 보완하기 위해 one-to-many 할당의 장점을 결합한 이중 라벨 할당을 제안한다. 훈련 중 두 개의 head를 사용하여 모델을 최적화하며, 추론 시 one-to-one head만 사용하여 예측한다. 이를 통해 추가적인 비용 없이 end-to-end 배포를 가능하게 한다.
Consistent Matching Metric(일관된 매칭 지표)
- 두 가지 라벨 할당 방식에서 예측과 인스턴스 간의 일치도를 정량적으로 평가하기 위한 지표를 사용
- 일관된 매칭 지표를 통해 두 가지 할당 방식의 감독을 조화롭게 조정하여 one-to-one head가 더 나은 샘플을 제공하도록 한다.
- 이를 통해 훈련 후 one-to-many 결과의 상위 매칭 쌍에서 one-to-one 매칭 쌍의 수를 증가시킨다.
3.2 Holistic Efficiency-Accuracy Driven Model Design
YOLO 모델의 효율성과 정확성 간의 trade-off는 모델 아키텍처에 의해 크게 영향을 받는다.
기존의 연구들은 다양한 디자인 전략을 탐구했지만, YOLO의 다양한 구성 요소에 대한 포괄적인 검토는 부족하다. 이로 인해 모델 아키텍처에는 무시할 수 없는 계산 중복과 제한된 기능이 있어, 높은 효율성과 성능을 달성하는 데 장애가 된다.
본 연구에서는 효율성과 정확성 관점에서 YOLO의 모델 디자인을 총체적으로 수행하는 것을 목표로 한다.
Efficiency Driven Model Design(효율성 중심 모델 디자인)
(1) Lightweight Classification Head(경량화된 분류 헤드)
- YOLO에서는 분류 헤드와 회귀 헤드가 동일한 아키텍처를 공유하지만, 계산 오버헤드는 다르다. 예를 들어 YOLOv8-s에서 분류 헤드의 FLOPs와 파라미터 수는 각각 회귀 헤드의 2.5배, 2.4배다.
- 분석 결과, 회귀 헤드가 성능에 더 큰 영향을 미치므로, 분류 헤드의 오버헤드를 줄여도 성능에 큰 영향을 미치지 않는다.
- 이에 따라 3x3 커널 크기의 두 개의 depthwise separable convolutions와 1x1 convolution으로 구성된 경량화된 아키텍처를 채택한다.
(2) Spatial-Channel Decoupled Downsampling(공간-채널 분리 다운샘플링)
- 일반적으로 YOLO는 3x3 표준 컨볼루션을 사용하여 공간 다운샘플링과 채널 변환을 동시에 수행한다. 이는 상당한 계산 비용을 초래
- 대신 공간 축소와 채널 증가 작업을 분리하여 더 효율적인 다운샘플링을 제안한다. 먼저 포인트와이즈 컨볼루션을 사용하여 채널 차언을 조절하고, depthwise 컨볼루션을 사용하여 공간 다운샘플링을 수행한다.
(3) Rank-Guided Block Design(랭크 기반 블록 디자인)
- YOLO은 일반적으로 모든 단계에서 동일한 기본 블록을 사용한다. 이를 최적의 용량-효율성 trade-off를 위해 수정하기 위해, 각 단계의 기본 블록을 압축 아키텍처 디자인으로 대체하는 랭크 기반 블록 디자인을 제안한다.
[그림3] (a)YOLOv8의 단계와 모델변 본질적인 순위, backbone과 neck의 단계는 모델의 순반향 프로세스 순서로 번호가 매겨진다. 수치 랭크 $r$은 y축에서 $r/Co$로 정규화되며, 기본적으로 그 임계값은 $\lambda_{max}/2$로 설정된다. 여기서 $Co$는 출력 채널 수를 나타내며, $\lambda_{max}$는 가장 큰 특이값이다. 깊은 단계와 큰 모델이 더 낮은 본질적인 랭크 값을 보이는 것을 관찰할 숭 있다. (b)The compact inverted block (CIB). (c) The partialself-attention module (PSA).
Accuracy Driven Model Design(정확성 중심 모델 디자인)
(1) Large-Kernel Convolution(대형 커널 컨볼루션)
- 대형 커널 depthwise 컨볼루션은 수용 영역을 확대하고 모델의 성능을 향상시키는 효과적인 방법이다. 그러나 모든 단계에서 이를 사용하면 작은 객체 탐지에 필요한 얕은 특징이 오염되고, 고해상도 단계에서 I/O 오버헤드와 지연 시간이 크게 증가한다.
- 이에 따라, 깊은 단계의 CIB 내에서만 대형 커널 컨볼루션을 사용한다.
(2) Partial Self-Attention(PSA, 부분적 자기 주의)
- 자기 주의(Self-Attention)는 높은 계산 복잡도와 메모리 사용량을 초래하지만, 글로벌 모델링 능력으로 인해 다양한 시각적 작업에서 널리 사용된다.
- PSA 모듈은 효율적인 자기 모듈 디자인으로, 채널을 두 부분으로 나누어 하나의 부분만 다중 헤드 자기 주의 모듈과 피드 포워드 네트워크로 처리한다. 이 방법으로, 낮은 계산 비용으로 YOLO 모델에 글로벌 표현 학습 능력을 통합하여 성능을 향상시킨다.
4. Experiments
4.1 Implementation Details
뛰어난 지연 시간-정확성 균형과 다양한 모델 크기에서의 사용 가능성 대문에 YOLOv8을 기본 모델로 선택했다. (https://github.com/ultralytics/ultralytics/tree/main)
NMS 없는 훈련을 위한 일관된 이중 할당을 사용하고 이를 기반으로 효율성-정확성 중심의 모델 디자인을 수행하여 YOLOv10 모델을 개발했다.
YOLOv10은 YOLOv8과 동일한 변형 모델, 즉 N / S / M / L / X를 갖고 있다.
또한, YOLOv10-M의 너비 스케일 팩터를 단순히 증가시켜 새로운 변형 모델 YOLOv10-B를 도출했다.
제안된 검출 모델을 COCO 데이터셋에서 동일한 학습 설정하에 검증하였다.
모든 모델은 T4 GPU에서 TensorRT FP16을 사용하여 테스트했다.
4.2 Comparison with state-of-the-arts
다른 SOTA 모델과의 성능 비교
†는 NMS를 사용하는 원래의 one-to-many 훈련 방식으로 얻은 YOLOv10의 결과를 의미한다.
아래 결과는 공정한 비교를 위해 knowledge distillation나 PGI와 같은 추가적인 훈련 기술을 사용하지 않았다.
4.3 Model Analyses
`**현재 분석 부분의 표가 빈 부분이 있어 이후 업데이트 되면 다시 작성 **`
5 Conclusion
YOLO의 전체 검출 파이프라인에서 후처리와 모델 아키텍처를 모두 목표로한다.
후처리의 경우, NMS 없는 훈련을 위한 일관된 이중 할당을 제안하여 효율적인 end-to-end 검출을 달성
모델 아키텍처의 경우, 성능-효율성 trade-off를 개선하는 전체적인 효율성-정확성 중심 모델 설계 전략을 도입했다. 이를 통해 새로운 실시간 end-to-end 객체 검출기인 YOLOv10을 개발
광범위한 실험 결과, YOLOv10이 다른 검출기와 비교하여 SOTA 성능과 지연 시간을 달성하여 그 우수성을 잘 입증했다.