Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Практическое руководство: real-time панорамирование/наклон для отслеживания лиц на Raspberry Pi

С небольшими вложениями времени и $25 в запчастях вы можете превратить Raspberry Pi в легкий real-time панорамирующий/наклоняющийся веб-камера, следующая за лицами. Комбинируя детекцию лиц OpenCV, два хоббийных сервопривода и драйвер servoblaster, Pi может держать камеру центрированной на объекте со скоростью выше одного движения в секунду.

Шаг 1: Приобретение оборудования

Что понадобится:

Предполагая, что у вас уже есть Pi и веб-камера, дополнительные детали обойдутся примерно в $25.

Шаг 2: Подготовка Raspberry Pi

Используйте официальный Raspbian OS (hard‑float) и держите его обновленным. Разгон до 800 МГц может дать дополнительный CPU-запас для real-time детекции, но имейте в виду, что это может снизить стабильность.

Установите OpenCV для Python:

sudo apt-get install python-opencv

Скачайте и установите servoblaster, драйвер сервоприводов от Richard Hirst:

git clone https://github.com/richard-hirst/servoblaster.git
cd servoblaster
make install_autostart

Опционально: настройте таймаут, чтобы драйвер прекращал посылку импульсов после секунды бездействия. Добавьте эту строку в /etc/modules:

servoblaster idle_timeout=1000

Запустите драйвер:

sudo modprobe servoblaster

Настройка камеры: Благодаря Gmoto за инсайт, что настройка модуля uvcvideo исправляет проблемы с латентностью. Выполните эти команды один раз при загрузке или добавьте в /etc/modules:

rmmod uvcvideo
modprobe uvcvideo nodrop=1 timeout=5000 quirks=0x80

Шаг 3: Сборка рига

Следуйте инструкциям кронштейна, установите сервоприводы и прикрепите веб-камеру к верху кронштейна (скотч подойдет). Подключите камеру к USB-порту Pi; питание USB-хаб опционален, но может помочь, если камера потребляет больше тока.

Шаг 4: Подключение сервоприводов

Servoblaster отображает servo‑0 на GPIO 4 и servo‑1 на GPIO 17. Типичные провода сервопривода:

Используйте ленточный кабель для подключения управляющих проводов к правильным GPIO-пинам. Код трактует servo‑0 как панорамирование (влево-вправо) и servo‑1 как наклон (вверх-вниз).

Питание сервоприводов: Малые хоббийные сервоприводы часто могут питаться прямо от 5 В GPIO Pi, но более крупные или требовательные модели могут требовать внешний источник 5–6 В. Подключите +5 В и GND сервоприводов к внешнему источнику, затем соедините внешний GND с GPIO-землей Pi.

Шаг 5: Запуск программы отслеживания

Скачайте предоставленный скрипт PiFace.py, поместите его на Pi и выполните:

cd /path/to/PiFace.py
python PiFace.py

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

Посмотрите демо-видео, ссылки на которые в оригинальной статье, для справки.

Производственный процесс

  1. Как считывать температуру с DS18B20 на Raspberry Pi 2
  2. Профессиональный мониторинг температуры на Raspberry Pi с датчиком DS18B20
  3. Измерение температуры на Raspberry Pi с датчиками Maxim 1-Wire и мостом DS2482 I2C
  4. Точный мониторинг температуры в серверной на Raspberry Pi
  5. Интеграция данных сенсоров в Raspberry Pi: практическое руководство
  6. Датчик слежения за линией на Raspberry Pi — простой детектор двери/линии KY‑033
  7. Обнаружение молний с Raspberry Pi и AS3935: практическое руководство
  8. Продвинутое отслеживание теннисного мяча на Raspberry Pi с OpenCV
  9. Создание headless сигнализации утечки воды на Raspberry Pi 2 с Adafruit T‑Cobbler Plus
  10. Практическое руководство: real-time панорамирование/наклон для отслеживания лиц на Raspberry Pi