YOLOv7 논문은 Inference cost의 증가 없이 detection accuracy를 향상시키는 것을 목표로 한다.
그 방식을 'Trainable bag-of-freebies'이라고 하며, 저자들은 구체적으로 model reparameterization & Label assginment 에 관한 방식을 제안한다.
현재 Real-time object detector 중 SOTA 모델은 YOLO에 기반한 모델인데, 다음과 같은 특성 요구된다.
YOLOv7은 위의 특성 중 마지막 3가지와 관련된 문제점들을 해결하기 위한 방안들을 다음과 같이 제시한다.
기본적인 model reparameterization은, training 시에는 여러 개의 레이어를 학습하고, inference 시에 하나의 레이어로 fusing(=reparameterization)하는 technique이다(≒앙상블).
그러나 다른 아키텍처에 완벽하게 적용될 수 있는 것이 아니기 때문에, YOLOv7은 다양한 아키텍처에 적용 가능한 전략을 새로 설계한다.
또한, 기존에 사용되던 모델 스케일링 방법 NAS는 상관관계가 크지 않은 요인들을 다루기 때문에, 연결 기반인 새 *아키텍처에 맞는 스케일링 방법을 함께 제시한다.
VoVNet → CSPVoVNet → ELAN을 거쳐, 장점을 그대로 살리되 ELAN의 단점(computation block을 무한대 가까이 쌓을 경우 안정성이 무너짐)을 보완하는 E-ELAN을 제안한다.
- 가장 짧고, 가장 긴 gradient path를 제어하여 네트워크가 효과적으로 학습 & 수렴한다.
- 이 과정에서 original gradient path를 파괴하지 않고 학습 능력을 지속적으로 향상시킨다.
- computation block을 많이 쌓아도 학습 능력이 뛰어나다.
- computational block만 바뀌고 transition layer는 바뀌지 않는다(group convolution 사용).
Planned re-parameterized convolution
기존 RepConv는 ResNet의 잔차와 DenseNet의 연결을 파괴한다.
→ YOLOv7에서는 RepConv without identity connection(RepConvN)으로 설계한다.
residual & concatenation이 있는 conv layer는 re-parameterized conv으로 대체된다(identity connection은 없어야 함).
기존의 label assignment는 G.T.에 따라 label을 생성했다. 하지만 최근에는 네트워크에 의한 output의 품질/분포를 사용해 최적화 방법을 사용하여 label을 고려한다.
YOLOv7은 네트워크 예측 결과를 G.T.와 함께 고려하여 label을 할당하고(label assigment), 그 방식은 다음과 같다.
[ Lead head guided label assigner ]
- lead head(최종 출력을 담당)와 auziliary head(학습을 보조)를 구분한다.
* 기존 label assignment 방법들은 lead head와 auxiliary head가 동시에 있을 경우 soft label을 만들어내지 못함.
- lead head와 G.T.의 예측 결과를 기반으로 lead head guided label assginer를 계산한다.
- lead head guided label assigner는 최적화를 거쳐 soft label(G.T.와 bbox regression의 IOU)을 생성한다.
- 생성된 soft label은 auxiliary head와 lead head 모두에 대해 target training model로 사용된다.
[ Coarse-to-fine lead head guided label assigner ]
마찬가지로 lead head와 G.T.를 이용해 soft label을 생성하지만, 두 가지의 soft label을 생성한다.
- Fine label: lead head guided labe assigner와 같은 label. lead head의 학습에만 사용한다.
- Coarse label: grid를 더 positive taget으로 여겨지도록 생성된 label. constraint를 완화해 너무 완벽하고 섬세한 label이 만들어지는 것을 방지. auxiliary head의 학습에만 사용한다.
→ 구분하는 이유: lead head는 high recall, precision 모두 가능하나, auxiliary head는 그럴 능력이 없음. 학습해야 할 정보가 손실되지 않게 하기 위해 recall 최적화에만 집중하도록 만들어야 함(coarse label만 학습하게 만들어야 함).
해당 methods를 통해 파라미터 수가 40% 감소하고, 계산량의 50%가 감소했다. 빠른 inference time과 높은 accuracy를 달성하였으며, 이를 바탕으로 현재의 real time object detection SOTA 모델이 개발되었다.
https://inni-iii.tistory.com/50
[6주차/논문리뷰/이서연] Faster R-CNN (1) | 2023.08.07 |
---|---|
[4주차/김희준/논문리뷰]Generative Adversarial Nets (1) | 2023.08.05 |
[5주차/이서연/논문리뷰] YOLOv5 (0) | 2023.08.03 |
[5주차 / 김희준 / 논문리뷰] YOLO9000:Better, Faster, Stronger(YOLOv2) (0) | 2023.08.03 |
[4주차/이서연/논문리뷰] Generative Adversarial Nets (0) | 2023.08.01 |
댓글 영역