Распознавание лиц

26.07.21

Разработка - Мобильная разработка

В новом релизе в режим дополненной реальности ActiveCV в платформе Simple UI добавлен новый тип детектора - распознавание лиц. Платформа детектирует лица в кадре, оправляет их на ваш сервер распознавания (написанный на открытом скрипте на python) получает ответ в виде идентификатора, а дальше отображает в видеопотоке и вписывает их в логику вашего приложения. Таким образом хранение семплов, выбор и настройки алгоритмов распознавания и сам сервер находится за пределами платформы, открыт и построен на бесплатных технологиях. Данный пост является дополнением к основной статье https://infostart.ru/public/1153616/

Пару слов о том, что такое Simple UI и ActiveCV. Simple UI – это бесплатная платформа для быстрой разработки мобильных рабочих мест для учетных систем, а ActiveCV – специальный режим в ней, который позволяет перевести часть функций интерфейса в видеопоток – детектировать нужную информацию с камеры, отображать объекты на видеопотоке и делать все необходимое для бесшовного управления в режиме дополненной реальности. Например применительно к теме данной статьи она может подсветить рабочих, которые должны присутствовать на смене зелеными рамками, а посторонних – красными. Подробнее об этом режиме тут //infostart.ru/1c/articles/1427287/

 

Итак, эта штука нужна для того чтобы вписать идентификацию лиц в логику вашего приложения (в классические экраны или ActiveCV). Причем с точки зрения платформы это не отличается от например штрихкода или OCR – вы просто работаете с идентификатором объекта, в данном случае - лица. Можно настроить для авторизации по лицу (теперь работает фронтальная камера также), для авторизации получателя груза в перемещении по цеху, для контроля состава смены и т.д. и т.д. Пока QR коды не заставляют наносить на лоб(что безусловно облегчило бы идентификацию) приходится прибегать к различным CV-алгоритмам, но так как эти алгоритмы имеют параметры, да и вообще разнообразны, то иметь этот сервер где то в облаке или в какой то закрытой платформе нет смысла, конечно это это должен быть исходный код, который стоит у вас и вы что хотите то и делаете. Опять же хранение персональных данных  - на вашем сервере а не где то там.

 

 

Схема работы такая же простая как с QR-кодом или штрихкодом – «определили в кадре лицо» -> «отослали на сервер распознавания» -> «получили идентификатор» , ну и дальше что то делаем с этим идентификатором в приложении. Приложение не насилует почем зря сервер бесконечно отправляя ему картинки – вместо этого оно осуществляет привязку к лицам – т.е. сопоставляет объект лица с полученным ID. Далее каждую секунду происходит уточнение по этому ID.
В качестве сервера распознавания используется простейший python-скрипт на OpenCV в оболочке Flask для организации REST API. В режиме обучения на сервер поступают картинки лиц (в бинарном виде, чтобы не заморачиваться на перекодирование) и идентификаторы лиц. Она их складывает в папочку (под каждое лицо своя папочка) и потом переобучает модель. Можно прерывать обучение, потом возобновлять. 
Можно даже запустить этот скрипт на самом мобильном устройстве, тогда система будет автономной. Но обычно сервер делают как общий ресурс для разных рабочих мест. К тому же к подобному сервису можно подключить обычные или IP камеры.

 

О точности распознавания и плавности роаботы


Платформа берет на себя организацию инфраструктуры обучения и распознавания  и обработку логики использования распознанных лиц - детектирование лиц в кадре, обработку и отображение в видеопотоке, обработчики событий и т.д. оставляя само распознавание за ее пределами в отдельном сервисе, который можно и нужно донастраивать под себя. Поэтому алгоритм который использован для примера – самый простой из возможных - канонический каскад Хаара. В той же инфраструктуре можно поменять на другие алгоритмы с использованием deep learning  TensorFlow, FaceNet и т.д. Питон пожалуй самый подходящий инструмент для всего этого. Но на самом деле, все не так плохо с каскадом Хаара – он уверенно работает и скорость приличная.

С плавностью пришлось поработать более плотно - сейчас нет задержек и фризов даже на довольно слабых устройствах. Казалось бы - передача картинки через REST это долго, но нет - все работает не в UI-потоке, а в отдельных потоках и за счет разных ухищрений тормозов нет.

 

Установка и использование

Все необходимое включено в архив "Комплект разработчика" в основной статье. Саму платформу можно скачать из Goople Play или поставить через apk в комплекте разработчика.


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


Самый лучший способ : 1)постаивть Python (например 3.7) 2) поставить все зависимости из файлика из архива с исходниками «pip install -r requirements.txt» 3) и запустить скрипт face.py из архива с исходниками. Этот способ лучше потому что 1) его можно дорабатывать 2) его можно запустить на любой платформе 
Но если неохота это делать то можно разархивировать ДистрибутивWin64 и через cmd запустить face.exe 

Приложение


Конфигурацию можно поставить из файлика РаспознаваниеЛиц.txt просто отправив на мобильное устройство и открыв с помощью SimpleUI или опубликовать через ваш сервис из Демо-базы  в комплекте разработчика. Опять же из демо-базы лучше потому что конфигурацию можно дорабатывать. Но если нужно только посмотреть то сойдет и установка из файлика.
Далее в приложении надо указать адрес сервиса -IP машины на которой запущен скрипт и порт по образцу. После чего можно запускать обучение и потом распознавание.

SimpleUI Android python CV ActiveCv распознавание лиц

См. также

"Штрихкод-информер" - мобильный ТСД и прайс-чекер в смартфоне

Мобильная разработка Сканер штрих-кода Терминал сбора данных Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

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

2880 руб.

03.12.2018    55365    140    102    

162

SALE! 25%

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов/Telegram

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 9900 руб.

27.12.2021    33974    83    159    

178

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    102251    298    173    

314

"Мобильный ТСД" - инвентаризация и сбор штрихкодов для iOS и Android

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Платформа 1С v8.3 Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный терминал сбора данных для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

2000 руб.

22.04.2019    92652    523    186    

298

Склад 15 ВЕЩЕВОЙ - автоматизация складов с маркированным товаром

Логистика, склад и ТМЦ Мобильная разработка Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Программное обеспечение для автоматизации складских операций со встроенными функциями работы с маркированной продукцией. Предназначено для автоматизации всех товароучетных операций на складах, обычных и адресного хранения. «Склад 15 ВЕЩЕВОЙ» объединил в себе несколько товарных групп маркированного товара (ОБУВЬ, ОДЕЖДА, ШИНЫ, ПАРФЮМ, БАДы, ЮВЕЛИРНЫЕ ИЗДЕЛИЯ), которые чаще всего встречаются в складской логистике вместе.

33550 руб.

02.06.2023    3074    2    0    

0

Распознавание номеров автомашин с ip - камер, видео, фото

Распознавание документов и образов Периферийные устройства Автомобили, автосервисы Россия Платные (руб)

Программа считывает кадры с ip-камер (http - запрос к камере), видео, фото (источники кадров (нет ограничения на их количество) настраивается в конфигурационном файле), находит и распознает номера автомашин и сохраняет в базу db, с сохранением фото номера и автомашины, а также времени детекции.

20400 руб.

31.05.2023    4026    3    2    

5

Когда много сканов: Автоматическое прикрепление сканированных документов

Учет документов Распознавание документов и образов Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Обработка экономит время, распознавая и прикрепляя сканированные оригиналы документов к документам в 1С. Поддерживаются штрихкоды, QR-коды, отсканированные PDF документы без штрихкодов, полученные в результате потокового сканирования PDF документы, сформированные в ЭДО PDF документы.

6480 руб.

23.12.2021    12310    10    24    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user1466751 17 26.07.21 10:00 Сейчас в теме
Добрый день.
Вышел новый кладовщик, похожий на старого - как дообучить сеть?
DimaShapovaloff; +1 Ответить
2. informa1555 2650 26.07.21 10:08 Сейчас в теме
(1) Добрый день! Запускаете обучение, 30 его фоток добавляются в базу, каскад переобучается, готово к работе. Обучение может и по другому быть устроено - пример вы как то сами фотки добываете, кладете в папку, запускаете преобучение. Или камера к компу подключена или еще как то.
3. gubanoff 63 27.07.21 09:45 Сейчас в теме
(0) Как такое сделать в настольной версии 1С?
4. informa1555 2650 27.07.21 10:10 Сейчас в теме
(3) связать что то что умеет распознавать лица с настольной 1С через какой либо приемлемый интерфейс (COM, REST и т.д.)
5. protexprotex 116 27.07.21 17:45 Сейчас в теме
А время обучения? - каскады - это значит адабуст+виола джонс?
6. informa1555 2650 27.07.21 18:13 Сейчас в теме
(5) зависит от количества лиц и количества фотографий каждого лица. Ну от производительности железа. Каскад Хаара.
7. protexprotex 116 28.07.21 00:09 Сейчас в теме
(6) Если это каскад Хаара, то количество примеров не может быть так мало. Нужны положительная выборка порядка 400 штук и отрицательная выборка порядка 1000 штук. Как может быть 30 штук?
8. informa1555 2650 28.07.21 07:30 Сейчас в теме
(7) от 30 до 100 более чем достаточно. Это реально работает. И это кстати не я придумал, а рекомендации OpenCV и используется в их примерах. Ну спорить вообще не буду, может и 400 - мне без разницы что на стороне бека используется, мое дело вписать это в свою платформу чтобы все было четко и плавно.
9. protexprotex 116 28.07.21 08:52 Сейчас в теме
(8) Да я и не спорю. Я этим плотно занимаюсь. Вот и интересно. спс!
Оставьте свое сообщение