Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

自己紹介  鶴田 彰 (Moonlight明日香)  (昔の)得意分野 : パターン認識(画像, 音声, etc) ユーザ適応(レコメンド, etc)  コミュニティ活動 : GCPUG Nara Organizer CODE for YAMATOKORIYAMA 最近は, 週末プログラマとして また機械学習に再チャレンジ中! Facebook moonlight.aska Twitter @moonlight_aska Blog みらいテックラボ http://mirai-tec.hatenablog.com

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

Liu L, Ouyang W, Wang X, et al. Deep Learning for Generic Object Detection: A Survey. arXiv. 2018.

Slide 5

Slide 5 text

どうやって物体検出するのか 特徴抽出 識別 座標位置推定 後処理 基本的な流れ: 1. 画像の特徴抽出 2. 画像から物体領域の候補選出 3. 各枠で画像認識

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

https://pjreddie.com/darknet/ Darknet:Open Source Neural Networks in C

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

YOLOv3はCによるライブラリ PythonでYOLOv3を動かす方法: 1. ctypes(*1)を使う ⇒ darknet/python/darknet.py 2. YOLOv3の学習済モデルを使う ⇒ keras-yolo3 *1:このライブラリはCと互換性のあるデータ型を提供し, 動的リンク/共有ライブラリ内の関数 呼び出しを可能にする.

Slide 12

Slide 12 text

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)

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

YOLOv3オリジナル(ctypes) keras-yolo3

Slide 15

Slide 15 text

https://www.kaggle.com/c/rsna-pneumonia-detection-challenge RSNA Pneumonia Detection Challenge 肺炎とは:  肺の細菌感染  空気は放射線をよく透過するため胸部レントゲン画像で黒く見えるが, 肺炎になるとその部分が白く映し出される. 正常 異常(水色:ラベル, ピンク:予測結果)

Slide 16

Slide 16 text

 物体検出も身近になった(YOLOv3, SSD, etc) まずは触ってみよう! 物体検出。  オリジナルデータによるモデル学習も可能 今回説明なし (みらいテックラボ:YOLOv3を試してみる(2)参照)

Slide 17

Slide 17 text

No content