KBSIs' Blog

Technical memo, play diary

Jetson NanoにDarknetをインストールする方法

教授によれば,JetsonNanoでDarknetを動かすと15FPSは確実に出るらしい.

IDICHI

what’s darknet?

Darknetとは物体認識系ディープラーニングモデルの一つYoloのC言語実装のこと. ここで,簡単に経緯を話すと,現在,私はロボカッププロジェクトに入っており,そこのロボットの目となる画像認識部門に従事している.
画像内の物体を認識し,座標を出すというプログラムを作らなければならない.
すでにそうしたアルゴリズムはいくつかあるのだが,速度(FPS),精度を計測し,最適なものを選択しなければならない.そこでDarknetを試すこととなったのだが…

苦悩のDarknet.

前提の情報として,教授によれば,**JetsonNanoだったら,Darknetは15FPSは出るよ.**と聞かされていた. しかし,いくら実験してもそんな速度には到底およばず,2FPSが限界だった.これをプロジェクトの定期的なミーティングで話すと,非難の嵐で,調べなおせと言われてしまった.

結論

もともとそんな速度は出ない.つまり,教授側が間違っていたということだった. 15FPSが出たのはOpenPoseのPoseEstimationだった(画像から骨格を認識,座標を出力する). というわけで結果は20W(MAXNN)モードで(Yolo v3)2FPSが限界であった.

インストール方法

上を踏まえた上で,あまり期待しないほうが良いが.インストール方法について述べる.

$ git clone https://github.com/AlexeyAB/darknet
$ cd darknet
$ nano Makefile

ここで変更する内容は GPU=1,OPENCV=1,nvcc=/usr/local/nvccに変更するだけだ.
これで,CUDAコアを使ったYoloをコンパイルできる.

$ make -j4 ## 4の部分は並列化する数

./darknetと打って<func>...が出たら,コンパイルに成功している.

yolov3 tinyならそこそこ実用範囲

遅い遅いと言っているが,yolov3 tinyならそこそこ実用の範囲で動作する.
しかし,精度が足りない.一応,検証はしているので,良かったら,動画の方を見ていただけたらと思う.(もともとyolo v3のモデル構造が遅いのでyolo v2でも試す価値はある,しかし,競合するssdも検証が必要だ.)

Recent posts

See more

Categories

About

大学3年生 伊地知 翔也 詳細はlearn moreから