目次
簡単に映像物体検出を試す方法
こんにちは。
AI coordinatorの清水秀樹です。
以前の記事で、ubuntuを使った映像検出を紹介しましたが、OpenCVの環境構築等に結構戸惑ったので、もっと簡単に環境構築が出来ないか試行錯誤してみました。
その結果、anacondaを使えばもっと簡単に環境構築を作成させることができたので、その内容を紹介したいと思います。
参考にさせて頂いたサイト
以下のサイトを参考にさせて頂きました。
SSD: Single Shot MultiBox Detector 高速リアルタイム物体検出デモをKerasで試す
こちらのサイトは素人の筆者でもなんとか実装できるぐらいまで丁寧に説明してくださっていますので、リアルタイムからの物体検出を実行する上で、大変参考になりました。
また、これからDeep Learningの勉強をするなら、こちらで紹介する書籍が参考になります。
開発環境
iMac (27-inch, Late 2012)
プロセッサ 2.9 GHz intel Core i5
macOS Sierra バージョン 10.12.4
anacondaのインストール
現時点のOpenCVはpython3.5までしか対応していないめ、インストールするanacondaは最新バージョンの4.3.1ではなく、Anaconda3-4.2.0-MacOSX-x86_64.pkgをインストールして下さい。
tensorflow-0.12.1-のインストール
以下のコマンドでtensorflowをインストールして下さい。
$ conda install -c conda-forge tensorflow=0.12.1
以下のようにインストールするか聞かれますので、
Proceed ([y]/n)?
yにしてインストールして下さい。
keras-1.2.2-のインストール
続いてkerasのインストールです。
$ conda install -c conda-forge keras=1.2.2
tensorflow同様にインストールの有無を聞かれますので、
Proceed ([y]/n)?
yにしてインストールして下さい。
opencv3-3.1.0-のインストール
anacondaを使えばOpenCVも簡単にインストールできます。
$ conda install -c menpo opencv3
condaは必ずインストール有無を確認されるようです。
Proceed ([y]/n)?
yにして下さい。
ssd_kerasのダウンロード
いよいよ画像検出ライブラリーをダウンロードします。
$ git clone https://github.com/rykov8/ssd_keras.git $ cd ssd_keras
ダウンロードが完了したら、kerasのバックエンドを変更する必要があります。
kerasのバックエンドの変更には、
/Users/ユーザー名/.keras/keras.json
を直接編集する必要があります。
ここでハマったのですが、隠しファイルとなっているため、検索では探し出すことができません。
隠しファイルを表示させて、homeフォルダ内を探してみて下さい。
隠しファイルの表示非表示切り替えはのショートカットキーは[Command + Shift + .]です。
keras.jsonは以下のようなソースになっています。
{ "image_dim_ordering": "th", "backend": "tensorflow", "epsilon": 1e-07, "floatx": "float32" }
二行目の”th”を”tf”に変更します。
"image_dim_ordering": "tf"
これでサンプルの画像検出が出来るようになります。
ssd_kerasディレクトリーに移動し、jupyter notebookを起動してください。
$ cd /Users/ユーザー名/ssd_keras $ jupyter notebook
ssd_karasディレクトリ内のファイル一覧が表示されますので、その中のSSD.ipynbを起動して、ソースコード内にある学習モデルの weights_SSD300.hdf5 のパスを指定してから実行してください。
以下のように画像が表示されれば成功です。
あとは映像からの物体検出に挑戦 for ubuntuに記載してある手順でソースのコードの修正をした後に動画を再生すれば、映像からの物体検出ができるはずです。
その他の物体検出記事はこちらから
それではまた。
初めまして。
記事を見させていただき、参考に実行させていただきました。
ssd_kerasのダウンロードのところのkeras.jsonの編集とありますが、ファイルが見つかりません。
どのように対応すれば良いかご存知であればご教授ください。
よろしくお願いします。
望月さん
keras.jsonは隠しファイルとなっています。
.kerasはある感じでしょうか?