Серия «распознавание номеров»

763

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

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

- Первая часть


Часть пятая. Поиск оборудования. Форм-фактор.
По предварительным испытаниям стало совершенно точно понятно, текущая ip-камера не подходит и необходимо что-то лучше.
Т.к у меня совершенно нет понимания, что происходит на рынке видеонаблюдения, я начал читать какие-есть типы камер и чем они отличаются.
Для начала расскажу вам какие типы камер бывают. Разделить можно на два основных раздела, это IP и Аналоговые камеры. Для себя я выбрал первый вариант по следующим причинам:
• Простота установки. Не требует дополнительного оборудования
• Настройки осуществляются в самой камере
• Возможность обработки видеопотока непосредственно на камере
Следующий момент — это форм-фактор. Не сказать, что для меня он играет важную роль, но мне бы хотелось иметь возможность установить камеру на улицу и иметь возможность легко выставлять кадр.


Корпусные камеры.
Пожалуй, самый классический форм-фактор — это «корпусные камеры». Это камеры, которые мы чаще всего представляем в своей голове. Пример на рисунке 1.


Купольные камеры
Думаю, каждый из нас встречал такие камеры в банках, торговых центрах и развлекательных комплексах.
Основной особенностью такого устройства корпуса является, что в случае вандальных действий будет сложнее «открутить голову», плюс не так просто в отличие от предыдущего типа определить, куда именно смотрит камера, например, чтобы выявить мертвые зоны. Пример на рисунке 2.


Купольная PTZ-камера.
Когда смотрел различные обзоры, часто встречал слово PTZ и не понимал, что оно означает. Рассказываю – это полный аналог купольной камеры, только поворотный механизм объектива управляется удаленно. Пример на рисунке 2.


Поворотная PTZ-камера
Форм-фактор здесь может быть различным, но главная функция — это удаленное управление поворотом камеры. Пример на рисунке 3.

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

Итак, для себя решил, мне подойдет классическая корпусная камера.


Часть шестая. Поиск оборудования. Функционал
Одной из основных задач моего проекта – обработка информации с камеры.
Первоочередно я искал камеры с поддержкой RTSP потока. Для начала я понял, что выбирать среди лидеров рынка оборудования видеонаблюдения я не буду, как бы странно это не звучало. Цены на оборудование бренда hikvision и прочих сильно противоречат одному из требований, оговоренных мною ранее – дешевизна решения. Стал искать среди популярных китайский брендов.
Составил для себя ТОП:
• Gadinan
• BOAVISION
• GCraftsman
• Reolink
Когда начал знакомиться с решениями данных производителей – был приятно удивлен, адекватные для домашнего сегмента цены и неплохие технические характеристики на бумаге. Но все мы с вами знаем о качестве китайского ПО – классные функции на бумаге легко разбиваются о бесконечные глюки и зависания)
Сравнивая различные модели, прочитав множество обзоров и отзывов на работу камер, я определил для себя бренд reolink. Меня очень привлек следующий функционал:
• Распознавание человека
• Распознавание автотранспорта
Возможность отправки уведомлений:
• Загрузка на FTP
• Отправка на email
По итогу я заказал себе камеру RLC-811A (на момент покупки цена 5900руб.)
Основные характеристики:
• POE
• 8MP
• ИК – подсветка
• Светодиодная подсветка
• Слот для SD-карты
• Пятикратный оптический зум
Камера в пути, тем временем продолжаю остальную подготовку.


Часть седьмая. Логика системы.
Теперь вводные немного изменились. Моя новая камера может самостоятельно определять автомобиль в кадре и отправлять уведомление на почту или FTP. Это снимает с меня необходимость в реальном времени самостоятельно обрабатывать видеопоток, теперь мне нужно обрабатывать входящие алерты (оповещения), которые мне отправит камера.
Тогда этапы взаимодействия в системе должны быть следующими:
1. Камера отправляет алерты на сервер(ftp) или почту
2. Моя система принимает входящие данные
3. Данные обрабатываются
Здесь стоит вспомнить еще об одном требовании, которое я для себя выставил – поддержка нескольких пользователей.
Значит необходимо продумать канал для передачи уведомлений. Я решил, у каждого пользователя должны быть свои собственные реквизиты, будь это директория и пользователь ftp или почтовый ящик для отправки.
Вариант с FTP я посчитал недостаточно безопасным. Email подходит намного лучше т.к позволяет гибко управлять настройками почтового ящика и обработкой писем.
У каждого пользователя может быть свой почтовый ящик, у кого-то mail.ru, кто-то пользуется gmail, yandex .и.т.д – при работе с каждым из этих провайдеров можно столкнутся с различными проблемами. Например, gmail с недавних пор вообще запретил подключать свою почту к различным умным устройствам и сторонним приложениям.
Придется создать свой почтовый сервер. При регистрации нового пользователя в системе ему должен быть автоматически создан почтовый ящик и предоставлены подробные настройки для камеры. Пользователь вводит данные настройки в камеру и теперь все уведомления отправляютcя через мой почтовый сервис, которым я могу гибко управлять.

