クイックスタートガイド:Raspberry PiとUltralytics YOLO26#
Raspberry Piは、GPUを必要とせずにエッジ環境でのリアルタイムなobject detectionのためにUltralytics YOLO26を実行できる、小型で手頃な価格のコンピューターです。このガイドでは、OSの書き込み、Ultralyticsのインストール、ARM上で最速のinferenceを実現するためのNCNNへのエクスポート、そしてライブカメラフィードでの予測の実行など、Raspberry Pi 4および5へのYOLO26のデプロイ手順を説明します。また、ハードウェアに最適な速度とaccuracyのトレードオフを選択できるように、8つのエクスポートフォーマットにわたるパフォーマンスベンチマークも掲載しています。
setting up Ultralytics、exporting to NCNN and running inference、benchmarks、またはcamera inferenceへジャンプします。
Watch: Raspberry Pi 5 updates and improvements.
このガイドは、最新のRaspberry Pi OS Bookworm (Debian 12)を実行するRaspberry Pi 4およびRaspberry Pi 5でテストされています。Raspberry Pi 3などの古いRaspberry Piデバイスでこのガイドを使用する場合も、同じRaspberry Pi OS Bookwormがインストールされていれば動作することが期待されます。
Raspberry Piとは?#
Raspberry Piは、小型で手頃な価格のシングルボードコンピュータです。ホビーユーザーによるホームオートメーションから産業用途まで、幅広いプロジェクトやアプリケーションで人気を博しています。Raspberry Piボードは様々なオペレーティングシステムを実行でき、センサーやアクチュエータ、その他のハードウェアコンポーネントと容易に統合できるGPIO(General Purpose Input/Output)ピンを備えています。モデルによって仕様は異なりますが、いずれも低コスト、コンパクト、多用途という基本的な設計思想を共有しています。
Raspberry Piシリーズの比較#
| Raspberry Pi 3 | Raspberry Pi 4 | Raspberry Pi 5 | |
|---|---|---|---|
| CPU | Broadcom BCM2837, Cortex-A53 64Bit SoC | Broadcom BCM2711, Cortex-A72 64Bit SoC | Broadcom BCM2712, Cortex-A76 64Bit SoC |
| CPU最大周波数 | 1.4GHz | 1.8GHz | 2.4GHz |
| GPU | Videocore IV | Videocore VI | VideoCore VII |
| GPU最大周波数 | 400Mhz | 500Mhz | 800Mhz |
| メモリ | 1GB LPDDR2 SDRAM | 1GB, 2GB, 4GB, 8GB LPDDR4-3200 SDRAM | 4GB, 8GB LPDDR4X-4267 SDRAM |
| PCIe | N/A | N/A | 1xPCIe 2.0 インターフェース |
| 最大消費電力 | 2.5A@5V | 3A@5V | 5A@5V (PD有効時) |
Raspberry Pi OSとは?#
Raspberry Pi OS(旧称Raspbian)は、Raspberry Pi Foundationが配布する小型シングルボードコンピュータのRaspberry Piファミリ向けに、Debian GNU/LinuxディストリビューションをベースにしたUnix系オペレーティングシステムです。Raspberry Pi OSは、ARM CPUを搭載したRaspberry Pi用に高度に最適化されており、Openboxスタッキングウィンドウマネージャを備えた変更されたLXDEデスクトップ環境を使用しています。Raspberry Pi OSは、できるだけ多くのDebianパッケージの安定性とパフォーマンスをRaspberry Pi上で向上させることに重点を置いて、活発に開発が行われています。
Raspberry Pi OSをRaspberry Piに書き込む#
Raspberry Piを手に入れたら最初に行うべきことは、マイクロSDカードにRaspberry Pi OSを書き込み(フラッシュ)、デバイスに挿入してOSを起動することです。Getting Started Documentation by Raspberry Piの詳細な手順に従って、初めて使用するデバイスの準備をしてください。
Ultralyticsのセットアップ#
次のComputer Visionプロジェクトに向けて、Raspberry Pi上でUltralyticsパッケージを設定する方法は2つあります。
Dockerで始める#
Raspberry PiでUltralytics YOLO26を最速で始める方法は、Raspberry Pi用のビルド済みDockerイメージを実行することです。
以下のコマンドを実行してDockerコンテナをプルし、Raspberry Pi上で実行します。これは、Python3環境でUbuntu 24.04を実行するarm64v8/ubuntu Dockerイメージに基づいています。
t=ultralytics/ultralytics:latest-arm64
sudo docker pull $t && sudo docker run -it --ipc=host $tDockerイメージにはすでにUltralyticsが含まれているため、直接exporting your model to NCNNに進むことができます。
Dockerなしで始める#
Ultralyticsパッケージをインストールする#
ここでは、PyTorchモデルを他のフォーマットにエクスポートできるように、オプショナル依存関係とともにUltralyticsパッケージをRaspberry Piにインストールします。
-
パッケージリストを更新し、pipをインストールして最新版にアップグレードする
sudo apt update sudo apt install python3-pip -y pip install -U pip -
オプショナル依存関係を指定して
ultralyticspip パッケージをインストールするpip install ultralytics[export] -
デバイスを再起動する
sudo reboot
NCNNをRaspberry Piで使用する#
Ultralyticsがサポートするすべてのモデルexport formatsの中で、NCNNはARMアーキテクチャなどのモバイル/組み込みプラットフォーム向けに高度に最適化されているため、Raspberry Piデバイス上で最高の推論パフォーマンスを発揮します。YOLO26n PyTorchモデルをNCNNに変換し、エクスポートされたモデルで推論を実行します。
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates 'yolo26n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("yolo26n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")サポートされているエクスポートオプションの詳細については、model deployment options guideを参照してください。
YOLO11に対するYOLO26のパフォーマンス向上#
YOLO26は、Raspberry Pi 5のようなハードウェア制約のあるデバイスで実行するために特別に設計されています。YOLO11nと比較して、YOLO26nはRaspberry Pi 5上のONNXエクスポートモデルで640の入力サイズにおいて、FPSが約15%向上(6.79 → 7.79)し、さらに高いmAP(39.5に対し40.1)を実現しています。以下の表とチャートがこの比較を示しています。
| モデル | mAP50-95(B) | 推論時間 (ms/im) |
|---|---|---|
| YOLO26n | 40.1 | 128.42 |
| YOLO26s | 47.8 | 352.84 |
| YOLO26m | 52.5 | 993.78 |
| YOLO26l | 54.4 | 1259.46 |
| YOLO26x | 56.9 | 2636.26 |
Ultralytics 8.4.14でベンチマーク済み。
Raspberry Pi 5 YOLO26ベンチマーク#
YOLO26のbenchmarksは、Ultralyticsチームによって8つの異なるモデルフォーマットで速度とaccuracyを測定して実行されました:PyTorch、TorchScript、ONNX、OpenVINO、MNN、NCNN、ExecuTorch、LiteRT。ベンチマークは、デフォルトの入力画像サイズ640で、FP32のprecisionを使用したRaspberry Pi 5で実行されました。
比較チャート#
YOLO26nおよびYOLO26sモデルのベンチマークのみを含めています。他のモデルサイズはRaspberry Piで実行するには大きすぎ、適切なパフォーマンスが得られないためです。
詳細比較表#
以下の表は、Raspberry Pi 5で実行されている8つの異なる形式(PyTorch、TorchScript、ONNX、OpenVINO、MNN、NCNN、ExecuTorch、LiteRT)における2つの異なるモデル(YOLO26n、YOLO26s)のベンチマーク結果を示しており、各組み合わせのステータス、サイズ、mAP50-95(B)メトリック、および推論時間を提供しています。
| 形式 | ステータス | ディスクサイズ (MB) | mAP50-95(B) | 推論時間 (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4760 | 299.09 |
| TorchScript | ✅ | 9.8 | 0.4734 | 353.20 |
| ONNX | ✅ | 9.5 | 0.4734 | 125.99 |
| OpenVINO | ✅ | 9.6 | 0.4734 | 104.55 |
| MNN | ✅ | 9.4 | 0.4749 | 91.87 |
| NCNN | ✅ | 9.4 | 0.4784 | 67.03 |
| ExecuTorch | ✅ | 9.4 | 0.4772 | 144.83 |
| LiteRT | ✅ | 9.8 | 0.4730 | 123.30 |
Ultralytics 8.4.108でベンチマーク済み
推論時間には、前処理および後処理は含まれていません。
結果の再現#
すべてのexport formatsで上記のUltralyticsベンチマークを再現するには、次のコードを実行します。
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)ベンチマークの結果は、システムの正確なハードウェアおよびソフトウェアの構成、ならびにベンチマーク実行時のシステムの現在の負荷によって異なる場合があることに注意してください。最も信頼性の高い結果を得るには、data='coco.yaml'(5000 の検証用画像)など、多数の画像を含むデータセットを使用してください。
litert-converterはaarch64のLinuxホイールを提供していないため、format=litertのエクスポートはRaspberry Pi本体ではなく、Linux x86_64およびmacOSでのみサポートされています。Linux x86_64マシンまたはMacで.tfliteモデルをエクスポートし、それをRaspberry Piにコピーして、Piで推論に使用します。
Raspberry Piカメラを使用する#
コンピュータビジョンプロジェクトでRaspberry Piを使用する場合、推論を実行するためにリアルタイムのビデオフィードを取得することが不可欠となる場合があります。Raspberry Pi上のオンボードMIPI CSIコネクタを使用すると、公式のRaspberry Piカメラモジュールを接続できます。このガイドでは、Raspberry Pi Camera Module 3を使用してビデオフィードを取得し、YOLO26モデルを使用して推論を実行しています。
Raspberry Pi 5はRaspberry Pi 4よりも小さなCSIコネクタ(15ピン対22ピン)を使用しているため、Raspberry Piカメラに接続するには15-pin to 22-pin adapter cableが必要になります。
カメラをテストする#
カメラをRaspberry Piに接続した後、次のコマンドを実行します。カメラからのライブビデオフィードが約5秒間表示されるはずです。
rpicam-hello公式のRaspberry Piドキュメントでのrpicam-helloの使用方法について詳しく学んでください。
カメラによる推論#
Raspberry Piカメラを使用してYOLO26モデルで推論を実行するには2つの方法があります。
Raspberry Pi OSにプリインストールされているpicamera2を使用して、カメラにアクセスし、YOLO26モデルで推論を実行できます。
import cv2
from picamera2 import Picamera2
from ultralytics import YOLO
# Initialize the Picamera2
picam2 = Picamera2()
picam2.preview_configuration.main.size = (1280, 720)
picam2.preview_configuration.main.format = "RGB888"
picam2.preview_configuration.align()
picam2.configure("preview")
picam2.start()
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
while True:
# Capture frame-by-frame
frame = picam2.capture_array()
# Run YOLO26 inference on the frame
results = model(frame)
# Visualize the results on the frame
annotated_frame = results[0].plot()
# Display the resulting frame
cv2.imshow("Camera", annotated_frame)
# Break the loop if 'q' is pressed
if cv2.waitKey(1) == ord("q"):
break
# Release resources and close windows
cv2.destroyAllWindows()画像/ビデオの入力タイプを変更する場合は、Inference Sourcesに関するドキュメントを確認してください。
Raspberry Pi使用時のベストプラクティス#
YOLO26を実行するRaspberry Piで最大限のパフォーマンスを実現するために、いくつかのベストプラクティスに従う必要があります。
-
SSDの使用
Raspberry Piを24時間365日継続して使用する場合は、SDカードが連続書き込みに耐えられず破損する可能性があるため、システム用にSSDを使用することをお勧めします。Raspberry Pi 5のオンボードPCIeコネクタを使用すると、NVMe Base for Raspberry Pi 5などのアダプターを使用してSSDを接続できるようになりました。
-
GUIなしでのインストール
Raspberry Pi OSをフラッシュする際、デスクトップ環境をインストールしない(Raspberry Pi OS Lite)ことを選択できます。これによりデバイスのRAMを節約でき、コンピュータービジョンの処理に利用できるリソースが増えます。
-
Raspberry Piのオーバークロック
Raspberry Pi 5でUltralytics YOLO26モデルを実行する際にパフォーマンスを少し向上させたい場合は、CPUをベースの2.4GHzから2.9GHzに、GPUを800MHzから1GHzにオーバークロックできます。システムが不安定になったりクラッシュしたりする場合は、オーバークロック値を100MHzずつ下げてください。オーバークロックは発熱を増加させ、サーマルスロットリングを引き起こす可能性があるため、適切な冷却対策を行ってください。
a. ソフトウェアをアップグレードする
sudo apt update && sudo apt dist-upgradeb. 設定ファイルを開いて編集する
sudo nano /boot/firmware/config.txtc. 以下の行を末尾に追加する
arm_freq=3000 gpu_freq=1000 force_turbo=1d. CTRL + X を押して Y を押し、ENTER を押して保存して終了する
e. Raspberry Piを再起動する
次のステップ#
Raspberry PiでのYOLO26のセットアップが正常に完了しました。さらに進めるには、より多くの推論オプションについてはPredict modeを、追加のデプロイメントフォーマットについてはExport modeを、エッジでより多くの計算能力が必要な場合はNVIDIA Jetson guideを探索してください。完全なドキュメントについては、Ultralytics YOLO26 Docsにアクセスしてください。
謝辞および引用#
本ガイドは、絶滅危惧種の保護を目的としたYOLOの活用に取り組む組織、Kashmir World FoundationのDaan Eeltink氏によって作成されました。オブジェクト検出技術の分野における彼らの先駆的な取り組みと教育的な焦点に対して敬意を表します。
Kashmir World Foundationの活動の詳細については、websiteをご覧ください。
よくある質問 (FAQ)#
Dockerを使用せずにRaspberry PiでUltralytics YOLO26をセットアップするにはどうすればよいですか?#
Dockerを使用せずにRaspberry PiでUltralytics YOLO26をセットアップするには、以下の手順に従ってください。
- パッケージリストを更新し、
pipをインストールします:sudo apt update sudo apt install python3-pip -y pip install -U pip - オプションの依存関係を含めてUltralyticsパッケージをインストールします:
pip install ultralytics[export] - デバイスを再起動して変更を適用します:
sudo reboot
詳細な手順については、Start without Dockerセクションを参照してください。
AIタスクのためにRaspberry PiでUltralytics YOLO26のNCNNフォーマットを使用すべき理由は何ですか?#
Ultralytics YOLO26のNCNNフォーマットは、モバイルおよび組み込みプラットフォーム向けに高度に最適化されており、Raspberry PiデバイスでAIタスクを実行するのに最適です。NCNNはARMアーキテクチャを活用して推論パフォーマンスを最大化し、他のフォーマットと比較してより高速で効率的な処理を提供します。サポートされているエクスポートフォーマットの詳細については、model export optionsを参照してください。
Raspberry Piで使用するためにYOLO26モデルをNCNNフォーマットに変換するにはどうすればよいですか?#
PyTorchのYOLO26モデルをNCNNフォーマットに変換するには、PythonまたはCLIコマンドを使用します:
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates 'yolo26n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("yolo26n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")詳細については、Use NCNN on Raspberry Piセクションを参照してください。
YOLO26を実行する際に関連するRaspberry Pi 4とRaspberry Pi 5のハードウェアの違いは何ですか?#
主な違いは以下の通りです:
- CPU: Raspberry Pi 4はBroadcom BCM2711(Cortex-A72 64-bit SoC)を使用し、Raspberry Pi 5はBroadcom BCM2712(Cortex-A76 64-bit SoC)を使用しています。
- 最大CPU周波数: Raspberry Pi 4の最大周波数は1.8GHzですが、Raspberry Pi 5は2.4GHzに達します。
- メモリ: Raspberry Pi 4は最大8GBのLPDDR4-3200 SDRAMを提供し、Raspberry Pi 5はLPDDR4X-4267 SDRAM(4GBおよび8GBバリアント)を備えています。
これらの機能強化により、Raspberry Pi 4と比較してRaspberry Pi 5でのYOLO26モデルのパフォーマンスベンチマークが向上しています。詳細については、Raspberry Pi Series Comparisonテーブルを参照してください。
Raspberry PiカメラモジュールをUltralytics YOLO26で使用するにはどうすればよいですか?#
YOLO26の推論にRaspberry Piカメラをセットアップする方法は2つあります:
-
picamera2の使用:import cv2 from picamera2 import Picamera2 from ultralytics import YOLO picam2 = Picamera2() picam2.preview_configuration.main.size = (1280, 720) picam2.preview_configuration.main.format = "RGB888" picam2.preview_configuration.align() picam2.configure("preview") picam2.start() model = YOLO("yolo26n.pt") while True: frame = picam2.capture_array() results = model(frame) annotated_frame = results[0].plot() cv2.imshow("Camera", annotated_frame) if cv2.waitKey(1) == ord("q"): break cv2.destroyAllWindows() -
TCPストリームを使用する方法:
rpicam-vid -n -t 0 --inline --listen -o tcp://127.0.0.1:8888from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model("tcp://127.0.0.1:8888")
詳細なセットアップ手順については、Inference with Cameraセクションをご覧ください。