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で表示できるようにするためOpen Dirをクリックしてください。

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

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

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

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

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

指定を行った後に指定した人や物体名を入力するためのボックスが出てきます。
ここには任意の名前を入力すれば良いです。
OKを押すと枠の色が変わり右側に入力した名前が表示されます。

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

座標指定が終わったら次の画像へ行くためNext Imageをクリックします。
そうすると次の画像へ移ります。
後は座標を指定して繰り返していくだけです。
最後に
覚えておくと作業がスムーズに行えることを紹介しておきます。
人や物のラベルは右側の use default labelに名前を登録し、チェックボックスにチェックを入れておくとCreate RectBoxで範囲指定した後の名前入力を毎回やる必要がなくなるので便利です。
ショートカットキー
Next Imge : D
Prev Imge : A
Create RectBox : W
この3つのショートカットキーを覚えておけば高速で作業できます。