목표
6회차: 23/08/12 13:00~16:00
계획: YOLO 논문 분석 (4)
방향: 'A COMPREHENSIVE REVIEW OF YOLO: FROM YOLOV1 AND
BEYOND' 논문 분석
결과
YOLOv7
C.-Y. Wang, A. Bochkovskiy, and H.-Y. M. Liao, “Yolov7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors,” arXiv preprint arXiv:2207.02696, 2022
- Developments(Bag-of-Freesbies)
- Modified RepVGG: RepVGG에서의 identity 연결이 residual 전달과 concatenate에 악영향을 끼친다고 판단해 이를 제거
- Coarse Label Assignment for Auxiliary Head and Fine Label Assignment for the Lead Head: head를 lead head와 auxiliary head로 구분해 label assignment를 수행
- Architecture
![](https://velog.velcdn.com/images/vvon_joon/post/743c1041-c3f2-4262-bc51-ad4cb25a03ad/image.png)
- E-ELAN(Extended Efficient Layer Aggregation Network)
- 긴 gradient 경로를 제어해 모델이 더 효율적으로 학습할 수 있도록 하는 전략
- 서로 다른 그룹의 feature를 결합해 gradient 경로를 파괴하지 않음
- Model Scaling for Concatenation-Based Models: concatenation 기반의 모델인 YOLOv7의 depth와 width를 같은 비율로 조절해 최적의 모델 구조를 유지
YOLOv8
G. Jocher, A. Chaurasia, and J. Qiu, “YOLO by Ultralytics.” https://github.com/ultralytics/ultralytics*, 2023*
- YOLOv8-seg
- Semantic Segmentation을 위한 모델 포함
- CSPDarknet53-C2f module-Decoupled 구조
- Semantic Segmentation 분야의 SOTA
- Architecture
![](https://velog.velcdn.com/images/vvon_joon/post/e5d62377-bb00-41dd-ae21-b4507b1cc797/image.png)
- C2f Module(Cross-Stage Partial Bottleneck with Two Convolutions)
- CSPLayer를 수정한 backbone network
- high-level feature를 contextual 정보와 결합
- Anchor-Free
- Decoupled Head
- objectness, classification, regression를 각각 수행
- 각 task 집중함으로써 정확도 향상
- objectness score 계산을 위해 sigmoid function 사용
- class probability 계산을 위해 softmax function 사용
- bbox loss 계산을 위해 CIoU와 DFL loss를 사용
- classification loss 계산을 위해 binary cross-entropy를 사용
Conclusion
- Key Features of YOLO
- Anchors
- YOLOv1에서는 anchor를 도입하지 않음
- YOLOv2~YOLOv5에서 anchor를 도입하면서 bbox 예측의 정확도를 향상시킴
- YOLOX부터는 anchor-free를 채택해 이후 버전에서도 이 기조가 유지됨
- Framework
- 초기에는 Darknet 프레임워크에서 개발됨
- Darknet에서 개발된 YOLOv3를 Pytorch에서 개발해 재배포를 시작으로 다른 버전들도 Pytorch를 사용해 개발
- 새로운 프레임워크를 통해 성능 향상에 기여함
- Backbone: 버전에 따른 backbone network의 변화
- Darknet: convolutional layer와 max pooling layer로 구성
- CSP(Cross-Stage Partial Connections)를 YOLOv4에 도입
- Reparameterization(RepVGG)을 YOLOv6, YOLOv7에 도입
- Performance
- speed와 accuracy 간의 balance를 유지하면서 성능을 개선시킴
- Future
- Incorporation of Latest Techniques
- Benchmark Evolution
- Proliferation of YOLO Models and Applications
- Expansion into New Domains
- Adaptiablility to Diverse Hardware
많은 도움이 되었습니다, 감사합니다.