Русский
Русский
English
Статистика
Реклама

Создал домашнюю систему видеонаблюдения с распознаванием номеров

Всем привет!


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

Заранее напоминаю о том, что я пишу непосредственно о системе. Легитимность установки камеры и съемки зависит от конкретных случаев и в некоторых из них запрещена законом.


Часть первая. Зарождение идеи.
Начну рассказ с текущей ситуации. Примерно год назад, очередной раз бродя по интернету я попал в цепкие лапы акций магазинов бытовой техники и зачем-то купил себе камеру "Xiaomi Mi Home Security Camera 1080p Magnetic". С учетом всех скидок, акций и бонусов камера обошлась примерно в 1тыс. рублей.

Создал домашнюю систему видеонаблюдения с распознаванием номеров Разработка, Программирование, Видеонаблюдение, Охрана, IP-камера, Длиннопост

Камера mi camera magnetic (фото из интернета)

Задача для камеры была поставлена быстро "наблюдать за происходящим во дворе". Меня интересовала парковка.
Интересный факт, камера лично мне не пригодилась ни разу, но несколько раз меня с утра будили незнакомые люди звонком в дверь и интересовались "моя ли это камера" и "пишет ли она" т.к у них что-то случалось во дворе.

Создал домашнюю систему видеонаблюдения с распознаванием номеров Разработка, Программирование, Видеонаблюдение, Охрана, IP-камера, Длиннопост

Пример дневной съемки во дворе

Создал домашнюю систему видеонаблюдения с распознаванием номеров Разработка, Программирование, Видеонаблюдение, Охрана, IP-камера, Длиннопост

Пример ночной съемки во дворе

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

Я решил поставить и настроить вторую камеру так что бы она снимала конкретный небольшой участок дороги с проезжающими машинами.
Если у меня будут номера, можно создавать базу номеров машин. Зачем? Потому что могу!
Только на этом моя фантазия не остановилась. Номер у меня есть, почему бы не получить по нему информацию?(Марка, модель и.т.д). И как это обычно бывает на ровном месте я придумал себе хобби-проект.


Часть вторая. Формируем ТЗ.
Идея понятна. Хочу фиксировать все проезжающие машины параллельно распознавая их номера и по возможности получать дополнительную информацию по автомобилю.

Что дальше? Дальше агрегируем требования и формируем задачу.
Доступ к данным должен быть простым. Писать приложения под каждую платформу(вин, андроид, ios и.т.д.) мне очень не хотелось. Решено, это будет web-приложение с адаптивным под мобильные устройства дизайном.
Доступ из интернета.
Авторизация система должна иметь функционал авторизации по логину и паролю.
Регистрация.
Данные должны хранится в БД для возможности быстрого доступа к информации и построения различных отчетов ( сколько раз за день а/м с номером появлялся в поле камеры, самая частая машина за неделю, количество машин в день/неделю/месяц )
Простота разработки я бы не хотел писать полностью весь код, т.к я не супер крутой программист. Честно говоря я вообще не считаю себя программистом. Соответственно приоритет будет отдан готовым библиотекам, сервисам которым можно отдать часть работы на аутсорс.
Простая масштабируемость возможно, то, что я сделаю будет полезно кому-то еще. В таком случае, не стоит создавать систему из непонятных инструментов и костылей. Использовать популярные фреймворки.
Писать код и разрабатывать функционал с учетом использования несколькими пользователями.
Стоимость аренда сервера, покупка домена и подключение к сторонним api могут вылиться в копеечку. Мне постоянно стоит напоминать себе что это домашний хобби-проект. Стоит тщательно контролировать расходы.
Данные по госномеру очень хотелось бы помимо номера так-же получать подробные данные по госномеру.

И так, основные требования сформулированы. Можно начинать делать? Нет!
Не хочется городить велосипед ( совсем немного конечно хочется, все-таки будет свой родной, из костылей :-) ). Следующим делом стоит изучить рынок, понять что вообще предлагается в сфере видеонаблюдения конечному потребителю.


Часть третья. Анализ рынка. Поиск готовых решений.
Конечно, я сразу побежал гуглить. Сначала я был приятно удивлен, статей и информации на эту было достаточно.

Полный размерзапрос популярен, статей и предложений на рынке достаточно
Создал домашнюю систему видеонаблюдения с распознаванием номеров Разработка, Программирование, Видеонаблюдение, Охрана, IP-камера, Длиннопост

