Ultralytics YOLO27:
Get Started

Coral Edge TPUを搭載したRaspberry PiでUltralytics YOLO26を実行する方法#

Raspberry Pi with Edge TPU accelerator

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経由で接続できるため、追加のハードウェア統合は不要です。
現行のTensorFlow Liteに対応したランタイム

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

前提条件#

このガイドでは、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`のサフィックスを維持してください

ファイル名は_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での推論

複数の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)
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向けの高性能な省電力推論デバイスにできます。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ページをご覧ください。

コメント