20
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AI女子、無料GPUでYOLO v3はじめました。

Last updated at Posted at 2019-01-16

#はじめに
AIスタートアップでWEBアプリ開発をやりながら、pythonとAIを勉強中です。
画像認識でやりたいことがあり、まずは開発環境の構築とアルゴリズムを使ってみるところまでを実践しました。

#今回やりたいこと

  • YOLOv3を使う
  • 無料でGPUを使う

#YOLOとは
物体検出アルゴリズムのうちの1つです。(物体検出は他にFaster R-CNNやSSDなどのアルゴリズムがあります。)
YOLOの特徴は、速くて高精度なことで、現在v3が最新バージョンです。
今回ニューラルネットフレームワークはDarknetを使ます。(フレームワークは他に、TensorflowやChainer、Caffeなどがあります。)
ちなみに、YOLOはYou only look onceの略で、You only live once(人生一度きり)をもじっているそうです。

#YOLOで物体検出する
##Darknetのインストール

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

##設定
Makefileで下記をはじめとする設定を変更できます。

GPU=0
CUDNN=0
OPENCV=0
OPENMP=0
DEBUG=0

##実行
設定を変更したら、実行します。

make

##weightsのダウンロード
今回は学習済みモデルを使用するので、ダウンロードします。
v2: https://pjreddie.com/media/files/yolov2.weights
v3: https://pjreddie.com/media/files/yolov3.weights

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

##物体検出
それでは物体検出してみます。
###v2の場合

./darknet detect cfg/yolov2.cfg yolo.weights ./data/dog.jpg

predictions.jpg

./data/dog.jpg: Predicted in 8.501023 seconds.
dog: 82%
truck: 64%
bicycle: 85%

###v3の場合

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

predictions.jpg

./data/dog.jpg: Predicted in 19.580538 seconds.
bicycle: 99%
truck: 92%
dog: 100%

v2とv3は今回2倍以上時間はかかったけど、確実に精度が上がっていることがわかりました。

物体検出 YOLO v2 YOLO v3
自転車 82% 99%
トラック 64% 92%
85% 100%
時間 8.5秒 19.6秒

#無料GPU環境の構築
YOLOを使うことができたので、早速学習させたいのですが、大量データを学習させる時はGPUを使いたいと思いました。
調べたところ、無料で簡単にGPUが使えるGoogle Colaboratory(グーグル・コラボレイトリー)が最強のようです。
Google Colaboratoryは、クラウドのJupyterノートブック環境です。
ここから使えます。
https://colab.research.google.com/notebooks/welcome.ipynb

##GPU有効化
ColaboratoryでGPUを使う場合、タブの
「ランタイム」→「ランタイプのタイプを変更」→「ハードウェア アクセラレータ」→「GPU」
で保存します。
スクリーンショット 2019-01-17 8.38.19.png

スクリーンショット 2019-01-17 8.37.32.png

以上でGPU環境が整いました。なんて簡単!

##注意
ただし、Google Colaboratoryでは、下記の条件でインスタンスが全てリセットになってしまうので注意が必要です。

  • 12時間ルール:新しいインスタンスを起動してから12時間経過
  • 90分ルール:ノートブックのセッションが切れてから90分経過

対策はこちらの記事にも書かれていました。
https://qiita.com/enmaru/items/2770df602dd7778d4ce6

環境が整ったので、次回は実際にYOLOを使って学習させてみます!

20
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?