前回(https://qiita.com/osakasho/items/e689b6e5d49272aa1a6c)
前回のつづきです。
次からは、YOLOv3とGoogleColabを使っていきます。
Google Colaboratory
高級な機械学習環境が使えるGoogle Colaboratoryで爆速でYOLOを学習させます。
Googleアカウントを作り、Gドライブを開いてください。
①右クリックして、「アプリで開く」から「その他」を選択し、「アプリの追加」をクリックしてください。
②検索欄に Colaboratoryと打つと出てきますので、追加してください。
③追加を終えたら、Gドライブ上で右クリック→その他→GooGle colaboratoryを選択。
すると、Colaboratoryが立ち上がったらOKです。
YOLOv3で作ったデータを学習させる。
眠れぬ夜のエンジニアさんのYOLOv3テンプレを利用します。
!git clone https://github.com/sleepless-se/keras-yolo3.git
%cd keras-yolo3
kerasのバージョンを下げます。
# kerasのバージョンを指定 ➜ ランタイムを再起動 ➜ バージョン2.2.2が反映する
!pip install tensorflow==1.14.0
!pip install keras==2.2.4
先ほどの「ano_data.zip」をアップロードします。
%cd /content/keras-yolo3/VOCDevkit/VOC2007
from google.colab import files
uploaded = files.upload()
解凍します。
%cd /content/keras-yolo3/VOCDevkit/VOC2007
!unzip ano_data.zip
label用のtxtファイルの作成をします。※実行するだけです。
%cd /content/keras-yolo3/
!python make_train_files.py
tag付けしたファイルの生成をします。
# dog cat の部分は自分のアノテーションしたもので書き換えて行うこと!
!python voc_annotation.py dog cat
YOLOv3の重みをダウンロード
!wget https://pjreddie.com/media/files/yolov3.weights
keras用に合わせる
!python convert.py -w yolov3.cfg yolov3.weights model_data/yolo_weights.h5
とうとう学習させる。
!python train.py 224
20分もあれば終わると思います!
学習が終えたら、左のサイドバーから「ファイル」タグを選択。
keras-yolo3→logs→000→trained_weights_final.h5
右クリックしてモデルをダウンロードできます。
ローカルで使用する場合や、保存しておきたいときはダウンロードしておきましょう。
次は、ちゃんとできてるか確認するために、画像を置いてテストします。
from google.colab import files
uploaded = files.upload()
テストする画像をアップロードします。
!python yolo_video.py --image
これで、「Input image filename:」と出るので、
自分がアップロードした画像ファイル名を入力してください。
すると予測結果がでます。
-- 判定結果 --
Found 3 boxes for img
cat 0.40 (245, 304) (700, 520)
cat 0.72 (379, 254) (628, 560)
dog 0.45 (130, 39) (310, 626)
2.5881030810000993
しっかりと入力した画像の名前が出ていればちゃんと物体検知できています。
ローカル環境でチェックすれば、ちゃんと画像が表示されて確認できます。