Jetson上のYOLOv26デュアルUSBカメラ画像処理システム
このwikiでは、YOLOv26モデルとTensorRTアクセラレーションに基づくデュアルUSBカメラ画像処理システムをゼロから構築する方法を実演します。このシステムには以下の機能が含まれています:
- デュアルカメラ並列処理:2台のUSBカメラの同時リアルタイム映像ストリーム処理
- マルチタスク視覚解析:物体検出、姿勢推定、画像セグメンテーション(SAMモデル)
- TensorRTアクセラレーション:NVIDIA TensorRTエンジンを使用して推論速度を大幅に向上
- Webインターフェースプレビュー:ブラウザを通じて処理結果をリアルタイムで表示
- MJPEG圧縮:USB帯域幅使用量を削減し、システムの安定性を向上
前提条件
- reComputer J4012 または reComputer シリーズの他の製品
- 2台のUSBカメラ
- USB Type-Cデータ伝送ケーブル(カメラ接続用)
GitHubからダウンロード
方法1:リポジトリ全体をクローン(推奨)
これは全ファイルを一度に取得する最も簡単な方法です:
# 1. Navigate to your home directory
# !!Replace this with your own username
cd /home/seeed
# 2. Clone the repository
git clone https://github.com/bleaaach/yolov26_jetson.git
# 3. Navigate to the project directory
cd yolov26_jetson
# 4. View downloaded files
ls -la

