即できる!初めてのJetson nanoでAI入門:DeepStream編

即できる!初めてのJetson nanoでAI入門:DeepStream編

Jetson nanoはAI入門におすすめ

こんにちは。

AI coordinator管理人の清水秀樹です。

コロナが猛威を奮っていますね。

健康には十分気をつけていきましょう。

さて、本日はAI初心者に大変オススメのJetson nanoを使ったAI体験を簡単に実現できる方法をご紹介致します。

Jetson nanoはNvidia社が開発したGPU搭載の小型マイコンになります。

なぜAI初心者にオススメなのかというと、セットアップが滅茶苦茶楽ちんだからです。

通常のPCですといちいちAI開発用にセットアップが必要となりますが、Jetson nanoはもともとAIを活用することを前提に開発したマイコンになっているため、Jetson nano用のOSイメージを活用すればすぐにでもAIを体験できるようになっています。

しかもマイコンそのものは1万ちょっとと金額も安い。

通常のGPU搭載のPCを購入すると、簡単に10万円以上のコストが発生するので、この金額でAIを体験できることは非常にありがたいですね。

なので、AI初心者にオススメの製品となります。

このページでは、そんなJestson nanoを使って、必要な機材からAIを実行するまでの手順を説明しています。

基本的にこのページの流れに沿ってセットアップして頂ければ、躓くことなくAIを体験できるはずです。

ぜひ参考にしてみてください。

また、動画でもJetson nanoのセットアップ方法について紹介しています。

こちらも参考にして頂ければ幸いです。

必要な機材の紹介

Jetson nano単体では機能しません。

Jetson nanoを起動するために周辺機器を揃えていく必要があります。

それを紹介します。

Jetson nano本体

これがないと始まりません。

本体を購入しましょう。

micro SDカードやAC電源、HDMIケーブル等も購入が必要になるので、すべてセットになっている商品を購入することをおすすめします。

Jetson nanoは通常はUSBから電源を取る形になりますが、がっつりAIを起動したい場合はAC電源から電力を供給したほうが安定します。

特に初めてJetson nanoを扱う場合はAC電源から始めることをおすすめします。

USB電源ではGPUをフルパワーで扱うことが出来ないからです。

電源スイッチ

Jetson nanoは電源をつなげた瞬間から自動起動します。

それはそれで問題ないのですが、PCのように起動スイッチでJetson nanoを起動したい場合には電源スイッチを購入しましょう。

これは必須ではありませんが、あると色々便利です。

ジャンパーピン

電源スイッチやAC電源を使用できるようにするために、ジャンバー品が必要になります。特に電源スイッチやAC電源ではなくUSB電源で起動する場合は必要ありません。

冷却ファン

GPU冷却用です。

なくても問題ありませんが、Jetson nanoには熱管理機能があり、GPUが熱くなるとパワーを自動的に制御します。

冷却用ファンがあれば安定してGPUが働いてくれるようになるため、取り付けておきましょう。

マウス/キーボード/LANケーブル/HDMIディスプレイ/USBカメラ

マウスとキーボードとLANケーブルとHDMIディスプレイが必要です。

ノートPCをお使いの方の場合は持っていないことが殆どだと思います。

Jetson nanoに限らずラズパイ等でも同様に必要になるので、小型マイコンを積極的に使っていこうと考えているなら良いものを購入しましょう。

まあ、動けば何でも良いかと思います。

ハードで必要になるものは以上です。

Jetson nano OSイメージ作成

OSイメージの準備

Jetson nano用のOSイメージを準備します。

Nvidiaの公式サイトからダウンロード出来ます。

Jetson nano用のイメージをダウンロードしましょう

5Gバイト以上あるので気長に待ちましょう。

SDカードをフォーマットする

次はダウンロードしたSDカードイメージを焼くSDカードをフォーマットします。

SDメモリカードフォーマッターを使用しましょう。

Windows用とMac用があるので、お使いの機種に合わせてダウンロードして使用します。

カードを選択し、クイックフォーマットしましょう。

わからない方は動画を参考にしてください。

SDカードに書き込む

MicroSDカードにJetson Nano Developer Kitを書き込みます。

OSイメージをMicroSDカードに書き込むのに便利なソフトがあります。

balenaEtcherというソフトです。

無料で使えます。

ソフト名の読み方は不明です。

バレナエッチャーかな?

シンプルなUIなので迷わずできるかと思いますが、わからない場合は動画を参照してください。

書き込みには時間がかかるので気長に待ちます。

30分ぐらいでしょうか。

書き込みが終わればOSイメージ作成は以上となります。

Jetson組み立て

次はハードウェアの組立です。

HDMIディスプレイやマウス、キーボードの取り付けやMicroSDの差込は説明するまでもないと思いますので、割愛します。

LANケーブルとUSBカメラも取り付けは難しくないと思います。

ここではそれ以外の電源周りや冷却ファンについて説明します。

AC電源からの供給と、電源スイッチから起動できるようにするためには、数カ所にジャンパーピンを取り付ける必要があります。

まずAC電源からの供給ですが、それを実現するためにはJ48ピンにジャンパーピンを取り付ける必要があります。

動画や写真を参考にしてください。

続いて、電源スイッチの取り付けです。

J40ピンに取り付けます。

取り付けるのは、

  • 電源スイッチ
  • リセットスイッチ
  • 自動電源ONの停止

の3箇所になります。

写真から分かりますでしょうか?

  • 右が電源スイッチ
  • 一つ飛ばして真ん中がリセットスイッチ
  • 左が自動電源ONの停止

となります。

続いて冷却ファンの取り付けです。

J15ピンに取り付けます。

写真を参考にしてください。

以上で準備は完了です。

Ubuntu起動後の準備

ハードウェアの準備が完了したら、いよいよJetson nanoを起動します。

電源スイッチをオンにしてUbuntuを起動しましょう。

コマンドを起動してまずは定番のアップデートから。

だいたい10分ぐらいかかります。

その他にも初期状態ではGPUをフルパワーに使えないなど色々あるので、AIを試す前に環境のセットアップを行います。

とはいってもただコマンドを打つだけなのです難しくないです。

フルパワー化

swap領域の増加

シェルスクリプトを準備して下さっている方がいるので、ありがたく利用させて頂きます。

pip3のインストール

GPU使用率確認ツール

Jetson nanoではnvidia-smiコマンドが使えません。

代わりのツールがあるので、それで確認できます。

起動後はキーボードの1〜5のボタンで状況を確認できるようになります。

Ctrl-Cで終了できます。

DeepStream

DeepStream SDKのセットアップ

DeepStream SDKが公式サイトからダウンロードできます。

Jetson nano用のDownload.devをダウンロードしましょう。

これ以降は基本的に公式サイトにあるガイド通りに進めていきます。

以下のコマンドで必要なパッケージを一気にインストールします。

次に以下コマンドを打ち込みましょう。

ダウンロードしたSDKをhomeフォルダに保管して、以下を実行します。

ターミナルもhomeに戻しましょう。

バージョンIDは必要に応じて変更してください。

数分でインストールは完了します。

DeepStream SDKのインストールが完了したらデモを実行してみましょう。

ただし、ここまで完了したら、一度再起動しましょう。

このままデモを実行しても十中八九メモリ不足で実行できません。

再起動が完了したら、以下のコマンドでデモを実行しましょう。

起動するまでに数十秒かかります。

8画面の映像が流れましたでしょうか?

これが出来ればひとまずはセットアップ完了です。

YOLOを実行してみよう

物体検出の大御所であるYOLOを実行してみましょう。

まずはモデルのダウンロードを行います。

これ以外と時間かかります。

続いてcudaのversionを確認します。

確認できたCUDAのバージョンを指定してコンパイルします。

私の場合は10.0でした。

コンパイルは1分程度ですね。

さあ、準備が完了しました。

yolov2-tinyモデルでデモを実行してみましょう。

USBカメラで実行

いよいよ自前のUSBカメラで実行します。

まずはUSBカメラ用のコンフィグファイルを作成する必要があるので、以下のコマンドを使って、ベースとなるコンフィグファイルをコピーしましょう。

コピーして新たに作成したコンフィグファイルを編集します。

42行目にある[source0]の箇所を変更していきます。

上記を以下のように変更しましょう。

変更したら実行しましょう。

無事起動出来ましたでしょうか?

認識率は低いですが、このように簡単に物体検出を試すことが出来ます。

Jetson nanoはAI入門機としてはオススメ

通常のPCで同じことをやろうとするとコストもかかる上に、環境構築も大変なので、お手軽にAIを試してみるならJetson nanoが大変オススメですね。

しかもロボット作成していくなら、JetsonはGPIOも搭載しているため、モーター等も簡単に取り付けていくことができます。

近いうちに、その辺りについても紹介していきたいと思います。

それではまた!

About The Author

Hideki
東京大学発AIスタートアップ企業でロボット開発室室長、画像解析室室長、動画解析室室長を務め、AIエンジニアとしても画像認識関連の特許を在籍中に3つ取得。その後、KDDIグループ内でプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRISTのテックリードとして農業の人手不足の解決に向けた収穫ロボットの開発にチャレンジしている。ロボットは技術の総合格闘技との考え方から、AIだけでなく、ハードやエレキ、通信からクラウド、IOTまで幅広く手掛けることができる。最近では人とロボットの共存を目指すべく、性能だけを追い求める開発から「感動やワクワク体験」をデザインできるロボットの研究を進めており、人とロボットがうまく共存できる世界を作り出したいと日々行動している。

LEAVE A REPLY

*
*
* (公開されません)