自分のための備忘録的なブログです。

Ubuntu14.04LTS を使って、ディープラーニングの勉強をしています。
記載されているコードは、他の OS には互換性がない可能性があります。


DNN:
マシン性能別 学習速度の比較, TFチュートリアルをmodifyする

python3:
オブジェクト指向プログラミングとは, モジュールとインポート、パスを通す, システムコマンド(os), ファイル・フォルダ名取得, 画像の前処理,

Ubuntu14 の初期設定:
Ubuntu14初期設定, 初期設定-2, cudaなども, 初期設定-3

labeling_for_object_detection の使い方

faster R-CNN, YOLO, SSD 等で用いる、学習データの生成ツール?  labeling_for_object_detection

 

セットアップに苦労しました。

ので、まとめておきます。

 

コードはこちら

github.com

 

セットアップの際に参考にしたサイトです。

ほとんど、このサイトの記載通りですが、少し違います。

ai-coordinator.jp

 

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

 

 

A. ソフトのインストールと起動

0. 環境

 Ubuntu 14.04 および、Windows 10

 1. Processing のダウンロード 以外はほぼ同じ。

 

1. Processing のダウンロード・インストール

 Processing というソフトをダウンロードします。

Download \ Processing.org

 

 32-bit, 64-bit は自分の OS に合わせて。普通は 64-bit を使っているはず。

 わからなければ 32-bit をダウンロードすれば、どちらでも動くとは思いますが・・・

 

 labeling_for... コードの対応は Processing 3.3 となっています。

 しかし、現在はダウンロードページから 3.3 をダウンロードできません。

 現時点では Processing 3.3.5, および, 3.3.6 にしかアクセスできませんが、3.3.5, 3.3.6 でも動きました。

 

 Windows でしたら、 .exe を使ってインストール。

  ウィザードで簡単にインストールできます。

スタートメニューには登録されません。

デスクトップに生成されたショートカットをダブルクリックして起動。

ショートカットは邪魔なので、生成されたフォルダ "processing-3.3.x" に移動しました。また、 "processing-3.3.x" フォルダも、邪魔にならない適当な場所に移動しておきます。

 

 Ubuntu 14 でしたら、

ダウンロードしたファイルを unzip で展開

ターミナルで展開されたフォルダ内に移動、

bash install.sh

にてインストールします。

 

デスクトップ上にショートカットが生成されます。私はわかりやすいように、展開されたフォルダ "processing-3.3.x" に移動しました。また、 "processing-3.3.x" ディレクトリ自体も適当な場所に移動しておきます。私は /home におきました。

 

ダウンロードしてきた processing-3.3.x.zip はあとは不要なので、

rm

するなり、保存フォルダに置いておくなり。

 

私の場合は、将来の再インストールに備えて、NAS に保存しておきます。  

   

 

 

2. github から コードをダウンロード

# terminal

cd

git clone https://github.com/slowsingle/labeling_for_object_detection

 

※私は /home にダウンロードしました。

 お好みで、お好きな場所に

 

 

3. Processing を起動、設定

1. Processing を起動します。(ショートカットのダブルクリック)

 

2. 「labeling_for_object_detection」内のファイル移動

labeling_for_object_detection 内に mainGUI ディレクトリーを作成。

すべてのファイル・ディレクトリをこの中に入れます。

cd labeling_for_object_detection

mkdir mainGUI

mv *.pde mainGUI

mv xml mainGUI

 

2. Processing で、 mainGUI.pde を開く、「フォルダ」「開く(Ctrl + O)」から、

メニュー「フォルダ」「開く(Ctrl + O)」から

「labeling_for_object_detection/mainGUI.pde」を開きます。

 

3. labeling_for_object_detection の起動

「labeling_for_object_detection/mainGUI」ディレクトリ内の mainGUI.pde をダブルクリック。

processing が起動します。

processing ウィンドウの左上の三角ボタン(再生ボタン)を押すと、使用可能状態になるはず。

 

 

 

B. コードの修正 と ラベル付け

コードの修正: mainGUI.pde

このプログラミング言語は使ったことがなので

間違ってたら申し訳ない。java なのかな。

1種類のみのラベル, lesion を使う方針。

 

コードの修正前に、mainGUI.pde はどこかにコピーしておいて、バックアップしておくのが吉。私の場合は

mkdir backup

cp mainGUI.pde ./backup

のように保存。

 

line 10

final int N_CLASS = 1;


line 12

final String[] index2name = {"lesion"};

 

line 51-54 コメントアウト

/* radio.addItem(index2name[1], 2);
radio.addItem(index2name[2], 3);
radio.addItem(index2name[3], 4);
radio.addItem(index2name[4], 5); */

 

ラベルする

このソフトでは、画像を表示する領域の広さは 600x600程度

このため、対象画像も 512x512 程度以下のピクセルに縮小しておいたほうが無難。

 

1. processing の起動

 mainGUI.pde のダブルクリックで開くのが楽。

 左上の参画じるしをクリックすると、ラベルするためのウィンドウが開く。

2. ファイルを開く

 右上の LOAD IMAGE ボタンより

3. ラベルする

 ラベルしたい名前のボタン(Chiyo, Cocoa など)をクリックしたあとで、ラベルしたい場所の「左上と右下」、または「右上と左下」をクリック。赤い四角で囲まれるはず。

 場所が良ければ SAVE RECT をクリックして保存する(赤い四角は消えるはず)

 ラベルしたい場所が他にもあれば、3. を繰り返す。

4. 保存

 OUTPUT XML ボタンを押すと、同一ファイル名(拡張子が.xmlに変わったもの)が、/labeling_for_object_detection ディレクトリ内に保存される。

 ひとしきり保存が終わったら、

mkdir xml_data

mv *.xml xml_data

 などで全部移動してしまうこと。

 5. DELETE RECT ボタン

 現在書きかけの赤い四角を消去する。

 SAVE RECT を押し、保存しておいた赤い四角は消えないので注意