본문 바로가기
Computer Vision

YOLOv7 (2022) 논문 리뷰

by 아르카눔 2025. 6. 24.

YOLOv7의 논문 제목은 YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors다. (링크)

 

저자들은 Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao다. 

 

Github: 링크

 

 

 

3. Architecture

 

3.1. Extended efficient layer aggregation networks

 

최근 대부분의 문헌들에서 효율적인 아키텍처를 구성할 때 고려하는 사안들은 파라미터의 수, 계산량, 계산 밀집도다. 여러 논문들을 보면 Input / output channel ratio, 아키텍처 브랜치의 수, 추론 속도에서의 element-wise operation, 그리고 activation을 고려한다. VoVNet, CSPVovNet, ELAN 등의 기존의 아키텍처가 위 Figure 2에 제시된다. 본 논문에서는 extended ELAN인 E-ELAN을 제시한다. 

 

E-ELAN은 expand, shuffle, merge cardinality를 이용해서 원래 그라디언트 경로를 방해하지 않으면서 네트워크의 학습 능력을 키운다. Computational layer의 모든 computational block에 대해서 동일한 group parameter와 channel multiplier를 적용한다. 

 

그 다음 feature map은 group parameter $g$에 따른 $g$ groups의 computational blocks에 의해 계산되며, 각각의 블록들은 셔플링 된다. 원래 아키텍처의 채널의 수와 각각의 그룹의 피쳐 맵의 채널의 수와 모두 동일하다. 위와 같은 E-ELAN 구조를 통해서 기존의 ELAN을 유지하면서도 추가적으로 다른 여러 computational block의 그룹들이 다양한 피쳐를 배우도록 유도한다. 

 

 

 

 

3.2. Model scaling for concatenation-based models

 

 

 

다양한 모델 스케일링 접근법이 있다. EfficientNet에서는 width, depth 그리고 resolution을 스케일링에서 고려한다. Scaled-YOLOv4의 경우 scaling model은 stages의 수의 조절이다. Fast and accurate model scaling 논문 (링크) 에서는 width와 depth scaling에서의 파라미터 수와 계산량에 대한 바닐라 컨볼루션과 그룹 컨볼루션의 영향력을 분석했다. 

 

위 방법들은 주로 PlainNet이나 ResNet와 같은 구조에서 주로 사용된다. PlanNet이나 ResNet에서는 scaling-up이나 scaling-down 모두 각각 개별 레이어의 in-degree와 out-degree에 영향을 미치지 않는다. 하지만 concatenaton-based 아키텍처에서는 Figure 3의 (a)와 (b)에서 볼 수 있듯이, depth에 대한 스케일 변경이 concatenation-based computational block의 바로 뒤에 붙는  translation layer의 in-degree에 영향을 미친다. 따라서 뒤따라 오는 레이어들에 대한 영향력까지 고려한 compound scaling 복합 스케일링의 방법을 고려해야 한다. Figure 3 (c)에서처럼 블록의 output channel의 수도 고려해야 한다. 

 

 

4. Trainable bag-of-freebies

4.1. Planned re-parameterized convolution

 

 

RepConv 방법은 VGG에 대해서는 훌륭한 성능이지만 ResNet과 DenseNet에서는 그렇지 못하다. 저자들은 gradient flow propogation paths를 통해서 re-parameterized 컨볼루션을 어떻게 다른 네트워크에 고려해야할지에 대해서 분석한다. 

 

Figure 4에서 다양한 re-parametrization을 제시한다.

 

RepConv는 하나의 컨볼루션 레이어에서 3 x 3 conv, 1 x 1 conv 그리고 identity connection을 결합한다. RepConv은 identity connection이 ResNet의 residual connection이나 DenseNet의 concatenation connection을 파괴하여 더 다양한 그라디언트를 피쳐 맵에 제공함을 발견했다. 따라서 identity connection이 없는 RepConv인 RepConvN을 사용하여 planned re-parameterized convolution 아키텍처를 제시한다. 

 

Figure 4에서는 PlainNet과 ResNet에 planned re-parameterized convolution이 적용된 예시들을 보여준다. 구체적인 내용은 ablation study 세션에서 전개된다.

 

 

4.2. Coarse for auxilary and fine for lead loss

 

 

Deep supervision은 딥 네트워크 학습에 자주 사용되는 기법으로, 네트워크의 middle layers 중간 계층들에 extra auxiliary head 보조 헤드를 추가하고, assistant loss 보조 손실을 기준으로 얕은 네트워크 가중치를 설정한다. ResNet이나 DenseNet처럼 잘 수렴하는 모델에서도 효과를 보인다. Figure 5의 (a)와 (b)에서 각각 without deep supervision와 with supervision을 보여준다. 

 

Label assignment 측면을 살펴보자면, grountruth에 기반한 hard label 뿐만 아니라 예측 출력의 분포나 퀄리티에 기반한 soft label도 사용한다. YOLO의 경우 groundtruth와 bounding box의 prediction IoU를 사용해서 objectness의 soft label을 생성한다.

 

