AIと電子工作系ブログ

趣味でやっている電子工作とtennsorflow等を使った何かを書いていきます。

LabelImgの導入と使い方

labelImgとは
YOLOV5などの物体や人を認識して座標まで出力してくれる物体検出モデルに学習させるためのデータ作成に使います。データの作成といっても難しくなく用意した画像に対して物体や人がどこにいるのかを四角で囲って座標データを出力するだけです。


labelImg導入と使い方
今回labelImgはAnacondaに導入します。

↑からTerminalを開き導入していきます。


まず最初にlabelImagをリポジトリからクローンするために↓を入力します。
git clone https://github.com/tzutalin/labelImg.git

リポジトリからクローン


そうしたらlabelImgにディレクトリを移動してpyqt5とlxmlをインストールします
cd labelImg
pip install pyqt5 lxml

ディレクトリを移動とインストール


次にファイル生成とlabelImgの起動を行います。
pyrcc5 -o libs/resources.py resources.qrc
python labelImg.py

ファイル生成とlabelImg起動


labelImgを起動すると下の画像のような画面が立ち上がります。

labelImg起動画面


次に画像の入ったフォルダを選択しlabelImgで表示できるようにするためOpen Dirをクリックしてください。

labelImg Open Dir


クリックした後画像の入ったフォルダを選択し、右下にある「フォルダーの選択」をクリックするとフォルダが選択され一枚目の画像が表示されます。

フォルダ選択後画面


画像が表示されたら人や物の座標データを保存するための場所を登録します。
Change Save Dirをクリックしたら画像のフォルダを選択したときと同じようにデータを保存するためのフォルダを登録します。

Change Save Dir


pascalVOCと書かれている部分をクリックしてYOLOという表示に変えます。
こうすることで座標データの形式がYOLOv5で読めこめる形式で保存されます。

データ保存形式変更


次に人や物の場所を指定するためにCreate RectBoxをクリックします。
クリックすると十字の黒いマーカーが出てきます。

Create RectBox


そしたら人や物体のある場所に対してドラッグして指定を行います
指定を行うと下の画像のようになります

座標の指定


指定を行った後に指定した人や物体名を入力するためのボックスが出てきます。
ここには任意の名前を入力すれば良いです。


OKを押すと枠の色が変わり右側に入力した名前が表示されます。

記入後


Saveを押すと座標データが保存されますが一枚の画像ごとにSaveを押すのは面倒なので自動保存するようにします。
ViewタブからAuto Save modeを選択すれば次の画像に行ったときに自動で保存してくれるようなります。

Auto Save


座標指定が終わったら次の画像へ行くためNext Imageをクリックします。
そうすると次の画像へ移ります。

後は座標を指定して繰り返していくだけです。


最後に
覚えておくと作業がスムーズに行えることを紹介しておきます。

人や物のラベルは右側の use default labelに名前を登録し、チェックボックスにチェックを入れておくとCreate RectBoxで範囲指定した後の名前入力を毎回やる必要がなくなるので便利です。


ショートカットキー
 Next Imge : D
 Prev Imge : A
 Create RectBox : W
この3つのショートカットキーを覚えておけば高速で作業できます。