Полностью готовые решения.
После радости сразу пришло разочарование. Я начал переходить по ссылкам, знакомиться с продуктами и что самое неприятное, их стоимостью. Не буду здесь приводить примеры конкретных продуктов и говорить почему они мне не подошли. В целом, претензии ко всем продуктам были идентичны.
юзабилити продающего сайта. Да, это ужас. Словно подключился к интернету 2005 года. Подавляющее большинство сайтов были прямиком от туда. Данный факт не имеет прямой корреляции с качеством продукта. Но я был удивлен что в век цифровизации, компании которые продают системы видеонаблюдения или ПО к ним, совсем не думают о важности пользования сайтом.
дизайн ПО. Примерно тоже самое что и сайт. Добавить особо нечего. ПО как и сайт написано в 2005 и с тех пор директора всех этих фирм запрещают обновлять интерфейс)) .
закрытость рынка. Получить демку какого-то ПО это отдельная эпопея, нужно обязательно позвонить, написать в мессенджер, оставить заявку на сайте, написать на почту, станцевать танец и сделать жертвоприношение. В общем это лучшая практика чтобы вам никто не звонил и не писал. Отчасти я понимаю что данные системы нацелены на коммерческий сектор, а там высокая клиент-ориентированность не нужна. Торги выиграли и вперед монтировать камеры!

Тем не менее полезные выводы сделаны:
ознакомившись с интерфейсом подобных программ начал вырисовываться и интерфейс моей системы. Определены основные блоки сайта.


Микросервисы
Теперь стоит посмотреть в сторону open-source решений касающихся распознавания номеров, конечно в первую очередь меня интересовала логика перехвата видеопотока с камеры и анализ картинки, поиск и распознавание российского гос. номера.
Погружаться в нейронные сети и машинное обучение мне не очень хотелось, это сильно замедлит разработку.
Поискав по интернету нашел несколько неплохих по описанию решений. Отфильтровав самые живые в плане комьюнити и апдейтов я решил протестировать Nomeroff Net
Nomeroff Net это опенсорсный фрейморк написанный на питоне для распознавания номеров автомобилей.
Писать о разворачивании сервера, настройке и установке фреймворка не буду. Статей на эту тему достаточно, для разных уровней пользователей.
По результатам номер определяется достаточно плохо. Возможно стоит поковырять настройки, но мне этого делать не хотелось т.к на мой взгляд фреймворк из коробки не справился даже с хорошим примером.
На скриншоте вы можете видеть фото с номером, которое я отдал программе и его результат распознавания.

Создал домашнюю систему видеонаблюдения с распознаванием номеров Разработка, Программирование, Видеонаблюдение, Охрана, IP-камера, Длиннопост

пример распознавания с помощью nomeroff net

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

Часть третья. Обработка видеопотока.
Разобрать номер на изображении это конечно хорошо, но для начала изображение необходимо получить. Первой моей мыслью было напрямую подключаться к камере, каково было мое удивление что ip-камера xiaomi не имеет популярного rtsp протокола для прямого подключения. Что делать? Пришлось прошивать. Кажется бренд xiaomi создан для того, чтобы после покупки его еще приходилось дорабатывать.
Прошивка установлена! Что дальше? Дальше настраиваем подключение к камере и понимаем что качество камеры не позволит нам разбирать номера автомобилей. Почему я не задался этим вопросом раньше? Я держал этот риск в голове изначально. Поэтому в первую очередь меня интересовала логика взаимодействия между узлами системы.
Таким образом первый тестовый стенд распознавания номером выглядел следующим образом:
Ip-камера стоит на столе и направленна на монитор пк где открыты найденные в интернете фотографии различных автомобилей с российскими номерами.

Создал домашнюю систему видеонаблюдения с распознаванием номеров Разработка, Программирование, Видеонаблюдение, Охрана, IP-камера, Длиннопост

тестовый стенд распознавания номеров

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

Примерную логику работы системы я отобразил на схеме:

Создал домашнюю систему видеонаблюдения с распознаванием номеров Разработка, Программирование, Видеонаблюдение, Охрана, IP-камера, Длиннопост

ИТОГИ
Идея приобрела формализованный статус и перешла в небольшой хобби-проект. Я понял примерный объем работ. Проведены первые тестовые испытания.
Напишите в комментариях если к данному проекту у вас будет интерес. В следующей части я напишу о том какие изменения я решил внести в логику системы и почему. Опишу как проходила разработка дизайна и подбор оборудования.
p/s на текущий момент система мной написана функционирует в бета режиме.