以下のファイルが表示されるはずです:
run_dual_camera_docker.sh- Dockerデプロイメントスクリプトrun_dual_camera_local.sh- ローカルデプロイメントスクリプトREADME.md- このドキュメントファイル
方法2:個別ファイルのダウンロード
特定のスクリプトファイルのみが必要な場合は、wgetを使用して個別にダウンロードできます:
# 1. Navigate to your home directory
cd /home/seeed
# 2. Create project directory
mkdir -p yolov26_jetson
cd yolov26_jetson
# 3. Download Docker script
wget https://raw.githubusercontent.com/bleaaach/yolov26_jetson/main/run_dual_camera_docker.sh
# 4. Download Local script
wget https://raw.githubusercontent.com/bleaaach/yolov26_jetson/main/run_dual_camera_local.sh
# 5. Download README documentation
wget https://raw.githubusercontent.com/bleaaach/yolov26_jetson/main/README.md
# 6. View downloaded files
ls -la
ダウンロードしたファイルの確認
ダウンロード後、ファイルが存在することを確認します:
# View file list
ls -la
# Check file permissions
スクリプトに実行権限がない場合は、追加します:
# Add execute permissions
chmod +x run_dual_camera_docker.sh
chmod +x run_dual_camera_local.sh
# Check again
ls -la
2つのデプロイメント方法の比較
| 機能 | Docker方法 | ローカル方法 |
|---|---|---|
| 環境分離 | ✅ 完全に分離、ホスト環境を汚染しない | ❌ ホストに直接インストール |
| デプロイメント速度 | ✅ 高速、ワンクリック起動 | ❌ 多くの依存関係の手動インストールが必要 |
| ハードウェアアクセス | ⚠️ デバイスマッピング設定が必要 | ✅ 全ハードウェアへの直接アクセス |
| パフォーマンス | ⚠️ コンテナオーバーヘッドあり | ✅ より良いパフォーマンス |
| ストレージ容量 | ⚠️ 約2GBのDockerイメージが必要 | ✅ ストレージ使用量が少ない |
| 推奨使用ケース | クイックテスト、マルチデバイスデプロイメント | 本番環境、最高のパフォーマンス |
(オプション1)ローカル環境セットアップ
ステップ1. パッケージリストの更新とpipのインストール
# Update package list
sudo apt update
# Install pip
sudo apt install python3-pip -y
# Upgrade pip
pip install -U pip
システムにpipがプリインストールされていない場合は、以下のコマンドを使用してインストールします:
# Download get-pip.py
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
# Install pip
python3 get-pip.py --user
ステップ2. Ultralyticsパッケージのインストール
Ultralyticsとそのオプション依存関係(モデルエクスポート用)をインストールします:
# Install Ultralytics
~/.local/bin/pip install ultralytics[export]
ステップ3. PyTorchとTorchvisionのインストール
重要:pip経由でインストールされるPyTorchとTorchvisionは、JetsonのARM64アーキテクチャと互換性がありません。Jetson専用にビルドされたバージョンを手動でインストールする必要があります。
まず互換性のないバージョンをアンインストールします:
# Uninstall incompatible versions
~/.local/bin/pip uninstall torch torchvision -y
次にJetPack 6.1互換バージョンをインストールします:
# Install PyTorch 2.5.0
~/.local/bin/pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.5.0a0+872d972e41.nv24.08-cp310-cp310-linux_aarch64.whl
# Install Torchvision 0.20
~/.local/bin/pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.20.0a0+afc54f7-cp310-cp310-linux_aarch64.whl
GitHubのダウンロードが遅い場合は、アクセラレーションプロキシを使用できます:
# Use gh proxy to download PyTorch
~/.local/bin/pip install https://gh-proxy.com/https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.5.0a0+872d972e41.nv24.08-cp310-cp310-linux_aarch64.whl
# Use gh proxy to download Torchvision
~/.local/bin/pip install https://gh-proxy.com/https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.20.0a0+afc54f7-cp310-cp310-linux_aarch64.whl
ステップ4. cuSPARSELtのインストール
cuSPARSELtはPyTorch 2.5.0の依存関係であり、別途インストールする必要があります:
# Install cuSPARSELt
sudo apt-get install -y libcusparselt0
ステップ5. onnxruntime-gpuのインストール
onnxruntime-gpuは一部のモデルエクスポート機能に使用されます。PyPI上のパッケージにはJetson用のaarch64バイナリが含まれていないため、手動インストールが必要です:
# Install onnxruntime-gpu 1.23.0
~/.local/bin/pip install https://gh-proxy.com/https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.23.0-cp310-cp310-linux_aarch64.whl
またはバージョン1.20.0を使用:
# Install onnxruntime-gpu 1.20.0
~/.local/bin/pip install https://gh-proxy.com/https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.20.0-cp310-cp310-linux_aarch64.whl
ステップ6. PATH環境変数の設定
ユーザーインストールモードを使用しているため、pipでインストールされた実行ファイルは~/.local/bin/ディレクトリに配置されます。このディレクトリをPATH環境変数に追加することを推奨します:
# Add to .bashrc
echo 'export PATH=$PATH:~/.local/bin' >> ~/.bashrc
# Reload .bashrc
source ~/.bashrc
ステップ7. インストールの確認
インストールされたパッケージのバージョンを確認します:
# Check versions
python3 -c "import ultralytics; import torch; import torchvision; import onnxruntime; print('ultralytics version:', ultralytics.__version__); print('torch version:', torch.__version__); print('torchvision version:', torchvision.__version__); print('onnxruntime version:', onnxruntime.__version__)"
期待される出力:
ultralytics version: 8.4.7
torch version: 2.5.0a0+872d972e41.nv24.08
torchvision version: 0.20.0a0+afc54f7
onnxruntime version: 1.23.0
ステップ8. YOLOv26推論機能のテスト
from ultralytics import YOLO
import torch
# Check if CUDA is available
print(f"CUDA available: {torch.cuda.is_available()}")
if torch.cuda.is_available():
print(f"CUDA device count: {torch.cuda.device_count()}")
print(f"CUDA device name: {torch.cuda.get_device_name(0)}")
# Load YOLOv26n model
model = YOLO('yolo26v26n.pt')
print(f"Model loaded successfully!")
# Perform inference test
results = model('https://ultralytics.com/images/bus.jpg')
print(f"Inference successful! Detected {len(results[0].boxes)} objects")
# Display detection results
for i, box in enumerate(results[0].boxes):
cls_id = int(box.cls[0])
conf = float(box.conf[0])
cls_name = model.names[cls_id]
print(f" Object {i+1}: {cls_name} (confidence: {conf:.2f})")
ステップ9. モデルファイルの準備
モデルファイルが正しい場所にダウンロードされていることを確認します:
# Check model directory
ls -la /home/seeed/ultralytics_data/
# Create directory if it doesn't exist
mkdir -p /home/seeed/ultralytics_data
モデルファイルが存在しない場合は、まずダウンロードします:
# Navigate to model directory
cd /home/seeed/ultralytics_data
# Download object detection model
yolo export model=yolov26n.pt format=engine device=0
# Download pose estimation model
yolo export model=yolov26n-pose.pt format=engine device=0
# Download segmentation model
yolo export model=yolov26n-seg.pt format=engine device=0
# Verify model files
ls -la
以下のファイルが表示されるはずです:
yolo26n.engineyolo26n-pose.engineyolo26n-seg.engine
ステップ10. ローカルスクリプトの実行
これでローカルスクリプトを実行できます:
# 1. Navigate to project directory
cd /home/seeed/yolov26_jetson
# 2. Ensure script has execute permissions
chmod +x run_dual_camera_local.sh
# 3. Run Local script
./run_dual_camera_local.sh

