일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- #Linux
- #landmark
- #activation function
- #Jetson nano
- #object detection
- #비선형
- #torchvision
- #gpu training
- #pytorch
- Linux
- #Anaconda
- #annotation
- pytorch
- #선형
- Today
- Total
Wooks_learning
[논문 리뷰] YOLOv10 Real-Time End-to-End Object Detection_1부 본문
Real time object detection의 대표 모델인 YOLO 계열이 새로 나와, 리뷰를 하려고 한다.
해당 논문은 Neurips 2024에 게재되었다. 리뷰 순서는 아래와 같다. 내용적으로 짚고 갈 것이 많아 1부 2부로 나누어서 정리하려고 한다.
1. Abstract
2. Introduction
3. Methodology
3.1 Consistent Dual Assignments for NMS-free Training
3.2 Consistent matching metric ---- 1부
3.3 Model design
4. Experiments
5. Colclusion
1. Abstract
해당 논문은 Real-time object detection 분야의 대표 모델인 YOLO 모델을 개선하여, 추론 latency를 최소화하는데 초점을 맞춘다. YOLO 계열은 inference cost와 성능 간의 balance가 좋아서 real-time 도메인에서 많이 채택된다. 하지만, 추론 단계에서 결과의 전처리 과정 즉, NMS로 인해 딜레이가 발생할 수밖에 없다. 또한, YOLOv9까지 연구되면서 다양한 component들 때문에, 의미론적으로 중복인 계산이 생겨 efficiency가 저하된다. 따라서, NMS-free training를 위한 consistent dual assignments와 새로운 model design을 제안하며, accuracy-efficiency의 균형을 맞춰 성능을 향상하기 위해 노력한다.
Keywords : NMS-free training, consistent dual assignments, model design, accuracy-efficiency balance
2. Introduction
Real-time detection은 높은 예측 정확도, 낮은 추론 속도를 중요시하며 그 balance를 잘 갖춘 YOLO 계열의 모델이 많이 채택되었다. 특히, one-to-many label assignment를 통해 다양한 positive sample들을 label에 할당하여, 정확도 측면을 보완하려 노력한다.
One-to-many label assignment를 사용하면 다음과 같은 이점이 있다.
- 풍부한 training signal : 그림 1.과 같이 하나의 객체가 여러 예측과 연결되면, 더 많은 정보로 객체의 위치와 class 학습이 가능.
- 훈련 안정성 향상 : 풍부한 signal을 통해서, 특정 예측의 quality가 낮아도 다른 예측이 보완할 수 있어 안정적.
하지만, 추론 단계에서도 여러 output을 예측해야 하고, 이는 NMS 알고리즘이 강제되어 inference latency가 존재하게 된다. 이를 해결하기 위해, DETR과 같이 bipartite matching으로 end-to-end 모델을 만들기도 하였다. 하지만 이러한 노력들은 transformer를 통해 해결한 사례이고, CNN에서는 inference overhead가 생겨 오히려 성능이 저하되었다. 이러한 문제를 해결하기 위해, 본 논문에서는 학습을 위한 metric과, 다양한 model component를 제안한다.
End-to-End Object Detection with Transformers [논문 리뷰]
해당 논문은 ECCV 2020에 발표된 논문으로, Facebook AI Research팀이 발표한 논문이다. ViT 보다 더 빠르게 vision task에서 transformer 구조를 사용하여 object detection task를 풀어낸 논문으로, transformer가 vision ta
wooks-learning.tistory.com
3. Methodology
3.1 Consistent Dual Assignments for NMS-free Training
위에서 설명했듯이, one-to-many assignment가 NMS를 강요하여 one-to-one assignment를 사용하는 방법도 제안하였지만, 정확도 측면에서 손해를 볼 수밖에 없었다. 그래서 one-to-many와 one-to-one 방법의 장점을 결합한 dual assignment를 제안한다.
Dual-assignment를 위해서 그림 2.와 같은 모델 구조를 제안한다. 중요한 포인트는 학습 과정에서 one-to-many와 one-to-one 방식 모두 쓰인다는 점이다. 두 head는 동일한 구조와 objective를 가지지만, 추론에 대한 label을 할당하는 방식에 차이가 있다. 학습이 이루어지는 동안 두 head가 동시에 jointly하게 최적화되고, 추론 단계에서는 one-to-one head만을 사용하여 추론하게 된다. Joinly하게 최적화되는 점에서 one-to-one head가 one-to-many의 장점을 동시에 학습할 수 있게 된다. 그런데 각 head의 예측에 대한 gradient가 독립적으로 피드백이 될 텐데, 어떻게 one-to-many의 장점을 학습할 수 있게 되는 것일까? 이를 consistent matching metric을 통해 해결한다.
3.2 Consistent matching metric
두 head가 동일한 구조를 가지지만, parameter를 공유하는 것이 아니기 때문에, 각 예측에 대한 피드백은 독립적으로 흘러갈 수밖에 없다. 따라서, 각각의 head는 다르지만, 아래의 metric을 같이 사용하는 uniform matching metric을 사용하고, matching에 대한 score를 정량적으로 측정하게 된다. (여기서 uniform matching metric은 따로 존재하는 개념이 아니라, 두 head 간 학습 일관성을 유지하기 위한 통일된 매칭을 사용한다는 의미로 받아들이면 된다.)
$ Notation $
$s :$ 예측한 anchor의 중심점이 객체에 위치해 있는지 여부 (0 or 1)
$p :$ classification score
$\hat{b}, b :$ predicted bbox, GT bbox
$\alpha, \beta :$ class, rgression parameters
$m_{o2m}=m(\alpha_{o2m}, \beta_{o2m})$ : one-to-many의 정량적 score
$m_{o2o}=m(\alpha_{o2o}, \beta_{o2o})$ : one-to-one의 정량적 score
이 metric을 의미론적으로 생각해 보면, "instance에 포함된 예측 bbox에 대한 피드백을 하기 위해 정량적으로 측정하겠다."라는 의미를 내포하게 된다. 그러면 이렇게 수치화해서 어떻게 loss를 구성해야 할까? 만약, head가 하나였다면 해당 metric을 최소화하도록 해도 되지만, 현재 학습 단계에서 $o2m$과 $o2o$을 동시에 최적화해야 하므로 조금 더 명시적인 objective가 요구된다. 이를 위해 아래와 같이 objective를 구성하였다.
$Notation$
$u^{*}$ : largest IoU with prediction
$m^{*}_{o2m}, m^{*}_{o2o}$ : 각 head가 예측한 largest matching score
$\Omega$ : one-to-many가 예측한 positive samples ( $s$ 가 1인 sample )
$t_{o2n, n}$ : $u^{*} \cdot \frac{m_{o2n}}{m^{*}_{o2n}}$
$t_{o2o, i}$ : $o2o$ head의 i번째 classification target.
$t_{o2m, j}$ : $o2m$ head의 j번째 classification target.
$t$라는 값은 classification target으로, 예측값의 matching score를 기반으로 계산된다. 그런데, $o2m$ head는 여러 개의 positive sample을 생성하고, 일부 예측값은 GT와의 $m_{o2m}$이 낮을 수 있다. 그러한 값들이 동일한 가중치로 반영된다면, 모델의 학습이 부정확하거나, 낮은 예측값에 대해 과도하게 학습될 수 있다. 따라서, 이를 방지하기 위해 $u^{*}$과 scaling된 $m$을 곱해서 model이 예측한 상한선을 넘지 않도록 구성했다고 할 수 있다. 이렇게 구성된 objective를 통해서, 두 head가 예측한 gap을 줄여나가게 된다. 즉, 다음과 같은 의미를 가지고 objective를 구성했다고 이해하면 될 것 같다.
One-to-many의 i번째 예측에 대한 불확실성이 낮다면, A의 값이 상대적으로 낮아 one-to-one의 신뢰성이 높다. 반대로 one-to-many의 i번째 예측에 대한 불확실성이 높다면, A 값이 상대적으로 커지기 때문에 one-to-one의 신뢰성이 낮다 라고 해석될 수 있다. 이러한 피드백을 바탕으로 one-to-many와 one-to-one 각각의 head 파라미터가 업데이트되게 된다.
2부에서 계속...
'딥러닝 > 논문 리뷰' 카테고리의 다른 글
[논문리뷰] Segment Anything (4) | 2024.10.07 |
---|---|
[논문리뷰] UNIVERSAL FEW-SHOT LEARNING OF DENSE PREDICTION TASKS WITH VISUAL TOKEN MATCHING (0) | 2023.09.10 |
[논문리뷰] Zero shot text-to-image generation (0) | 2023.09.06 |
End-to-End Object Detection with Transformers [논문 리뷰] (0) | 2022.04.23 |