#はじめに
本投稿はyolov5について筆者がネットサーフィンで得た情報をまとめています。
随時更新するつもりです。
#参考サイト
yoloの歴史
yolov4の解説参考サイト
yolov3の元論文
yolov4の元論文
Scaled yolov4の元論文
CSPの元論文
SPPの元論文
PANの元論文
#yolov5について
・yolov4とyolov5はほぼ同じ時期に開発された
・今までのyoloがCだったのに対して、yolov5はpythonを用いて書かれている。
・将来的に有望なのはyolov5っぽい(pytorchのコミュニティの方が多いから)
#yolov5の構造について
yolov5はyolov4の構造と非常に似ていて、主に3つの構造が用いられている。
- Backbone: CSP network
- Neck: SPP, PAN
- Head: YOLOv3 head using GIoU-loss
(補足)
backbone: 画像からの特徴抽出の役割
neck: backboneを通過した特徴マップを改造して、より精度の高い特徴量を算出する
head: クラス分類やバウンディングボックスの位置を予測して出力する
#Backbone
##CSP network
CSP(Cross Stage Paritial)
###1.どんなもの?
計算量を減らす目的で用いられたネットワーク。
#Neck
##SPP(Spatial pyramid pooling)
・複数のカーネルサイズで一斉にPoolingすることで幅広く精密な情報を取得する手法。
##PAN(Path Aggregation Network)
・YOLOv3ではFPNを使用している
#head
##YOLOv3
・yolov2からのアップデート版
・SSD321と同じmAPで速度が3倍早い
・SSD513とYOLOV3-608ではほぼ同じmapで速度が2倍早い
・YOLOv2とDarknet-19を使用している