Jetson Nano 2GBを購入しました
先日、NVIDIAの人と打ち合わせる機会があって、そのNVIDIAの方の話を聞いていたら、なんだか急にJetsonが欲しくなって、思わず買ってしまいました。
といっても、Nanoの2GBという、Jetsonでも一番安いやつ。お値段は、7千円弱。Raspberry Pi 4とはいい勝負くらいの価格です。
開封すると、出てきました。2GB版Jetson Nanoの開発キット。
4GB版と比べると、いろいろなものが省かれてます。まず、USB-Aの端子が3つしかないし、AC電源コネクターもなし。その代わり、USB-Cコネクターがついてます。なお、その名の通り、メモリーが2GBしかありません。
もっとも、必要最小限なものはあるので、十分かと。
で、早速いじろうかと思ったのですが。
そういえばこれ、モニターどうしようか?となりまして。
しょうがないので、デスクトップ機で使っていたあの23インチモニターを復活させました。
う……せっかく作ったスペースが、丸つぶれに。
何よりも気になったのは、このUSB-HDDと干渉すること。
あと1センチ高ければ干渉しないというのに、ほんのわずかガチ当たりです。仕方がないので、机を少しスライドするなどして、モニターを無理矢理収めます。
いろいろと配置を変えて、どうにかすっきりさせました。
さて、この先少し、備忘録も兼ねて、Jetson Nanoのセットアップから、物体検出を動かすまでをまとめます。
以下、ちょっと長いので、簡単に目次をつけてみました。
準備
他ではあまり書かれてませんが、Jetson Nanoだけでは動きません。
まず、Jetson Nanoって、Wi-Fiがありません。
うちでは、そこらへんに転がっていたWi-Fiドングルをぶっ挿しておきました。
他にもキーボード、マウス、そしてモニター、画像認識的なことをやらせるには、さらにUSBカメラも必要です。USBが3つしかないので、キーボード、マウスは一体型のドングルを使うやつがいいですね。
また、電源にはUSB-C PD対応電源も必要。
上の画像の左端にUSB-Cコネクターがついてますが、ここに最低でも5V 3A(15W)を供給しなきゃいけないようです。
私はこの間買った、Aukey製の20WのUSB-C電源を使いました。最近はPD対応電源も安いし、iPhone/Androidスマホの急速充電もできるので、一つは持っておいた方が便利かと。
SDカードですが、UHS-I対応のmicroSDXC 64GB以上が推奨。ですが、私は東芝製32GBを使ってます。
環境インストール
(1) OS (JetPack)のインストール
まず、microSDカードにOSを入れます。
「JetPack」という、Ubuntu + 必要環境があらかじめ収められたイメージファイルを落として使うのが便利です。
このあたりは、Raspberry Piよりは親切です。
ダウンロード元は、以下。
Jetson Download Center | NVIDIA Developer
ですが、ここでひとつ注意が。
ここで「JETSON NANO DEVELOPER KITS」の「For Jetson Nano 2GB Developer Kit:」の下にある「Download the SD Card Image」を押してしまいそうになりますが、そこではなく、下にスクロールして現れる「> Jetson Nano 2GB Developer Kit SD Card Image 4.5」というのをクリックします。
普通にクリックすると最新のバージョンが4.5.1が入手できるのに対し、以下のリンク先を見る限りでは、どうやら4.5を選ばないといけない模様('21/6/21現在)。
jetson-inference/aux-docker.md at master · dusty-nv/jetson-inference · GitHub
ここを見ると、JetPack 4.5、4.4.1、4.4の3種類しか書かれてません。
いや、もしかしたら4.5.1でもいけたのかもしれませんが、やり直しとなると、とんでもなくめんどくさいことになるので、ここは無難に4.5にしておきました。
なお、すごく時間がかかりました。3時間以上かかりましたかね。
ダウンロードしたZipファイルを展開し、イメージファイルを取り出します。
で、このイメージファイルを、以下のサイトから入手した「balenaEtcher」というソフトでSDカードに書き込みます。
balenaEtcher - Flash OS images to SD cards & USB drives
この時、間違ってもOSのドライブや外付けの記憶デバイスなどを選択しないように注意しましょう(一度やらかしました)。
書き込みが終わったら、Jetson Nano本体に挿し込みます。
なお、バカでかいヒートシンクの裏側辺りに、SDカードスロットがあります。そこにカチッとはめればOK。
(2) Dockerなどの導入
物体認識、物体検出を動かすための、Dockerイメージを導入します。
やり方は、先に載せたリンク「jetson-inference/aux-docker.md at master · dusty-nv/jetson-inference · GitHub 」にも載ってますが、ターミナルを開いて、以下のようなコマンドを打ち込みます。
$ git clone --recursive https://github.com/dusty-nv/jetson-inference
$ cd jetson-inference
$ docker/run.sh
最初のgit cloneに時間がかかりますが、しばらく頑張って待ちます。
なお、この「cd jetson-inferene」と「docker/run.sh」は、電源を入れなおすたびに実行が必要です(この環境を使いたい場合)。
これでとりあえず、Jetson Nano 2GB版を動作できるところまで来ました。
テスト動作(物体検出)
さて、いよいよ動作です。
USBカメラをつけた状態で、以下を実行します。
ターミナルでは「jetson-inference」というディレクトリにいると思うので、その状態で
$ cd build/aarch64/bin
と入力。
「ls」と打ち込むと、たくさんコードらしきものが入ってますが、物体検出を動かします。
動かし方は、簡単。ここで、以下のコマンド
$ ./detectnet.py /dev/video0
を入力し、Enterキー。
初回実行だけ、なにかを構築しているみたいで、えらく時間がかかります。が、
そのうち、こんな風に物体検出の画面が出てきます。
私が「person」として認識されてますね。
カメラをメインPCに向けると、見事「laptop」と「mouse」で認識されてます。
なお、この状態のSurface Goも「laptop」時々「book」と認識されました。
iPhone 7 Plusとダイソー製Bluetoothスピーカー。
iPhoneの「cell phone」はともかく、スピーカーの「suitcase」はなんやねん?
という具合に、結構遊べます。
速度はだいたい、20fps出てますね。エッジ端末でこの速度はなかなかすごい。
ちなみにこの物体検出のアルゴリズムはSSD(Single Shot multibox Detect)+mobileNetだそうです。いわゆるYoloよりはちょっと劣る感じかなぁと。
そうそう、これを動かしてる最中に、このバカでかいヒートシンクに触れると、めちゃくちゃ熱いです。
多分ですが、60度以上はありそう。
安定動作には、ファンは必須でしょうね。
とまあ、お手軽Jetson Nano 2GBを入手して、お手軽に物体検出をさせてみました。
以前は、ここまで到達するだけでも一苦労だったんですけどね……楽になりました。
問題は、これをどう応用するか、なんですけどね。
![]() |
« Windows 11が登場!? | トップページ | ディスプレイアームを買ってみた »
「Raspberry Pi・Arduino・電子工作」カテゴリの記事
- 名古屋 大須へ行ってきました(2024.04.28)
- Raspberry Pi 5用電源購入(2024.04.19)
- Interface 2024年5月号はRaspberry Pi 5特集(2024.03.26)
- Raspberry Pi 5とPCがつながらなかった理由は「プライバシーセパレーター機能」のせいでした(2024.03.12)
- Raspberry Pi 5に日本語LLM(ELYZA-Japanese-Llama-2-7b-fast-Instruct)を入れてみた(2024.03.10)
コメント