前回、YOLOv3(darknet)をROS(kinetic)で用いたのですが、衣服を認識してくれなかったので今回は衣服を認識するように学習させたいと思います。
demura.netこちらではlabellmgというツールを使って学習用の写真のなかで認識したいものを四角で囲ったりしてデータセットを作成するなど、面倒な作業をしなければならないので面倒くさいよなーと思っていたらOIDv4-Toolkitと呼ばれるツールを使うとデータセットを簡単に手に入れられるとのことだったので今回試してみた
また、手に入るデータセットは下記のリンクから検索できる
Open Images Dataset V6
環境
ubuntu16.04 ROS kinetic
CUDA10.2 & cuDNN7.6.5
OIDv4-Toolkitのインストールは下記のリンクを参照
【YOLOv3 データセット作成の旅①】Open Images Dataset の特定クラスの画像のみダウンロード | naruhodo desu ne !
データセットのダウンロード
cd OIDv4-Toolkit/
sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages') (ROSのバージョンに合わせてkineticの部分はmelodic,noeticに変更してください)
pip3 install -U requests
【YOLOv3 データセット作成の旅②】OIDv4_Toolkitで取得したアノテーションデータを変換する | naruhodo desu ne !
パスとかを適宜変更して、プログラムを実行するとアノテーションデータセットが得られます(warningが出たが無視した)その後、
mkdir -p ~/data/wrs/backup
と、ディレクトリを生成し、得られたアノテーションデータとダウンロードした写真をwrsディレクトリに入れます.その後、
cd
mkdir src
cd
cd ~/src
git clone https://github.com/pjreddie/darknet.git
cd ~/src/darknet
Makefileの中身は下記のリンクを参考に修正し、makeを実行
https://demura.net/robot/athome/14694.html
makeの実行に成功したら
cd ~/src
git clone https://github.com/demulab/divide_files.git
その後、下記のリンクの・ビルド・実行の項目から先を手順通りに進める(私の場合、学習の終了条件を3000回としたので、wrs.cfgにおいてmax_batches = 3000とした)
学習させて得られたデータをdarknet_rosのパッケージにコピペして実行したときの認識結果がこれ
認識してくれています。これで研究が進みそうです