Upgrade to Pro — share decks privately, control downloads, hide ads and more …

物体検出をPythonで動かしてみる! / Try using YOLOv3 in Python

moonlight-aska
January 13, 2019
1k

物体検出をPythonで動かしてみる! / Try using YOLOv3 in Python

2019年1月13日開催の「大江橋Pythonの会#5」のLT資料です.

moonlight-aska

January 13, 2019
Tweet

Transcript

  1. 自己紹介  鶴田 彰 (Moonlight明日香)  (昔の)得意分野 : パターン認識(画像, 音声,

    etc) ユーザ適応(レコメンド, etc)  コミュニティ活動 : GCPUG Nara Organizer CODE for YAMATOKORIYAMA 最近は, 週末プログラマとして また機械学習に再チャレンジ中! Facebook moonlight.aska Twitter @moonlight_aska Blog みらいテックラボ http://mirai-tec.hatenablog.com
  2. 深層学習による画像認識 Liu L, Ouyang W, Wang X, et al. Deep

    Learning for Generic Object Detection: A Survey. arXiv. 2018. 物体検出 位置検出+画像分類 画像分類 セマンティック セグメンテーション 画素単位で分類 インスタンス セグメンテーション 位置検出 +画素単位で分類
  3. Liu L, Ouyang W, Wang X, et al. Deep Learning

    for Generic Object Detection: A Survey. arXiv. 2018.
  4. 各手法のモデル概要 Liu L, Ouyang W, Wang X, et al. Deep

    Learning for Generic Object Detection: A Survey. arXiv. 2018.
  5. 1. コードダウンロード 2. Makefile修正 3. make 4. 学習済モデル(重み)ダウロード 5. テスト

    git clone https://github.com/pjreddie/darknet.git GPU=1 CUDNN=0 OPENCV=1 OPENMP=0 DEBUG=0 wget https://pjreddie.com/media/files/yolov3.weights ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
  6. YOLOv3はCによるライブラリ PythonでYOLOv3を動かす方法: 1. ctypes(*1)を使う ⇒ darknet/python/darknet.py 2. YOLOv3の学習済モデルを使う ⇒ keras-yolo3

    *1:このライブラリはCと互換性のあるデータ型を提供し, 動的リンク/共有ライブラリ内の関数 呼び出しを可能にする.
  7. darknet/python/darknet.py参照 注) python3系では, C関数の引数に文字列を渡す際に, c_char_pに対して str型の”cfg/tiny-yolo.cfg”を渡すようなので, これをバイト列にして渡す. if __name__ ==

    “__main__”: net = load_net(b”cfg/tiny-yolo.cfg”, b”tiny-yolo.weights”, 0) meta = load_meta(b”cfg/coco.data”) r = detect(net, meta, b”data/dog.jpg”) print(r)
  8. 1. コードダウンロード 2. モデル変換 3. テスト git clone https://github.com/qqwweee/keras-yolo3.git python

    convert.py yolov3.cfg yolov3.weights model_data/yolo.h5 python yolo_video.py --image Input image filename:data/dog.jpg