Raspberry PiにおけるCoral Edge TPUとUltralytics YOLO26の活用 🚀

Raspberry Pi with Edge TPU accelerator

Coral Edge TPUとは何ですか?

Coral Edge TPUは、システムにEdge TPUコプロセッサを追加する小型デバイスです。これにより、TensorFlow Liteモデルに対して低消費電力かつ高性能なML推論が可能になります。詳細はCoral Edge TPUホームページをご覧ください。



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

Coral Edge TPUによるRaspberry Piモデルパフォーマンスの向上

多くのユーザーがRaspberry Piのような組み込みデバイスやモバイルデバイスでのモデル実行を求めています。これらは電力効率に優れ、多様なアプリケーションで使用できるためです。しかし、これらのデバイスでの推論パフォーマンスは、ONNXOpenVINOのようなフォーマットを使用する場合でも、通常は低調です。Coral Edge TPUはこの問題に対する優れたソリューションであり、Raspberry Piと組み合わせることで推論パフォーマンスを大幅に加速できます。

TensorFlow Liteを使用したRaspberry Pi上のEdge TPU(新機能)⭐

CoralによるRaspberry PiでのEdge TPU使用に関する既存のガイドは古くなっており、現在のCoral Edge TPUランタイムビルドは、現在のTensorFlow Liteランタイムバージョンでは動作しません。さらに、GoogleはCoralプロジェクトを完全に放棄したようで、2021年から2025年の間にアップデートは一切行われていません。本ガイドでは、最新バージョンのTensorFlow LiteランタイムとアップデートされたCoral Edge TPUランタイムを使用して、Raspberry Piシングルボードコンピュータ(SBC)上でEdge TPUを動作させる方法を解説します。

前提条件

インストール手順

本ガイドは、すでにRaspberry Pi OSがインストールされ、ultralyticsおよびすべての依存関係がインストール済みであることを前提としています。ultralyticsのインストールが必要な場合は、クイックスタートガイドを参照してセットアップを行ってから先に進んでください。

Edge TPUランタイムのインストール

まず、Edge TPUランタイムをインストールする必要があります。複数のバージョンが存在するため、OSに最適なバージョンを選択してください。 高周波数バージョンはEdge TPUを高いクロック速度で動作させ、パフォーマンスを向上させます。ただし、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

こちらから最新バージョンをダウンロードしてください

ファイルをダウンロードしたら、次のコマンドでインストールできます:

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コンテナ、またはUltralytics Platformを使用してエクスポートすることをお勧めします。利用可能な引数についてはエクスポートモードを参照してください。

モデルのエクスポート
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というサフィックスで終わっていることを確認してください。そうでない場合、UltralyticsはEdge TPUモデルを使用していることを検出できません。

モデルの実行

モデルを実行するには、適切なライブラリをインストールする必要があります。

すでに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がある場合、以下のコードを使用して特定のTPUを選択できます。

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 64bitとUSB Coral Edge TPUでテスト済み。

注意

表示されているのは推論時間であり、前処理および後処理の時間は含まれていません。

画像サイズモデル標準推論時間 (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%高速です。

FAQ

Coral Edge TPUとは何か、そしてUltralytics YOLO26を使用したRaspberry Piのパフォーマンスをどのように強化するのか?

Coral Edge TPUは、システムにEdge TPUコプロセッサを追加するために設計された小型デバイスです。このコプロセッサは、特にTensorFlow Liteモデル向けに最適化された、低消費電力かつ高性能な機械学習推論を可能にします。Raspberry Piで使用する場合、Edge TPUはMLモデルの推論を加速させ、特にUltralytics YOLO26モデルにおいてパフォーマンスを大幅に向上させます。Coral Edge TPUの詳細については、ホームページをご覧ください。

Raspberry PiにCoral Edge TPUランタイムをインストールするにはどうすればよいですか?

To install the Coral Edge TPU runtime on your Raspberry Pi, download the appropriate .deb package for your Raspberry Pi OS version from this link. Once downloaded, use the following command to install it:

sudo dpkg -i path/to/package.deb

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

Ultralytics YOLO26モデルをCoral Edge TPUと互換性があるようにエクスポートできますか?

はい、Ultralytics YOLO26モデルを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")

詳細については、エクスポートモードのドキュメントを参照してください。

Raspberry PiにTensorFlowがすでにインストールされていますが、代わりにtflite-runtimeを使用したい場合はどうすればよいですか?

Raspberry PiにTensorFlowがインストールされており、tflite-runtimeに切り替える必要がある場合は、最初に次のコマンドでTensorFlowをアンインストールしてください:

pip uninstall tensorflow tensorflow-aarch64

その後、以下のコマンドでtflite-runtimeをインストールまたは更新します:

pip install -U tflite-runtime

詳細な手順については、モデルの実行セクションを参照してください。

Coral Edge TPUを使用してRaspberry Pi上でエクスポート済みのYOLO26モデルで推論を実行するにはどうすればよいですか?

YOLO26モデルをEdge TPU互換形式にエクスポートした後、以下のコードスニペットを使用して推論を実行できます:

モデルの実行
from ultralytics import YOLO

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

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

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

コメント