Coral Edge TPUを搭載したRaspberry PiでUltralytics YOLO26を実行する方法#
Raspberry Piは、エッジでコンピュータービジョンを実行するための省電力で手頃なプラットフォームですが、ONNXやOpenVINOのような最適化済みフォーマットを使っても、デバイス上の推論は低速です。PiをCoral Edge TPUコプロセッサと組み合わせると、推論を専用ハードウェアにオフロードでき、大幅に高速化できます。このガイドでは、ランタイムのインストール方法、Ultralytics YOLO26モデルをEdge TPUフォーマットにエクスポートする方法、高速化された推論を実行する方法を説明します。
視聴: Google Coral Edge TPUを使用してRaspberry Piで推論を実行する方法
Coral Edge TPUを使用する理由#
Coral Edge TPUは、システムにEdge TPUコプロセッサを追加する小型デバイスで、TensorFlow Liteモデル向けに低消費電力かつ高性能なML推論を可能にします。CPUだけでは処理が追いつかない組み込み環境やモバイル環境でのデプロイに最適です。
- 推論の高速化 — Edge TPUは量子化モデルを高速化し、Raspberry PiのCPU単体で実現できる速度を大幅に上回ります。
- 低消費電力 — 1ワットあたりのスループットが高く、バッテリーや太陽光発電を利用するデプロイに最適です。
- プラグアンドプレイ — USB AcceleratorはUSB 3.0経由で接続できるため、追加のハードウェア統合は不要です。
公式Coralガイドは古くなっています。Coralの旧ランタイムビルドは現行のTensorFlow Liteランタイムバージョンでは動作せず、プロジェクトも2021年から2025年まで更新されていません。このガイドでは、現在もメンテナンスされているEdge TPUランタイムと最新のtflite-runtimeを使用するため、現行のRaspberry Pi OS環境でアクセラレーターが動作します。
前提条件#
- Raspberry Pi 4B(2GB以上を推奨)またはRaspberry Pi 5(推奨)
- デスクトップ環境を備えた Raspberry Pi OS Bullseye/Bookworm(64ビット、推奨)
- Coral USB Accelerator
- モデルのエクスポートにはx86_64 Linuxプラットフォーム(Google Colab、x86_64 Linuxマシン、またはx86_64ホスト上のUltralytics Dockerコンテナ)が必要です。Edge TPUコンパイラーはx86_64 Linuxでのみ利用できます。
このガイドでは、ultralyticsとその依存関係がインストール済みで、正常に動作するRaspberry Pi OS環境があることを前提としています。まだの場合は、先にクイックスタートガイドに従ってください。
前提条件を満たしたら、ワークフローは3つのステップで構成されます。PiにEdge TPUランタイムをインストールし、x86_64 Linuxマシンでモデルをエクスポートしてから、Piに戻って推論を実行します。
Edge TPUランタイムをインストールする#
ランタイムには複数のビルドがあるため、ご使用のオペレーティングシステムに合ったものを選んでください。高周波数ビルドはEdge TPUをより高いクロック速度で動作させ、性能を向上させますが、サーマルスロットリングを引き起こすことがあります。これを選択する場合は、何らかの冷却手段を使用してください。
| Raspberry Pi OS | 高周波数モード | ダウンロードするバージョン |
|---|---|---|
| Bullseye 32ビット | いいえ | libedgetpu1-std_ ... .bullseye_armhf.deb |
| Bullseye 64ビット | いいえ | libedgetpu1-std_ ... .bullseye_arm64.deb |
| Bullseye 32ビット | はい | libedgetpu1-max_ ... .bullseye_armhf.deb |
| Bullseye 64ビット | はい | libedgetpu1-max_ ... .bullseye_arm64.deb |
| Bookworm 32ビット | いいえ | libedgetpu1-std_ ... .bookworm_armhf.deb |
| Bookworm 64ビット | いいえ | libedgetpu1-std_ ... .bookworm_arm64.deb |
| Bookworm 32ビット | はい | libedgetpu1-max_ ... .bookworm_armhf.deb |
| Bookworm 64ビット | はい | libedgetpu1-max_ ... .bookworm_arm64.deb |
こちらから最新バージョンをダウンロードし、.debパッケージをインストールしてください。
sudo dpkg -i path/to/package.debランタイムのインストール後、Coral Edge TPUをRaspberry PiのUSB 3.0ポートに接続して、新しいudevルールを適用してください。
既存のランタイムを先に削除してください
Coral Edge TPUランタイムがすでにインストールされている場合は、新しいビルドをインストールする前にアンインストールしてください。
# If you installed the standard version
sudo apt remove libedgetpu1-std
# If you installed the high-frequency version
sudo apt remove libedgetpu1-maxモデルをEdge TPUフォーマットにエクスポートする#
Edge TPUを使用するには、モデルを互換性のあるフォーマットに変換してください。Edge TPUコンパイラーはx86_64 Linuxでのみ利用できるため、エクスポートはGoogle Colab、x86_64 Linuxマシン、x86_64ホスト上の公式Ultralytics Dockerコンテナ、またはUltralytics Platformで実行してください。使用可能な引数については、エクスポートモードをご覧ください。
from ultralytics import YOLO
# モデルを読み込む
model = YOLO("path/to/model.pt") # 公式モデルまたはカスタムモデルを読み込む
# モデルをエクスポートする
model.export(format="edgetpu")エクスポートされたモデルは、<model_name>_saved_model/フォルダーに<model_name>_full_integer_quant_edgetpu.tfliteとして保存されます。
ファイル名は_edgetpu.tfliteで終わる必要があります。別の名前に変更すると、UltralyticsはEdge TPUを検出せず、通常のLiteRT(.tflite)モデルとして読み込むため、アクセラレーターは使用されません。
Edge TPUで推論を実行する#
モデルを実行する前に、Raspberry Piに適切なライブラリをインストールしてください。TensorFlowがすでにインストールされている場合は、先にアンインストールしてください。
pip uninstall tensorflow tensorflow-aarch64次に、tflite-runtimeをインストールまたは更新してください。
pip install -U tflite-runtimeこれで推論を実行できます。
from ultralytics import YOLO
# モデルを読み込む
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # 公式モデルまたはカスタムモデルを読み込む
# 予測を実行する
model.predict("path/to/source.png")予測モードの詳細については、Predictページをご覧ください。
複数のEdge TPUがある場合は、device引数を使って特定のデバイスを選択できます。
from ultralytics import YOLO
# モデルを読み込む
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # 公式モデルまたはカスタムモデルを読み込む
# 予測を実行する
model.predict("path/to/source.png") # 推論ではデフォルトで最初のTPUが使用されます
model.predict("path/to/source.png", device="tpu:0") # 最初のTPUを選択
model.predict("path/to/source.png", device="tpu:1") # 2番目のTPUを選択ベンチマーク#
以下の数値は、Raspberry Pi OS Bookworm 64ビットとUSB Coral Edge TPUを使用して測定したものです。推論時間のみを示し(前処理と後処理は含みません)、Piの各モデルとモードでEdge TPUがもたらす高速化を相対的に示す参考値です。
これらのベンチマークはYOLOv8モデルを使用して記録されました。絶対的な推論時間はモデルのバージョンや画像サイズによって異なりますが、Piの各モデルおよびクロックモード間の相対的な高速化率は変わりません。
| 画像サイズ | モデル | 標準モードの推論時間(ms) | 高周波数モードの推論時間(ms) |
|---|---|---|---|
| 320 | YOLOv8n | 32.2 | 26.7 |
| 320 | YOLOv8s | 47.1 | 39.8 |
| 512 | YOLOv8n | 73.5 | 60.7 |
| 512 | YOLOv8s | 149.6 | 125.3 |
平均すると、次のとおりです。
- 標準モードでは、Raspberry Pi 5はRaspberry Pi 4Bより22%高速です。
- 高周波数モードでは、Raspberry Pi 5はRaspberry Pi 4Bより30.2%高速です。
- 高周波数モードは標準モードより28.4%高速です。
結論#
Coral Edge TPUを使用すると、Raspberry PiをUltralytics YOLO26向けの高性能な省電力推論デバイスにできます。x86_64 Linuxマシンでモデルをエクスポートし、_edgetpu.tfliteサフィックスを維持してから、Piでtflite-runtimeを使用して実行すると、エッジ推論を高速化できます。その他のデプロイ方法については、Raspberry Piガイドをご覧ください。
よくある質問#
Coral Edge TPUは、システムにEdge TPUコプロセッサを追加する小型デバイスです。このコプロセッサは低消費電力かつ高性能なML推論を可能にし、特にTensorFlow Liteモデル向けに最適化されています。Raspberry Piでは、CPU単体で実現できる速度を大幅に上回る推論速度を実現し、Ultralytics YOLO26モデルの性能を大きく向上させます。
ご使用のRaspberry Pi OSバージョンに適した
.debパッケージをこちらのリンクからダウンロードし、インストールしてください。sudo dpkg -i path/to/package.deb以前のCoral Edge TPUランタイムバージョンがある場合は、Edge TPUランタイムをインストールするセクションの手順に従ってアンインストールしてください。
はい。Google Colab、x86_64 Linuxマシン、またはUltralytics Dockerコンテナでエクスポートを実行してください。Ultralytics Platformも使用できます。PythonとCLIでエクスポートする方法は次のとおりです。
モデルのエクスポートfrom ultralytics import YOLO # モデルを読み込む model = YOLO("path/to/model.pt") # 公式モデルまたはカスタムモデルを読み込む # モデルをエクスポートする model.export(format="edgetpu")詳しくは、エクスポートモードのドキュメントをご覧ください。
TensorFlowがインストールされていて、
tflite-runtimeに切り替える必要がある場合は、先にTensorFlowをアンインストールしてください。pip uninstall tensorflow tensorflow-aarch64次に、
tflite-runtimeをインストールまたは更新してください。pip install -U tflite-runtime詳しい手順については、Edge TPUで推論を実行するセクションをご覧ください。
YOLO26モデルをEdge TPU互換フォーマットにエクスポートした後、次のコードスニペットで推論を実行してください。UltralyticsがモデルをEdge TPUで読み込むには、モデルファイルの
_edgetpu.tfliteサフィックスを維持する必要があります。モデルの実行from ultralytics import YOLO # モデルを読み込む model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # 公式モデルまたはカスタムモデルを読み込む # 予測を実行する model.predict("path/to/source.png")予測モードの詳細については、Predictページをご覧ください。