Jetson Orin Nano 対応カメラモジュール おすすめ5選
Jetson Orin Nanoでカメラを使いたいけど、どのモジュールを選べばいいか迷っていないだろうか。対応・非対応の判断が難しく、購入してから動かなかったという失敗は避けたい。この記事では、実機で動作確認済みのカメラモジュールを5つ厳選して紹介する。
この記事でわかること
Jetson Orin Nanoのカメラインターフェース概要
Jetson Orin Nanoには、カメラを接続するための方法が大きく2種類ある。
CSIインターフェース
Jetson Orin Nanoの開発者キット(Developer Kit)には、22ピンのCSI(Camera Serial Interface)コネクタが2ポート搭載されている。最大4台のカメラに対応し、8 MIPI CSI-2レーン(D-PHY 2.1、最大20Gbps)で高速データ転送が可能だ。Raspberry Piのカメラコネクタと形状が似ているが、ピン配列や仕様が異なるため、Raspberry Pi用カメラはそのままでは使えない点に注意が必要だ。
CSIカメラの利点は、NVIDIAのISP(Image Signal Processor)を通じて処理されるため、低レイテンシかつ高フレームレートでの映像取得が可能な点だ。機械学習の推論パイプラインとの相性も良く、最大67 TOPSのAI性能を活かした処理が実現できる。
USBカメラ
USB 3.0ポートに対応したWebカメラも使用できる。CSIカメラに比べてドライバの準備が不要なケースが多く、すぐに試したい初心者には取っつきやすい選択肢だ。ただし、高解像度・高フレームレートを求める場合は帯域幅の制限に注意する必要がある。
おすすめカメラモジュール5選
1. Yahboom IMX219搭載 CSIカメラ
最も導入しやすいCSIカメラの一つだ。センサーはSony IMX219で、JetPackに含まれるドライバが公式でサポートしているため、追加のドライバインストールが不要なことが多い。Jetson Orin Nano向けの15ピンから22ピンへの変換ケーブルが付属するモデルも多く、すぐに使い始められる。
カメラモジュール Raspberry Pi Camera Module V2(Amazon) を購入する際は、NVIDIA公式のJetson向け変換ケーブルが付属しているか確認しよう。
接続後、以下のコマンドで動作確認できる。
# カメラデバイスの確認
ls /dev/video*
# GStreamerを使った映像確認
gst-launch-1.0 nvarguscamerasrc ! \
'video/x-raw(memory:NVMM),width=1280,height=720,framerate=30/1' ! \
nvvidconv ! \
'video/x-raw,format=BGRx' ! \
videoconvert ! \
autovideosink
2. IMX477(Raspberry Pi HQ Camera)
より高品質な映像を求めるなら、IMX477センサーを搭載したHQカメラが候補に上がる。12.3メガピクセルの高解像度センサーを備え、交換式レンズに対応しているため、用途に合わせたレンズ選びができる。Arducamなどから、Jetson Orin Nano向けの同期型デュアルカメラモジュールも提供されている。
JetPack 6.x以降で安定した動作が確認されている。NVIDIA公式フォーラムで最新のドライバ情報を確認してから購入することを勧める。
3. THSCJ101(PDAF対応13MP カメラキット)
業界向けの高機能カメラとして、THEIA-CAM™ファミリーのTHSCJ101が注目される。ソニー製IMX258センサーと独自の画像処理プロセッサTHP7312-Pを搭載し、位相差オートフォーカス(PDAF)による超高速AF機能を実現している。
V4L2(Video4Linux2)ドライバで制御でき、様々なビデオ機能をカスタマイズできる。プロトタイプ開発から量産まで対応可能な設計になっている。
4. Logicool C920(USBカメラ)
「とにかく手軽に始めたい」という場合は、定番のUSBカメラが最善の選択だ。LogicoolのC920はLinux環境でのUVC(USB Video Class)対応が安定しており、ドライバなしですぐに認識される。
カメラモジュール Raspberry Pi Camera Module V2(Amazon) としてではなくWebカメラとしての位置づけだが、OpenCVやGStreamerとの連携も問題ない。
# USBカメラの認識確認
v4l2-ctl --list-devices
# OpenCVでの動作確認(Python)
python3 - << 'EOF'
import cv2
cap = cv2.VideoCapture(0)
if not cap.isOpened():
print("カメラを開けませんでした")
else:
print("カメラを認識しました")
ret, frame = cap.read()
if ret:
cv2.imwrite("test.jpg", frame)
print("test.jpgに保存しました")
cap.release()
EOF
5. Intel RealSense D435i(深度カメラ)
物体との距離情報も同時に取得したい場合は、Intel RealSenseシリーズが有力な選択肢だ。D435iはRGB画像に加えて深度マップを取得でき、ロボティクスや3D物体認識の用途で強力なツールになる。
カメラモジュール Raspberry Pi Camera Module V2(Amazon) としては高価な部類に入るが、librealsenseライブラリのJetson対応が整っており、セットアップの情報も豊富だ。
# librealsenseのインストール(Ubuntu 20.04/22.04対応)
sudo apt-get install -y librealsense2-utils
# 動作確認
realsense-viewer
カメラ接続時のよくあるトラブルと対処法
CSIカメラが認識されない
最もよくある原因の一つが、フレキシブルケーブルの向きの間違いだ。22ピンのコネクタはケーブルの金属端子面の向きが決まっている。コネクタのロックを完全に開いた状態でケーブルを挿入し、しっかりロックしてから電源を入れよう。
# CSIカメラデバイスの確認
ls /dev/video*
# nvarguscamerasrcが利用可能か確認
gst-inspect-1.0 nvarguscamerasrc
映像が表示されない(GStreamerエラー)
JetPackのバージョンによってGStreamerパイプラインの書き方が変わる場合がある。JetPack 6.x系では新しいパイプライン形式が推奨されている。以下のコマンドでJetPackのバージョンを確認してから、適切なパイプラインを選択しよう。
# JetPackバージョンの確認
cat /etc/nv_tegra_release
# または
dpkg -l | grep nvidia-jetpack
USBカメラの映像が途切れる
USB 3.0ポートに接続しているにもかかわらず映像が不安定な場合、電力不足が原因のことがある。USB電源アダプター Anker PowerPort III 65W(Amazon) の出力が十分かどうかを確認し、電力に余裕のある電源を用意することで改善するケースが多い。
# dmesgでUSBエラーを確認
dmesg | grep -i usb | tail -20
カメラ選びのまとめと判断基準
用途ごとに適したカメラをまとめる。
Jetson Orin Nano Superの登場により、開発キットの価格が249ドルまで低下し、エッジAIの導入がより容易になった。NVMe SSD Western Digital SN770 500GB NVMe(Amazon) に映像を記録するセットアップを組み合わせると、高フレームレートの映像でもストレージがボトルネックになりにくい。カメラと合わせてストレージ環境の整備も検討してほしい。
まとめ
Jetson Orin Nanoで使えるカメラモジュールは、CSIとUSBの2系統があり、それぞれに特徴がある。最初の一台としては動作確認情報が豊富なYahboom IMX219搭載カメラかLogicool C920が無難な選択だ。深度情報が必要な用途ではRealSenseを、業界向けの高機能が必要ならTHSCJ101を検討してほしい。
カメラ選びで大切なのは、JetPackのバージョンとドライバの対応状況を事前に確認することだ。公式フォーラムやGitHubのIssueを検索すると、同じカメラを使っている人の情報が見つかることが多い。購入前に一度調べておくだけで、「動かなかった」という失敗を避けられる。
---
次はこちら
カメラを接続したら、次はリアルタイム物体検出や高速推論に挑戦してみよう。

コメント