メインコンテンツへスキップ
【Python】keras-yolo3を使用して物体検出

【Python】keras-yolo3を使用して物体検出

·3 分
Programming Python
かずさプログラマー
著者
かずさプログラマー
業務の作業自動化を行っています。Go、VBA、Pythonを主に使用しています。過去にはC#、VB.Net、JavaScriptも使用していました。
目次

Keras(TensorFlowバックエンド)で物体検出をしてみます。

物体検出にはkeras-yolo3を使用します。

qqwweee/keras-yolo3

A Keras implementation of YOLOv3 (Tensorflow backend)

Python
7138
3443

構築環境
#

  • Windows10 Home 64bit
  • Anaconda 4.4.0
  • Python3.6.7
  • tensorflow-gpu1.12
  • Keras2.2.4

keras-yolo3の導入
#

KerasとTensorFlowが使用できる環境を事前に構築しておく必要があります。
仮想環境にKerasとTensorFlowをインストールする手順は下記を参照してください。

Windows10にTensorFlow GPUとKerasをインストールする
·4 分
Programming Python Keras Tensorflow

git cloneコマンドを使用するか、keras-yolo3のgithubのページからzipファイルをダウンロードします。

git clone  https://github.com/qqwweee/keras-yolo3.git

zipファイルをダウンロードした場合は、解凍しておきます。

YOLO: Real-Time Object DetectionからYOLOv3 weightsをダウンロードします。

the pre-trained weight file here (237 MB)をクリックするとダウンロードできます。
ダウンロードしたファイルはkeras-yolo3のフォルダに移動します。

Anaconda Promptを起動して、Kerasがインストールされている環境をActivateします。

activate keras-enviroment

keras-yolo3フォルダに移動します。

cd \keras-yolo3

YOLOv3 weightsをKerasモデルのyolo.h5ファイルに変換します。

python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5

これでkeras-yolo3の導入は完了です。

画像の物体検出を行う
#

画像から物体検出をしたいときは、Anaconda Prompt上で下記のコマンドを入力します。

python yolo_video.py --image

Input image filename:と表示されるので物体検出したい画像ファイル名を入力します。

>Input image filename:test_picture.jpg

以前撮影した写真で物体検出できるか試してみます。
認識できる物体のリストはこちらです。

リストに記載されているbenchとboatが検出できるはずです。

結果は以下のようになりました。

ボートとベンチを認識しています。すごい!

動画の物体検出を行う
#

画像から物体検出をしたいときは、Anaconda Prompt上で下記のコマンドを入力します。
inputは必須ですが、outputは必須ではありません。

python yolo_video.py --input 読み込みたい動画のパス --output 物体検出後の動画保存パス

人を撮影したmp4ファイルで試してみたところ「Person」と検出できていました。

keras-yolo3を使用した感想
#

keras-yolo3を使用して、Pythonで物体検出をしてみました。
ディープラーニング初心者の私でも、自分で撮影した写真や動画で物体検出できました。
YOLOv3やkeras-yolo3を開発されている方々の技術力に頭が下がる思いです。
自分で用意した物体のデータもトレーニングすれば検出できるようなのでチャレンジしてみます。

keras-yolo3を使用して種類・座標・高さ・幅を検出する
#

keras-yolo3のコードを応用して画像から物体の種類・座標・高さ・幅を検出する方法を書きました。
検出した物体の情報を使用して、画像から物体の切り抜きなどができます。

関連記事

Anacondaで作成した仮想環境をJupyter NotebookのKernelに追加する
·2 分
Programming Python Jupyter Notebook
Windows10にTensorFlow GPUとKerasをインストールする
·4 分
Programming Python Keras Tensorflow
【Python】出力に色をつける
·2 分
Programming Python