(オプション2)Docker環境セットアップ
ステップ1. Dockerがインストールされていることを確認
まずDockerがインストールされているかを確認します:
# Check Docker version
docker --version
Dockerがインストールされていない場合は、まずインストールします:
# Update package list
sudo apt update
# Install Docker
sudo apt install docker.io -y
# Start Docker service
sudo systemctl start docker
# Add current user to docker group
sudo usermod -aG docker $USER
# Re-login to apply changes
newgrp docker
Docker環境の設定の詳細については、このGitHubリポジトリを参照してください:https://github.com/zibochen6/reComputer-Jetson-for-Beginners/tree/main/3-Basic-Tools-and-Getting-Started/3.7-Docker/
ステップ2. Dockerサービスが実行されていることを確認
# Check Docker service status
sudo systemctl status docker
Dockerが実行されていない場合は、開始します:
# Start Docker service
sudo systemctl start docker
ステップ3. モデルファイルの準備
モデルファイルが正しい場所にダウンロードされていることを確認してください:
# Check model directory
ls -la /home/seeed/ultralytics_data/
# Create directory if it doesn't exist
mkdir -p /home/seeed/ultralytics_data
モデルファイルが存在しない場合は、まずダウンロードしてください:
# Navigate to model directory
cd /home/seeed/ultralytics_data
# Download object detection model
yolo export model=yolov26n.pt format=engine device=0
# Download pose estimation model
yolo export model=yolov26n-pose.pt format=engine device=0
# Download segmentation model
yolo export model=yolov26n-seg.pt format=engine device=0
# Verify model files
ls -la
以下のファイルが表示されるはずです:
yolo26n.engineyolo26n-pose.engineyolo26n-seg.engine

ステップ 4. Docker スクリプトの実行
これで Docker スクリプトを実行できます:
# 1. Navigate to project directory
cd /home/seeed/yolov26_jetson
# 2. Ensure script has execute permissions
chmod +x run_dual_camera_docker.sh
# 3. Run Docker script
./run_dual_camera_docker.sh
ステップ 5. Web インターフェースへのアクセス
ブラウザで以下のアドレスを開いてください:
http://localhost:5000
この時点で、ブラウザには両方のカメラからのリアルタイムフィードが「左カメラフィード | 右カメラフィード」のように並んで表示されます。実際のフレームレートと解像度は、ハードウェアの性能によって異なります。
システムを再起動する必要がある場合:
# 1. Stop and remove existing container
docker rm -f dual-camera-system
# 2. Re-run script
cd /home/seeed/yolov26_jetson
./run_dual_camera_docker.sh
リソース
技術サポートと製品ディスカッション
Seeed Studio 製品をお選びいただき、ありがとうございます!技術サポートと製品ディスカッションについては、以下のチャンネルをご利用ください: