Шлагбаум или ворота, которые будут автоматически открываться для своих, — весьма популярная задача. Решений на рынке много, но все они имеют те или иные недостатки. Чаще всего требуется облако, то есть удаленный сервер, который отвечает за вычисления. Картинка передается на сервер, он распознает номер, после чего принимает решение: пустить или нет.
Поэтому нас весьма заинтересовало решение, которое разработал интегратор BARY в Воронеже, — локальная автоматизация ворот и шлагбаума. За последние годы производительность чипов значительно возросла, теперь ее достаточно и для задач распознавания. Особенно если взять чип, который специализирован под нейронные вычисления.
Ниже мы про него подробно расскажем.
Дополнительные фото
Как устроена автоматика?
Интегратор выбрал одноплатный компьютер Khadas VIM3 Pro на чипе Amlogic A311D с четырьмя ядрами Arm Cortex-A73 и двумя Cortex A53. Чип обеспечивает производительность ИИ 5,0 TOPS NPU и поддерживает Tensorflow, Caffe и другие среды глубокого обучения. Нейронная сеть, выбранная для распознавания номеров, отлично на нем работает.
В качестве камер выбрали Reolink, так как они могут фиксировать движение и отдавать текущий кадр в виде картинки через API. В противном случае пришлось бы брать кадры из видеопотока и конвертировать их в картинки, что существенно снизило бы производительность.
В щит также установлен модуль реле WBIO-DO-R10R-4, который хорошо подходит для управления воротами/шлагбаумом, — из-за наличия сдвоенных реле, в которых единовременно замкнут только один выход на открытие или закрытие. Для контроля за состоянием ворот использовано необычное решение — вольтметр WB-MAP3EV, который измеряет напряжение на обмотках электродвигателя ворот и по его величине определяет, в каком направлении ворота движутся. За счет того, что конденсатор между прямой и обратной обмоткой поворачивает фазу на 90 градусов, напряжение на незадействованной обмотке будет подниматься примерно до 280 В. По этому признаку можно определить, на какую обмотку подано питание.
Решение подходит не для всех типов двигателей, но если нет концевиков, то это единственный способ контролировать направление. Если концевики есть, то используется модуль дискретных входов WBIO-DI-WD14.
Дополнительные фото
Программное решение
На микрокомпьютер установлен софт BARY СКУД. Модуль СКУД конфигурируется довольно просто. У плагина Reolink есть опции по сохранению картинок с заданной периодичностью, а также только по наличию движения. Эти опции у камер активированы на въезд и выезд, указаны отдельные папки для каждой. У плагина СКУД указаны те же папки для каждой камеры, а также сами камеры для создания событий, там же указаны исполнительное и контролирующее устройства.
Когда автоматику запустили, то столкнулись с проблемой: вахтер может нажать кнопку по своей инициативе, хотя автоматика уже начала работать, а вахтер этого не заметил. В таком случае кнопка распознается как повторный сигнал и ворота переключаются на закрытие. Поэтому при срабатывании автоматики кнопку вахтера нужно отключать. Для этого предусмотрели перемычку, которая подключена к реле. Сделана соответствующая настройка: блокируем кнопку, если работает автоматика.
На воротах стоят фотоэлементы с обеих сторон, чтобы не допустить недоразумений в виде застрявшего на переезде автомобиля, например. Фотоэлементы подключены через WBIO-DI-WD14. Никакие правила создавать не нужно, СКУД управляет воротами автоматически.
Дополнительные фото
Алгоритм работы
Система дважды в секунду опрашивает обе камеры на наличие движения. Если движение обнаружено, то плагин начинает с интервалом в секунду сохранять текущую картинку с камеры (также он может обрезать картинку по заданной области).
Плагин СКУД при этом постоянно анализирует содержимое папок с картинками и при обнаружении новых картинок запускает нейронную сеть, которая распознает переданные ей картинки и результат обработки передается в плагин СКУД, который проверяет наличие автомобиля в белом списке.
Если автомобиль из белого списка был обнаружен, то кнопка вахтера блокируется (если необходимо) и ворота открываются.
Если ворота начали открываться под внешним воздействием (например, с кнопки вахтера до ее блокировки), то повторно команда не отправляется.
Если ворота были в процессе закрытия, то команда на закрытие отменяется и ворота открываются.
После того, как автомобиль проедет, СКУД анализирует наличие движения на любой из камер, и если его нет, закрывает ворота. Также можно закрывать ворота автоматически по таймауту после срабатывания фотоэлементов.
Факт проезда автомобиля добавляется в журнал событий, в котором цветом показано, есть ли автомобиль в белом списке (система фиксирует все проезжающие автомобили), его номер и кадры с камеры. Все обработанные изображения могут перемещаться в архив с изменением разрешения.
Максимальный размер хранилища задается в настройках, и старые кадры удаляются автоматически.
Что доступно жильцам?
Автоматические ворота стоят в коттеджном поселке «Северная Гардарика» под Воронежем. Для управления жильцам достаточно поставить приложение BARY на мобильное устройство (поддерживаются iOS и Android), но также есть доступ через веб-интерфейс.
В приложении жильцы могут редактировать список допущенных автомобилей и создавать временные пропуски. Они могут вручную открыть/закрыть ворота с помощью смартфона. Решение умное, и если в зоне ворот находятся машины или люди, то закрытия не произойдет. Если ворота уже открыты, то команда «открыть» будет проигнорирована системой.
Жильцы имеют доступ к журналу проезжающих автомобилей, они также могут следить за происходящим на КПП с помощью камер видеонаблюдения. Но права доступа ограничены: можно смотреть только свой журнал и управлять своим белым списком.
Наконец, интегратор добавил поддержку Siri через CarPlay, ее тоже можно использовать для управления воротами.
Заключение
Задачу автоматизации ворот или шлагбаума вполне можно решить локальными вычислениями без обращения в облако. Нас приятно порадовали возможности современных SoC, которые предлагают высокую производительность вычислений ИИ. К одноплатному компьютеру Khadas VIM3 были добавлены реле, счетчики и дискретные входы Wiren Board, запрограммирована логика и написан софт.
Систему автоматизации изначально развернули в коттеджном поселке под Воронежем, она показала себя хорошо. Такую систему вполне по силам собрать самостоятельно и написать код. Но можно обратиться и к интегратору, который сделает все за вас.
Проект оказался весьма успешным, позднее интегратор BARY автоматизировал еще один коттеджный поселок с несколькими воротами и шлагбаумами, десятью камерами и тремя одноплатными компьютерами, между которыми распределяется нагрузка. В сутки в закрытую зону проезжают больше 2 тысяч автомобилей, так что решение вполне хорошо масштабируется.
А что вы думаете о рассмотренном в статье решении? Можно ли его улучшить? Возможно, у вас есть своя система автоматизации ворот и шлагбаума, которой вы хотите поделиться с читателями? Пишите в комментариях.
Комментарии (80)
Avenit
06.06.2024 07:07+1Есть камеры которые сами распознают номер
garageman
06.06.2024 07:07+2Поделитесь ссылкой пожалуйста, прямо интереснно.
Yumado
06.06.2024 07:07Конечно же трассир. Софт в камерах решает все. У них софт на 555++
хики по софту унылое *
Maximuzz
06.06.2024 07:07трасссир еще тот доставщик головной боли)
Yumado
06.06.2024 07:07+2Я не за трассир как рекламщик
Просто могу делать вывод. У меня их в сети наверное тыщ 3 камер. региков наверно 200.
нет с ними проблем.
Daar
06.06.2024 07:07Везет, а у меня их пара штук, и вечно какие-то проблемы, то картинки нет с камеры, то записи нет, то еще какой-то гимор с плагинами... и поддержка думает по неделе-две. Все железо их.
augap
06.06.2024 07:07+1Задача была сделать за копейки. Первый КП автоматизировали за свой счет и больше для себя.
NotebookKiller
06.06.2024 07:07+2А WB8 с 4 ядрами A53 тут не справится?
augap
06.06.2024 07:07+1Справится, только скорость распознавания будет ниже. Жильцы во всех поселках, где установлен наш СКУД избалованы и лишнюю секунду стоять не хотят.
augap
06.06.2024 07:07В описанном решении важна производительность NPU, а не частота и тип процессора
NotebookKiller
06.06.2024 07:07Так NPU - это часть чипа? Просто из фразы "Чип обеспечивает производительность ИИ 5,0 TOPS NPU и поддерживает Tensorflow, Caffe и другие среды глубокого обучения" кажется, что это кортексы обеспечивают такую производительность. Нипаняааатна
chason
06.06.2024 07:07+1какая получилась цена всего оборудования (без учета шлагбаума)? Какая стоимость данного ПО?
augap
06.06.2024 07:07+385к софт, 40-50к за железо, в зависимости от ворот/шлагбаума, ежемесячный платеж 9800.
chason
06.06.2024 07:07+1хорошо, а софт вашей разработки? вообще хорошо получилось по стоимости, все что мы мониторили для нашего объекта выходило намного больше (готовые решения от топ производителей, все около 1млн и выше). свяжемся с вами для расчета нашего проекта.
augap
06.06.2024 07:07+2Да, наш. Изначально у нас платформа для умного дома, СКУД просто один из модулей для него.
PereslavlFoto
06.06.2024 07:07+1Ежемесячный платёж в 9800 составляет от половины до трети заработной платы сторожа. То есть сторож получается дешевле.
ponikrf
06.06.2024 07:07+1Вобще решение овер сайз. Начнем с того, что есть шлагбаумы которые идут сразу с платой управления. Его цеплять можно прямо по RS485 или брать дискретные сигналы прямо с платы. Соответсвенно, можно забыть про кучу автоматики внутри шлагбаума, а только получать состояние и управлять через RS485. Причем такие шлагбаумы со встроенной автоматикой сами следят за фотоэлементом и проездом машины.
Остается только вопрос определения номера, и вот бесплатных и хороших решений для наших номеров я так и не нашел, а самому делать - времени нету. В итоге взяли решение которое условно говоря при распозновании вебхуком сообщает кто подъехал. Все остальное мелочи жизни.
augap
06.06.2024 07:07+2Работали с существующими воротами/шлагбаумом. Менять под наши возможности задач не стояло. Цена модулей WB тут чуть больше 10к.
gidwin
06.06.2024 07:07+2А что будет, если распечатать на бумажке номер из белого листа приклеить к машине, то пропустит?
gidwin
06.06.2024 07:07А что будет, если свет отключат на вашем локальном решении?
NotebookKiller
06.06.2024 07:07+1А что будет, если молния ударит в ворота?
garageman
06.06.2024 07:07По портреблению - на сфотографированном в щитке АКБ - будет работать пару часов. А вот сам шлагбаум - в зависимости от того есть на нем свои АКБ или нет.
augap
06.06.2024 07:07На одном объекте при отключении света шлагбаум с аккумов автоматом поднимается.
Format-X22
06.06.2024 07:07А почему не гравитационно? И аккумулятор был бы не нужен. Нужно лишь сделать так чтобы противовес был чуть тяжелее и держать защелкой/магнитом. Света нет - оно отщелкнуло и плавно поднялось силой гравитации.
augap
06.06.2024 07:07Если бюджет позволяет, можно солнечный инвертор, плюс аккум на 50 Ач и больше поставить, опыт имеется)
Krey
06.06.2024 07:07+1Номеров для полной автоматизации недостаточно. Должна ещё распознаваться расцветка специальных служб.
Harwest
06.06.2024 07:07+1Спецслужбы вахтер кнопкой пустит )
randomsimplenumber
06.06.2024 07:07+2Если есть вахтер с кнопкой - зачем автоматика?
augap
06.06.2024 07:07Любой житель кто их вызвал с приложения могут впустить. Я думаю если пожар то заранее поднимут вообще
fizikdaos
06.06.2024 07:07+6Техническое решение - это хорошо, пусть роботы работают, а не человек. Но это все игра в театр безопасности. Кому сильно надо, тот и пешком прогуляется, и за другой машиной проедет, и шлагбаум сломает, и еще кучу способов как проехать придумает.
Предлагаю более изящное решение - ставим оптический датчик возле шлагбаума. Машина подъехала (любая) - открыли. Итого: все жители - могут заехать. Все не жители - просто не будут заезжать, что они там забыли? Все, задача решена.
augap
06.06.2024 07:07Точно также паровозиком заехать смогут если надо в вашем решении. Стоимость оборудования опять же. У нас не режимный объект, задачи усложнять жизнь жителям не стояло.
yray_yym
06.06.2024 07:07+3Ребят, ну честное слово - велосипед изобретаете: Hikvision iDS-TCM203, цена 50тр минус 20% ндс. Без облака, локальное распознование по выбранным странам, определение въезда/выезда, статистика, интеграция в скуд, как сухими контактами так и по протоколам и через апи. Для домашнего примения чисто режим управлеия воротами шлагбаумами. 50тр, воткнул и работет. И да как камера, вполне приличная, по онвиф тоже работает.
wofs
06.06.2024 07:07+1Вроде где-то была новость, что Hikvision ушли из РФ. Да, наверняка можно купить по серым каналам, но где гарантии, что оно так будет вечно? Все таки у людей бизнес, а его лучше строить на легально доступном оборудовании, чтобы в будущем иметь меньше проблем в обслуживании.
yray_yym
06.06.2024 07:07Это самое дешёвое, что я использовал, но есть аналоги от отечественного БОЛИДа, или от ДАХИ. А на счёт ухода хиквижена, у них на этот случай давно припасён бренд хайватч
ZlodeiBaal
06.06.2024 07:07+1Вы уверены что у вас распознавание поддерживает NPU? Скорее всего на CPU же бегает. Затаскивать на Khadas что-то отличное от простой классификации или детекции достаточно болезненно. Просто по вашему посту где скопировано "поддерживается TensorFlow, Caffe", которые уже давно никто не использует. И в коментах то же самое.
Но это не поддержка, а экспорт. А для экспорта там ONNX используется.
Ну и в целом разница между каким-нибудь ncnn и инференсом на NPU будет максимум раза в полтора-два. Часто в этом нет смысла, когда на плате уже CPU загружен.
oleg_rico
06.06.2024 07:07+1Очень хорошо что не используется облако. В Московском торговом центре Ривьера до известных событий система запоминала номер заехавшего на парковку автомобиля и спокойно его выпускала в бесплатный период. Но там использовались облачное решение и потом они сломались:)
newz20
06.06.2024 07:07Не буду ругать указанное решение. Но как минимум есть более дешевые системы распознавания номеров ПО Линия с лицензией 2900 на камеру, для распознавания с 2 камер и i3 хватит старенького. Отправка команд по http куда угодно, Ну и охранику кнопку сделать не проблема, да хоть с телефона в wifi сети. . Таким образом web реле за 5к + 5800 за 2 камеры (любые нормальные) + комп + плата gsm (если номер не распознался мне без разницы звонить или в приложение залезать). Экономически платить 9800 в месяц за облако не обосновано, за симку в 40 раз дешевле будет.
Pusk1
06.06.2024 07:07Вспомню, что уже на pentium 100 конце рошлого века эта задача была успешно решена. попутно ещё и скорость считывалась. Разработчики рассказывали, что windows не подходит, т.к. он не умеет в реалтайме работать, а в dos они сильно ограничены размером памяти.
Нашёл упоминаине лишь про вторую версию. http://old.prominform.com/index.php?option=com_content&view=article&id=134&Itemid=102
Технически стоял pentium 100 на посту ГАИ, с камеры на него шёл видеопоток. 4 полосы на такой железяке получалось распознавать только на низкой скорости до 40 км/ч. Базы МВД синхронизировались по модему.
moonland
06.06.2024 07:07+2Спасибо за статью, интересно всегда читать материалы от коллег. Скажите как происходит селекция изображений для распознавания в период срабатывания датчика движения? ведь датчик движения - это диапазон времени и стало быть поток видео из которого вы забираете кадр каждую секунду. может получиться Так, что на распознавание отправилось 7 изображений (7 секунд было движение), и номер есть только на седьмом кадре.
Ffackir
06.06.2024 07:07Есть такое свободное решение дипстак ищет совпадение по картинке + внедряем автоматизацию вроде редлайна или хомассистант и получаем полную автоматизацию за 5 рублей я вот обожаю такие статьи когда люди героически изобретают велосипед и потом гордо выплескивают это в сообщество... Есть куча опесорных решений . и маленькая тележка...
wofs
06.06.2024 07:07Здравствуйте. Поделитесь, пожалуйста, примерами коммерческих внедрений предлагаемого вами решения. Интересно посмотреть на результат и посчитать экономику.
trikot
06.06.2024 07:07А номер грязный? Что в нашей стране сплошь и рядом. Тут никакой ИИ не поможет. Лучше метка на лобовухе.
randomsimplenumber
06.06.2024 07:07+1Грязный номер - шлагбаум не открылся. Идеально. Значит, не нужно ему туда. Было бы нужно - нашел бы тряпку. :)
Akr0n
06.06.2024 07:07Подскажите открытые селфхостед решения для подобных задач (распознавание людей\объектов в потоке от камеры по RTSP).
Yuriy_krd
А зачем тут ИИ? Для красного словца и хайпа? С поставленной задачей вполне себе справляется комп средней руки (I5 8-го поколения и оперативки 16Gb). Я делал подобную систему и сейчас администрирую - связка сигур (для управления и проверки прав доступа) + трассир (распознавание) - работают без проблем. Так что за статью - минус.
2mik
"при обнаружении новых картинок запускает нейронную сеть, которая распознает переданные ей картинки"
Yuriy_krd
А зачем распознавать новые картинки? Номера вполне себе стандартизированы и новизна тут бывает раз во много лет.
vvzvlad
Ахахаха. Если даже оставить вопрос о стандартизации номеров(а это не так), то золотой стандарт для распознавание текстов и чисел в условиях непонятной меняющейся освещенности — нейросети уже несколько лет как.
garageman
А этот комп - он в щите стоит или в стойке?
Yuriy_krd
В офисе. К воротам идет просто оптический кабель (кроме ворот этот комп управляет еще и полноростовым турникетом).
augap
Выбранный модуль распознавания лицензируется по разным ценам для х86 (800 евро) и ARM (40 евро). Справедливости ради стоит отметить, что на х86 он работает в разы лучше (там используются другие модели).
Khadas имеет размеры условной малинки (у нас есть объект где СКУД стоит практически в чистом поле на столбе) и при этом на нем можно спокойно распознавать до 25 fps.
nitro80
Khadas и электричества потребляет в разы меньше наверно.