Итак, новая схема теперь выглядит так:

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

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


Часть восьмая. Установка камеры.
Пришла долгожданная посылка! После домашней мини-камеры от xiaomi новая кажется гигантом.

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

Изначально я планировал питать камеру через PoE…


Проблема первая. Из коробки камера не запустилась. Как оказалось, мой роутер Микротик подает слабый вольтаж на PoE и необходимо сменить блок питания роутера. Т.к час был поздний и запустить камеру хотелось очень сильно, решил запитать камеру по отдельной выделенной линии питания, к счастью, в коробке с проводами( у всех же такая есть?) нашел подходящий блок питания на 12v.
Вставил витую пару, подключил питание и через пару секунд камера успешно запустилась. Фирменные приложения в телефоне и на компьютере уже были на готове, камера быстро нашлась в сети, и я успешно подключился.


Проблема вторая.
Камеру хотел установить на балконе, но в связи с проблемами питания тянуть два кабеля до балкона мне не хотелось, а на самом балконе розеток нет. Покупать новый блок питания для PoE я пока тоже не собирался. В итоге решил попробовать установить камеру на кухне, розеток там достаточно, но теперь проблема с доступом в сеть, тянуть витую пару по всей квартире тоже не хотелось.
К счастью, у меня валялось несколько сетевых железок, достал малютку mikrotik hap ac2.

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

Настроил микротик в режиме wifi-репитера и уже по витой паре от него раздал интернет на камеру. В итоге схема получилась следующей:

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

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

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

Проблема третья.
Первая моя мысль была – установить камеру внутри квартиры, перед окнами. Такая установка менее заметна с улицы и защищает камеру от погодных условий.
От этой идеи пришлось сразу отказаться, т.к днем камера еще может снимать, но в темное время суток когда автоматически включается ИК-подсветка, камера засвечивает саму себя отражением от окна.
Пример, как выглядит такая картинка с камеры:

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

Белое пятно в верхнем левом углу изображения — это ик-светодиоды камеры. В итоге решено, камеру необходимо выводить на улицу.


Проблема четвертая.
При установке камеры, я понимал, скорее всего придется ещё много раз менять её положение и соответственно создавать крепеж «на века» пока не имеет смысл. Но задача крепко зафиксировать камеру на улице осталась.
Решил установить её на подоконник «вверх ногами», почему «вверх ногами»? Корпус предполагает, что такие камеры устанавливаются крепежом сверху или вертикально на стену, а в моем случае крепеж будет снизу.

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

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

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

Что за синие прямоугольники? Хороший вопрос))) т.к сверлить подоконник очень не хотелось, я воспользовался небольшими неодимовыми магнитами, держат они очень крепко, сложно снять уголок двумя руками. Магниты не находятся в близости к камере или проводам, так что каких-либо помех или проблем замечено не было.

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

Проблема пятая. Оборудование установлено, вроде работает. Проверяю качество картинки днем, с помощью зума – отлично! Номера прекрасно читаются

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

Но… наступает ночь и что я вижу – а ничего! Точнее видно все, кроме номеров. Ик-подсветка сделана у камеры на совесть и засвечивает номера превращая их в сплошной белый прямоугольник.

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

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

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

Готово! И так с камерой на текущем этапе разобрались (на самом деле есть еще одна серьёзная проблема, но о ней позже), теперь возвращаемся за компьютерный стол.

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

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

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

Шутка, но она не далека от правды.

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

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

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

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

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

Еще один важный раздел сайта – Автомобили. Стоит понимать, один автомобиль может несколько раз попадать в поле зрения камеры, таким образом необходимо разделять сущности «алерт» и «автомобиль».
Один автомобиль может принадлежать к нескольким алертам. И если мы хотим увидеть историю автомобиля, для этого нам необходимо отталкиваться именно от автомобиля.

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

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

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

Также вы можете заметить поле «Часовой пояс», зачем? Т.к я писал систему с возможностью что ей будут пользоваться несколько человек необходимо понимать, что у каждого будет свой часовой пояс. И вся информация в системе должна отображаться с учетом часового пояса конечного пользователя.

Пример того, как функционирует система изображен на видео. Обновление данных и распознавание работает достаточно быстро.

Финишная прямая.
Статья получилась большой, но аккуратно разбить её я не смог. Надеюсь вам было интересно наблюдать за моим небольшим домашним проектом.
Выше я писал, что с камерой есть еще одна серьезная проблема. Я вам её покажу:

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

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


Полезная информация для самых терпеливых :)

Кому интересна данная система и кто хочет помочь в её развитии (желательно чтобы у вас была камера типа моей) — пишите мне в личку, будем тестировать вместе.
Также будет интересно услышать от вас, какое имя вы бы придумали для этой системы. Если оно мне понравится, возможно сервис будет назван вашим вариантом.

Показать полностью 21 1
1165

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

Всем привет!


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 на текущий момент система мной написана функционирует в бета режиме.

Показать полностью 7
Отличная работа, все прочитано!