Каталог статей


Выбранная схема!!!


6639
AI Обнаружение объектов и измерение расстояний с помощью Raspberry Pi

AI Обнаружение объектов и измерение расстояний с помощью Raspberry Pi

Представьте себе транспортное средство, движущееся со скоростью 54 километра в час, что примерно соответствует скорости объекта, движущегося со скоростью 0,5 метра за кадр со скоростью 30 кадров в секунду (0,5×30×3,6=54 км/час). На крыше автомобиля установлена ​​компактная высокопроизводительная система технического зрения, построенная на базе платы Raspberry Pi 5 и ускорителя Hailo-8L AI.

Эта установка в режиме реального времени обнаруживает объекты впереди и оценивает их расстояние до автомобиля. Когда объект входит в заранее определенную зону безопасности, система может мгновенно выдать предупреждение или активировать экстренное торможение, улучшая как ситуационную осведомленность, так и время реакции.

Видеоруководство по POC

Видео: https://www.youtube.com/watch?v=8FtJYa1OlyA

Построенная с использованием AI Accelerator HAT на Raspberry Pi 5, система работает как платформа AI производственного уровня, способная работать со скоростью минимум 30 кадров в секунду. Разработанное for автомобильное крепление, оно непрерывно сканирует дорогу, идентифицирует объекты в режиме реального времени и рассчитывает расстояние до них. Эти текущие показания отображаются на терминале. Если какой-либо объект пересекает предопределенный порог близости, система может активировать оповещения через контакты GPIO.

Хотя механизм оповещений прост в реализации, в текущей версии он не реализован. Компоненты, необходимые for для сборки системы, перечислены в таблице спецификации. На рис. 1 показан рабочий прототип авторов.

Рис. 1: Авторский прототип системы распознавания объектов и измерения расстояний

Подключение и монтаж

Ускоритель AI можно установить поверх Raspberry Pi, как показано на рис. 2. Обратите внимание, что, поскольку HAT AI полностью закрывает основной процессор, Raspberry Pi 5 имеет тенденцию значительно нагреваться. Во избежание перегрева настоятельно рекомендуется использовать дополнительный метод охлаждения. В этой системе в узком пространстве, доступном после установки AI HAT, помещается только специальный охладитель фиксированного типа. Полная установка и ее отдельные компоненты показаны на рис. 2. Для поддержания стабильной работы Raspberry Pi 5 также должен питаться от высококачественного адаптера питания 5 В, 4 А.

Благодаря активному охлаждению Raspberry Pi 5 можно безопасно разогнать для получения дополнительной производительности за счет небольшого увеличения энергопотребления и выделения тепла. Разъем вентилятора кулера должен быть подключен к специальному разъему вентилятора на плате Pi 5. В сочетании с AI HAT тяжелая работа по обработке AI на основе YOLO выполняется ускорителем, что позволяет Pi 5 сосредоточиться на вычислениях и логике управления. Такое разделение труда обеспечивает плавную и эффективную работу даже при частоте 30 кадров в секунду.

Спецификация
КомпонентыКоличество
Raspberry Pi 5, 8 ГБ или 16 ГБ1
Hailo-8L AI ускоритель for Pi 5, 13 TOPS до 26 TOPS1
Pi 5 камера1
Адаптер питания Pi 51
Высокоскоростная SD-карта, 32 ГБ или более
HDMI адаптер/дисплей1

Программирование и код

Во-первых, убедитесь, что установлена 64-разрядная версия Raspberry Pi OS Bookworm. Эта система не работает на 32-битном Pi OS. Рекомендуется использовать высококачественный модуль камеры версии 3 или выше. for наилучшие результаты.

Руководство по установке

https://www.raspberrypi.com/documentation/computers/ai.html#getting-started

Обновите Systembash

$ sudo apt-get update
$ sudo apt-get обновление

Доступ к Raspberry Pi

Самый удобный способ for управления Raspberry Pi — доступ к нему с настольного компьютера или ноутбука через SSH:

$ ssh [электронная почта защищена]

При появлении запроса введите пароль. После аутентификации вам будет предоставлен доступ к терминалу Raspberry Pi 5.

Примечание:

SSH доступ не является обязательным; также поддерживается прямое соединение с использованием дисплея, клавиатуры и мыши.

Включение скоростей PCIe Gen 3.0

К default Raspberry Pi 5 работает на скоростях Gen 2.0 PCIe. Чтобы включить поколение 3.0:

$ sudo raspi-config
  • Перейдите в «Дополнительные параметры» → «Скорость PCIE».
  • Выберите «Да», чтобы включить режим Gen 3.
  • Выберите «Готово» и при появлении запроса перезагрузите систему.

Установить стек программного обеспечения Hailo

После перезагрузки установите драйверы и инструменты Hailo:

$ sudo apt install hailo-all

Эта команда устанавливает драйвер устройства ядра Hailo, прошивку, HailoRT, приложения Hailo, библиотеки и `rpicam-apps`. Затем перезагрузите систему:

$ sudo restart

Перезагрузитесь, чтобы применить все изменения. Проверьте установку Hailo. После перезагрузки запустите:

$ hailortcli fw-control идентификация

Это гарантирует, что все изменения вступят в силу.

Выполнение на устройстве: 0000:01:00.0
Идентификационная доска
Версия протокола управления: 2
Версия прошивки: 4.17.0
(релиз,приложение,расширенный контекст switch
буфер) Версия регистратора: 0
Название платы: Hailo-8
Архитектура устройства: HAILO8L
Серийный номер: HLDDLBB234500054
Номер детали: HM21LB1C2LAE
Название продукта: HAILO-8L AI ACC M.2 B+M KEY
МОДУЛЬ EXT TMP

Последние пять строк гарантируют, что плата Hailo-8L успешно установлена. В некоторых случаях серийный номер или номер детали может не отображаться, но плата continue будет работать правильно. Проверьте rpicam-hello:

$> rpicam-hello -t 10s # Это запустится
rpicam for 10 секунд, а затем остановитесь
$> rpicam-hello --help # Это отображает
файл справки

После установки всех компонентов установите пакет `rpicam-apps`, чтобы включить функции ускорителя Hailo AI:

$> sudo apt update && sudo apt установить
приложения rpicam

Теперь можно реализовать примеры высокоскоростного обнаружения объектов:

$> rpicam-hello -t 0 --post-process-file /

usr/share/rpi-camera-assets/hailo_yolov6_

вывод.json

$> rpicam-hello -t 0 --post-process-file /

usr/share/rpi-camera-assets/hailo_yolov8_

вывод.json

$> rpicam-hello -t 0 --post-process-file /

usr/share/rpi-camera-assets/hailo_yolov5_

personface.json # Эта команда обнаруживает

лица – полезный for подсчет лиц

$> rpicam-hello -t 0 --post-process-file /

usr/share/rpi-camera-assets/hailo_yolov8_

pose.json # Эта команда обнаруживает человека

позы – полезное for обнаружение падения

Эти команды демонстрируют, как использовать `rpicam-hello` с различными моделями YOLO AI.

Инструкции по установке

Примеры Hailo RPi5 – Руководство по установке:

Шаг 1. Клонируйте репозиторий

$> клон git https://github.com/hailo-ai/

hailo-rpi5-examples.git

Шаг 2. Перейдите в каталог

$> cd hailo-rpi5-examples

Этот каталог содержит два ключевых файла: `setup_env.sh` и `requirements.txt.`

Поскольку для Hailo-8L требуются определенные версии пакета Python, во избежание конфликтов рекомендуется использовать виртуальную среду. Это позволяет for устанавливать необходимые версии пакетов локально, не вмешиваясь в общесистемную среду Python. Следующим шагом будет активация специальной среды, рекомендованной пакетом Hailo-8L.

Шаг 3. Активируйте виртуальную среду

$> источник setup_env.sh

После активации приглашение терминала изменится, указывая на вход в виртуальную среду: (venv_hailo_rpi5_examples) bera@raspberrypi:~/hailo-rpi5-examples $

Шаг 4. Установите необходимые пакеты Python

(venv_hailo_rpi5_examples) bera@raspberrypi:~/hailo-rpi5-examples $ pip install -r require.txt

Файл require.txt содержит список пакетов Python, необходимых for для примеров Hailo. Чтобы просмотреть содержимое файла:

$> требования кота.txt

Ожидаемое содержимое:

numpy<2.0.0 setproctitle opencv-python

Чтобы установить их по отдельности:

$> pip install numpy<2.0.0
$> pip install setproctitle
$> pip установить opencv-python

Шаг 5. Загрузите необходимые модели Hailo

<код>$> download_resources.sh

Чтобы установить дополнительные ресурсы Python, посетите: https://github.com/hailo-ai/hailo-apps-infra

Этот репозиторий предоставляет инфраструктуру приложений Hailo for Raspberry Pi 5. Некоторые его части являются необязательными for текущего кода.

$> клон git https://github.com/hailo-ai/
hailo-apps-infra.git
$> pip install --force-reinstall -v -e .
# (Необязательно)

Команда «git clone» загружает дополнительные утилиты Python for Hailo. Последняя команда pip совершенно необязательна; его можно запустить или пропустить. На этом этапе все программные компоненты, необходимые for системы, должны быть установлены. Обратите внимание, что все эти инструменты относятся к категории программного обеспечения с открытым исходным кодом.

Начните экспериментировать с ускорителем Hailo-8L, используя скрипты Python в каталоге `basic_pipelines`:

Теперь процесс можно перейти к работе с ускорителем Hailo-8L, опробованию некоторых примеров скриптов Python и, в конечном итоге, к созданию индивидуального файла Measure_distance3.py. Два примера скриптов Python уже доступны в подкаталоге Basic_pipelines:

  • detection_simple.py
  • pose_estimation.py

Они могут принимать входные данные из заранее определенных источников, таких как файлы MP4, камера Raspberry Pi или камера USB. Пример использования:

$> python Basic_pipelines/detection_

simple.py --input rpicam # С камеры Pi

$> python Basic_pipelines/pose_estimation.

py --input test.mp4 # Из видеофайла

$> python Basic_pipelines/detection_

simple.py --input /dev/video0 # от USB

камера

$> python Basic_pipelines/detection.py

--help # Справка forDetection.py

Чтобы использовать пользовательские модели:

$> python Basic_pipelines/detection.py \

–labels-json resources/barcode-labels.json \

–hef-path resources/yolov8s-hailo8l-barcode.hef \

–входные ресурсы/barcode.mp4

Теория измерения расстояний

Расстояние оценивается путем сравнения известной ширины объекта с его воспринимаемой шириной на захваченном изображении.

В зависимости от модели камеры-обскуры объект, находящийся дальше от камеры, кажется меньше. Если известны фокусное расстояние камеры, реальная ширина объекта и наблюдаемая ширина изображения, расстояние можно рассчитать с помощью подобных треугольников.

Стандартная ширина и ширина default определяются в начале кода.

Модель сегментации `yolov5n_seg_h8l_mz.hef` помогает идентифицировать полные объекты, даже если они частично видны. Сегментированное изображение используется для оценки ширины объекта, которая затем сравнивается с известными размерами для определения расстояния.

# Словарь ширины объекта for расстояние

оценка (в метрах)

OBJECT_WIDTHS = {

«человек»: 0,4, «велосипед»: 0,5, «автомобиль»:

1,8, «мотоцикл»: 0,8, «автобус»: 2,5,

«грузовик»: 2,5, «самолет»: 36,0, «поезд»:

3,2, «лодочка»: 5,0, «светофор»: 0,6,

«пожарный гидрант»: 0,3, «знак остановки»: 0,75,

«кошка»: 0,3, «собака»: 0,6, «лошадь»: 1,2,

«корова»: 1,5, «слон»: 3,2, «медведь»: 1,7,

«зебра»: 1,2, «жираф»: 2,0,

«скамья»: 1,2, «стул»: 0,6, «диван»: 2,0,

«обеденный стол»: 1,8,

«ноутбук»: 0,4, «телевизор»: 1,2

}

DEFAULT_OBJECT_WIDTH = 0,5 # По умолчанию

ширина (в метрах) for неизвестные объекты

FOCAL_LENGTH = 0,5 # Фокусное расстояние в

метров (модуль камеры Raspberry Pi 3 Wide

Спец)

Чтобы запустить сценарий Measure_distance3.py

и захватывать данные с разных камер

источники:

$> python Measure_distance3.py --input

rpicam # Захват данных с камеры Pi

$> python Measure_distance3.py --input /

dev/video0 # Захват данных с камеры USB

Модель yolov5n_seg_h8l_mz.hef поддерживает около 80 классов объектов, но в этой реализации основное внимание уделяется только 26 конкретным объектам, перечисленным в предыдущем словаре. Это объекты for, которым предоставлена стандартная физическая ширина, позволяющая for оценить их расстояние от камеры.

Тестирование

Рис. 3 иллюстрирует метод измерения расстояния, while Рис. 4 и Рис. 5 показывают детали и монтаж штифта.

Рис. 4. Техника измерения расстояния

Включите систему и запустите сценарий. Объекты и расстояния до них будут отображаться в реальном времени.

Raspberry Pi 5 в сочетании с Hailo-8L AI HAT и питанием от источника питания 5 В, 4 А является идеальным for встраиваемым или стационарным приложением, требующим обнаружения объектов в реальном времени и оценки расстояния.

Рис. 5. Установка камеры и Raspberry Pi

Где можно использовать этот проект?

Эту систему можно использовать for в различных целях, например:

Мониторинг приборной панели автомобиля

Система, установленная над лобовым стеклом, может обнаруживать впереди идущие транспортные средства и пешеходов, оценивать расстояния и предупреждать водителя через case о потенциальных столкновениях или небезопасных дистанциях следования. Он также может интегрировать синтезатор речи, например espeak-ng, для выдачи голосовых рекомендаций через динамик.

Контроль передачи заднего хода с рекомендациями

Установленный в задней части автомобиля, он может обнаруживать близлежащие объекты или людей во время парковки и подавать визуальные/звуковые оповещения или даже запускать механизмы автоматического торможения.

Умный мониторинг входа в дверь

Расположенная у входа система может обнаруживать приближающихся людей, классифицировать их (например, курьеров, известных посетителей или незнакомцев) и оценивать расстояние до них, чтобы обеспечить автоматические действия, включая активацию дверного звонка, освещение или отпирание двери.

Анализ занятости и толпы в зданиях

Его можно использовать для контроля плотности и расстояния между людьми в залах, коридорах или зонах ожидания. Система может активировать системы вентиляции или оповещения о борьбе с скоплением людей, когда люди находятся слишком близко друг к другу или в помещении становится слишком многолюдно.

Системы безопасности склада

Он может обнаруживать движущиеся вилочные погрузчики или персонал и оценивать их близость к зонам ограниченного доступа. Это может помочь вызвать срабатывание сигнализации или замедлить работу автоматизированного оборудования в случае приближения, тем самым повышая безопасность на рабочем месте.

Robot Vision for навигация в помещении

Он используется в AGV (автоматизированных транспортных средствах) или внутренних роботах для определения препятствий и измерения расстояний, обеспечивая более безопасную и эффективную навигацию в помещении.

Наблюдение за школьной зоной или воротами

Система отслеживает присутствие и перемещение детей или опекунов возле школьных ворот и генерирует оповещения или автоматизирует работу ворот на основе обнаруженного поведения и расстояния.

Мониторинг дорожного движения на пунктах взимания платы или мостах

Система определяет типы транспортных средств и измеряет расстояния, чтобы обеспечить автоматизированный сбор платы за проезд, обнаружение перегрузки или анализ плотности движения.

Мониторинг ворот школьного автобуса

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

Отслеживание и распознавание 3D-объектов

Камера слежения за объектами с использованием Raspberry Pi и MediaPipe

Обнаружение объектов с помощью модуля лидара

Обнаружение объектов с помощью ИК-датчика


Сомнатх Бера — энтузиаст электроники. Он фрилансер и написал несколько статей по всему миру. Реон Саманта — инженер-измеритель из Джадавпурского университета. Он увлекается абстрактным кодированием for и занимается проектированием СБИС.


Категория: Железо | Добавил: Администратор (16.05.2026)
Просмотров: 18 | Рейтинг: 0.0/0


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2026