2023-02-23,   김상민

이번 포스팅에서는 Yolov5에 대해 알아보고자 합니다.


Yolov5 란?

Object Detection을 위한 모델로 이미지를 입력 받아 사물의 종류와 해당 사물의 위치를 파악합니다. 현재는 Github를 통해 누구나 볼 수 있도록 공유가 되어있어서 Yolov5 모델을 학습을 시킬 수 있고, 또 학습된 모델을 사용하여 실제 이미지를 분류할 수 있습니다. 사용 언어로는 Pytorch를 사용하였으며 실제 모델을 학습 시키기 위해서 COCO 2017 dataset을 제공합니다. 네트워크 규모에 따라 n(nano), s(small), m(medium), l(large), x(xlarge)로 나뉩니다.

Yolov5 기본 구조

  • Backbone : 여러 해상도에서 특징 추출
  • Neck : 다중 해상도 기능 집계 수행
  • Head : 객체 해상도를 기반으로 최종 예측 생성

Yolov5의 모듈

1 Yolov5를 모델을 구성하는데 사용되는 모듈입니다.

Yolov5 전체 구조

2

Yolov5 특징

  • SiLU (Sigmoid Linear Unit) : Swish 활성화 함수 3 Yolov5에서는 SiLU라는 활성함수를 사용합니다.

  • SPPF (Spatial Pyramid Pooling - Fast) 4 Yolov3에서 사용된 SPP(Spatial Pyramid Pooling) 모듈을 Yolov5에서 SPPF로 변형하였습니다.

Yolov5 확장

5 Yolov5는 확장 버전을 가지고 있습니다. 즉 기본 입력 크기(640x640)보다 더 큰 입력을 받아(1280x1280) 사용할 수 있는 확장 버전입니다. P6를 사용하는 특징을 가지고 있어서 Yolv5x6라고 명칭합니다. 한 층의 스택을 더 쌓은 구조라 이해하시면 되겠습니다.

이상으로 Yolov5의 구조와 특징에 대해 간단히 알아보았습니다.


참고 자료

업데이트: