https://arxiv.org/abs/2405.14458
YOLOv10: Real-Time End-to-End Object Detection
Over the past years, YOLOs have emerged as the predominant paradigm in the field of real-time object detection owing to their effective balance between computational cost and detection performance. Researchers have explored the architectural designs, optim
arxiv.org
Abstract.
YOLO는 연산 비용과 탐지 성능 사이의 효과적인 균형 덕분에 실시간 객체 탐지 분야에서 지배적인 패러다임입니다. 연구자들은 YOLO를 위해 아키텍처 설계, 최적화 목표, 데이터 증강 전략 등을 탐구하며 눈에 띄는 진전을 이루었지만, 후처리를 위한 NMS에 대한 위존은 YOLO의 end-to-end 배포를 방해하고 추론 지연 시간(inference latency)에 악영향을 미칩니다. 본 연구에서는 후처리와 모델 아키텍처 양쪽 모두에서 YOLO의 성능-효율성 경계를 더욱 발전시키는 것을 목표로 합니다. 이를 위해 먼저 경쟁력 있는 성능과 낮은 추론 지연 시간을 동시에 가져오는, YOLO의 NMS-free학습을 위한 consistent dual assignments를 제안합니다. 또한 YOLO를 위한 holistic efficiency-accuracy driven model design strategy(전체론적 효율성-정확도 기반 모델 설계 전략)을 사용합니다. 본 연구의 결과 효율성과 정확도 관점 모두에서 YOLO의 다양한 구성 요소들을 포괄적으로 최적화하여 연산 오버헤드를 크게 줄이고 성능을 향상시킵니다.
Introduction.
실시간 객체 탐지는 낮은 지연 시간 하에 이미지 내 객체의 카테고리와 위치를 정확하게 예측하는 것을 목표로 하며, conputer visiono 분야에서 항상 연구의 초점이 되어 왔습니다. 이는 자율 주행, 로봇 내비게이션, 객체 추적 등을 포함한 다양한 실제 응용 분야에서 널리 채택되고 있습니다. 최근 몇 년간, 연구자들은 실시간 탐지를 달성하기 위해 CNN 기반 object detector를 고안하는 데 집중해 왔습니다. 그중에서도, YOLO는 성능과 효율성 사이의 균형 덕분에 점점 더 인기를 얻고 있습니다. YOLO의 detection pipeline은 두 부분, 즉 모델 forward 과정과 NMS 후처리로 구성됩니다. 하지만 이 두 부분 모두 성능 개선에 여지가 남아있습니다.
구체적으로, YOLO는 O2M 라벨 할당 전략을 사용하는데, 이에 따라 하나의 GT 객체가 여러 개의 양성(positive) 샘플에 대응됩니다. 우수한 성능을 냄에도 불구하고, 이 접근법은 추론 중에 최적의 양성 예측을 선택하기 위해 NMS를 필요로 합니다. 이는 추론 속도를 늦추고 성능이 NMS의 하이퍼파라미터에 민감하게 만들어, 결과적으로 YOLO가 최적의 end-to-end 배포를 달성하는 것을 방해합니다.
이 문제를 해결하기 위한 한 가지 방안은 최근 도입된 end-to-end DETR 아키텍처를 사용하는 것입니다. 예를 들어, RT-DETR은 효율적인 하이브리드 encoder와 uncertainty-minimal query selection을 통해, DETR을 실시간 application 영역으로 진입시켰습니다:
[CoIn] 논문 리뷰 | DETRs Beat YOLOs on Real-time Object Detection (Zhao et al., 2023)
https://arxiv.org/abs/2304.08069 DETRs Beat YOLOs on Real-time Object DetectionThe YOLO series has become the most popular framework for real-time object detection due to its reasonable trade-off between speed and accuracy. However, we observe that the spe
hw-hk.tistory.com
그럼에도 불구하고 배포 시 모델의 순전파(forward) 과정만을 고려할 때, DETR의 효율성은 YOLO에 비해 여전히 개선의 여지가 있습니다(attention mechanism 자체가 갖는 sequence length에 대한 계산 복잡도). 또 다른 방안은 CNN 기반 detector를 위한 end-to-end detection을 탐구하는 것인데, 이는 일반적으로 중복 예측 자체를 억제하기 위해 O2O 할당 전략을 사용합니다. 그러나 이는 추가적인 추론 오버헤드를 도입하거나 YOLO에 비해 성능이 낮습니다.
게다가 YOLO 아키텍처 설계에도 여전히 개선의 여지가 존재합니다. 더 효율적이고 효과적인 모델 아키텍처를 달성하기 위해, 구체적으로 feature 추출 능력을 향상시키기 위해서는 backbone에 대해 DarkNet, CSPNet, EfficientRep, ELAN 등을 포함한 다양한 유닛들이 제안되었으며, neck의 경우 multi-scale feature fusion을 위해서 PAN, BiC, GD, RepGFPN 등이 제안되었습니다. 이러한 노력들이 눈에 띄는 발전을 이루었지만, 효율성과 정확도 관점 모두에서 YOLO의 다양한 구성 요소에 대한 포괄적인 조사는 여전히 부족합니다. 결과적으로 YOLO 내에는 여전히 상당한 연산 중복이 존재하여, 비효율적인 파라미터 활용과 suboptimal한 효율성을 초래합니다.
본 연구에서는 이러한 문제들을 해결하고 YOLO의 정확도-속도 경계를 더욱 발전시키는 것을 목표로 합니다. 본 연구는 detection pipeline 전반에 걸쳐 후처리와 모델 아키텍처를 타겟으로 합니다. 이를 위해 먼저 dual label assignment(이중 라벨 할당)과 consistent matching metric(일관된 매칭 지표)를 갖춘 NMS-free YOLO를 제안하여 후처리 단계에서 중복 예측 문제를 해결합니다. 이는 모델이 학습 중에 조화로운 supervision을 누리게 하는 동시에 추론 중에 NMS의 필요성을 제거하여, 높은 효율성과 함께 경쟁력 있는 성능을 이끌어냅니다.
또한 YOLO의 다양한 구성 요소에 대한 포괄적인 조사를 수행함으로써 모델 아키텍처를 위한 모델 설계 전략을 제안합니다. 효율성을 위해, 연산 중복을 줄이고 더 효율적인 아키텍처를 달성하기 위해 경량화된 classification head, spatial-channel decoupled downsampling(공간-채널 분리 다운샘플링) 그리고 rank-guided block design(순위 기반 블록 설계)를 제안합니다. 정확도를 위해 large-kernel convolution을 탐고하고 효과적인 partial self-attention(부분 셀프 어텐션) 모듈을 제안하여 모델 능력을 향상시키고, 적은 비용으로 성능 향상을 달성합니다.

