Ultralytics YOLO27:

Raspberry PiでCoral Edge TPUを使用してUltralytics YOLO26を実行する方法#

Raspberry Pi with Edge TPU accelerator

Raspberry Piは、エッジでコンピュータービジョンを実行するための電力効率に優れた手頃なプラットフォームですが、ONNXOpenVINOのような最適化された形式を使用しても、デバイス上の推論は低速です。PiをCoral Edge TPUコプロセッサと組み合わせると、推論を専用ハードウェアにオフロードでき、大幅に高速化できます。このガイドでは、ランタイムのインストール、Ultralytics YOLO26モデルのEdge TPU形式へのエクスポート、アクセラレーション推論の実行方法を説明します。



Watch: How to Run Inference on Raspberry Pi using Google Coral Edge TPU

Coral Edge TPUを使用する理由#

Coral Edge TPUは、システムにEdge TPUコプロセッサを追加するコンパクトなデバイスで、TensorFlow Liteモデル向けに低消費電力・高性能なML推論を可能にします。CPUだけでは処理しきれない組み込み環境やモバイル展開に適しています。

  • 高速な推論 — Edge TPUは量子化モデルを、Raspberry PiのCPU単体で実現できる速度をはるかに超えて高速化します。
  • 低消費電力 — ワットあたりのスループットが高く、バッテリー駆動や太陽光発電を使用する展開に最適です。
  • プラグアンドプレイUSB AcceleratorはUSB 3.0経由で接続できるため、追加のハードウェア統合は必要ありません。
最新のTensorFlow Lite向けに更新されたランタイム

公式のCoralガイドは古くなっています。元のCoralランタイムのビルドは現在のTensorFlow Liteランタイムバージョンでは動作せず、プロジェクトも2021年から2025年の間に更新されていません。このガイドでは、現在も保守されているEdge TPUランタイムと最新のtflite-runtimeを使用するため、現在のRaspberry Pi OSインストール環境でアクセラレーターを動作させられます。

前提条件#

このガイドでは、ultralyticsとその依存関係がインストールされた、動作するRaspberry Pi OS環境をすでに用意していることを前提とします。まだの場合は、先にクイックスタートガイドに従ってください。

前提条件の準備ができたら、ワークフローは3つのステップで構成されます。PiにEdge TPUランタイムをインストールし、非ARMマシンでモデルをエクスポートしてから、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コンパイラーはARMでは利用できないため、エクスポートは非ARMプラットフォーム(Google Colab、x86_64 Linuxマシン、公式のUltralytics Dockerコンテナ、またはUltralytics Platform)で実行してください。利用可能な引数については、Export modeを参照してください。

モデルをエクスポートする
from ultralytics import YOLO

# Load a model
model = YOLO("path/to/model.pt")  # Load an official model or custom model

# Export the model
model.export(format="edgetpu")

エクスポートされたモデルは<model_name>_saved_model/フォルダーに<model_name>_full_integer_quant_edgetpu.tfliteとして保存されます。

`_edgetpu.tflite`サフィックスを維持する

ファイル名は_edgetpu.tfliteで終わる必要があります。別の名前に変更すると、UltralyticsはEdge TPUを検出せず、通常のTensorFlow Liteモデルとして読み込むため、アクセラレーターは使用されません。

Edge TPUで推論を実行する#

モデルを実行する前に、Raspberry Piに適切なライブラリをインストールしてください。TensorFlowがすでにインストールされている場合は、先にアンインストールします。

pip uninstall tensorflow tensorflow-aarch64

続いてtflite-runtimeをインストールまたは更新します。

pip install -U tflite-runtime

これで推論を実行できます。

モデルを実行する
from ultralytics import YOLO

# Load a model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # Load an official model or custom model

# Run Prediction
model.predict("path/to/source.png")

予測モードの詳細については、Predictページを参照してください。

複数のEdge TPUで推論する

複数のEdge TPUがある場合は、device引数で特定の1台を選択できます。

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # Load an official model or custom model

# Run Prediction
model.predict("path/to/source.png")  # Inference defaults to the first TPU

model.predict("path/to/source.png", device="tpu:0")  # Select the first TPU

model.predict("path/to/source.png", device="tpu:1")  # Select the second TPU

ベンチマーク#

以下の数値は、Raspberry Pi OS Bookworm 64ビットとUSB Coral Edge TPUを使用して測定したものです。推論時間のみを示しており(前処理と後処理は除外)、PiのモデルやモードごとにEdge TPUが提供する高速化を比較するための相対的な参考値です。

これらの数値について

これらのベンチマークはYOLOv8モデルで記録されています。絶対的な推論時間はモデルのバージョンや画像サイズによって異なりますが、Piのモデル間およびクロックモード間における相対的な高速化の傾向は維持されます。

画像サイズモデル標準推論時間(ms)高周波数推論時間(ms)
320YOLOv8n32.226.7
320YOLOv8s47.139.8
512YOLOv8n73.560.7
512YOLOv8s149.6125.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向けの高性能かつ低消費電力の推論デバイスになります。非ARMマシンでモデルをエクスポートし、_edgetpu.tfliteサフィックスを維持したうえで、Pi上でtflite-runtimeを使用して実行すると、高速化されたエッジ推論を利用できます。その他の展開オプションについては、Raspberry Piガイドを参照してください。

FAQ#

  • Coral Edge TPUは、システムにEdge TPUコプロセッサを追加するコンパクトなデバイスです。このコプロセッサにより、特にTensorFlow Liteモデル向けに最適化された、低消費電力・高性能なML推論が可能になります。Raspberry Piでは、CPU単体で実現できる速度を大幅に超えて推論を高速化するため、Ultralytics YOLO26モデルのパフォーマンスが大きく向上します。

  • こちらのリンクからRaspberry Pi OSのバージョンに適した.debパッケージをダウンロードしてから、インストールします。

    sudo dpkg -i path/to/package.deb

    Edge TPUランタイムをインストールするセクションの手順に従って、以前のCoral Edge TPUランタイムのバージョンをすべてアンインストールしてください。

  • はい。Google Colab、x86_64 Linuxマシン、またはUltralytics Dockerコンテナでエクスポートを実行してください。Ultralytics Platformも使用できます。PythonとCLIでエクスポートする方法は次のとおりです。

    モデルをエクスポートする
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("path/to/model.pt")  # Load an official model or custom model
    
    # Export the model
    model.export(format="edgetpu")

    詳しくは、Export modeのドキュメントを参照してください。

  • 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
    
    # Load a model
    model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # Load an official model or custom model
    
    # Run Prediction
    model.predict("path/to/source.png")

    予測モードの詳細については、Predictページを参照してください。

コメント