Edited at

Google ColabでYOLOを動かす(動画)


最近の関心事


  • 物体検出(画像)

  • 物体検出(動画) <- 今回コレ

  • 画像の生成

  • 強化学習

  • TensorFlow 2.0

  • Kaggle

前回前々回で物体検出(画像)の学習とテストはできたため、今回は動画にチャレンジしたいと思います。


結論

いきなり結論ですが、Google Colab上では動画の物体検出はできませんでした。./darknet detector demoを実行したところ、

Unable to init server: Could not connect: Connection refused

(Demo:1865): Gtk-WARNING **: 10:49:50.770: cannot open display:

と言われてしまいました。こちら-out_filename-dont_showも付けてみたのですが、結果は変わりませんでした。Cのコードを修正すれば実行できるようになると思いますが、そこまでする気は起きず諦めることにしました。一応、覚書を残しておきます。


行ったこと

まず、./darknet detector demo./darknet detector testと同じ感覚で実行してみたところOpenCVが必要と言われました。そこで、

!sed -i 's/GPU=0/GPU=1/g' Makefile

!sed -i 's/OPENCV=0/OPENCV=1/g' Makefile
!cat Makefile
!make

を行い、OpenCVを有効化しました。

また、動画のサンプルファイルが手元になかったため、Pexelsから動画をダウンロード、Google Driveにアップロードし、いつもの方法でGoogle Driveをマウントし、動画を参照可能にしました。

そして、冒頭の

!./darknet detector demo cfg/voc.data cfg/yolov3-voc.cfg yolov3-voc.backup /content/drive/'My Drive'/'Google Colab'/YOLO/'Pexels Videos 4788.mp4' -out_filename res.avi -dont_show

を実行しましたが、うまく実行できず・・・という感じです。


今後

Windows環境にYOLOv3をインストールして実行してもいいのですが、もうちょっと他のことに時間を使いたいので、物体検出(動画)は一旦これで終わりにして、次はTensorFlow 2.0を触ってみるつもりです。