Jetson NanoでYOLOv4を使って物体検出する方法

  • URLをコピーしました!

今回はJetson NanoでYOLOv4のモデルを使って画像の物体検出を行う方法を解説します。

またJetsonの活用方法について以下のページでまとめていますので、あわせてご覧ください。

\ 機械学習を学びたい人には自宅で学べるUdemyがおすすめ! /

講座単位で購入できます!

目次

環境

ソフトウェア

JETPACK SDK:4.6.2
Python:3.6.9

ハードウェア

Jetson Nano:A02 4GB 

今回、推論を行うハードウェアはNVIDIAのGPUを搭載したマイコンボード、Jetson Nanoの4GB版を使用しています。

YOLOをセットアップする

今回は以下のリポジトリを使って画像の物体検出を試してみました。

まずは任意のフォルダにリポジトリをダウンロードします。

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

エディタをインストールします。入っている方は飛ばしてください。

sudo nano apt install nano

Makefileを編集します。

cd darknet
sudo nano Makefile

以下のように編集してください。(最後の行はNVCC=nvccとなっている行を修正します)

GPU=1
CUDNN=1
CUDNN_HALF=1
OPENCV=1
LIBSO=1

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

Makefileを修正したらビルドします。

sudo make

続いて重みファイルと設定ファイルを「darkne」のディレクトリにダウンロードします。「yolov4-tiny」は軽量版です。今回は組み込みボードで処理を行うためこちらを使用します。

sudo wget https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.weights
sudo wget https://raw.githubusercontent.com/AlexeyAB/darknet/master/cfg/yolov4-tiny.cfg

必要なライブラリをインストールします。

sudo apt-get install libcanberra-gtk-module -y

これでセットアップは完了です。

動作確認

おなじみの犬画像「dog.jpg」を使って動作確認をします。
以下のコマンドを実行してください。

./darknet detect yolov4-tiny.cfg yolov4-tiny.weights data/dog.jpg

以下のように表示され推論が実行されました。

[yolo] params: iou loss: ciou (4), iou_norm: 0.07, obj_norm: 1.00, cls_norm: 1.00, delta_norm: 1.00, scale_x_y: 1.05
nms_kind: greedynms (1), beta = 0.600000
Total BFLOPS 6.910
avg_outputs = 310203
 Allocate additional workspace_size = 26.22 MB
Loading weights from yolov4-tiny.weights...
 seen 64, trained: 0 K-images (0 Kilo-batches_64)
Done! Loaded 38 layers from weights-file
 Detection layer: 30 - type = 28
 Detection layer: 37 - type = 28
data/dog.jpg: Predicted in 4119.524000 milli-seconds.
bicycle: 60%
dog: 84%
truck: 79%
car: 46%
Failed to write image predictions.jpg

「dog.jpg」の画像の中のオブジェクトが正しく検出できました。

まとめ

今回はJetson NanoでYOLOv4を使って物体検出を行ってみました。次はPythonのコードからカメラ映像を使ってリアルタイムに物体検出する方法について書きたいと思います。

機械学習を効率よく学びたい方には、自分のペースで動画で学べるUdemyの以下の講座がおすすめです。数学的な理論からPythonでの実装までを習得できます。(私自身もこの講座を受講しています)

icon icon 【徹底的に解説!】人工知能・機械学習エンジニア養成講座(初級編~統計学から数字認識まで~) icon


それでは、また次の記事でお会いしましょう。

\ 機械学習を学びたい人には自宅で学べるUdemyがおすすめ! /

講座単位で購入できます!

参考

よかったらシェアしてね!
  • URLをコピーしました!
目次