Jetson nano keras-yolo v3 setup

Let’s play with AI.

こんにちは。

AI coordinator管理人の清水秀樹です。

前回に続き、Jetson nanoを使った物体検出AIの構築方法について紹介します。

今回紹介するAIはkeras-yolo v3と本家のYOLO v3です。

とくにkeras-yolo v3はpythonで実行できる物体検出ですので、GPIOと組み合わせながら実験し動かすことが可能なのでオススメです。

しかもDeepStreamのyoloよりも、はるかに認識率が高いです。

セットアップ方法については、YouTube動画でも紹介していますので、当ページと合わせてご確認頂ければと思います。

tensorflowのインストール

インストール用のスクリプトを準備してくださっている方がいてセットアップがとても楽になりました。

ありがたく使用させて頂きましょう。

ちなみにいきなり時間がかかる処理になります。

大体2時間ぐらいかかります。

気長に待ちましょう。

ただ注意点があります。

途中でパスワードを2回聞かれるタイミングがあるので、適度に確認しながら放置しましょう。

$ git clone https://github.com/karaage0703/jetson-nano-tools
$ cd jetson-nano-tools
$ ./install-tensorflow.sh

keras install

いちいちtensorflow.を付加してソースを修正するのが面倒いのでkerasをインストールしちゃいましょう。

sudo apt install libatlas-base-dev gfortran
sudo apt-get install python3-scipy
sudo apt-get install python3-keras
sudo apt-get install python3-matplotlib

keras-yolo v3をセットアップ

keras-yolo v3を使う準備をします。

ターミナルのディレクトリをhomeに戻してからkeras-yolo3をクローンしましょう。

git clone https://github.com/qqwweee/keras-yolo3.git

tinyモデルをダウンロードして実行します。

cd keras-yolo3
wget https://pjreddie.com/media/files/yolov3-tiny.weights
python3 convert.py yolov3-tiny.cfg yolov3-tiny.weights model_data/yolo-tiny.h5

モデル変換作業は20秒程度で終わります。

続いてyolo.pyを修正します。

どうせtinyでしか使い物にならないのでソースをtiny専用に修正しちゃいましょう。

yolo.pyの23,24行目を以下のように編集します。

"model_path": 'model_data/yolo-tiny.h5',
"anchors_path": 'model_data/tiny_yolo_anchors.txt',

同様に174行目も以下のように修正しましょう。

vid = cv2.VideoCapture(int(video_path))

さあ、実行してみましょう

python3 yolo_video.py --input 0

fps1~3程度で動きます。

 

本家本元のYOLOも動かしてみましょう

darknet

darknetをダウンロードします。

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

モデルのダウンロードをします。

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

makefileの修正をします。

GPU=1
CUDNN=1
OPENCV=1

同様に64行目のnvccのpathも修正しましょう。

NVCC=/usr/local/cuda/bin/nvcc

makeします。

make

以上で準備は完了です。

tiny-yoloで実行

実行します。

./darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights

fps=7.5と、そこそこ早いですね。

PythonでAIを試した後は・・・

Pyhtonを使って物体検出AIを試すことが出来ました。

ということは・・・

GPIO制御と組み合わせて使ってみることで、AIを活用した装置の開発ができるようになります。

近いうち紹介したいと思います。

 

それではまた!!

あなたにオススメの記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

PAGE TOP