LoginSignup
4

More than 3 years have passed since last update.

Jetson Nanoを使って物体検出(YOLO) -①Jetson Nanoの設定編-

Last updated at Posted at 2020-11-09

はじめに

会社の同僚とJetson Nanoを使用して、YOLOによる物体検出にチャレンジしてみました。

①【基本】Jetson Nanoの設定
②【基本】Jetson Nano上で物体検出YOLOの実行
③【発展】オリジナルモデルを作成して実行

今回は①Jetson Nanoの設定編となります。
実際に購入したもののリンクも貼り付けますので、参考にしてみてください。

1. 用意するもの

  • NVIDIA Jetson nano開発者kit
  • Wifi 無線LAN 子機
    →無線LANを使用するなら必要。こちらを購入しました。
  • microSDカード
    →64GBのものを使用
  • USBカメラ
    →Amazonで1,000円くらいのものを購入しました。
     解像度が高すぎると、処理が重くなりますので、こんな感じの低いものでいいです。
  • HDMIケーブル、HDMI接続可能なモニター
    →モニターについては、TVがHDMI接続可能であれば、TVでも大丈夫です。
  • 電源アダプター
    →USB給電もできますが、物体検出を行うなら電力不足になります。
     4A-5VのJ25電源アダプターが必要となります。
  • USBマウス、USBキーボード

2. ジャンパーピンのセッティング

電源アダプターからの給電を行うために、J48ヘッダーに2.54mmピッチのジャンパーピンを取り付ける必要があります。
ジャンパーピンは開発者キットに付属していました。
付属していないときもあるみたいなので、なければ購入が必要です。

3.microSDへOSのインストール

Windowsパソコンを使用してmicroSDにOSをインストールしましょう。

OS「JetPack」のダウンロード

NVIDIA公式サイトから「JetPack」をダウンロードします。NVIDIA社のJetPackページにパソコンでアクセスし、公式サイトから最新版のOSイメージをダウンロードします。下記画像のJETSON NANO DEVELOPER KITSのDownload the SD Card Imageをクリックを選択します。
zipファイルがダウンロードされますので、展開しておきましょう。
拡張子が.imgとなっているファイルがあるはずです。この後使用します。
https://developer.nvidia.com/embedded/jetpack
image.png

SDカードのフォーマット

microSDカードを初期化(フォーマット)します。SD Associationが提供する「SDカードフォーマッター」をダウンロードしてインストール後、クイックフォーマットでフォーマットします。
https://www.sdcard.org/jp/downloads/formatter/
image.png

SDカードに書き込む

balenaEtcherというソフトを使用するため、下記サイトからインストールをしてください。
balenaEtcherを起動後、Select imageをクリックして、先ほどダウンロードした「~.img」ファイルを選択します。
Select targetでは、先ほどのSDカードを選択します。
最後にFlash!を選択すれば、書き込みが開始されます。時間がかかるので、気長に待ちます。
https://www.balena.io/etcher/

4. Jetson Nanoの初期設定

microSDカードを挿入し、USBポートにWifi無線LAN子機/キーボード/マウス、HDMIでディスプレイを接続した状態で電源アダプターを差し込むと電源が入ります。
あとは表示内容に従って、設定を行いましょう。
注意事項ですが、言語選択についてはEnglishを選択しましょう。
日本語にすると、ディレクトリが日本語になってしまい、余計なことで悩まされることになります。

5. Swapの設定

Jetson Nanoには4GBのメモリが積まれていますが、物体検出を行うためには、不十分な容量となります。microSDを仮想メモリとして利用するために、Swapファイルを作成しましょう。
以下のコマンドを実行すれば、4GBのSwapファイルを作成することができます。

# Swapファイルの作成
sudo dd if=/dev/zero of=/var/swapfile bs=1G count=4 #4GB
sudo mkswap /var/swapfile #Swapファイルの初期化
sudo chmod 600 /var/swapfile #ファイル権限の変更(rootユーザーのみがアクセス可能)

countの値を変更することで、Swapファイルの大きさを変更することができます。

また、Jetson Nano起動時に、自動的にSwapファイルをマウントするためには/etc/fstabファイルを開き、末尾に下記の一行追加します。
/var/swapfile none swap swap 0 0
ここで再起動するか、再起動せずにSwapファイルを有効化するためには下記コマンドを実行してください。

# Swapファイルの有効化
sudo swapon /var/swapfile

free -mコマンドを実行すれば割り当てられているSwap領域のサイズを確認することができます。(初期状態で2GBのSwap領域が割り当てられているので、6GBになるはずです。)

※参考:【Linux】スワップ領域の作成

6. パフォーマンス最大化

最大パフォーマンスを発揮するために、パワーモードを変更しましょう。
下記を実行するだけでパフォーマンスを最大化することができます。

sudo nvpmodel -m 0
sudo jetson_clocks

まとめ

以上でJetson Nanoの設定は完了です。
次回はJetson Nano上で物体検出を実行してみます。
https://qiita.com/Kim_Burton/items/455d21c8eb9da687aecc

参考文献

謝辞

本内容については、会社の同僚の三原さんと一緒に検証した内容になります。
また、コネクタ周りは元同僚の崔さんに確認いたしました。
この場をお借りして御礼申し上げます。

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
4