DbnStr / Remote-Camera-Vision

Охранный сервис с использованием машинного зрения

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Remote-Camera-Vision

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

  • Просматривать данные с камер внутри мобильного приложения;
  • Автоматически распознавать лица людей на видео, а также гибко уведомлять о распознавании (о чьем распознавании необходимо уведомлять, а о чьем не нужно);
  • Интегрировать управление различными дополнительными устройствами вместе с камерами (например, замком двери);

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

Применение проекта

Рассмотрим случаи и сферы, в которых наиболее эффективно и уместно применение нашего проекта:

  • Система "умный глазок". Камера устанавливается около двери, а также подключается к системе RCV. Система будеи распознавать людей на видео и уведомлять пользователя о том, что "домой пришел Вася" или же, что "незнакомец находится у вашей двери". Внедрение такой системы для пользователя будет эквивалентно стоимости камеры с выходом в интернет (примерно 2000 рублей), а также оплаты подписки на сервис.
  • Системы с низкой степенью надежности аутентификации. То есть такие системы, ошибки в которых не будут носить большие риски. Например, турникеты на входе в университет, RCV будет автоматически распознавать студентов и осуществлять открытие турникета.

Концептуальная архитектура

Снимок экрана 2022-10-06 в 17 49 32

Во взаимодействии участвуют следующие акторы

  • Web-Client. Представляет собой камеру, у которой есть модуль для выхода в интернет. При взаимодействии с ML Executor играет роль веб клиента. Его задачей является передача видеопотока с камеры в ML Executor.
  • ML Executor. Представляет собой сервер, на котором запущено работающее ML решение для распознавания лиц. Выполняет следующие функции:
    • Получает видеопоток с множества Web-Client;
    • Распознает лица на видео;
    • Публикует данные о распознавании в MQTT Broker;
  • MQTT Broker. Является местом, куда ML Executor публикует данные и откуда MobileApp забирает данные (и наоборот);
  • MobileApp. Представляет собой мобильное приложение пользователя, функция которого заключается в отображении данных (распознанные лица на различных камерах), полученных от ML Executor (через MQTT Broker).
  • Cloud Storage. Хранит информацию о камерах, а именно:
    • кадры, на которых распознаны люди;
    • кадр с последним состоянием камеры.

Архитектура компонента ML Executor

architecture

Настройка

На данном этапе испольузется MQTT Broker, который запускается локально. Гайд по установке MQTT сервера: http://onreader.mdl.ru/MQTTProgrammingWithPython/content/Ch01.html

Параметры настройки клиента для взаимодействия с брокером host = 127.0.0.1 port = 1883

Подключение возможно без предоставления логина и пароля.

Запуск MQTT Broker: mosquitto -c [Путь к файлу mosquitto.conf (содержится в основной папке проекта)]

About

Охранный сервис с использованием машинного зрения

License:MIT License


Languages

Language:Dart 70.5%Language:Python 27.6%Language:Dockerfile 1.0%Language:Swift 0.5%Language:Shell 0.2%Language:Kotlin 0.2%Language:Objective-C 0.0%