위 그림 1. 에서 볼 수 있듯, YOLOv10은 RT-DETR이나 YOLOv9에 비해 더 빠르거나, 더 나은 성능을 보입니다.
Related Work.
real-time object detector는 낮은 지연 시간 하에서 객체를 분류하고 위치를 찾는 것을 목표로 하며, 이는 실제 application에 있어 매우 중요합니다. 지난 몇 년간, 효율적인 detector를 개발하는 데 상당한 노력이 기울어졌으며, YOLO 시리즈가 주류로 두드러집니다. (... YOLO series들에 대한 설명들 ...)
end-to-end object detector들은 전통적인 pipeline(backbone-neck-head)로부터의 패러다임 전환이며, 간소화된 아키텍처를 제공합니다. DETR은 transformer architecture를 도입하고 O2O 매칭 예측을 달성하기 위해 hungarian loss를 사용하여, 수작업으로 설계된 구성요소(예: anchors)와 NMS를 제거합니다. 그 이후로, 성능과 효율성을 향상시키기 위해 다양한 DETR 변형들이 제안되었습니다. (... DETR 변형들에 대한 설명들 ...)
[CoIn] 논문 리뷰 | DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection (Zhang et al., 2022)
https://arxiv.org/abs/2203.03605 DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object DetectionWe present DINO (\textbf{D}ETR with \textbf{I}mproved de\textbf{N}oising anch\textbf{O}r boxes), a state-of-the-art end-to-end object detector.
hw-hk.tistory.com
[CoIn] 논문 리뷰 | DEFORMABLE DETR: DEFORMABLE TRANSFORMERSFOR END-TO-END OBJECT DETECTION (Zhu et al., 2021)
https://arxiv.org/abs/2010.04159 Deformable DETR: Deformable Transformers for End-to-End Object DetectionDETR has been recently proposed to eliminate the need for many hand-designed components in object detection while demonstrating good performance. Howev
hw-hk.tistory.com
end-to-end object detector를 달성하기 위한 또 다른 노선은 CNN detector에 기반을 두며, 학습 가능한 NMS(learnable NMS)와 relation networks는 detector의 중복된 예측을 제거하기 위한 또 다른 네트워크를 제안합니다. OneNet과 DeFCN은 fully convolution networks로 end-to-end detection을 가능하게 하기 위해 O2O 매칭 전략을 제안합니다. FCOSpss는 예측을 위한 최적의 샘플을 선택하기 위해 양성 샘플 선택기(positive sample selector)를 도입합니다.
Methodology.
Dual label assignments.
학습 중에, YOLO들은 보통 각 instance에 대해 여러 양성 sample을 할당하기 위해 TAL을 활용합니다:
https://arxiv.org/abs/2108.07755
TOOD: Task-aligned One-stage Object Detection
One-stage object detection is commonly implemented by optimizing two sub-tasks: object classification and localization, using heads with two parallel branches, which might lead to a certain level of spatial misalignment in predictions between the two tasks
arxiv.org
Note: TAL(task alignment learning)은 학습 시 어떤 anchor나 point를 정답(positive sample)로 삼을지 결정할 때, 분류 점수(classification score)와 위치 정확도(IoU)를 동시에 고려합니다. 이를 위해 TAL은 다음과 같은 metric을 사용합니다:

