YOLO Vision 2026:

Как запустить Ultralytics YOLO26 на Raspberry Pi с Coral Edge TPU#

Raspberry Pi with Edge TPU accelerator

Raspberry Pi — это энергоэффективная и доступная платформа для запуска компьютерного зрения на периферийных устройствах, но инференс на устройстве работает медленно даже с оптимизированными форматами, такими как ONNX или OpenVINO. Подключение 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. Оно отлично подходит для встроенных и мобильных систем, где возможностей одного CPU недостаточно:

  • Более быстрый вывод — Edge TPU ускоряет квантованные модели намного эффективнее, чем это может сделать CPU Raspberry Pi в одиночку.
  • Низкое энергопотребление — обеспечивает высокую пропускную способность на ватт, что идеально для систем с питанием от аккумуляторов или солнечных батарей.
  • Plug-and-playUSB Accelerator подключается через USB 3.0, поэтому никакой дополнительной интеграции оборудования не требуется.
Обновленная среда выполнения для актуальной версии TensorFlow Lite

Официальное руководство Coral устарело: оригинальные сборки среды выполнения Coral больше не работают с текущими версиями среды выполнения TensorFlow Lite, а проект не обновлялся в период с 2021 по 2025 год. В этом руководстве используется поддерживаемая среда выполнения Edge TPU и последняя версия tflite-runtime, чтобы ускоритель работал на актуальной установке Raspberry Pi OS.

Предварительные требования#

В этом руководстве предполагается, что у тебя уже установлена рабочая Raspberry Pi OS с ultralytics и ее зависимостями. Если нет, сначала изучи руководство по быстрому старту.

Когда предварительные требования выполнены, рабочий процесс состоит из трех шагов: установка среды выполнения Edge TPU на Pi, экспорт модели на машине не на 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 к порту USB 3.0 на Raspberry Pi, чтобы вступило в силу новое правило 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, преобразуй модель в совместимый формат. Выполняй экспорт на платформе не на ARM — Google Colab, машине на x86_64 Linux, официальном контейнере Ultralytics Docker или Ultralytics Platform, так как компилятор Edge TPU недоступен на ARM. См. раздел Режим экспорта для получения информации о доступных аргументах.

Экспорт модели
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 загрузит его как обычную модель TensorFlow Lite вместо обнаружения Edge TPU, и ускоритель использоваться не будет.

Запуск вывода на 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")

Подробную информацию о режиме предсказаний можно найти на странице Предсказание.

Вывод с несколькими 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-бит и USB Coral Edge TPU. Они показывают только время вывода (пре-/постобработка исключены) и служат относительным ориентиром для ускорения, которое обеспечивает Edge TPU на различных моделях Pi и режимах.

О цифрах

Эти бенчмарки были записаны с моделями YOLOv8. Абсолютное время вывода зависит от версии модели и размера изображения, но относительный прирост скорости между моделями Pi и тактовыми режимами сохраняется.

Размер изображенияМодельСтандартное время вывода (мс)Время вывода в режиме высокой частоты (мс)
320YOLOv8n32.226.7
320YOLOv8s47.139.8
512YOLOv8n73.560.7
512YOLOv8s149.6125.3

В среднем:

  • Raspberry Pi 5 на 22% быстрее в стандартном режиме, чем Raspberry Pi 4B.
  • Raspberry Pi 5 на 30.2% быстрее в режиме высокой частоты, чем Raspberry Pi 4B.
  • Режим высокой частоты на 28.4% быстрее стандартного режима.

Заключение#

Coral Edge TPU превращает Raspberry Pi в мощное и энергоэффективное устройство для инференса с Ultralytics YOLO26. Экспортируй модель на машине не на ARM, сохрани суффикс _edgetpu.tflite и запусти ее с tflite-runtime на Pi для получения ускоренного инференса на периферии. Дополнительные варианты развертывания см. в руководстве Raspberry Pi.

FAQ#

  • Coral Edge TPU — это компактное устройство, которое добавляет сопроцессор Edge TPU в твою систему. Этот сопроцессор обеспечивает низкое энергопотребление и высокую производительность ML-вывода, особенно оптимизированного для моделей TensorFlow Lite. На Raspberry Pi он ускоряет вывод гораздо сильнее, чем может сделать CPU в одиночку, что значительно повышает производительность для моделей Ultralytics YOLO26.

  • Скачай подходящий пакет .deb для своей версии Raspberry Pi OS по этой ссылке, а затем установи его:

    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
    
    # Load a model
    model = YOLO("path/to/model.pt")  # Load an official model or custom model
    
    # Export the model
    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, запусти инференс с помощью следующих фрагментов кода. Файл модели должен сохранять суффикс _edgetpu.tflite, чтобы Ultralytics загружал его на Edge 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")

    Подробную информацию о режиме предсказаний можно найти на странице Предсказание.

Комментарии