Deep supervision은 auxiliary head 보조 헤드나 lead head 리드 헤드의 상황과 무관하게 objectives를 학습해야 한다. Soft label assinger의 개발 과정에서 우연히 새로운 파생 문제인 ":어떻게 auxiliary head나 lead head에 soft label을 할당해야 하는가?"를 발견했다. 가장 간단한 방법은 Figure 5 (c)에 제시된, 각각에 대한 독립적인 할당이다. 하지만 본 논문에서는 새로운 방법으로 두 헤드에 대해서 라벨을 할당한다. Lead head를 기준으로 coarse-to-fine의 계층적 라벨을 생성하고, 이를 각각의 auxiliary head나 lead head 학습에 사용된다. 위 2가지 전략은 각각 Figure 5(d)와 (e)에 나와 있다.

 

Lead head guided label assigner

 

리드 헤드의 예측 결과와 groudtruth를 기반으로 계산하며, 최적화 과정을 통해 소프트 라벨을 생성한다. 이 소프트 라벨 세트는 auxiliary head나 lead head 모두의 목표 학습 모델로 사용된다.

그 이유는 리드 헤드가 비교적 강력한 학습 능력을 가지고 있기 때문에, 리드 헤드에서 생성된 소프트 라벨이 소스 데이터와 목표 데이터 간의 분포와 상관관계를 더 잘 나타내야 하기 때문이다. 또한, 이러한 학습은 일종의 generalized residual learning 일반화 잔차 학습으로 볼 수 있다.  Shallower 더 얕은 보조 헤드가 리드 헤드가 학습한 정보를 직접 학습하게 함으로써, 리드 헤드는 아직 학습하지 않은 잔차 정보를 학습하는 데 더 집중할 수 있다.

 

 

Coarse-to-fine lead head guided label assigner

 

여기서도 리드 헤드의 예측 결과와 실제 값을 사용하여 소프트 라벨을 생성한다. 그러나 이 과정에서 두 가지 서로 다른 소프트 라벨 세트, 즉 Coarse 라벨과 Fine 라벨을 생성한다. Fine 라벨은 리드 헤드 유도 라벨 할당기가 생성한 소프트 라벨과 동일하며, Coarse 라벨은 positive sample 할당 과정의 제약 조건을 완화하여 더 많은 그리드를 positive target으로 처리할 수 있도록 만든다. 이는 보조 헤드의 학습 능력이 리드 헤드만큼 강하지 않기 때문이며, 학습해야 할 정보의 손실을 방지하기 위해 객체 감지 작업에서 보조 헤드의 recall을 최적화하는 데 중점을 둔다. 리드 헤드 출력의 경우, high recall 결과에서 high precision 결과를 필터링하여 최종 출력으로 사용할 수 있다. 그러나 Coarse 라벨의 추가 가중치가 Fine 라벨의 가중치와 유사할 경우 최종 예측에서 bad prior가 생성될 수 있다는 점에 유의해야 한다. 따라서 extra coarse positive grids의 영향을 줄이기 위해, extra coarse positive grids가 소프트 라벨을 완벽하게 생성할 수 없도록 디코더에 제약을 두었다. 위에서 언급한 메커니즘을 통해 학습 과정에서 fine 라벨과 coarse 라벨의 중요도를 동적으로 조정할 수 있으며, fine label의 최적화 가능한 상한값을 항상 coarse label보다 높게 설정할 수 있다.

 

즉 조건을 완화한 coarse가 잘못된 정보를 fine에 전달하지 않도록 제약을 두면서도, 더 많은 범위를 탐색하도록 만들기 위해 위 내내용을 적용한다. 

 

 

5. Experiments

MS COCO 2017 데이터를 사용한다.

 

 

 

YOLOv4 부터 v5, X, PP-YOLOE 등 다양한 모델들과 v7을 비교한다. 

 

 

Ablation Study

 

Figure 6의 파란 동그라미에서 Conv를 RepConv로 대체하고 그 성능을 비교한 결과가 Table 4에 제시되어있다.

 

(c)가 대체로 가장 좋은 성능임을 알 수 있다.

 

 

 

 

 

YOLOv7의 Objectness의 시각적 결과는 위 Figure 8에서 제시된다. 

 

 

 

 

 

E-ELAN은 아직 명확하게 이해되지 않아서 더 공부해봐야겠다. 

 

 

 

References:

https://hichoe95.tistory.com/48

https://medium.com/@nahidalam/understanding-yolov7-neural-network-343889e32e4e

https://velog.io/@chy1218/Yolo-v7-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0

 

 

 

'Computer Vision' 카테고리의 다른 글

RT-DETR (2024) 논문 리뷰  (0) 2025.06.24
RepVGG (2021) 논문 리뷰  (0) 2025.06.24
PP-YOLOE (2022) 논문 리뷰  (0) 2025.06.23
YOLOX (2021) 논문 리뷰  (1) 2025.06.23
MnasNet (2018) 논문 리뷰  (0) 2025.05.03