이때 t는 정렬 점수(alignment metric)이며, s는 분류 점수(classification score), u는 IoU(Intersection over Union), α와 β는 두 task 사이의 균형을 맞추는 상수입니다. 위 공식으로 점수를 계산한 후, t 점수가 가장 높은 top-k개의 후보를 positive samples로 선정합니다. 이렇게 선정된 k개의 후보들에게만 GT 객체가 유사해지도록 학습하며, 나머지는 배경을 예측하도록 학습합니다. 이는 classification과 regression을 동시에 적절히 고려하며 positive sample을 선택하므로 최근의 YOLO들에서 자주 사용하는 매칭 방법입니다.
TAL, 즉 O2M 할당은 풍부한 supervisory signals를 산출하여, 최적화를 촉진하고 우수한 성능을 달성하게 합니다. 하지만 이것은 YOLO가 NMS 후처리에 의존하게 만들며, 이는 배포 시 suboptimal한 추론 효율성을 유발합니다. 이전 연구들이 중복된 예측을 억제하기 위해 O2O 매칭을 탐구했지만, 이들은 대개 추가적인 추론 오버헤드를 도입하거나 suboptimal한 성능을 기록합니다.
본 연구에서는 높은 효율성과 경쟁력 있는 성능을 모두 달성하는, dual label assignment와 consistent matching metric을 갖춘 YOLO를 위한 NMS-free 학습 전략을 제안합니다.
O2M 할당과 달리, O2O 매칭은 각 GT에 대해 오직 하나의 예측만을 할당하여, NMS 후처리를 피합니다. 그러나 이것은 weak supervision으로 이어져, suboptimal한 정확도와 수렴 속도를 유발합니다. 다행히도, 이는 O2M 할당에 의해 보완될 수 있으며, 이를 달성하기 위해 두 전략의 장점을 결합하도록 YOLO를 위한 dual label assignment를 도입합니다.

