2. ReNomIMG GUIツールの使い方

2.1. アプリケーションの起動

ReNomIMGは単一ページウェブアプリケーションです。インストールが成功しましたら、任意の場所でコマンドによりアプリケーションを実行できるようになります。

cd workspace # Workspace can be any directory in your pc.
renom_img # This command will starts ReNomIMG GUI server.

コマンド`renom_img`を利用する際に、以下の引数を与えることができます。。

  • --host: サーバーのアドレスを指定します。
  • --port : サーバのポート番号を指定します。

例えば、以下のコードを実行するとReNomIMGは8888のポートで実行されます。

renom_img --port 8888 # Running ReNomIMG with port 8888

アプリケーションサーバーが実行されましたら、Webブラウザが開きますので以下のようにサーバーのアドレスをアドレスバーに入力してください。

../_images/how_to_use_start.png

アプリケーションが表示されます。

2.2. データの配置

サーバーが実行された場合、datasrcディレクトリとstorageディレクトリがサーバ実行されているディレクトリに作成されます。

datasrcディレクトリは以下のようなフォルダ構造をしています。

datasrc/
  ├── img   # Set training img files here.
  ├── label
  │   ├── classification # Set classification training label files here
  │   ├── detection      # Set detection training label files here
  │   └── segmentation   # Set segmentation training label files here
  └── prediction_set
        ├── img     # Set prediction img files here.
        └── output  # Prediction result will be output here.
              ├── classification # Set classification training label files here.
              ├── detection      # Set detection training label files here.
              │     ├── csv
              │     └── xml
              └── segmentation   # Set segmentation training label files here.

上のコメントに書かれているように訓練画像データをdatasrc/imgディレクトリに、訓練ラベルデータをdatasrc/labelディレクトリに配置してください。

注釈

画像ファイル名と対応するラベルファイル名は同じでなければなりません。例えば、画像ファイルの名前がimage01.jpgの場合、対応するラベルの名前はimage01.xmlでなければなりません。

2.2.1. オブジェクト検出のデータフォーマット

画像ファイルの形式 : ReNomIMGはJPEGかPNG形式の画像ファイルのみを受け付けます。

ラベルの形式 : ReNomIMGはxml形式のラベルのみを受け付けます。

ここにファイルを配置してください : <ReNomIMG dir>datasrc/label/detection/<sample.xml>

<annotation>
    <size>
            <width>374</width>
            <height>500</height>
            <depth>3</depth>
    </size>
    <object>
            <name>car</name>
            <bndbox>
                    <xmin>2</xmin>
                    <ymin>3</ymin>
                    <xmax>374</xmax>
                    <ymax>500</ymax>
            </bndbox>
    </object>
</annotation>

ReNomIMGはPASCAL VOC形式の物体検出データを受け付けます。

The PASCAL Visual Object Classes


2.2.2. 画像分類のデータフォーマット

ラベルの形式 : ReNomIMG は txt 形式のラベルのみを受け付けます。

ファイル名は target.txt で保存してください。

ここにファイルを配置してください <ReNomIMG dir>datasrc/label/classification/target.txt

crayfish_image_0035.jpg crayfish
crayfish_image_0065.jpg crayfish
crayfish_image_0037.jpg crayfish
crayfish_image_0032.jpg crayfish
crayfish_image_0028.jpg crayfish
crayfish_image_0051.jpg crayfish
wrench_image_0035.jpg wrench
wrench_image_0037.jpg wrench
wrench_image_0032.jpg wrench
wrench_image_0028.jpg wrench
wrench_image_0019.jpg wrench
wrench_image_0031.jpg wrench
...
...
...
...
...
pigeon_image_0035.jpg pigeon
pigeon_image_0037.jpg pigeon
pigeon_image_0032.jpg pigeon
pigeon_image_0028.jpg pigeon
pigeon_image_0019.jpg pigeon
pigeon_image_0031.jpg pigeon
pigeon_image_0012.jpg pigeon
pigeon_image_0002.jpg pigeon
pigeon_image_0015.jpg pigeon
pigeon_image_0042.jpg pigeon
pigeon_image_0036.jpg pigeon
pigeon_image_0022.jpg pigeon
pigeon_image_0021.jpg pigeon
pigeon_image_0029.jpg pigeon

ReNomIMGはPASCAL VOC形式の物体検出データを受け付けます。

The PASCAL Visual Object Classes


2.2.3. セグメンテーションのデータフォーマット

警告

画像ファイル名と対応するラベルファイル名は同じでなければなりません。例えば、画像ファイルの名前がimage01.jpgの場合、対応するラベルの名前はimage01.xmlでなければなりません。

画像ファイルの形式 : ReNomIMGはJPEGかPNG形式の画像ファイルのみを受け付けます。

ラベルの形式 : ReNomIMG は txt 形式のラベルのみを受け付けます。

ファイル名は class_map.txt で保存してください。

ここにファイルを配置してください : <ReNomIMG dir>datasrc/label/segmentation/class_map.txt

良いファイル例

  • クラス番号は0始まりでなければなりません。0 に対応するクラスは必ず背景を設定してください。
  • クラス番号は必ず連番でなければなりません。
background 0
airplane 1
bicycle 2
bird 3
boat 4
bottle 5
bus 6
car 7
cat 8
chair 8
cow 10
diningtable 11
dog 12
horse 13
motorbike 14
person 15
potted plant 16
sheep 17
sofa 18
train 19
tv/monitor 20

