2017年6月7日水曜日

YOLO v2 を ubuntu 16.04上で試してみた。(I tried YOLO v2 on ubuntu 16.04.)

v2の検出結果

はじめに

OpenCV Advent Calendar 2016 18日目の記事
OpenCVとdarknetを連携させてみた
を書いた時、yoloのバージョンは、1.0であった。

上記記事を書いた直後にバージョン 2 (v2)がリリースされ、性能が向上したとのことなので、
YOLO v2がどのようなものか試してみた。

YOLO v2 の説明は、ここ。 1.0(old YOLO)の内容はほとんど同じである。

インストール

ソースはここから一式zipファイルでダウンロードして、適当なところに展開すると darknet-folder が作成される。中のMakefileでオプションが指定できるので、今回はOpenCVのみ設定し、makeを行った。

v1では、ライブラリを作成せず、スタティックリンクの形式だったので、ソースの修正ごとに全モジュールのビルドを行い使い勝手が今ひとつであった。(そのため自分でライブラを作成し、リンクするようにしていた)

それに対しv2では、共有ライブラリを作成するようになり、make を行うとフォルダー内に実行形式の darknet と libdarknet.a が作成される。

実行結果

前回と同じ電気機関車の画像を試してみた。
検出結果の画像は、上部の載せたものである。

処理時間と確証

train1.png: Predicted in 26.808136 seconds.
train: 68%
truck: 28%
car: 25%
car: 50%
car: 55%
car: 61%
train: 86%

比較用にv1の結果を載せておく

v1の検出結果
train1.png: Predicted in 13.032408 seconds.
train: 58%
train: 85%
car: 43%
car: 45%
car: 43%

v2 v1の比較

比較対象が1組みなので、1つの参考として
v2のほうが処理時間が倍になってしまったが、検出数を確証は向上している。

注意

weightのサイズが258Mと記載されているが、実際は約204Mなので注意すること。
1.0向けのweightとファイル名が同じなので間違わなようにすること。
2.0のコードに1.0のweightを使用してもエラーとはならず、物体が検出されないので気づかない可能性がある。

0 件のコメント:

コメントを投稿