YOLO Vision 2026:

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ランタイムのインストール#

ランタイムは複数のビルドで提供されているため、お使いのオペレーティングシステムに一致するものを選んでください。高周波ビルド(High-frequency build)は、Edge TPUを高いクロック速度で動作させ、パフォーマンスを向上させますが、熱によるスロットリングが発生する可能性があるため、選択する場合は何らかの冷却対策を行ってください。

Raspberry Pi OS高周波モードダウンロード対象バージョン
Bullseye 32bitいいえlibedgetpu1-std_ ... .bullseye_armhf.deb
Bullseye 64bitいいえlibedgetpu1-std_ ... .bullseye_arm64.deb
Bullseye 32bitはいlibedgetpu1-max_ ... .bullseye_armhf.deb
Bullseye 64bitはいlibedgetpu1-max_ ... .bullseye_arm64.deb
Bookworm 32bitいいえlibedgetpu1-std_ ... .bookworm_armhf.deb
Bookworm 64bitいいえlibedgetpu1-std_ ... .bookworm_arm64.deb
Bookworm 32bitはいlibedgetpu1-max_ ... .bookworm_armhf.deb
Bookworm 64bitはいlibedgetpu1-max_ ... .bookworm_arm64.deb

ここから最新バージョンをダウンロードし、 .deb パッケージをインストールします。

sudo dpkg -i path/to/package.deb

ランタイムをインストールした後、新しい udev ルールが有効になるように、Coral Edge TPUをRaspberry PiのUSB 3.0ポートに接続します。

既存のランタイムを先に削除する

すでに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環境では利用できないため、Google Colab、x86_64 Linuxマシン、公式の Ultralytics Docker container、または Ultralytics Platform などの非ARMプラットフォーム上でエクスポートを実行してください。利用可能な引数については、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/<model_name>_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 引数を使用して特定のものを選択できます。

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/<model_name>_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-bitと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

    Install the Edge TPU Runtimeセクションの手順に従って、以前のバージョンの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モードのドキュメントを参照してください。

  • TensorFlowがインストールされていて tflite-runtime に切り替える必要がある場合は、最初にTensorFlowをアンインストールしてください。

    pip uninstall tensorflow tensorflow-aarch64

    次に、 tflite-runtime をインストールまたは更新します。

    pip install -U tflite-runtime

    詳細な手順については、Run Inference on the Edge TPUセクションを参照してください。

  • YOLO26モデルをEdge TPU互換フォーマットにエクスポートした後、次のスニペットで推論を実行します。UltralyticsがEdge TPU上でモデルを読み込めるよう、モデルファイルには _edgetpu.tflite サフィックスを保持する必要があります。

    モデルの実行
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("path/to/<model_name>_full_integer_quant_edgetpu.tflite")  # Load an official model or custom model
    
    # Run Prediction
    model.predict("path/to/source.png")

    予測モードに関する包括的な詳細については、Predictページをご覧ください。

コメント