研究で使った技術の紹介
2020-04-27
azblob://2022/11/11/eyecatch/2020-04-22-Introduction-of-technologies-used-in-research-000.jpg
  • 1.Darknet/YOLOとは
  • 2.インストール
  • 3.モデルのダウンロード
  • 4.動かしてみる

1.Darknet/YOLOとは

Darknet…
オープンソースのニューラルネットフレームワーク。言語はC。
実装が簡単でお手軽に試せる。

YOLO
物体検出アルゴリズムの一つ。
僕はv2を使用していましたが、最新バージョンはv3です。
高い検出精度と高速なのがウリっぽい。

2.インストール

使ってた時はWindowsとMac両方使ってたんですけど、今回はMacの手順で進めてい行きます。バージョンも最新のv3で。

2.1Darknetのインストール

Githubから持ってきてコンパイルしていきます。

$ git clone https://github.com/pjreddie/darknet.git
$ cd darknet
$ make

今回はお試しなので画像認識のみで進めていきますが、リアルタイム動画からの検出とかしたい方は、CUDAとかOpenCVとか必要です。
その際には、Mikefileの設定を書き換えたりと多少の変更が必要になってます。

2.2モデルのダウンロード

$ wget https://pjreddie.com/media/files/yolov3.weights

学習済みのモデルです。
このモデルだけでも90?ぐらい(person,dog,bike etc..)のクラスが学習されていて、ある程度の認識が可能です。

3.動かしてみる

動かすには下記のコマンドを実行してみてください。

$ ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

動画だったら、detect部分がdemoになったり、学習だったらtrainになったりしますが、また詳しくは別で紹介します。

実行してみると、検出できた部分にフレームが出力されて、推測クラスが表記されます。

気になった方はv2のほうも試してみてください。いろんなもの検出してみて、精度とか比べてみると面白いかもしれないです。