위 그림 2.(a)에 보이는 바와 같이, YOLO를 위해 또 다른 O2O head를 사용합니다. 이는 원래의 O2M branch와 동일한 구조를 유지하고 동일한 최적화 목표(동일한 loss function)를 사용하지만, label 할당을 얻기 위해 O2O 매칭을 사용합니다. 학습 중에, 두 heads는 모델과 함께 공동으로 최적화되어, backbone과 neck이 O2M 할당에 의해 제공되는 풍부한 supervision들을 누릴 수 있게 합니다. 추론 중에, O2M head를 버리고 예측을 하기 위해 O2O head를 활용합니다. 이것은 어떠한 추가적인 추론 비용 발생 없이 YOLO의 end-to-end 배포를 가능하게 합니다. 게다가, O2O 매칭에서, YOLOv10은 top one selection을 사용하는데, 이는 더 적은 추가 학습 시간으로 hungarian matching과 동일한 성능을 달성합니다.
Note: top one selection과 hungarian matching은 그냥 각자 1등을 뽑느냐(greedy) vs. 전체를 보고 최적의 짝을 짓느냐(global)의 차이입니다. DETR에서 사용하는 hungarian matching은 모든 정답 GT와 모든 예측 사이의 궁합(cost)을 다 계산해 놓은 뒤, '전체 팀(GT와 prediction)의 만족도가 최대'가 되도록 짝을 지어주는 알고리즘입니다. 한편, top one selection은 복잡하게 전체를 보지 않고, 각 GT 입장에서 '나를 가장 잘 예측한 1개'를 뽑는 것입니다. 이는 많은 수의 예측들과 GT들에 대한 cost matrix를 만들지 않아도 되므로, 학습 시간에 영향을 훨씬 적게 줍니다.
Note: 하지만 일반적으로 생각했을때, greedy하게 GT와 예측을 매칭해주면 문제가 발생할 수 있습니다. 예를 들어, matching이 꼬이는 경우입니다. 하지만 yOLO는 이미지 내에서 수천, 수만개의 예측 후보를 생성하기 때문에, 정답 A를 가장 잘 맞힌 앵커와, 정답 B를 가장 잘 맞힌 앵커가 우연히 겹칠 확률이 적습니다. 즉, hungarian matching으로 전체 조율을 하지 않고 그냥 각자 1등을 뽑아가도, 결과적으로는 서로 다른 앵커를 가져가게 됩니다(즉, hungarian matching과 거의 같아진다).
Consistent matching metric.
할당 과정에서, O2O 및 O2M 접근법 모두 예측과 instance(GT)사이의 일치 수준을 정량적으로 평가하기 위해 metric을 활용합니다. 두 branch 모두에 대해 prediction aware matching을 달성하기 위해, 다음과 같은 matching metric을 사용합니다(TAL과 동일):

여기서 p는 분류 점수이며, \hatb와 b는 각각 예측과 instance의 bbox를 나타냅니다. s는 예측의 anchor point가 instance 내에 있는지를 나타내는 spatial prior(공간적 사전 확률)을 나타냅니다. α와 β는 classification task와 bbox regression task의 영향력 균형을 맞누는 하이퍼파라미터입니다. 이때 O2O 및 O2M metric을 각각:


으로 나타냅니다. 이 metric들은 두 heads에 대한 label 할당과 supervision 정보에 영향을 미칩니다.
dual lebel assignment에서, O2M branch는 O2O branch보다 훨씬 더 풍부한 supervisary signals들을 제공합니다. 직관적으로, 만약 O2O head의 supervision을 O2M head의 supervision과 조화시킬 수 있다면, O2O head를 O2M head의 최적화 방향으로 최적화할 수 있습니다(즉, 결국에는 O2O head를 추론시에 사용할 건데, O2O head는 supervisary signals의 개수가 적으므로, 학습이 제대로 안 될 가능성이 높습니다. 이때 O2M head의 supervision을 O2O head와 조화시킬 수 있다면, O2M head의 풍부한 signals들을 O2O head를 학습하는데 사용할 수 있다는 뜻입니다).
이를 위해, 먼저 두 heads 사이의 supervision gap을 분석합니다. 학습 중의 무작위성 때문에, 두 heads가 동일한 값으로 초기화되고 동일한 예측을 생성하는 시작점에서 조사를 시작합니다. 즉, O2O head와 O2M head가 각 prediction-instance pair에 대해 동일한 p와 IoU를 생성합니다. 매칭된 예측들이 동일한 GT를 공유하고 matching되지 않은 예측들은 무시되므로, 두 branch의 regression target은 충돌하지 않지만, classification target은 충돌할 수 있으며, 두 branch의 supervision gap은 여기서 나옵니다.
Note: Regression은 충돌하지 않지만, Classification은 왜 충돌한다고 할까요? O2O와 O2M의 차이는 중복된, 즉 GT에 할당되지 않은 예측들에서 발생합니다(GT에 할당된 예측들은 GT에 해당하는 regression target과 classification target에 가까워지도록 두 branchs가 학습이 되기 때문에 일치합니다). 예를 들어, A라는 예측과 B라는 예측이 있을 때, O2M에서는 두 예측 모두 GT에 할당될 수 있습니다. 하지만, O2O에서는 A만 GT에 할당되었고, B는 배경을 예측하도록 할당 될 수 있습니다. 이때 GT에 할당된 예측 A는 O2O와 O2M 모두 GT에 가까워지는 방향으로 학습되지만, B의 경우 차이가 발생할 수 있다는 것입니다.
Note: O2M에서 B는 A와 마찬가지로 GT에 할당되었기 때문에, GT에 가까워지는 방향으로 학습이 됩니다. 하지만 O2O에서는 배경에 할당되었기 때문에, 배경에 가까워지는 방향으로 학습이 됩니다. 이때 해당 예측을 한 번 더 자세히 들어가보면, regression과 classification으로 나눌 수 있는데, O2M에서 B는 GT bbox에 가까워지는 방향으로 regression을 하며, O2O에서 B는 배경이므로 regression signal이 존재하지 않습니다. 즉, B의 regression에 대해서는 두 학습 signal이 충돌하지 않습니다. 반면, classification의 경우 O2M은 GT class에 가까워지도록, O2O는 background class에 가까워지도록 학습이 되기 때문에, 충돌이 발생할 수 있습니다.
어떤 instance(GT)가 주어졋을 때, 예측들 사이의 가장 큰 IoU를 u*, 가장 큰 O2M 및 O2O matching score를 각각 m*_{o2m}, m*_{o2o}라고 합니다. O2M branch가 양성 샘플 Ω를 출력하며, O2O branch가 m_{o2o,i} = m*_{o2o}를 가진 i-th 예측을 선택한다고 가정하면, 각각의 branch에 대해서 다음과 같은 classification target을 얻을 수 있습니다(soft label):


따라서 두 branches 사이의 supervision gap은 Wasserstein distance에 의해 다음과 같이 정의될 수 있습니다:

