トップページ -> 実践知識 -> Keras 2 の利用 -> rykov ssd_keras を使ってみる (書きかけ)
[サイトマップへ]  

rykov ssd_keras を使ってみる (書きかけ)

サイト構成 連絡先,業績 実践知識 コンピュータ 教材 サポートページ

このページは書きかけです. 「SnowMasaya / ssd_keras を使ってみる」の方に類似内容で解説しているので、ご覧ください

rykov ssd_keras を使ってみます. Keras 2, Python を使うのが前提である.

先人に感謝.

キーワード: rykov ssd_keras, Keras 2, Python, Windows インストール


前準備

前準備として,Pythonのインストールが終わっていること.

Python のインストール

※ Python のプログラム作成には、PyCharmなどが便利である.

以下,Windows に Python, git, cmake をインストール済みであるものとして説明を続ける.

隔離された Python 環境の作成.Tensorflow, Keras, OpenCV, spyer のインストール

Windows での 手順は、 「Windows で,隔離された Python 環境 + Keras + TensorFlow + OpenCV + spyder + Dlib 環境を作る(Anaconda を利用)」のページで説明している.

以下,Windows での Anaconda をインストール済み, 隔離された Python 環境(名前は ai)に、Tensorflow, Keras, OpenCV, spyder をインストール済みであるものとして説明を続ける.


rykov ssd_keras のインストール手順

  1. GitHub の rykov ssd_keras の Web ページを開く

    https://github.com/rykov8/ssd_keras

  2. Clone or download」を展開し, 「Download ZIP」をクリック

  3. .zip ファイルがダウンロードされるので確認する.

  4. ダウンロードした .zip ファイルを展開(解凍)する.分かりやすいディレクトリに置く.

    ※ Windows での展開(解凍)のためのソフトには,「7-Zip」などがある.

    この .zip ファイルは,E:\ssd_keras-master に展開(解凍)したものとして,説明を続けるので,適切に読み替えてください.

  5. rykov ssd_keras の Web ページに記載の通り,次のWebページを開く

    https://mega.nz/#F!7RowVLCL!q3cEVRK9jyOSB9el3SssIA

  6. 2つの hdfファイルが表示されるので確認する.

  7. 2つともダウンロードしたい. 「ZIPとしてダウンロードする」をクリック.

  8. SSD.zip というファイルがダウンロードされるので確認する.

  9. SSD.zip を展開(解凍)し,できたファイルを先ほど展開したディレクトリに置く.

    下の図のように


テスト実行

  1. Web ブラウザで rykov ssd_keras の SSD.ipynb を開く

    https://github.com/rykov8/ssd_keras/blob/master/SSD.ipynb

  2. SSD.ipynb に記載のコマンドを実行しながら結果を結果を確認したい.

    そのために, IPython シェルのコンソールで、Python 環境(名前は keras)を使う

    Windows では、Anacondaに入っている開発環境 spyder を実行し,右下の ipython コンソールを使うのが簡単.

    ※ Windows で、あるPython 環境(名前は aiとする)の spyder を使いたいとき:

  3. IPython シェルで,さきほど展開(解凍)したディレクトリに移動

    ssd.py というファイルがあるディレクトリに移動.

    cd E:\ssd_keras-master\ssd_keras-master
    

  4. ステップ 1 (初期設定)

    次の Python プログラムを実行

    https://github.com/rykov8/ssd_keras/blob/master/SSD.ipynb の「in [1]」に記載の通り.

    import cv2
    import keras
    from keras.applications.imagenet_utils import preprocess_input
    from keras.backend.tensorflow_backend import set_session
    from keras.models import Model
    from keras.preprocessing import image
    import matplotlib.pyplot as plt
    import numpy as np
    from scipy.misc import imread
    import tensorflow as tf
    
    from ssd import SSD300
    from ssd_utils import BBoxUtility
    
    %matplotlib inline
    plt.rcParams['figure.figsize'] = (8, 8)
    plt.rcParams['image.interpolation'] = 'nearest'
    
    np.set_printoptions(suppress=True)
    
    config = tf.ConfigProto()
    config.gpu_options.per_process_gpu_memory_fraction = 0.45
    set_session(tf.Session(config=config))
    

  5. ステップ 2 (種類の設定)

    次の Python プログラムを実行

    https://github.com/rykov8/ssd_keras/blob/master/SSD.ipynb の「in [2]」に記載の通り.

    voc_classes = ['Aeroplane', 'Bicycle', 'Bird', 'Boat', 'Bottle',
                   'Bus', 'Car', 'Cat', 'Chair', 'Cow', 'Diningtable',
                   'Dog', 'Horse','Motorbike', 'Person', 'Pottedplant',
                   'Sheep', 'Sofa', 'Train', 'Tvmonitor']
    NUM_CLASSES = len(voc_classes) + 1
    

  6. ステップ 3 (先ほどダウンロードした学習結果ファイル weights_SSD300.hdf5 の読み込み

    次の Python プログラムを実行

    https://github.com/rykov8/ssd_keras/blob/master/SSD.ipynb の「in [3]」に記載の通り.

    input_shape=(300, 300, 3)
    model = SSD300(input_shape, num_classes=NUM_CLASSES)
    model.load_weights('weights_SSD300.hdf5', by_name=True)
    bbox_util = BBoxUtility(NUM_CLASSES)
    

  7. ステップ 1

    次の Python プログラムを実行

    https://github.com/rykov8/ssd_keras/blob/master/SSD.ipynb の「in [1]」に記載の通り.

    
    

    書きかけ