技術は使ってなんぼ

自分が得たものを誰かの役に立てたい

【物体検出】YOLO V4 vs V3 精度がどのぐらい向上したのか比較してみた。

動画版は以下です。

www.youtube.com

YOLO V4とV3で推論を掛けて、その推論結果を比較してみたいと思います。


ソースコードは以下のものを使用しております。

github.com

動作環境

OS:Windows10 Home
CPU:Core-i7 9500H
GPUGeforce GTX 1660TI
CUDA:10.2
CUDNN:7.6.2
OpenCV:4.2.0
データセット:COCO
weight:上記Githubで公開されている学習済みのweight(yolov3.weights, yolov4.weights)

評価結果

dog(V3)
f:id:yonesuke0716:20200714142612p:plain
検出画像
f:id:yonesuke0716:20200714142727p:plain
スコア
dog(V4)
f:id:yonesuke0716:20200714142828p:plain
検出画像
f:id:yonesuke0716:20200714142852p:plain
スコア
ポイント

新しく検出できる物体が増えた!


eagle(V3)
f:id:yonesuke0716:20200714142932p:plain
検出画像
f:id:yonesuke0716:20200714142959p:plain
スコア
eagle(V4)
f:id:yonesuke0716:20200714143031p:plain
検出画像
f:id:yonesuke0716:20200714143053p:plain
スコア
ポイント

・タカを囲む□(以下、この物体を囲む□のことをbboxと呼ぶ)がより正確になった!


giraffe(V3)
f:id:yonesuke0716:20200714143133p:plain
検出画像
f:id:yonesuke0716:20200714143154p:plain
スコア
giraffe(V4)
f:id:yonesuke0716:20200714143227p:plain
検出画像
f:id:yonesuke0716:20200714143247p:plain
スコア
ポイント

・シマウマをキリンと誤検出していたものがなくなって、誤検出しなくなった!


horses(V3)
f:id:yonesuke0716:20200714143321p:plain
検出画像
f:id:yonesuke0716:20200714143351p:plain
スコア
horses(V4)
f:id:yonesuke0716:20200714143414p:plain
検出画像
f:id:yonesuke0716:20200714143449p:plain
スコア
ポイント

・今まで未検出だった5頭目が検出できるようになった!


person(V3)
f:id:yonesuke0716:20200714143519p:plain
検出画像
f:id:yonesuke0716:20200714143537p:plain
スコア
person(V4)
f:id:yonesuke0716:20200714143607p:plain
検出画像
f:id:yonesuke0716:20200714143634p:plain
スコア
ポイント

・bboxがもともと精度が高いものでも、更にギリギリで囲めるようになった!


scream(V3)
f:id:yonesuke0716:20200714143705p:plain
検出画像
f:id:yonesuke0716:20200714143744p:plain
スコア
scream(V4)
f:id:yonesuke0716:20200714143817p:plain
検出画像
f:id:yonesuke0716:20200714143838p:plain
スコア

ポイント
・絵画は難しい?学習に使うデータセットには類似したものがないとはいえ、全く検討違いの判定をするのは興味深い。
・逆に今まで人の感性で見ていたものも、忖度なしで評価するから、新しい観点で評価して価値を発見するかも・・?(※個人的な見解です)


まとめ

YOLO V4はV3に比べて、かなりDLの構造が深くなっています。


V3に比べて検出精度がかなり向上している反面、計算コストがあがっており、処理速度はV3に比べて遅くなっています。


FPSでいうとV4が13程度に対して、V3が7程度でした。


速度に関してはこちらの動画を参照ください。

www.youtube.com


実用レベルを目指して、精度の面を重視した変更が多数盛り込まれたようです。


詳細は以下の論文を。


arxiv.org


V3のような物体検出アルゴリズムは、物体が少し傾くと、その物体を判定できないことが多々ありました。


しかしV4ではかなり傾けていても、一部しか写っていなくても、検出できることが増えたように感じます。


V3の速度とV4の精度があれば、かなり実用性のあるものになりそうです。


Jetson Nanoやラズパイのようなエッジデバイスで動かせるレベルになれる日も近い気がします。


今回はここまで!