Let’s play with AI.
こんにちは。
AI coordinator管理人の清水秀樹です。
YOLO V5の学習方法が非常に簡単に出来る仕組みになっていたので紹介したいと思います。
AIそのものに触れる良い機会かと思いますので興味がある方はチャレンジしてみてください。
ちなみにGPUセットアップ済みのUbuntu前提で話を勧めます。
動画でも紹介しているため、そちらも参考にしてみてください。
データセットの準備
自分で準備するのは手間なので、公開データセットを使いましょう。
色々な学習データがあります。
今回はPistols Datasetを使用してみたいと思います。
ダウンロードにはgithubアカウントが必要です。
YOLO V5の準備
YOLO V5をgithubからクローンしてください。
クローンしたら
dataフォルダ内に先程ダンロードしたデータセットの中身一式をコピーしましょう。
data.yamlの中身のtrainとvalのpathを以下のように変更します。
train: data/train/images
val: data/valid/images
nc: 2
names: ['mask', 'no-mask']
これだけで準備完了です。
滅茶苦茶簡単です。
あとは公式サイト通り学習コマンドを打ち込むだけです。
python train.py --data data.yaml --cfg yolov5s.yaml --weights '' --batch-size 16
ちなみ上記はモデルサイズ最小を指定しています。
より精度の高いモデルを作りたい場合は以下の表を参考に指定を変更してみてください。
epoch指定しない場合はepoch=300がデフォルトになります。
モデルはrunsフォルダ内に出来上がります。
- best.ptが学習中の中で一番精度が高いもの
- last.ptがepoch最後の学習モデル
になります。
学習が完了したらdetectしましょう。
python detect.py --source 0 --weights best.pt
これで動くと思います。
所感
YOLOV3の学習は結構大変でしたが、YOLOV5は簡単に利用できます。
パラメータも弄ることなく利用できるので、特殊な技術がなくても利用できるように発展していることが良く分かります。
学習枚数も数百枚レベルでも精度がある程度出るようになっていることから、益々利用しやくなっているのではないでしょうか。
公開データセットも徐々に増えてきています。
正直オープンソース頼みのAIベンチャーなんかは今後の生き残りが大変でしょうね。
この1〜2年で30社ぐらい潰れていく気がします。w
とまあ、そんなわけで簡単に利用できるのでぜひ試してみてください。
それではまた。
こんにちは、現在大学生をしているものです。研究用にYOLO V5を使ってみようと思ったのですが、
o labels in data/train/labels.cache.
のようにラベルの認識ができずエラーとなってしまいます(ディレクトリ構成とかは色々試したりしたのですがダメでした。)
よろしければGItHubでコードを上げていただけないでしょうか。
横から失礼します。
labels.cacheを消しても同じエラーになりますか?