Рубрики
Без рубрики

Обнаружение объекта CCTV с использованием ML – часть 2 с PI

Этот пост является второй частью моих экспериментов с серией CCTV. Если бы вы не прочитали первую часть PL … помечены Tensorflow, CCTV, IOT, Python.

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

После успешной настройки обнаружения объекта CCTV в моем ноутбуке я решил реализовать функцию, используя My Pi4. Таким образом, достижение 24/7 мониторинга при низком энергопотреблении, то есть больше сбережений 💰.

Взял мою Pi, установил Docker и запустил Docker составляю в соответствии с документацией фрегата.

Но оно не удалось, и я понял, что текущая версия фрегата не будет работать с базой ARM. (контейнеры) 😡.

“Эй, гугл! Дайте мне некоторое решение »

На этот раз нашел Вилка фрегата Что использует изображение Pyarrow для запуска приложения. Но база кода далеко за фактическим фрегатом. Так последние функции будут отсутствовать, если я использую этот репо.

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

Сел с кодом в течение 2 часов и придумал версию фрегата с поддержкой PI. Вы можете скачать и построить изображение из мое репо

Изменения

  • Добавлена поддержка Raspberry PI (проверена в PI 4)
  • Добавлено новое событие MQTT (фрегат///событие), которое будет удерживать детали события и снимок в Base64. (Схема) [ https://github.com/vinodsr/fragub.comfrigatecamera_nameobject_nameevent Несомненно

За это время я обнаружил, что мой PI становится горячим> 50og. Поскольку процесс ML смотрит через каждые кадры для идентификации объектов, он увеличивает нагрузку CPU. Я настраивал конфиг фрегата, которая сделала процесс посмотреть в каждые 10 кадров, и это улучшило производительность и не имело никаких проблем с результатом.

    take_frame: 15

Загрузка моего конфигурации для вашей справки ( https://gist.github.com/vinodsr/edabaf37ca8ab77f68688844ff48124e#file-configiml )

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

Установите Mosquitto

Для установки брокера Cosquitto введите эти следующие команды:

pi@raspberry:~ $ sudo apt update
pi@raspberry:~ $ sudo apt install -y mosquitto mosquitto-clients

Чтобы создать автоматическое начало Mosquitto на загрузке Enter:

pi@raspberry:~ $ sudo systemctl enable mosquitto.service

Построить фрегат для PI

Клонировать мое репо

git clone https://github.com/vinodsr/frigate.git

Run Docker Build.

 docker build -t frigate:rpi -f Dockerfile.rpi .

Создать docker-compose.yml

version: "3.8"
services:
    frigate:
        container_name: frigate
        restart: unless-stopped
        privileged: true
        shm_size: '1g' # should work for 5-7 cameras
        image: frigate:rpi
        volumes:
            - /dev/bus/usb:/dev/bus/usb
            - ./config:/config
            - ./clips:/clips
        ports:
            - "5000:5000"

Запустить docker compose

docker-compose up -d

После создания контейнеров Docker вы можете переключить обнаружение, выполняя остановку Docker и запустите Comamnds

docker stop frigate
docker start frigate

Дальше больше вы можете добавить это как Cronjob для автоматизации запуска остановки

crontab -e

Вставьте содержимое в редакторе, чтобы начать обнаружение в 10 часов вечера и остановитесь в 6 утра

00 22 * * * docker start frigate
00 06 * * * docker stop frigate

Автоматизировать все

Я использую Узел-красный для домашней автоматизации. Использовал MQTT, Телеграмма бота Узлы для дизайна автоматизации. (Используется Botmaster для создания бота телеграммы. Вы можете прочитать больше об этом из здесь Несомненно

Прикрепление определения моего потока для вашего Ссылка Отказ Вы можете импортировать его в свои узлы-красные потоки.

Мой узел-красный поток/figcaption>

После того, как я настрою автоматизацию CCTV, когда кто-то 🚶 находится у моей входной двери, я получу сообщение телеграммы.

Это обертывает CCTV с использованием серии ML. Это было очень весело интегрировать ML к моим нормальным камерам CCTV. Решение, которое я достиг, на 100% безопасен и безопасен. Никакие данные не отправляются на облаков или хранятся на любом стороннем сервере. Надеюсь, тебе нравится мой фрегат вилка . Увидимся в следующий раз с другим домашним проектом IoT.

Оригинал: “https://dev.to/vinodsr/cctv-object-detection-using-ml-part-2-with-pi-glf”