Виявлення об'єктів за допомогою Ultralytics YOLO26 на Raspberry Pi

Цього тижня, на честь #MakerMonday , ми розглянемо, наскільки добре моделі штучного інтелекту YOLO розгортаються та працюють на Raspberry Pi. Це надзвичайно великий та детальний посібник, тому ми поділимося з вами лише частиною встановлення; решту інструкцій та продовження посібника можна буде знайти в останньому випуску офіційного журналу Raspberry Pi Official Magazine, на сторінках 70–77.

Число поруч із обмежувальною рамкою показує, наскільки впевнена модель у своїй ідентифікації виявленого об'єкта; у цьому випадку вона на 88% впевнена, що це собака.

YOLO (You Only Look Once – Ви дивитесь лише раз) – це потужна модель виявлення об’єктів, створена Ultralytics, яка дозволяє ідентифікувати вміст зображень та відео з командного рядка та Python. Звідси ви можете виконувати класифікацію та реагувати на зображення чи відео за допомогою власного коду.

У поєднанні з модулем камери Raspberry Pi Camera Module, YOLO створює потужний засіб ідентифікації об'єктів, на які може реагувати ваша плата Raspberry Pi. Ви можете використовувати його з датчиками та виконавчими механізмами, підключеними до Raspberry Pi, для ідентифікації та реагування в режимі реального часу. Ви також можете використовувати його для аналізу зображень та відеофайлів.

Використання YOLO для завантаження зображення та виконання висновку, базуючись на ньому.

YOLO26 щойно вийшов, і тут ми використовуємо модель YOLO26n. Вона спеціально розроблена для забезпечення швидкості, точності та універсальності. Ви можете використовувати YOLO "з коробки" або додавати та використовувати на ній власні набори даних.

У цьому посібнику ми розглянемо встановлення фреймворку Ultralytics із зображеннями та відеофайлами, як онлайн, так і на нашому комп'ютері. Ми також розглянемо налаштування Docker, щоб ви могли встановити середовище та необхідні програми.

Модель YOLO26n, що виконує висновок про зображення, поряд із зображенням автобуса, завантаженим із веб-сайту Ultralytics.

Вам не потрібен для цього модуль камери Raspberry Pi Camera Module, але досить потужний Raspberry Pi допоможе — для цього посібника ми використовуємо Raspberry Pi 5. У наступних посібниках ми розглянемо інтеграцію модуля камери Raspberry Pi.

Встановлення Docker

Налаштуйте Raspberry Pi 5 з Raspberry Pi OS (див. документацію Raspberry Pi для отримання допомоги з цими кроками). Почнемо з встановлення Docker Engine в Raspberry Pi OS.

Зображення кота, яке ми завантажили в екземпляр Ultralytics і провели інференцію.

Додаємо Docker до apt

Щоб встановити Docker Engine, ви повинні використовувати останню версію Raspberry Pi OS на базі Debian Trixie (вона також працюватиме на Bookworm та Bullseye). Ці інструкції відповідають документації Docker для Debian. Docker надає окремі інструкції з встановлення Raspberry Pi, але вони орієнтовані на стару 32-розрядну версію Raspberry Pi OS, тому дотримуйтесь встановлення Debian.

Наш код Python у Thonny разом з екземпляром YOLO26 Docker, що виконує розпізнавання зображень.

Спочатку переконайтеся, що ви видалили всі старі пакети Docker. Відкрийте вікно терміналу та введіть:

$ sudo apt remove $(dpkg --get-selections
docker.io docker-compose docker-doc podman‑docker containerd runc | cut -f1)

Далі ми додамо офіційний ключ GNU Privacy Guard (GPG) Docker до папки keyrings. Спочатку оновимо apt, а потім встановимо ca-certificates та curl:

$ sudo apt update
$ sudo apt install ca-certificates curl

Вони вже повинні бути встановлені. Переконаємося, що наш каталог keyrings має правильні права доступу: 0755. Це дозволяє власнику файлу (нашому адміністративному обліковому запису) читати, записувати та виконувати; для груп та інших користувачів встановлені лише права на читання та виконання. Ми робимо це за допомогою незвичайної команди install, яка зазвичай використовується для копіювання файлів, але в цьому випадку вона використовується для налаштування прав доступу:

$ sudo install -m 0755 -d /etc/apt/keyrings

Тепер ми використовуємо curl для завантаження GPG-ключа Docker і розміщуємо його в нашому каталозі keyrings з іменем файлу docker.asc:

$ sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc

Ми повинні переконатися, що всі користувачі можуть читати файл docker.asc. Для цього використовуємо стандартну команду chmod з опціями a+r:

$ sudo chmod a+r /etc/apt/keyrings/docker.asc

Далі йде незвичайний багаторядковий фрагмент коду, який створює файл docker.sources у нашому каталозі /etc/apt/, що містить детальну інформацію про репозиторій Docker. Введіть перший рядок, і ви побачите a> у терміналі. Вводіть кожен рядок обережно і натискайте RETURN після кожного. Кожен рядок додається до текстового файлу docker.sources, поки ви не введете EOF (після чого ви повернетеся до командного рядка):

$ sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

Перевірте, чи файл docker.sources створено правильно:

$ cat /etc/apt/sources.list.d/docker.sources

Очікується, що у вихідних даних буде вказано наступне, де Suites — це VERSION_CODENAME вашої операційної системи (trixie):

Types: deb
URIs: https://download.docker.com/linux/debian
Suites: trixie
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc

Якщо раптом виникла проблема, використовуйте vim або nano щоб відредагувати ваш файл:

$ sudo nano /etc/apt/sources.list.d/docker.sources

Перевірте правопис

Тепер оновіть систему та перевірте доступ до завантажень Docker:

$ sudo apt update

Вихідні дані повинні містити такий рядок:

Get:5 https://download.docker.com/linux/debian trixie InRelease [32.5 kB]

Встановіть Docker

Тепер, коли репозиторій Docker знаходиться в apt, настав час встановити різні елементи. Введіть цю команду в терміналі:

$ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin dockercompose-plugin

Docker повинен запуститися автоматично після інсталяції. Щоб перевірити, чи працює Docker, скористайтеся командою:

$ sudo systemctl status docker

Натисніть q, щоб вийти з systemctl і повернутися до командного рядка. У деяких системах ця функція може бути вимкнена, і буде потрібно запустити програму вручну:

$ sudo systemctl start docker

Нарешті, переконайтеся, що інсталяція пройшла успішно, запустивши образ hello-world:

$ sudo docker run hello-world

Якщо це перший запуск, він витягне контейнер library/hello-world з Docker Hub. Ви побачите повідомлення, що містить:

Hello from Docker!

Це повідомлення означає, що ваша інсталяція, судячи з усього, працює правильно.

Перегляньте останній випуск офіційного журналу Raspberry Pi, щоб дізнатися, як завершити налаштування Docker і почати використовувати YOLO26n.

Випуск №162 офіційного журналу Raspberry Pi Official Magazine вже в продажу!

Ви можете придбати цей номер у Tesco, Sainsbury’s, Asda, WHSmith та інших газетних кіосках, включаючи Raspberry Pi Store в Кембриджі. Він також доступний у нашому інтернет-магазині, який здійснює доставку по всьому світу. Ви також можете отримати цифрову версію через наш додаток для Android або iOS.

Ви також можете передплатити друковану версію нашого журналу. Ми не тільки доставляємо по всьому світу, але й ті, хто передплачує друковану версію на шість або дванадцять місяців, отримують БЕЗКОШТОВНО Raspberry Pi Pico 2 W!