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

  • URLをコピーしました!

※本ページはアフィリエイト広告を利用しています

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

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

目次

環境

ソフトウェア

JETPACK SDK:4.6.2
Python:3.6.9

ハードウェア

Jetson Nano:A02 4GB 

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

NVIDIA
¥27,993 (2024/04/25 10:21時点 | Amazon調べ)
\ポイント最大9倍!/
楽天市場
\ポイント5%還元!/
Yahooショッピング
著:Jetson Japan User Group, 著:からあげ, 著:北崎 恵凡, 著:古瀬 勉, 著:鶴長 鎮一, 著:中畑 隆拓
¥2,997 (2024/04/21 10:28時点 | Amazon調べ)
\ポイント最大9倍!/
楽天市場
\ポイント5%還元!/
Yahooショッピング

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」の画像の中のオブジェクトが正しく検出できました。

プログラミングのスキルを活かすには

プログラミングのスキルを仕事に活かすには、フリーランスとして受けられる案件がおすすめです。

テックゲートフリーランスは、フリーランスエンジニアの案件紹介や契約交渉・債権管理などのサポートを行っているフリーランスエージェントです。

テックゲートフリーランスのココがおすすめ
  • リモートワーク可能な案件が50%以上
  • 週3〜4日の案件の豊富さ
  • 年収100万円アップのサポート

無料相談フォームからご登録いただくだけで、経験年数やスキルに合わせて案件をご紹介また、リモートワーク可能な案件や週3〜4日OKの案件も豊富に用意されています。

副業やフリーランスとして仕事を受けてみたいと考えている方には、テックゲートフリーランスが提供する多様なサポートが非常におすすめです。

無料で登録してみる!

まとめ

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

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

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

また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。

スキルアップや副業にぜひ活用してみてください。

スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。

講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。


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

\ポイント最大9倍!/
楽天市場
\ポイント5%還元!/
Yahooショッピング

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

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

参考

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

コメント

コメントする

CAPTCHA


目次