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

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

59613a9ebdbfacb213e86dd470c52025?s=47 moonlight-aska
January 13, 2019
540

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

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

59613a9ebdbfacb213e86dd470c52025?s=128

moonlight-aska

January 13, 2019
Tweet

Transcript

  1. 物体検出をPythonで動かしてみる! 2019/1/13 Moonlight 明日香 大江橋Pythonの会 #5 LT

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

    etc) ユーザ適応(レコメンド, etc)  コミュニティ活動 : GCPUG Nara Organizer CODE for YAMATOKORIYAMA 最近は, 週末プログラマとして また機械学習に再チャレンジ中! Facebook moonlight.aska Twitter @moonlight_aska Blog みらいテックラボ http://mirai-tec.hatenablog.com
  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. 画像から物体領域の候補選出

    3. 各枠で画像認識
  6. 各手法のモデル概要 Liu L, Ouyang W, Wang X, et al. Deep

    Learning for Generic Object Detection: A Survey. arXiv. 2018.
  7. https://pjreddie.com/darknet/ Darknet:Open Source Neural Networks in C

  8. https://pjreddie.com/darknet/ YOLOv3をPythonで動かしてみる!!

  9. 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
  10. None
  11. YOLOv3はCによるライブラリ PythonでYOLOv3を動かす方法: 1. ctypes(*1)を使う ⇒ darknet/python/darknet.py 2. YOLOv3の学習済モデルを使う ⇒ keras-yolo3

    *1:このライブラリはCと互換性のあるデータ型を提供し, 動的リンク/共有ライブラリ内の関数 呼び出しを可能にする.
  12. 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)
  13. 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
  14. YOLOv3オリジナル(ctypes) keras-yolo3

  15. https://www.kaggle.com/c/rsna-pneumonia-detection-challenge RSNA Pneumonia Detection Challenge 肺炎とは:  肺の細菌感染  空気は放射線をよく透過するため胸部レントゲン画像で黒く見えるが,

    肺炎になるとその部分が白く映し出される. 正常 異常(水色:ラベル, ピンク:予測結果)
  16.  物体検出も身近になった(YOLOv3, SSD, etc) まずは触ってみよう! 物体検出。  オリジナルデータによるモデル学習も可能 今回説明なし (みらいテックラボ:YOLOv3を試してみる(2)参照)

  17. None