그리고 이 gap을 줄이려면, t_{o2m,i}가 최대가 되어야하며, 이는 해당 값이 u*가 되어야 합니다. 즉, O2M에서 i-th 예측과 O2O에서의 i-th 예측이 똑같아야 한다는 것입니다. 이를 위해서는 TAL에 하이퍼파라미터 α와 β는 O2O branch와 O2M branch 모두 똑같이 설계해야 합니다. 그 결과 O2M의 top-1/5/10 내의 예측들 중에 O2O의 예측이 들어있는 빈도를 위 그림 2.(b)에 정리했습니다. inconsistent는 α와 β가 O2O와 O2M이 다르며, consistent는 α와 β가 동일합니다.
Note: 즉, TAL의 하이퍼파라미터를 똑같이 설계해서, i-th 예측이 O2M과 O2O 모두 같은 GT에 대한 가장 좋은 예측이 된다면, 그나마 supervision의 gap이 가장 줄어들 수 있다는 것입니다. 그리고 이를 위해서는 TAL의 하이퍼파라미터가 모두 같아야만 한다는 것입니다.
(... 다른 방법들과의 차이점 ...)
Holistic Efficiency-Accuracy Driven Model Design.
후처리 외에도, YOLO의 모델 아키텍처 또한 efficiency-accuracy trade-off에 병목입니다. 이전 연구들이 다양한 설계 전략을 탐구했지만, YOLO의 다양한 구성 요소에 대한 포괄적인 조사는 여전히 부족합니다. 결과적으로, 모델 아키텍처는 무시할 수 없는 연산 중복과 제한된 능력을 보이며, 이는 높은 효율성과 성능을 달성하기 위한 잠재력을 저해합니다. YOLO의 구성 요소는 stem, downsampling layer, stage, head로 구성되며, stem은 적은 연산 비용을 발생시키므로 다른 세 부분에 대해서 효율성 기반 모델 설계를 수행합니다.
YOLO에서 classification 및 regression head는 보통 동일한 아키텍처를 공유합니다. 그러나 그들은 연산 오버헤드의 관점에서 큰 차이를 보입니다. YOLOv8-S에서 classification head의 FLOPs와 파라미터 수는 regression head의 FLOPs와 파라미터수의 각각 2.5배와 2.4배입니다. 하지만, 본 논문의 저자들이 조사한 결과 YOLO의 regression head가 YOLO 성능에 더 큰 중요성을 담당한다는 것을 발견했으며, 결과적으로 classification head의 오버헤드를 성능 걱정 없이 줄일 수 있었습니다. 따라서, classification head를 위해 3 x 3 depthwise separable convolution 2개와 1 x 1 conv layer로 head를 구성했습니다.
YOLO는 전형적으로 stride 2를 가진 일반적인 3 x 3 표준 합성곱을 사용하여, 공간적 downsampling(H x W -> H/2 x W/2)과 채널 변환(C -> 2C)을 동시에 수행합니다. 이것은 O(9/2HWC^2)의 무시할 수 없는 연산 비용과, O(18C^2)이라는 파라미터 수를 도입합니다. 대신, 공간적 downsampling과 채널 변환을 분리하여, 더욱 효율적인 downsampling을 가능하게 합니다.
먼저 channel 차원을 조절하기 위해 pointwise convolution을 활용한 다음, 공간적 downsampling을 수행하기 위해 depthwise convolution을 활용합니다. 이는 연산 비용을 O(2HWC^2 + 9/2HWC)로 줄이며, 파라미터 수를 O(2C^2 + 18C)로 줄입니다. 동시에, 이는 downsampling 동안 정보 보존을 극대화하여, 지연 시간 감소와 함께 경쟁력 있는 성능으로 이어집니다.
YOLO는 보통 모든 stage에 대해 동일한 기본 building blocks(예: YOLOv8의 bottleneck구조. 3 x 3 convolution layer 2개)을 사용합니다. 이에 대한 효율성을 조사하기 위해, 각 stage의 중복성을 조사하며, 이를 위해 고유 랭크(intrinsic rank)를 사용합니다. 논문의 저자들은 각 stage의 마지막 기본 블록 내 마지막 합성곱의 numerical rank를 계산하는데, 이는 임계값보다 큰 특이값(singular values)의 개수를 셉니다:

위 그림 3.(a)는 YOLOv8의 결과를 보여주며, 깊은 stage와 큰 모델이 더 큰 중복성을 보이는 경향이 있었습니다. 이는 모든 stage에 대해 단순히 동일한 block 설계를 적용하는 것이 suboptimal한 해결책임을 시사합니다. 이를 해결하기 위해, stage의 복잡도를 줄이는 것을 목표로 하는 rank-based block design을 제안합니다. 먼저 CIB(compact inverted block)을 제안하며, 이는 위 그림 3.(b)에 있습니다. 이는 공간적 믹싱(spatial mixing)을 위한 depthwise convolution과 채널 믹싱(channel mixing)을 위한 pointwise convolution을 사용합니다. 이는 효율적인 기본 building blocks으로서 기능할 수 있습니다.
Note: 위 그림 3.(b)에서의 1 x 1 conv 이후 split은 channel 차원에서의 split으로, CSPNet의 원리에 따라, 그래디언트 흐름(gradient flow)을 좋게 만들고, 연산량을 줄이기 위함입니다.
또한 경쟁력있는 용량을 유지하면서 최고의 효율성을 달성하기 위해 rank-based block design을 사용합니다. 모델이 주어지면, 모든 stage를 intrinsic rank에 따라 오름차순으로 정렬한 후, 선두 stage block을 CIB로 교체했을 때의 성능 변화를 검사합니다. 만약 주어진 모델과 비교하여 성능 저하가 없다면, 해당 stage의 교체를 진행하며, 그렇지 않다면 과정을 중단합니다. 결과적으로 성능 저하 없는 더 높은 효율성을 달성하며, stage와 모델 규모 전반에 걸쳐 적응형 compact block design을 설계할 수 있습니다.
또한 최소한의 비용을 성능을 끌어올리기 위해 large-kernel convolution과 self-attention을 탐구합니다. large-kernel depthwise convolution은 receptive field를 확장하고 모델의 능력을 향상시키는 효과적인 방법입니다. 하지만, 모든 stage에서 단순히 그것들을 활용하는 것은 작은 객체를 탐지하는 데 사용되는 얕은 특성(shallow features)에 오염을 유발할 수 있으며, 동시에 고해상도 stage에서 상당한 오버헤드를 유발할 수 있습니다.
Note: 3 x 3 conv layer 세 개와 7 x 7 conv layer 한 개의 receptive field는 똑같지만, 3 x 3 conv layer 3개가 훨씬 파라미터의 개수가 적으므로, 3 x 3 conv를 여러 층 쌓는다고 알고 있는데, 7 x 7 conv layer의 장점은 무엇일까? 우선 depthwise convolution은 표준 conv와 달리 애초에 연산량이 매우 작기 때문에, 7 x 7로 kernel size를 늘려도 전체 모델의 속도에 미치는 영향이 작습니다. 또한 3 x 3 conv를 여러 번 사용하면, 실제 모델이 집중해서 모든 영역은 7 x 7 전체가 아니라 중심부에 쏠리는 가우시안 분포 형태가 될 수 있습니다. 이는 가장자리 정보가 희석될 수 있습니다. 하지만, 7 x 7 kernel로 한 분에 찍어내면 가장 자리 정보까지 동등하게 볼 수 있습니다.
Note: 그렇다면, 왜 7 x 7 conv가 shallow feature를 오염시킬 수 있다고 했을까요? shallow feature는 이미지의 디테일을 담당합니다. 따라서 3 x 3 kernel을 통해 해당 feature들을 보면, 주변의 디테일들이 잘 살아남을 수 있지만, 7 x 7 대형 kernel을 이용하면 디테일이 모두 사라지게 됩니다(큰 영역에 대해 한 번의 연산을 수행하니까). 그렇다면 왜 고해상도 stage에서 상당한 오버헤드를 불러일으킬까요? 이는 연산량의 문제가 아닌, 메모리 접근(MAC)의 문제입니다. 7 x 7 kernel은 하나의 픽셀을 계산하기 위해 49개의 픽셀 값을 메모리에서 불러와야 합니다. 이는 stege의 앞단에서 사용할 때, [이미지 전체의 많은 양의 픽셀 수 x 49번의 loading]으로 인한 지연 시간이 병목이 됩니다.
따라서 깊은 stage의 CIB에서 3 x 3 depthwise conv를 7 x 7 conv로 늘립니다. CIB 내 두 번째 3 x 3 conv layer의 kernel size를 7 x 7로 늘립니다. 게다가 추론 오버헤드 없이 최적화 문제를 완화하기 위해 structural reparameterization 기술을 사용하여, 또 다른 3 x 3 depthwise conv branch를 가져옵니다. 또한, 모델의 크기가 커짐에 따라 receptive field가 자연수럽게 확장되므로, large kernel convolution을 사용하는 이점이 줄어듭니다. 따라서, 작은 모델 규모에 대해서만 large kernel conv를 사용합니다.
Note: structural re-parameterization은 '학습은 두 갈래, 실전은 한 갈래' 전략입니다. 7 x 7 같은 큰 kernel 하나만 놓고 학습시키면, 학습이 어려울 수 있습니다. 따라서 학습할 때는 3 x 3 depthwise conv branch를 병렬로 추가합니다. 따라서 학습시 입력 데이터가 7 x 7 경로와 3 x 3 경로 두 군데로 들어갑니다. 이때 큰 특징에 대해서는 7 x 7 kernel이 배우고, 작은 디테일은 3 x 3이 배워서 결과를 합칩니다. 이렇게 하면 학습이 훨씬 안정적으로 잘 되며, inference 시에는 3 x 3 branch를 제거하고, 3 x 3 kernel의 가중치를 7 x 7 kernel의 가운데에 add할 수 있습니다. 이렇게 하면, 학습 효과는 2개를 쓴 것처럼 좋기만, 실행 속도는 1개를 쓴 것과 똑같습니다(예: RepVGG).
한편, self-attention은 전역적 모델링 능력이 매우 좋아서 다양한 시각적 task에서 널리 사용됩니다. 하지만, 높은 연산 복잡도와 메모리 사용량을 보입니다. 이를 해결하기 위해, attention head redundancy를 고려하여, 위 그림 3.(c)에 보이는 바와 같이 효율적인 partial self-attention(PSA) 모듈을 설계합니다. 1 x 1 conv 후에 채널에 걸쳐 feature들을 두 부분으로 균등하게 분할합니다. 그리고 오직 한 부분만은 MHSA과 FFN으로 구성된 N_psa blocks들에 입력합니다. 그런 다음 두 부분은 concatenated되고 1 x 1 conv에 의해 융합됩니다. 또한, 빠른 추론을 위해 MHSA의 query와 key의 차원을 value의 차원의 절반으로 할당하고, layernorm을 batchnorm으로 대체합니다. 나아가, PSA는 가장 낮은 해상도를 가진 stage 4 이후에만 배치되어, self-attention의 quadratic 연산 복잡도로부터 오는 과도한 오버헤드를 피합니다.
Experiments.

