Python素人がWindowsでmxnet-ssdを使うまでの長い長い道のり

DarknetのYOLOを試してみたらどうしてもSSDも試したくなった
そこで真剣にPythonに取り組もうと決めた
今後はRとPythonの両方を使っていく

環境

Pythonのインストール

pip install numpy-1.13.1+mkl-cp35-cp35m-win_amd64.whl
pip install scipy‑0.19.1‑cp35‑cp35m‑win_amd64.whl
  • matplotlibもインストール
pip install matplotlib

mxnetのインストール

下記を参考にさせて頂いた
yohira3.hatenablog.com
qiita.com

openCVをインストール

  • openCV3.3を選択してダウンロード
  • 解凍してパスを通す(C直下の場合には以下のパス)
C:\opencv\build\x64\vc14\bin
pip install opencv_python-3.3.0+contrib-cp35-cp35m-win_amd64.whl

mxnet-ssdをダウンロード

  • こちらから「Download ZIP」でごっそりダウンロードして解凍

github.com

  • 同じサイトの下の方から「ssd_resnet50_0712.zip」をダウンロード
  • 解凍してmodelフォルダに中身のみコピー(jsonファイルとparamsファイル)

いよいよ実行

python demo.py --cpu --images ./data/demo/000022.jpg

結果

このような図ができる
f:id:touch-sp:20170816171825p:plain:w400

Rから実行

Rからバッチファイルを吐き出して、実行する。

setwd("C:/mxnet-ssd")
bat <- "python demo.py --cpu --images"
myfile <- file.choose()
bat_code <- paste(bat, myfile, sep = " ")
cat(bat_code, file = "ssd_exec.bat")
shell.exec("ssd_exec.bat")

2017年9月15日更新
こちらも参照touch-sp.hatenablog.com