chainerでYOLOv2をやってみる [訓練済みモデル実行編]
2017年7月ごろに一度YOLOv2でwebカメラから物体認識をさせたのですが、
今回違う環境で動かそうとしたところエラーが出たので対処しました。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
[2017/10/23追記]
自前データでの学習を載せました
ChainerでYOLOv2をやってみる [訓練/学習編] - ロボット、電子工作、AIなどの記録
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
環境:
win10
chainer 1.21.0
chainer 2.0.1
使用させてただいたプログラムはこちら
https://github.com/leetenki/YOLOv2
ここでDLして持ってきたら解凍。
次にすでに訓練されているモデルデータをDLするんですが、
YOLOv2/YOLOv2_execute.md at master · leetenki/YOLOv2 · GitHub
ここの
1、yolov2学習済みweightsファイルをダウンロードする。 wget http://pjreddie.com/media/files/yolo.weights 2、以下のコマンドでweightsファイルをchainer用にパースする。 python yolov2_darknet_parser.py yolo.weights
をしたところ、
<span style="color: #666666">C:\Users\YOLOv2-master\YOLOv2-master>python yolov2_da rknet_parser.py yolo.weights loading yolo.weights loading initial model... 1 992 2 19680 3 93920 4 102368 5 176608 6 472544 7 505824 8 801760 9 1983456 10 2115552 11 3297248 12 3429344 13 4611040 14 9333728 15 9860064 16 14582752 17 15109088 18 19831776 19 29273056 20 38714336 Traceback (most recent call last): File "yolov2_darknet_parser.py", line 85, in <module> exec(txt) File "<string>", line 1, in <module> ValueError: cannot reshape array of size 12265129 into shape (1024,3072,3,3)</span>
というエラーが出ました。
学習サイズが合っていないとのことなので合うサイズを持ってきます。
ここのお方がサイズが合ったものを提供してくださっています。
yolo.weights - Google ドライブ
ありがたくダウンロードして、YOLOv2-masterのフォルダに置く。
再度、chainer用にパースする
C:\Users\YOLOv2-master\YOLOv2-master>python yolov2_darknet_parser.py yolo.weights loading yolo.weights loading initial model... 1 992 2 19680 3 93920 4 102368 5 176608 6 472544 7 505824 8 801760 9 1983456 10 2115552 11 3297248 12 3429344 13 4611040 14 9333728 15 9860064 16 14582752 17 15109088 18 19831776 19 29273056 20 38714336 21 67029984 22 67465609 save weights file to yolov2_darknet.model
これでOK。
写真かWebカメラで動作確認。
python yolov2_darknet_predict.py data/people.png python yolov2_darknet_camera.py
※chainerのバージョンが1の系列なら実行可能です
※chainerが2のバージョンだと記述内容が変更になったためエラーで実行できません
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
[2017/10/23追記]
自前データでの学習を載せました
ChainerでYOLOv2をやってみる [訓練/学習編] - ロボット、電子工作、AIなどの記録
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
おわり
[参考]
how to use yolov2_darknet_parser.py ? · Issue #2 · leetenki/YOLOv2 · GitHub