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

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С v8.3 1С:Конвертация данных Платные (руб)

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

13200 руб.

27.12.2021    38227    108    161    

201

SALE! 30%

Загрузка и выгрузка в 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С и нажимаете кнопку "Распознать и загрузить".

8400 5880 руб.

04.06.2019    107007    313    173    

326

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

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

3000 руб.

03.12.2018    59312    192    103    

172

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

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

2000 руб.

22.04.2019    97276    587    189    

321

Учет документов Распознавание документов и образов Бухгалтер Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Расширение для типовых конфигурация и для самостоятельной интеграции системы распознавания документо удостоверяющих личность и прочих документов непосредственно из информационных баз "1С:Предприятия 8.3" с помощью Content AI - Passport Reader SDK. Расширение позволит не изменяя типовой код конфигурации, расширить текущий функционал несколькими кликами мыши.

12000 руб.

26.01.2016    69976    79    2    

103

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

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

3450 руб.

28.04.2023    9482    15    0    

9

Мобильная разработка Платформа 1С v8.3 Конфигурации 1cv8 Финансовые услуги, инвестиции Управленческий учет Платные (руб)

Мобильное приложение и конфигурация 1С для автоматической торговли на бирже через API Тинькофф банка. Достаточно задать настройки, нажать «Пуск», и робот сам торгует ежедневно.

7000 руб.

25.05.2022    4655    1    0    

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