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なら必要ないかもしれない。いろいろ試してみよう。
 
 
以上
  
  
  
  


コメント