悪いファイル例

  • クラス番号が0スタートでありません。
  • クラス名に背景が設定されていません。
  • クラス番号が歯抜けになっており、連番でないです。
airplane 1
bicycle 10
bird 50
boat 100
bottle 150
bus 200
car 250
cat 300
chair 350
cow 400
diningtable 450
dog 500
horse 550
motorbike 600
person 700
potted plant 750
sheep 800
sofa 900
train 950
tv/monitor 1000

セグメンテーションの PNG教師データファイル の例

../_images/009592.png

ReNomIMGはPASCAL VOC形式の物体検出データを受け付けます。

The PASCAL Visual Object Classes


注釈

画像ファイル名と対応するラベルファイル名は同じでなければなりません。例えば、画像ファイルの名前がimage01.jpgの場合、対応するラベルの名前はimage01.xmlでなければなりません。

2.3. 予測モデルの作成

これまでに、サーバーとデータセットが準備されています。それでは物体検出モデルを作成してみましょう。モデルを作成するためには、datasetとハイパーパラメータを指定しなければなりません。

2.3.1. データセットの作成

機械学習のモデルを訓練するためには、訓練用データセットとバリデーション用データセットの用意が必要です。訓練用データセットはモデルの学習に利用し、バリデーション用データセットはどれだけ正確にモデルがデータを予測できるか評価するためのもので、学習に利用してはいけません。

ReNomIMGでは、datasrcディレクトリ内のデータから訓練用データとバリデーション用データをランダムにサンプリングします。

../_images/how_to_use_gui_datasrc.png

上の画像によると、データソースからデータセットを作成できます。一度データセットが作成されると、その内容は決して変更できません。

データセットを作成するために、データセットページに移動してください。以下の画像はデータセットページへの移動方法を示したものです。

../_images/how_to_use_gui_dataset_create_button01.png

そうしましたら、以下のページが表れます。

../_images/how_to_use_gui_dataset_create_button02.png

ご覧のように dataset name description 学習データ割合 を指定することが出来ます。

すべての入力フォームを埋めた後, confirm ボタンを押してください.

../_images/how_to_use_gui_dataset_create_button03.png

ボタン押下後, 以下のようなデータセット確認画面が表示されます.こちらの画面では, データセット内に含まれる画像の枚数や, 各クラスの教師データ数が表示されます.

データセットの内容を確認した後, データセットを保存する場合は submit ボタンを押してください.

作成したデータセットは, Dataset ページから確認することができます.以下の図にしたがってDatasetページへ移動してください.

../_images/how_to_use_gui_dataset_create_button04.png ../_images/how_to_use_gui_dataset_create_button05.png

上の図がDatasetページです. すでに二つのデータセットが作成されていることがわかります.それぞれのデータセット名をクリックすると, それらに含まれる画像の枚数や各クラスの教師データ数を確認することができます.

2.3.2. ハイパーパラメータの設定

ここまでで全て材料がそろいました。それでは、モデルの作成して訓練させましょう。モデルを作成するために、 New ボタンを押してください。

../_images/how_to_use_gui_model_create01.png

そうしましたら、ハイパーパラメータを設定するモーダルが以下の図のように表れます。

../_images/how_to_use_gui_model_create02.png

上の図から分かりますように、以下のパラメータを指定することができます。

  • Dataset Name ... 訓練用のデータセットを選択してください。
  • CNN architecture ... 使用したいアルゴリズムを選択してください。
  • Batch Size ...数値が高いほど学習速度は早くなり、1に近いほど振る舞いが確率的勾配降下法に近くなります。
  • Total Eopch ...各データに対する学習回数の設定です。10を設定しますと各データを10回学習します。
  • Train Whole network ... もしこの項目にチェックを入れましたらで、全ネットワークの重みが訓練されます。
  • Image size ... 訓練用画像のサイズ

注釈

GPUデバイスによりましては、サイズの大きい画像や大きなバッチサイズによりメモリがオーバーフローします。

2.3.3. 訓練モデル

ハイパーパラメータ設定が完了しましたら、[start training]ボタンを押してトレーニングを開始してください。

訓練が開始しましたら、モデルがモデル一覧に表示され、進捗バーが現れます。

../_images/how_to_use_gui_model_create03.png

注釈

オブジェクト検出、セグメンテーション、画像分類、全てのタスクは同じ手順で実行出来ます。

2.4. 作成したモデルで予測を実行する

学習が終了したモデルを使用して, 予測を実行することができます.

'Train Page'において以下の画像内にある Deploy ボタンを押すことで, 予測に使用するモデルを選択することができます. これをデプロイと呼びます.

../_images/how_to_use_gui_prediction_deploy_button.png

モデルをデプロイしましたら, サイドバーメニューから 'Predict Page' に移動してください.以下のような画面が表示されます.

../_images/how_to_use_gui_prediction_button.png

ページには, Run Prediction ボタンがあります. このボタンを押すことで, 画像に対する予測が実行されます.

注釈

予測時に入力される画像は, datasrc/prediction_set/img ディレクトリから読み込まれます. どのようなディレクトリ構成が必要となるかについては, データの配置 をご覧ください.

予測が終了しますと, 以下のように結果が画面上に表示されます.

../_images/how_to_use_gui_prediction_result.png

この予測結果は, 左上のダウンロードボタンを押すことで, CSV形式でダウンロードすることが可能です.

../_images/how_to_use_gui_prediction_download_button.png

2.5. ReNomIMGのアンインストール

以下のpipコマンドにより、ReNomIMGをアンインストールすることができます。

pip uninstall renom_img