クイックスタートガイド:Raspberry PiでUltralytics YOLO26を使用する#
Raspberry Piは、小型で手頃な価格のコンピューターです。GPUがなくても、エッジでリアルタイムの物体検出を実行するUltralytics YOLO26を動作させられます。このガイドでは、Raspberry Pi 4と5にYOLO26をデプロイする手順として、OSの書き込み、Ultralyticsのインストール、ARMで最速の推論を実現するためのNCNNへのエクスポート、ライブカメラ映像での予測の実行を説明します。また、8種類のエクスポート形式のパフォーマンスベンチマークも紹介し、お使いのハードウェアに最適な速度と精度のバランスを選べるようにしています。
Ultralyticsのセットアップ、NCNNへのエクスポートと推論の実行、ベンチマーク、またはカメラ推論に移動します。
視聴: Raspberry Pi 5のアップデートと改善
このガイドは、最新の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ボードはさまざまなOSを実行でき、センサー、アクチュエーター、その他のハードウェアコンポーネントと簡単に連携できるGPIO(汎用入出力)ピンを備えています。仕様の異なる複数のモデルがありますが、低コスト、小型、多用途という共通の設計思想を持っています。
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 | 2GB、4GB、8GB、16GB LPDDR4X-4267 SDRAM |
| PCIe | 該当なし | 該当なし | 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向けに高度に最適化されており、Raspberry Pi 4および5ではデフォルトでWayland上で動作する軽量なデスクトップ環境を使用します。Raspberry Pi OSは現在も活発に開発されており、Raspberry Pi上で可能な限り多くのDebianパッケージの安定性とパフォーマンスを向上させることに重点を置いています。
Raspberry Pi OSをRaspberry Piに書き込む#
Raspberry Piを入手したら、まずmicro-SDカードにRaspberry Pi OSを書き込み、デバイスに挿入してOSを起動します。初回使用に向けたデバイスの準備については、Raspberry Piの詳細なスタートガイドに従ってください。
Ultralyticsをセットアップする#
次のコンピュータービジョンプロジェクトに向けて、Raspberry PiにUltralyticsパッケージをセットアップする方法は2つあります。
Dockerを使って開始#
Raspberry PiでUltralytics YOLO26を最も手早く使い始めるには、Raspberry Pi向けのビルド済みDockerイメージを実行します。
以下のコマンドを実行して Docker コンテナをプルし、Raspberry Pi で実行します。このイメージは、Python 3.13 を搭載した Debian 13 を実行する公式の Python 3.13-slim-trixie イメージをベースにしています。
t=ultralytics/ultralytics:latest-arm64
sudo docker pull $t && sudo docker run -it --ipc=host $tDockerイメージにはUltralyticsがすでに含まれているため、そのままモデルをNCNNにエクスポートできます。
Dockerを使わずに開始#
Ultralyticsパッケージをインストールする#
ここでは、Raspberry PiにUltralyticsパッケージをインストールします。NCNNなどの形式へのエクスポートに必要な依存関係は、PyTorchモデルを初めてエクスポートするときに自動でインストールされるため、ここでは基本パッケージのみが必要です。
-
パッケージリストを更新し、pipをインストールして最新バージョンにアップグレードする
sudo apt update sudo apt install python3-pip -y pip install -U pip -
ultralyticspipパッケージをインストールするpip install ultralytics -
デバイスを再起動する
sudo reboot
Raspberry PiでNCNNを使用する#
Ultralyticsがサポートするすべてのモデルエクスポート形式の中で、NCNNはARMアーキテクチャなどのモバイル/組み込みプラットフォーム向けに高度に最適化されているため、Raspberry Piデバイスで最高の推論パフォーマンスを発揮します。YOLO26nのPyTorchモデルをNCNNに変換してから、エクスポートしたモデルで推論を実行します。
from ultralytics import YOLO
# YOLO26n PyTorchモデルを読み込む
model = YOLO("yolo26n.pt")
# モデルをNCNN形式にエクスポート
model.export(format="ncnn") # creates 'yolo26n_ncnn_model'
# エクスポートしたNCNNモデルを読み込む
ncnn_model = YOLO("yolo26n_ncnn_model")
# 推論を実行
results = ncnn_model("https://ultralytics.com/images/bus.jpg")サポートされているエクスポートオプションの詳細については、モデルのデプロイオプションガイドをご覧ください。
YOLO11と比較したYOLO26のパフォーマンス向上#
YOLO26は、Raspberry Pi 5などのハードウェアリソースに制約のあるデバイスで実行できるように特別に設計されています。Raspberry Pi 5上で入力サイズ640、ONNXにエクスポートしたモデルを使用した場合、YOLO26nはYOLO11nと比べてFPSが約15%向上(6.79 → 7.79)し、mAPも向上(40.1対39.5)します。以下の表とグラフでこの比較を示します。
| モデル | 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のベンチマークは、Ultralyticsチームが8種類のモデル形式(PyTorch、TorchScript、ONNX、OpenVINO、LiteRT、MNN、NCNN、ExecuTorch)を対象に、速度と精度を測定して実施しました。ベンチマークはRaspberry Pi 5で、FP32精度、デフォルトの入力画像サイズ640で実施しました。
比較グラフ#
他のモデルサイズはRaspberry Piで実行するには大きすぎ、十分なパフォーマンスも得られないため、YOLO26nおよびYOLO26sモデルのベンチマークのみを掲載しています。
詳細比較表#
以下の表は、Raspberry Pi 5で8種類の形式(PyTorch、TorchScript、ONNX、OpenVINO、LiteRT、MNN、NCNN、ExecuTorch)を使用して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 |
| LiteRT | ✅ | 9.8 | 0.4730 | 123.30 |
| MNN | ✅ | 9.4 | 0.4749 | 91.87 |
| NCNN | ✅ | 9.4 | 0.4784 | 67.03 |
| ExecuTorch | ✅ | 9.4 | 0.4772 | 144.83 |
Ultralytics 8.4.108でベンチマークを実施しました
推論時間には前処理と後処理は含まれません。
結果を再現する#
上記のUltralyticsベンチマークをすべてのエクスポート形式で再現するには、次のコードを実行します。
from ultralytics import YOLO
# YOLO26n PyTorchモデルを読み込む
model = YOLO("yolo26n.pt")
# すべてのエクスポート形式でCOCO128データセットを使用してYOLO26nの速度と精度をベンチマークします
results = model.benchmark(data="coco128.yaml", imgsz=640)ベンチマーク結果は、システムのハードウェアとソフトウェアの構成や、ベンチマーク実行時のシステムの負荷によって異なる場合があります。最も信頼性の高い結果を得るには、data='coco.yaml'(検証画像5000枚)のような、画像数の多いデータセットを使用してください。
format=litertのエクスポート(litert-torch経由)はLinux x86_64とmacOSのみでサポートされており、Raspberry Pi本体ではサポートされていません。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が提供する各種カメラモジュールと、Raspberry Piカメラモジュールの使い始め方について詳しくご覧ください。
Raspberry Pi 5はRaspberry Pi 4より小型のCSIコネクター(22ピン対15ピン)を使用するため、Raspberry Piカメラを接続するには15ピンから22ピンへの変換ケーブルが必要です。
カメラをテストする#
カメラを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
# 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()
# YOLO26モデルを読み込む
model = YOLO("yolo26n.pt")
while True:
# フレームを1つずつキャプチャする
frame = picam2.capture_array()
# フレームに対してYOLO26の推論を実行する
results = model(frame)
# フレーム上に結果を可視化する
annotated_frame = results[0].plot()
# 処理結果のフレームを表示する
cv2.imshow("Camera", annotated_frame)
# 'q'が押された場合にループを終了する
if cv2.waitKey(1) == ord("q"):
break
# リソースを解放してウィンドウを閉じる
cv2.destroyAllWindows()画像/動画の入力タイプを変更する場合は、推論ソースに関するドキュメントをご確認ください。
Raspberry Pi使用時のベストプラクティス#
YOLO26を実行するRaspberry Piで最高のパフォーマンスを実現するには、いくつかのベストプラクティスに従う必要があります。
-
SSDを使用する
Raspberry Piを24時間365日継続して使用する場合、システムにはSSDの使用を推奨します。SDカードは連続書き込みに耐えられず、故障する可能性があるためです。Raspberry Pi 5にはPCIeコネクターが搭載されているため、Raspberry Pi 5用NVMe Baseなどのアダプターを使ってSSDを接続できます。
-
GUIなしで書き込む
Raspberry Pi OSを書き込む際、デスクトップ環境をインストールしない(Raspberry Pi OS Liteを選択する)ことで、デバイスのRAMを少し節約し、コンピュータービジョン処理により多くのメモリを割り当てられます。
-
Raspberry Piをオーバークロックする
Raspberry Pi 5でUltralytics YOLO26モデルを実行する際にパフォーマンスを少し向上させたい場合、CPUを標準の2.4GHzから3.0GHzに、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モード、追加のデプロイ形式についてはExportモードをご覧ください。エッジでより多くの計算能力が必要な場合は、NVIDIA Jetsonガイドをご確認ください。ドキュメント全体については、Ultralytics YOLO26ドキュメントをご覧ください。
謝辞と引用#
このガイドは、絶滅危惧種の保護にYOLOを活用することに取り組む団体、Kashmir World FoundationのためにDaan Eeltinkが最初に作成しました。物体検出技術の分野における同団体の先駆的な取り組みと教育への注力に感謝します。
Kashmir World Foundationの活動について詳しくは、ウェブサイトをご覧ください。
よくある質問#
Dockerを使わずにRaspberry PiでUltralytics YOLO26をセットアップするには、次の手順に従ってください。
- パッケージリストを更新し、
pipをインストールします。sudo apt update sudo apt install python3-pip -y pip install -U pip - Ultralyticsパッケージをインストールします。
pip install ultralytics - 変更を適用するため、デバイスを再起動します。
sudo reboot
詳しい手順については、Dockerを使わずに開始のセクションをご覧ください。
- パッケージリストを更新し、
Ultralytics YOLO26のNCNN形式はモバイルおよび組み込みプラットフォーム向けに高度に最適化されているため、Raspberry PiデバイスでAIタスクを実行するのに最適です。NCNNはARMアーキテクチャを活用して推論パフォーマンスを最大化し、他の形式と比べて高速かつ効率的な処理を実現します。サポートされているエクスポート形式の詳細については、モデルのエクスポートオプションをご覧ください。
PythonまたはCLIコマンドを使用して、PyTorchのYOLO26モデルをNCNN形式に変換できます。
例from ultralytics import YOLO # YOLO26n PyTorchモデルを読み込む model = YOLO("yolo26n.pt") # モデルをNCNN形式にエクスポート model.export(format="ncnn") # creates 'yolo26n_ncnn_model' # エクスポートしたNCNNモデルを読み込む ncnn_model = YOLO("yolo26n_ncnn_model") # 推論を実行 results = ncnn_model("https://ultralytics.com/images/bus.jpg")詳しくは、Raspberry PiでNCNNを使用するセクションをご覧ください。
主な違いは次のとおりです。
- CPU:Raspberry Pi 4はBroadcom BCM2711、Cortex-A72 64ビットSoCを使用し、Raspberry Pi 5はBroadcom BCM2712、Cortex-A76 64ビットSoCを使用します。
- 最大CPU周波数:Raspberry Pi 4の最大周波数は1.8GHzですが、Raspberry Pi 5は2.4GHzです。
- メモリ: Raspberry Pi 4は最大8GBのLPDDR4-3200 SDRAMを搭載し、Raspberry Pi 5は2GB、4GB、8GB、16GBの各モデルでLPDDR4X-4267 SDRAMを搭載しています。
これらの強化により、Raspberry Pi 5でのYOLO26モデルのパフォーマンスベンチマークは、Raspberry Pi 4と比較して向上しています。詳細については、Raspberry Piシリーズの比較表をご覧ください。
YOLO26の推論用にRaspberry Pi Cameraを設定する方法は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")
詳しい設定手順については、カメラを使用した推論のセクションをご覧ください。
-