windowsでYOLOv3を動かす
目的
学習結果を別の場所で再現するために、windowsノートPCにYOLOを搭載しました
windowsではkeras-yoloを使います。なので途中ubuntuでkeras-yolo使った時と全く同じ工程がありますが自分用のメモ用も含めて。
環境
windows10
corei7-7600U CPU
16GB
Anaconda python3.7ver
準備
まずanaconda command promptを起動し、仮想環境を構築。
conda create -n keras_work
activate keras_work
そしてtensorflowとkeras、必要なパッケージをインストール
pipとconda混ぜちゃいけないと色々なところで書かれていますが、仮想環境なので結局pipも使いました。
今のところ大丈夫です。
conda install tensorflow
conda install keras
pip install pillow
conda install -c anaconda matplotlib
pip install opencv-python
keras-yolo3をダウンロードし任意の場所に解凍
https://github.com/qqwweee/keras-yolo3
※前アップしたときからリンク先が変わってたので修正しました。
自前データの準備
ここから、ubuntuでやったことと同じことをします。その記事はコチラ。
ここでkeras-yolo3フォルダと言っているのは、windowsではkeras-yolo3-masterのことです。
自前データのコピー&変換
今回私は自前データを使いたいと思いますので、
darknetで学習とテストをするときに作成した以下のファイルをさっきcloneしてきたkeras-yolo3フォルダの直下に置きます。
piyopiyo_test.cfg
piyopiyo.weightsさらに、自前の学習データのclasses.txtをmodel_data/以下に置きます。
そして重みをkeras用に変換します。
cd keras-yolo3 python convert.py piyopiyo_test.cfg piyopiyo.weights model_data/piyopiyo.h5
yolo.pyを修正
class YOLO(object): _defaults = { "model_path": 'model_data/piyopiyo.h5', #ココ "anchors_path": 'model_data/yolo_anchors.txt',#ココは変えなくてもうまくいきました。何かよくわからん。 "classes_path": 'model_data/classes.txt', #ココ "score" : 0.3, "iou" : 0.45, "model_image_size" : (416, 416), "gpu_num" : 0, }
anchorって何なんだろう…と調べてみたら、bouding boxのアスペクト比のことみたいです。
何種類か定義されているので探索に使う時のって意味なのでしょうか…
これを変えるとうまくいかなかった、という記事もあったりしたのでデフォルトのまま使うことにします。実行
画像の場合は
python3 yolo_video.py --image
動画の場合は
python3 yolo_video.py --input hogeohoge.MOV
画像の場合は後でInput image filenameを求められます。
webカメラの場合は、yolo_cam.pyというファイルを作って実行します。
from yolo import YOLO
from yolo import detect_video
if __name__ == '__main__':
video_path = 1
output_path = './output.avi'
# detect_video(YOLO(), video_path, output_path)
detect_video(YOLO(),video_path)
そして
python yolo_cam.py
エラー
ここで私は、no named moduke cv2と言われました。
で、色々やってみたのですが全部できなくて
conda install -c menpo opencv3 -->NG
conda install -c conda-forge opencv -->NG
pip install opencv-python -->NG
なんと会社のネットワーク使っているからだめだったみたいです。
会社のネットワーク切って、
conda install -c conda-forge opencv
を実行したら無事インストール完了しました。
多分上の3つどのコマンドでも良かったのでは、と思います。
そしてさっきのコマンドで無事動画を読み込んで、無事認識完了しました。
GPU無いしめちゃめちゃ遅いですが、なんとか再現はできます。
参考サイトです
https://masaeng.hatenablog.com/entry/2019/03/23/010723
https://qiita.com/dddmm/items/9e4d9e08a071cfa4be83
Author And Source
この問題について(windowsでYOLOv3を動かす), 我々は、より多くの情報をここで見つけました https://qiita.com/okubo999/items/cb283effdb75ca9ea559著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .