TEDにも登場したリアルタイム物体検出DNN(Deep Neural Network)のYOLOがVersion 3にバージョンアップしYOLO V3に変身したので試したときのメモ。仮面ライダーみたいに大幅にバージョンアップしたのか?
上の例では、処理時間がV2が18.9[ms]、V3が22.7[ms]と多少遅くなっているが、予測確率が80%台から90%台と10%近く向上している。
- 環境
- CROYDON (BTO組立パソコン)
(CPU: Intel i7-8700K, GPU: Nvidia GTX 1080Ti, Memory:32GB) - Motherboard: ASRock Fatal1ty Z370 Gaming K6
- Xubunut16.04.1
- Kernel 4.4.0-119-generic
- gcc/g++ 5.4.0
- CROYDON (BTO組立パソコン)
- Darknetのインストール
- この指示にしたがいDarknetをインストールする
- cd ~/src
- git clone https://github.com/pjreddie/darknet.git
- cd ~/src/darknet
- makefileの該当行を以下に変更
- GPU=1
- CUDNN=1
- OPENCV=1
- ARCH= -gencode arch=compute_61,code=[sm_61,compute_61]
- make -j12
- Yolo: Real Time Object Detectionのインストール
- cd ~/src/darknet
- 学習済みの重み(パラメータ)ファイルをダウンロード
- wget http://pjreddie.com/media/files/yolov3.weights
- サンプルの実行
- ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
- 実行方法
- ウェブカメラ
- ウェブカメラをPCに接続し以下のコマンドを実行
- ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights
- 動画ファイル
- Webm形式の動画ファイルは問題なく動作する。
- ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights <video file>
- ウェブカメラ
- テスト
- 下図はウェブカメラで本棚を撮ったときの識別結果。私の環境では約30フレーム/秒でリルタイムで識別でき、Cupの識別率は90%後半で安定して検出していた。今まで、YOLOの識別率が悪いので、AlexNetなどと組み合わせて使っていたが、V3なら必要ないかもしれない。いろいろ試してみよう。
以上
コメント