Мобилизация Моё, Мобилизация, Повестка в военкомат, Длиннопост, Политика
Показать полностью 1
А как же казаки? Главный мобилизационный ресурс страны! Повтор, Казаки, Мобилизация, Россия, Россия и Украина, Украина, Политика, Запад, НАТО
Не ошибается тот, кто ничего не делает. 21.09.2022 Политика, Правила, Война, Пропаганда, Санкции, Экономика, Мобилизация, Грязь, Хейтеры, Длиннопост
https://ria.ru/20220921/rezervisty-1818360764.html
Не ошибается тот, кто ничего не делает. 21.09.2022 Политика, Правила, Война, Пропаганда, Санкции, Экономика, Мобилизация, Грязь, Хейтеры, Длиннопост
Не ошибается тот, кто ничего не делает. 21.09.2022 Политика, Правила, Война, Пропаганда, Санкции, Экономика, Мобилизация, Грязь, Хейтеры, Длиннопост
Показать полностью 3
Мобилизация штурмовиков Комментарии на Пикабу, Мобилизация, Скриншот
Главное для политика - это невозмутимое лицо Юмор, Дональд Трамп, Переводчик, Уверенность, Повтор, Политика
Показать полностью 1
Все познаётся в сравнении...
Бизнес план
Однажды...
9,5 лет брака ценой в одну командировку Развод (расторжение брака), Измена, Брак (супружество), Мат
Показать полностью 1
Классика жанра, а ведь могла бы и убить... Пластиковым стаканчиком Драка, Богородск, Нижний Новгород, Управляющая компания, Беспредел, Видео, YouTube, Негатив
Заманчивое предложение
Настоящая любовь Юмор, Twitter, Собака, Любовь, Акита ину, Муж, Жена, Встреча, Поцелуй, Повтор, Скриншот
Показать полностью 1
Источник: ktonanovenkogo.ru
К списку статей
Опубликовано: 22.09.2022 15:54:13
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

[моё]

Разработка

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

Видеонаблюдение

Охрана

Ip-камера

Длиннопост

[моё]

Моё

Мобилизация

Повестка в военкомат

Длиннопост

Политика

Повтор

Казаки

Мобилизация

Россия

Россия и украина

Украина

Политика

Запад

Нато

Истории из жизни

Коррупция

Глупость

Текст

Частичная мобилизация

Мобилизация

Военный билет

Политика

[моё]

Политика

Правила

Война

Пропаганда

Санкции

Экономика

Мобилизация

Грязь

Хейтеры

Длиннопост

Комментарии на пикабу

Мобилизация

Скриншот

Мобилизация

Юмор

Объявление

Грустный юмор

Сарказм

Текст

Юмор

Дональд трамп

Переводчик

Уверенность

Повтор

Политика

Коронавирус

Мобилизация

Картинка с текстом

Грустный юмор

[моё]

Моё

Частичная мобилизация

Мобилизация

Текст

Политика

Короткопост

[моё]

Сервис

Компания

Клиенты

Служба поддержки

Клиентоориентированность

Теплый пол

Текст

Ответ на пост

Волна постов

[моё]

Мат

Переписка

Диалог

Вконтакте

Мобилизация

План

Большой лебовски

Скриншот

Частичная мобилизация

Политика

Мобилизация

Коронавирус

Актуальное

Текст

Грустный юмор

Осторожность

Собеседник

Картинка с текстом

Грустный юмор

Мудрец

[моё]

Семья

Детство 90-х

Дети

Метательные ножи

Позитив

Текст

Истории из жизни

[моё]

Развод (расторжение брака)

Измена

Брак (супружество)

Мат

[моё]

Мошенничество

Призыв

Призыв в армию

Предупреждение

Армия

Мобилизация

Текст

Без рейтинга

Драка

Богородск

Нижний новгород

Управляющая компания

Беспредел

Видео

Youtube

Негатив

Twitter

Мобилизация

Скриншот

Юмор

Парик

Лысина

Азиаты

Красота

Видео

Вертикальное видео

Накладка

Танцы

Юмор

Twitter

Собака

Любовь

Акита ину

Муж

Жена

Встреча

Поцелуй

Повтор

Скриншот

Последние комментарии

  • Имя: Шеронова Наталья
    08.09.2021 | 00:08
    Отдельное спасибо за баобаб :) Подробнее..
  • Имя: 13
    16.06.2021 | 16:37
    Неожиданно увидеть свое фото и ссылку на левый источник ... Я размещал это фото на пикабу. Подробнее..
© 2006-2024, shop-archive.ru