OpenCV + YOLOv3で物体検出を行う

Facebook にシェア
Pocket
LINEで送る
このエントリーを Google ブックマーク に追加

どうも。帰ってきたOpenCVおじさんだよー。

そもそもYOLOv3って?

YOLO(You Look Only Onse)という物体検出のアルゴリズムで、画像を一度CNNに通すことで物体の種類が何かを検出してくれるもの、らしい。

使い方(ほぼ独自のため、正しいかとても怪しい……)

環境構築

事前にTensorflowなりKerasなりOpenCVなりをインストールしておく。Pyenvなどの方法は割愛。わからなければこちらをみて。

yolo.h5ファイルの作成

理解はあとにしておくことにして、yolo.weightsという学習データをyolo.h5というファイルに変換する必要がある。その方法は次の通り。

とりあえずdemo.pyを実行してみる

demo.pyを実行すると、次のような結果が出た







ブログには書いていないのだけれど、実のところYOLOv2も使っていて、それよりも精度が上がっている模様。
ただ、動作がだいぶ重く感じる。

オリジナルでカメラからキャプチャーしてみた。

OpenCVでカメラから取り出した画像を物体検出してみた。ソースコードは以下の通り。

家の近所で実行してみた結果。


OpenCVのせいでBGRがめちゃくちゃになってるから、魔界のような空だけど、物体検出できている。

物体検出がここまで楽になっているなんて。
手軽に使えるのはとてもいいね。

OpenCV + YOLOv3で物体検出を行う” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です