連載
» 2019年09月12日 10時00分 公開

Jetson Nanoで組み込みAIを試す(4):「Jetson Nano」にUSBカメラをつなげてにゃんこを認識させる (1/3)

NVIDIAが価格99ドルをうたって発表した組み込みAIボード「Jetson Nano」。本連載では、技術ライターの大原雄介氏が、Jetson Nanoの立ち上げから、一般的な組み込みAIとしての活用までを含めていろいろと試していく。第4回は、Jetson Nanoに市販のUSBカメラを接続してさまざまな物体を認識させてみる。にゃんこもいるよ!

[大原雄介,MONOist]

⇒連載「Jetson Nanoで組み込みAIを試す」バックナンバー

 前回は「imagenet-console」を使って、静止画の認識を行うというデモだったわけで、一応意味があると言えばあるが、あまり実用的とは言い難い。ということで、今回はカメラを使ってリアルタイムに認識させるデモを実施してみたい。

 Jetson Nanoの基板上にはカメラI/F(インタフェース)が搭載されており(図1)、ここにカメラを直接接続することが可能だ。

図1 図1 赤丸で囲んだ部分がカメラI/Fの端子(クリックで拡大)

 I/F規格はMIPI CSI-2で、フラットケーブルを利用して接続する形となる。これに準拠していて、かつ国内で入手できるものについて取りあえず検索をかけてみると、以下のような候補がすぐ見つかった。

 e-CAM30_CUNANO(オン・セミコンダクターのAR0330を採用)はともかく、SainSmart IMX219(ソニーのIMX219を採用)に関しては似た製品が多くのメーカーから発売されており、いろいろ選ぶことができそうだ。加えて、以下のような選択肢もある。

 このようなRaspberry Pi向けカメラの流用も可能(ただし、Raspberry Pi V1向けのカメラは非対応。V2以降が必須)となっている。お値段も、安いものは3000円程度となっているので、あまり考えずに購入できると思う。

 ただし、わざわざこのためだけにカメラを買うのも……ということで、部屋を探してみたらUSBカメラ(BUFFALO BSW32KM04)が出てきた(図2)。これが使えないか? ということでちょっと確認してみた。

図2 図2 確か昔、猫用のペットヒーターの利用具合を見せるタイムラプス動画を作成するために買ったような……(クリックで拡大)

 というのは、Jetson NanoのLive Camera Recognition Demoでは、MIPI CSI-2カメラ以外にV4L2(Video for Linux Two API) Cameraをサポートしているからで、こちらが使えればその方が話が早い。

 ということでJetson NanoにUSBカメラを接続してみた(図3)。モデルは筆者の仕事場にたむろっているまめっち先生(編注:大原氏の愛猫)を利用した(図4)。

図3 図3 要するに「挿す」だけ。ドライバのインストールすら不要(クリックで拡大)
図4 図4 仕事をしていると邪魔しに来る。ただし露骨にカメラを向けると怪しんで逃げる(クリックで拡大)

 さて、これが使えるかどうかを確認するには、Ubuntuに標準で入っているCheeseを使うのが早い。左上の“Search your computer”で“Cheese”を入力すると出てくるので、これを立ち上げるとあっさりとUSBカメラを認識して動画表示がスタートした(図5※1)。これなら問題なさそうだ。

図5 図5 カメラを向けた瞬間に「ろくでもないことをされるのではないか?」と怪しんで逃げたおかげで被写体ボケが……

※1)camera-viewerという、USBカメラの表示をそのまま行うだけのプログラムも用意されている、binディレクトリで以下の内容を実行するだけで同じことができる。

./camera-viewer --camera=/dev/video0

 ただし、筆者の環境では安定性がいまひとつだった。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.