LoginSignup
7
10

More than 3 years have passed since last update.

Jetson nano セットアップとUSBカメラを使った画像認識 (YOLO) の動作

Posted at

Jetson nano セットアップとUSBカメラを使った画像認識 (YOLO) の動作

Jetson nanoはNVIDIAのGPUが載った、Raspberry Piサイズのボードです。

簡単な設定でUbuntuとNVIDIA Driver, CUDAが整った環境が揃えられるので、CPUでは重すぎて動かないディープラーニングなどを個人で少し試すのによいデバイスかと思います。

試しにUSBカメラを繋いでYoloを動かしました。

使用したハードウェア

  • Jetson Nano Developer Kit

  • 128 GB Micro SD カード

  • 電源アダプタ 5V/4A

  • USBカメラ

  • USB WiFiモジュール

  • ジャンパーピン

J48にジャンパーピンを接続するとDCジャック電源供給に切り替わります。デフォルトのUSB電源供給だと処理負荷が増えた際に安定動作しません。

jetson.jpg

初期セットアップ

Wifiで接続し、リモートデスクトップでJetson nanoを操作する環境を作ります。

まず、OSイメージは、NVIDIAのサイトでJetson nano専用のもの (Ubuntu 18.04 LTS) が配布されているので、Jetson Nano Developer Kit SD Card Imageというファイルをダウンロードします。

SDカードへのイメージの書き込みはbalenaEtcherなどで行います。balenaEtcherの操作はイメージファイルを選択して”Flash”ボタンをクリックするのみです。
SDカードを挿入してJetson nanoを初回にブートした際は、通常のUbuntuインストール時と同様の設定を行います。

リモートデスクトップの設定に関してはここのサイト通りに進めました。

画像認識 (Yolo) の動作

Yoloの動作にOpenCVが必要なのでインストールします。
私は以下のJetson nano用スクリプトを使いました。

git clone https://github.com/mdegans/nano_build_opencv
cd nano_build_opencv
./build_opencv.sh $1

次にYoloをダウンロードします。

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

Makefileを次のように変更します。

GPU=1
CUDNN=1
OPENCV=1

makeと実行をして、画像認識が動きます。1.5 fps程度です。

make
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights

demo.jpg

長時間動かすとフリーズします。精度は落ちますが、以下の演算量の低い実行方法もあります。

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

Jetson nano用のサンプルでもUSBカメラを使った画像認識ができます。

cd jetson-inference/build/aarch64/bin/
./imagenet-camera googlenet --cmera /dev/video0
7
10
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
7
10