概要
VIrtualBoxで構築したUbuntu環境でSSD Kerasを動かし、動画の顔認識をやってみます。用語
顔認識:画像から人を自動識別するための技術SSD:Single Shot MultiBox Detectorの略。深層学習モデル
Keras:tensorflowをラッピングした機械学習OSS。tensorflowをより容易に利用可能としている
tensorflow:google社が公開しているOSSの機械学習フレームワーク
h5py:バイナリーデータファイルのフォーマット HDF を扱う ためのPython ライブラリー。ここでは画像認識のための機械学習モデルをh5py形式で扱っている。
OpenCV:インテルが公開しているOSSの画像解析フレームワーク
事前準備(前提とする環境)
Ubuntu 16.04(Virtual Boxに構築)(Python3.5.2含)※クリーンインストールされた状態
構築する環境
Keras v1.2.2tensorflow v1.1.0
h5py v2.7.1
OpenCV v3.1.0
手順
OpenCVのインストール
opencv3.1.0をインストールする前に依存モジュールをインストールします。以下をそのまま実行してください。
$ sudo apt-get install \ build-essential \ cmake \ git \ pkg-config \ libjpeg8-dev \ libtiff5-dev \ libjasper-dev \ libpng12-dev \ libavcodec-dev \ libavformat-dev \ libswscale-dev \ libv4l-dev \ libatlas-base-dev \ libgtk2.0-dev \ gfortran
依存モジュールが準備出来たら、gitからopenCVをダウンロードします。
$ cd ~ $ git clone git://github.com/opencv/opencv $ cd opencv $ git checkout 3.1.0
プログラムをmakeします。
$ cmake . $ make -j2 $ sudo make install $ sudo ldconfig
tensorflowとKerasのインストール
tensorflowとKerasをインストールします。
$ sudo apt install python-pip python3-pip $ pip3 install tensorflow==1.1.0 $ sudo pip3 install keras==1.2.2
ssd_keras をダウンロード
ssd_kerasのソースコード本体と、画像解析のためのモデル(.hdf5ファイル)をダウンロードします。
ssd_kerasのソースコード本体をダウンロードします。
$ git clone https://github.com/rykov8/ssd_keras.git
画像解析のためのモデル(weights_SSD300.hdf5)を以下からダウンロードします。
https://mega.nz/#F!7RowVLCL!q3cEVRK9jyOSB9el3SssIA
ssd_kerasを実行
ssd_kerasフォルダの中のファイルを編集します。
ssd_keras/testing_utils/videotest.py
wget https://bootstrap.pypa.io/get-pip.py 87行目を以下のように修正 (修正前) vidw = vid.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH) vidh = vid.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)
(修正後) vidw = vid.get(cv2.CAP_PROP_FRAME_WIDTH) vidh = vid.get(cv2.CAP_PROP_FRAME_HEIGHT)
※物体検出結果をコンソールでも確認したい場合、162行目に以下を追加 print(text)
ssd_keras/testing_utils/videotest_example.py
wget https://bootstrap.pypa.io/get-pip.py # 18行目でweights_SSD300.hdf5ファイルのパスを指定 model.load_weights('weights_SSD300.hdf5')
#24行目で動画のパスを入力 vid_test.run('test.mp4')
h5pをインストールします。
$ pip3 install h5py --user
これで準備完了です!ssd_kerasを実行することができます。
$ python3 ssd_keras/testing_utils/videotest_example.py
0 件のコメント:
コメントを投稿