クイックスタートガイドラズベリーパイとUltralytics YOLO11
この包括的なガイドでは、Ultralytics YOLO11 をRaspberry Piデバイスにデプロイするための詳細なウォークスルーを提供します。さらに、これらの小型で強力なデバイス上でのYOLO11 の機能を実証するためのパフォーマンスベンチマークも紹介しています。
見るんだ: Raspberry Pi 5のアップデートと改良。
注
このガイドは最新のRaspberry Pi OS Bookworm (Debian 12)が動作するRaspberry Pi 4とRaspberry Pi 5でテストされています。Raspberry Pi 3などの古いRaspberry Piデバイスにこのガイドを使用しても、同じRaspberry Pi OS Bookwormがインストールされている限り、動作することが期待されます。
ラズベリーパイとは?
ラズベリー・パイは小型で手頃な価格のシングルボードコンピューターだ。趣味のホームオートメーションから産業用途まで、幅広いプロジェクトやアプリケーションで人気を博している。ラズベリー・パイのボードは、さまざまなオペレーティング・システムを実行でき、センサーやアクチュエーター、その他のハードウェア・コンポーネントと簡単に統合できるGPIO(汎用入出力)ピンを備えている。さまざまな仕様のモデルがあるが、低価格、コンパクト、多用途という基本的な設計思想は共通している。
Raspberry Piシリーズの比較
ラズベリーパイ3 | ラズベリーパイ4 | ラズベリーパイ5 | |
---|---|---|---|
CPU | Broadcom BCM2837、Cortex-A53 64ビットSoC | Broadcom BCM2711、Cortex-A72 64ビットSoC | Broadcom BCM2712、Cortex-A76 64ビットSoC |
CPU 最大周波数 | 1.4GHz | 1.8GHz | 2.4GHz |
GPU | ビデオコアIV | ビデオコアVI | ビデオコアVII |
GPU 最大周波数 | 400Mhz | 500Mhz | 800Mhz |
メモリー | 1GB LPDR2 SDRAM | 1GB、2GB、4GB、8GB LPDR4-3200 SDRAM | 4GB、8GB LPDR4X-4267 SDRAM |
PCIe | 該当なし | 該当なし | 1xPCIe 2.0インターフェイス |
最大消費電力 | 2.5A@5V | 3A@5V | 5A@5V(PD有効) |
ラズベリーパイ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 は、Raspberry Pi 上で可能な限り多くの Debian パッケージの安定性と性能を向上させることに重点を置き、活発に開発が進められています。
Raspberry Pi OSをRaspberry Piにフラッシュする
Raspberry Piを手に入れたらまず最初にすることは、Raspberry Pi OSが入ったマイクロSDカードをフラッシュし、デバイスに挿入してOSを起動することです。Raspberry Piによる詳細な「Getting Started Documentation」に沿って、デバイスを初めて使う準備をしましょう。
セットアップUltralytics
次のComputer Visionプロジェクトを構築するために、Raspberry PiでUltralytics パッケージをセットアップする方法は2つあります。どちらを使っても構いません。
Dockerで始める
Raspberry Pi でUltralytics YOLO11 を使い始める最も早い方法は、Raspberry Pi 用にビルド済みの docker イメージを使って実行することだ。
以下のコマンドを実行すると、Raspberry Pi上でDockerコンテナが実行されます。これは、Python3環境のDebian 12 (Bookworm) を含むarm64v8/debiandockerイメージに基づいています。
これが終わったら、Raspberry PiでNCNN 。
Dockerなしで始める
Ultralytics パッケージのインストール
ここでは、Ultralytics パッケージを Raspberry Pi にインストールします。 PyTorchをインストールします。
-
パッケージリストの更新、pipのインストール、最新版へのアップグレード
-
インストール
ultralytics
pip パッケージと依存関係のあるオプション -
デバイスを再起動する
Raspberry PiでNCNN 。
Ultralytics でサポートされているすべてのモデルエクスポートフォーマットの中で、、 NCNNNCNN はモバイル/組込みプラットフォーム(ARMアーキテクチャなど)に高度に最適化されているため、Raspberry Piデバイスで作業する際に最高の推論パフォーマンスを発揮します。そのため、NCNN を Raspberry Pi で使用することをお勧めします。
モデルをNCNN に変換し、推論を実行する。
PyTorch 形式のYOLO11nモデルは、エクスポートされたモデルで推論を実行するためにNCNN 。
例
from ultralytics import YOLO
# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates 'yolo11n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("yolo11n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
チップ
サポートされているエクスポートオプションの詳細については、Ultralytics 配置オプションのドキュメントページを参照してください。
Raspberry Pi 5YOLO11 ベンチマーク
YOLO11 Ultralytics PyTorch, , , , , , Lite, , .ベンチマークはRaspberry Pi 5上で、FP32のTorchScript ONNX OpenVINO TF SavedModel TF GraphDef TF PaddlePaddle NCNN精度で、デフォルトの入力画像サイズ640で実行された。
比較表
YOLO11nとYOLO11sのベンチマークを掲載したのは、YOLO11nとYOLO11sのみである。
詳細比較表
下の表は、2つの異なるモデル(YOLO11n、YOLO11s)を9つの異なるフォーマット(PyTorch 、TorchScript 、ONNX 、OpenVINO 、TF 、SavedModel 、TF 、GraphDef 、TF Lite 、PaddlePaddle 、NCNN )でRaspberry Pi 5上で実行した場合のベンチマーク結果で、各組み合わせのステータス、サイズ、mAP50-95(B)メトリック、推論時間を示している。
パフォーマンス
フォーマット | ステータス | ディスク上のサイズ (MB) | mAP50-95(B) | 推論時間(ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 5.4 | 0.6100 | 405.238 |
TorchScript | ✅ | 10.5 | 0.6082 | 526.628 |
ONNX | ✅ | 10.2 | 0.6082 | 168.082 |
OpenVINO | ✅ | 10.4 | 0.6082 | 81.192 |
TF SavedModel | ✅ | 25.8 | 0.6082 | 377.968 |
TF GraphDef | ✅ | 10.3 | 0.6082 | 487.244 |
TF ライト | ✅ | 10.3 | 0.6082 | 317.398 |
PaddlePaddle | ✅ | 20.4 | 0.6082 | 561.892 |
MNN | ✅ | 10.1 | 0.6106 | 112.554 |
NCNN | ✅ | 10.2 | 0.6106 | 88.026 |
フォーマット | ステータス | ディスク上のサイズ (MB) | mAP50-95(B) | 推論時間(ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 18.4 | 0.7526 | 1011.60 |
TorchScript | ✅ | 36.5 | 0.7416 | 1268.502 |
ONNX | ✅ | 36.3 | 0.7416 | 324.17 |
OpenVINO | ✅ | 36.4 | 0.7416 | 179.324 |
TF SavedModel | ✅ | 91.1 | 0.7416 | 714.382 |
TF GraphDef | ✅ | 36.4 | 0.7416 | 1019.83 |
TF ライト | ✅ | 36.4 | 0.7416 | 849.86 |
PaddlePaddle | ✅ | 72.5 | 0.7416 | 1276.34 |
MNN | ✅ | 36.2 | 0.7409 | 273.032 |
NCNN | ✅ | 36.2 | 0.7419 | 194.858 |
Ultralytics 8.3.39でベンチマーク。
結果を再現する
上記のUltralytics のベンチマークをすべてのエクスポートフォーマットで再現するには、以下のコードを実行してください:
例
ベンチマークの結果は、システムの正確なハードウェアとソフトウェアの構成、およびベンチマークの実行時のシステムの現在の作業負荷によって異なる可能性があることに注意してください。最も信頼性の高い結果を得るには、画像数の多いデータセットを使用します。 data='coco8.yaml' (4 val images), or
data='coco.yaml'` (5000 val images)。
ラズベリーパイのカメラを使う
Raspberry PiをComputer Visionプロジェクトに使用する場合、リアルタイムのビデオフィードを取得して推論を実行することが基本になります。Raspberry Piに搭載されているMIPI CSIコネクタを使用すると、公式のRaspberry Piカメラモジュールを接続することができます。このガイドでは、Raspberry Pi カメラモジュール 3を使用してビデオフィードを取得し、YOLO11 モデルを使用して推論を実行します。
チップ
Raspberry Piが提供するさまざまなカメラモジュールの詳細と、Raspberry Piカメラモジュールの始め方についてご紹介します。
注
Raspberry Pi 5はRaspberry Pi 4より小さいCSIコネクタ(15ピン対22ピン)を使用しているため、Raspberry Pi Cameraに接続するには15ピンから22ピンへのアダプタケーブルが必要です。
カメラのテスト
カメラをRaspberry Piに接続した後、以下のコマンドを実行します。カメラのライブ映像が約5秒間表示されるはずです。
チップ
カメラによる推論
YOLO11 モデルの推論にRaspberry Pi Cameraを使用する方法は2つある。
使用方法
を使うことができる。 picamera2
ラズベリー・パイOSがプリインストールされており、カメラと推論YOLO11 モデルにアクセスできる。
例
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 YOLO11 model
model = YOLO("yolo11n.pt")
while True:
# Capture frame-by-frame
frame = picam2.capture_array()
# Run YOLO11 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()
でTCPストリームを開始する必要がある。 rpicam-vid
このストリームのURLは、後で推論を行う際に入力として使用できます。以下のコマンドを実行して、TCPストリームを開始する。
チップ
画像/ビデオ入力タイプを変更したい場合は、推論ソースに関するドキュメントをチェックしてください。
Raspberry Piを使用する際のベストプラクティス
YOLO11 が動作する Raspberry Pis で最大限のパフォーマンスを発揮するためには、いくつかのベストプラクティスがあります。
-
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にYOLO !さらなる学習とサポートについては、Ultralytics YOLO11 DocsandKashmir World Foundationをご覧ください。
謝辞と引用
このガイドブックは当初、Daan Eeltink氏によって、絶滅危惧種の保護にYOLO を使用することを専門とする団体、Kashmir World Foundationのために作成された。私たちは、物体検出技術の領域における彼らの先駆的な仕事と教育的な焦点に敬意を表します。
カシミール・ワールド財団の活動についての詳細は、ウェブサイトをご覧ください。
よくあるご質問
Dockerを使わずにRaspberry Pi上でUltralytics YOLO11 。
Dockerを使わずにRaspberry Pi上でUltralytics YOLO11 をセットアップするには、以下の手順に従ってください:
- パッケージリストを更新し、インストールする
pip
: - Ultralytics パッケージとオプションの依存関係をインストールする:
- デバイスを再起動して変更を適用する:
詳細な手順については、Dockerなしで開始するセクションを参照してください。
なぜAIタスクのためにRaspberry Pi上でUltralytics YOLO11 'のNCNN フォーマットを使う必要があるのか?
Ultralytics YOLO11 NCNN NCNN はARMアーキテクチャを活用することで推論パフォーマンスを最大化し、他のフォーマットと比較してより高速で効率的な処理を提供します。サポートされているエクスポートオプションの詳細については、Ultralytics ドキュメントのデプロイオプションのページをご覧ください。
ラズベリーパイで使用するために、YOLO11 のモデルをNCNN フォーマットに変換するにはどうすればよいですか?
Python またはCLI コマンドを使用して、PyTorch YOLO11 モデルをNCNN フォーマットに変換できます:
例
from ultralytics import YOLO
# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates 'yolo11n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("yolo11n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
詳しくは、Raspberry PiでNCNN 。
YOLO11 の実行に関連する Raspberry Pi 4 と Raspberry Pi 5 のハードウェアの違いは何ですか?
主な違いは以下の通り:
- 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は4GBと8GBのLPDDR4X-4267 SDRAMを搭載しています。
これらの機能強化により、Raspberry Pi 5のYOLO11 モデルの性能ベンチマークは、Raspberry Pi 4に比べて向上しています。詳細については、Raspberry Pi シリーズ比較表を参照してください。
Raspberry Pi カメラモジュールをUltralytics YOLO11 で動作させるにはどうすればいいですか?
YOLO11 推論用に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("yolo11n.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ストリームを使う:
詳細な設定方法については、「カメラによる推論」のセクションをご覧ください。