概要
NVIDIA Jetsonは、NVIDIAが開発するエッジAI推論向けの組み込みコンピュータプラットフォームです。NVIDIA製GPUとARM CPUを1つのSoMまたはSoCに統合し、消費電力を抑えながらクラウドGPUサーバーに匹敵する深層学習推論性能をエッジで実現します。
自動運転・ロボット・スマート工場・医療画像診断・スマートシティなど、リアルタイムの画像認識・物体検出・セグメンテーション・自然言語処理が必要な用途向けに設計されています。CUDAとcuDNNのエコシステムをエッジで利用でき、クラウドで学習したモデルをほぼそのままデプロイできる点が最大の強みです。
製品ラインナップはエントリー向けのJetson Nano(5〜10W)から高性能のJetson AGX Orin(15〜60W)まで幅広く、用途と予算に合わせて選択できます。
歴史・背景
NVIDIAはもともとPC向けGPUメーカーとして知られていましたが、2014年に初の組み込み向け製品Jetson TK1を発売。Tegra K1 SoC(192コアKeplerGPU + Cortex-A15 ×4)を搭載した開発ボードとして、ロボット・ドローンの研究用途で注目を集めました。
2016年にJetson TX1(Maxwell GPU 256コア + Cortex-A57 ×4)、2017年にJetson TX2(Pascal GPU 256コア + Denver2 + Cortex-A57)が登場し、SLAM・物体認識・自律走行の研究開発に広く採用されました。
2019年のJetson Nano(Maxwell GPU 128コア・5〜10W・99ドル)は低価格化で教育・プロトタイプ市場を開拓。同年に発売したJetson AGX XavierはAmper系GPUと独自DLA(Deep Learning Accelerator)を内蔵し、32TOPS(INT8)という当時最高のエッジAI性能を実現しました。
2022〜2023年にはJetson AGX Orinシリーズ(Ampere GPU 2048コア + 12コアArmV8.2 CPU + 2×DLA、最大275TOPS)が登場。また量産向けSoMとしてのJetson Orin NX / Nanoも展開し、産業機器への組み込みを支援しています。
技術仕様
製品ラインナップ比較(2024年時点)
| 製品 | GPU | CPU | メモリ | AI性能 | TDP |
|---|---|---|---|---|---|
| Jetson Nano | Maxwell 128コア | Cortex-A57 ×4 | 4GB LPDDR4 | 472 GFLOPS | 5〜10W |
| Jetson Orin Nano 4GB | Ampere 512コア | Cortex-A78AE ×6 | 4GB LPDDR5 | 20 TOPS | 5〜10W |
| Jetson Orin Nano 8GB | Ampere 1024コア | Cortex-A78AE ×6 | 8GB LPDDR5 | 40 TOPS | 7〜15W |
| Jetson Orin NX 8GB | Ampere 1024コア | Cortex-A78AE ×8 | 8GB LPDDR5 | 70 TOPS | 10〜25W |
| Jetson Orin NX 16GB | Ampere 1024コア | Cortex-A78AE ×8 | 16GB LPDDR5 | 100 TOPS | 10〜25W |
| Jetson AGX Orin 32GB | Ampere 2048コア | Cortex-A78AE ×12 | 32GB LPDDR5 | 200 TOPS | 15〜60W |
| Jetson AGX Orin 64GB | Ampere 2048コア | Cortex-A78AE ×12 | 64GB LPDDR5 | 275 TOPS | 15〜60W |
TOPS(Tera Operations Per Second)はINT8精度の推論性能を示す指標です。
JetPack SDK
JetPackはJetson向けのソフトウェアパッケージで以下を含みます:
JetPack 6.x(Jetson Orin向け)
├── Linux BSP(Ubuntu 22.04 LTS ベース)
├── CUDA 12.x(GPUプログラミングフレームワーク)
├── cuDNN 9.x(ディープラーニング演算ライブラリ)
├── TensorRT 10.x(推論最適化エンジン)
├── OpenCV(画像処理ライブラリ)
├── VPI(Vision Programming Interface)
├── Multimedia API(カメラ・エンコード・デコード)
├── DLA(Deep Learning Accelerator)ドライバー
└── Nsight Systems(プロファイラ)
動作原理
JetsonはNVIDIA CUDAエコシステムをフル活用します:
# TensorRTを使った画像推論例(Python)
import tensorrt as trt
import pycuda.driver as cuda
import pycuda.autoinit
import numpy as np
from PIL import Image
# TensorRTエンジンのロード
with open("model.engine", "rb") as f:
engine = trt.Runtime(trt.Logger()).deserialize_cuda_engine(f.read())
context = engine.create_execution_context()
# 入力画像の前処理
img = Image.open("input.jpg").resize((640, 640))
img_np = np.array(img, dtype=np.float32) / 255.0
img_np = np.transpose(img_np, (2, 0, 1))[np.newaxis] # NCHW形式
# GPU上での推論
d_input = cuda.mem_alloc(img_np.nbytes)
d_output = cuda.mem_alloc(output_size)
cuda.memcpy_htod(d_input, img_np)
context.execute_v2(bindings=[int(d_input), int(d_output)])
output = np.empty(output_shape, dtype=np.float32)
cuda.memcpy_dtoh(output, d_output)
# DeepStreamパイプラインを使ったリアルタイム物体検出
# GStreamerとNVIDIA DeepStreamを組み合わせてRTSPカメラを処理
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst, GObject
Gst.init(None)
pipeline_str = (
"rtspsrc location=rtsp://camera_ip/stream ! "
"rtph264depay ! h264parse ! "
"nvv4l2decoder ! nvvideoconvert ! " # NVIDIAハードウェアデコーダー
"video/x-raw(memory:NVMM),format=NV12 ! "
"nvinfer config-file-path=yolo.txt ! " # YOLOv8 TensorRT推論
"nvvideoconvert ! nvdsosd ! " # バウンディングボックス描画
"nvegltransform ! nveglglessink" # 表示
)
pipeline = Gst.parse_launch(pipeline_str)
pipeline.set_state(Gst.State.PLAYING)
CSIカメラとの連携
Jetsonは最大6系統のCSI-2カメラに対応します:
# GStreamerでCSIカメラからキャプチャ(Jetson用)
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! \
'video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1' ! \
nvvideoconvert ! jpegenc ! filesink location=capture.jpg
用途・ユースケース
NVIDIA Jetsonが選ばれる主な用途:
- 自律走行ロボット: ROS2 + Jetson AGX OrinでLiDAR・カメラのリアルタイム処理。AMRや自律搬送ロボット
- スマートファクトリー: ラインカメラによる外観検査(欠陥検出)・姿勢推定・OCR
- 医療画像診断: MRI・内視鏡画像の病変部位検出・セグメンテーション
- スマートシティ・交通: 交差点カメラによる車両・歩行者カウント・異常検知
- 農業ドローン: 圃場の作物状態の画像解析・病害虫検出
- チェックアウトフリー店舗: Amazon Goに類似したレジなし購買システム
- 物体検出: YOLO系モデルでのリアルタイム検出(60FPS以上)
実装・開発のポイント
モデル最適化(TensorRT)
クラウドで学習したモデルをJetsonで動かす際はTensorRTで最適化します:
# PyTorchモデルをONNXに変換
python3 export_onnx.py --weights yolov8n.pt --img 640
# ONNXをTensorRTエンジンに変換(FP16、INT8)
trtexec --onnx=yolov8n.onnx \
--saveEngine=yolov8n_fp16.engine \
--fp16 \
--workspace=2048
量子化(INT8)でさらに高速化できますが、精度検証が必要です:
FP32: 精度最高、速度最低
FP16: 精度ほぼ同等、速度2〜3倍向上
INT8: 精度若干低下、速度4〜5倍向上(キャリブレーションデータが必要)
電源・冷却設計
| 製品 | TDPモード | 消費電力 | 冷却 |
|---|---|---|---|
| Jetson Orin Nano | MAX PERF | 15W | ヒートシンク必須 |
| Jetson Orin NX | MAX PERF | 25W | ヒートシンク + ファン推奨 |
| Jetson AGX Orin | 60W | 60W | アクティブ冷却必須 |
# 電力モードの設定(nvpmodel)
sudo nvpmodel -m 0 # MAXN(最大性能)
sudo nvpmodel -m 1 # 15W
sudo jetson_clocks # クロックを固定(最大性能)
# 現在の電力消費確認
sudo jtop # Jetson用システムモニター
キャリアボード設計
JetsonはSoMとして販売されており、独自のキャリアボードに実装して量産製品に使えます。NVIDIA公式の回路設計リファレンスが公開されており、キャリアボードメーカー(Seeed Studio・Auvidea・Leopard Imaging等)からも多数の互換キャリアボードが販売されています。
他技術との比較
Jetson vs Raspberry Pi
| 項目 | Jetson Orin Nano | Raspberry Pi 5 |
|---|---|---|
| GPU | Ampere 1024コア | VideoCore VII |
| AI推論性能 | 40 TOPS | 〜1TOPS程度 |
| 消費電力 | 7〜15W | 5〜15W |
| 価格 | 149〜199ドル | 60〜80ドル |
| 用途 | エッジAI特化 | 汎用 |
Jetson vs Google Coral / Hailo
Google Coral(Edge TPU)やHailo-8はJetsonより低消費電力(1〜8W)で高いTOPS/W効率を持ちますが、NVIDIAのCUDAエコシステムとの互換性がありません。既存のCUDA/PyTorchモデルをそのまま動かせるという点でJetsonは優位性を持ちます。