위 표 1.은 다른 모델들과 YOLOv10의 성능을 비교한 것으로, 속도 대비 경쟁력있는 성능을 보여줍니다. 여기서 주목할 만한 점은 가 붙어있는 NMS-free로 학습한 YOLOv10과 NMS를 이용해 학습한 YOLOv10의 성능 차이입니다. 작은 모델의 경우 성능 차이가 큰 반면, 큰 모델의 경우는 거의 성능의 차이가 없는데, 이는 모델 자체의 성능에 따른 결과입니다.
O2O matching을 잘 하기 위해서는 애초의 prediction이 잘 뽑혀야 합니다. 즉, 예측들의 미묘한 차이를 잘 구분할 수 있어야 정확한 O2O matching을 수행할 수 있습니다(O2M은 그냥 다 GT로 매칭시키면 되기 때문에 상관 없습니다). 하지만 작은 모델의 경우 모델 자체의 성능 한계로 인해 차이를 구분하기 힘들며 이는 아래의 그림을 통해서도 알 수 있습니다:

이는 anchor points들의 features들 간의 cosine similarity를 측정한 결과이며, 모델이 작을 수록(YOLOv10-N이 가장 작음), feature들 간의 유사도가 높은 것을 알 수 있습니다.
(... Holistic Efficiency-Accuracy Driven Model Design의 대한 결과 ...)