Yolo v3でObject Detectionする(darknet)
https://github.com/pjreddie/darknet git clone https://github.com/pjreddie/darknet.git データセットの作成 mydata.data classes = CLASS_NUM train = mydata-train.txt test = mydata-test.txt names = mydata.names backup = backup/mydata/ 各ファイルパスはdarknetの実行ディレクトリからの相対パス。 mydata.names category1 category2 category3 ... categoryCLASS_NUM ラベル=[クラスの数値表現]に対応するクラス名(行番号=ラベル)を記述する。 mydata-train.txt、mydata-test.txtにはデータセット(訓練データ、テストデータ)に含まれる画像のパスをそれぞれ1画像=1行で記述する。 データセットの画像と同じ階層に、IMAGE.jpgのアノテーション情報としてIMAGE.txtを配置する必要がある(1画像=1アノテーションファイル)。 IMAGE.txt label center_x center_y width height カラムはスペース区切りで、BoundingBox1つ=1行で記述する。 画像中のオブジェクトの種類はlabel(0始まりの数値)で表現する。 画像中のオブジェクトのBoundingBoxはcenter_x、center_y、width、height(オブジェクト中心X座標、オブジェクト中心Y座標、オブジェクト幅、オブジェクト高さ)の4パラメータで表現する。center_x、widthは画像幅で除算、center_y、heightは画像高さで除算し、実数で記述する。 設定ファイルの作成 cfgディレクトリ以下のファイルをベースに使う。 batch、subdivision, width, heightなどをメモリサイズなどに応じて変更する。デフォルトでは画像にランダムリサイズがかかるようになっているので、メモリ使用量が変動することに注意。 Yolo v3 cfg/yolov3.cfgをコピーする(mydata-yolov3.cfg)。 CLASS_NUM=クラス数 # L610, 696, 783 classes=CLASS_NUM # L603, 689, 776 filters=(CLASS_NUM + 5) * 3 Yolo v3の例 # L610, 696, 783 classes=1 # L603, 689, 776 filters=18 Tiny Yolo v3 cfg/yolov3-tiny.cfgをコピーする(mydata-yolov3-tiny.cfg)。 ...