KFC Face Recognition
Задача
Создать систему распознавания лиц
и автоматизировать учёт рабочего времени в ресторанах KFC
Раньше менеджеры ресторанов KFC записывали рабочее время сотрудников в бумажном журнале и вручную переносили данные в систему табельного учёта. Это приводило к ошибкам из-за человеческого фактора: менеджер мог некорректно учесть отработанное время, не отметить приход или уход сотрудника.
Известно несколько случаев, когда в ресторанах партнёров директора нанимали фейковых сотрудников: «мёртвых душ», которые существовали только по документам, или официально оформляли одного человека, а фактически работал вместо него другой.
В некоторых ресторанах работала автоматизированная система: рабочее время учитывалось по отпечатку пальца. Но она стоила дорого, интегрировать её было трудно, а перехитрить — легко: датчик отпечатка пальца можно обмануть с помощью канцелярского скотча.
Система распознавания лиц подойдёт для автоматизации учёта рабочего времени лучше. В будущем её можно развить и проверять не только приход и уход сотрудников, но и качество работы на рабочих станциях в ресторане: к системе можно подключать несколько камер наблюдения и распознавать лица в режиме онлайн.
Наша задача — разработать приложение, которое будет:
- Корректно распознавать сотрудников ресторана,
- Фиксировать время фактического начала и завершения смены
- Отправлять данные на сервер
Приложение необходимо интегрировать с ERP системой KFC DSR, корпоративным порталом Workplace и специальным ПО для табельного учёта.
В будущем приложение должно стать полноценным интерактивным порталом. В каждом ресторане будет цифровая инфопанель с важными показателями работы ресторана, корпоративными новостями и другой полезной информацией. Сейчас сотрудники пользуются маркерной доской и пишут бумажные объявления.
Решение
Выбрали оборудование
Система должна быть защищена от мошенничества: нужно, чтобы она распознавала, настоящее ли перед ней лицо, или это фотография, или экран с видеозаписью. Под наши требования подошла 3D-камера Intel RealSense со встроенным ToF датчиком — он строит карту глубины, чтобы отличать объемное лицо от плоского изображения.
В некоторых ресторанах может быть нестабильное соединение с интернетом: использовать облачные сервисы для распознавания не получится. Процесс должен происходить локально, на стороне клиента — на сервер мы отправляем только результат распознавания. Для этой задачи хорошо подходит планшетный компьютер с Android.
У планшета должен быть отдельный вход для питания и USB-порт для подключения камеры. Большинство моделей бытовых устройств не удовлетворяют этому требованию. Мы нашли сенсорный монитор-планшет с 22-дюймовым экраном и ОС Android. У него нет встроенной батареи, он питается от сети 220V. USB-портов несколько: можно подключать камеру, не перекрывая доступ к питанию.
Разработали дизайн интерфейса
Применили фирменный стиль KFC и постарались сделать дружелюбный UI. Он вызывает положительные эмоции и вау-эффект при первой встрече: приветствуем сотрудника на «ты», желаем хорошей смены, даём дополнительную информацию, которая пригодится в работе.
Особое внимание уделили UX, сделали интерфейс понятным для сотрудников. Тщательно проработали пограничные кейсы:
- лицо найдено и распознано, но его нет в базе,
- лицо не найдено,
- ошибка приложения,
- ошибка связи с сервером,
- превышен тайм-аут и т.д.
Мы учли все возможные ситуации: что может пойти не так и что при этом сказать пользователю. Важно не поставить человека в неловкое положение и не вызвать у него негативных эмоций — ведь это может сказаться на мотивации и качестве работы.
Приложение выполняет информационную функцию: в режиме ожидания на экране прокручивается карусель баннеров. Отображается информация по целям и задачам для каждого сотрудника ресторана.
Внедрили обработку и распознавание изображений
Обработка и распознавание изображений происходит на стороне клиента — в Android-приложении. Для этого мы использовали библиотеку Face SDK.
С 3D камеры мы получаем два фрейма: один цветной, другой — с картой глубины. Они используются в дальнейших вычислениях. Фреймы преобразуются в изображения нужного формата и передаются библиотеке для распознавания.
Библиотека находит лицо на фотографии, кадрирует изображение, получает из него цифровой слепок. С помощью модуля Recognizer слепок сравнивается по базе с другими. Библиотека находит совпадение и определяет, чьё это лицо. С помощью модуля DepthLivenessEstimator и карты глубины идёт проверка: реальный ли человек находится в кадре или это плоское изображение.
Результат успешного или неудачного распознавания уходит на сервер системы KFC DSR.
Интегрировали с KFC DSR
ERP система KFC DSR построена на микросервисной архитектуре. Для системы распознавания лиц мы создали отдельный сервис.
Android-приложение получает из DSR актуальный список сотрудников ресторана. Менеджеру требуется сделать фотографии сотрудников ресторана прямо с устройства и добавить их в базу. По этим фото будет происходить распознавание.
Если распознавание личности прошло успешно, система отправляет время фактического начала и завершения смены в:
- ERP систему KFC DSR для расчёта производительности и других операционных метрик работы ресторана,
- в систему табельного учёта для расчёта заработной платы.
Директор ресторана и менеджеры смены могут смотреть отчёты о фактическом отработанном времени через веб-интерфейс DSR.
Протестировали в боевых условиях
После тщательного тестирования в офисе Surf мы провели пробный запуск в одном из ресторанов KFC. Мы добавили в отчёты таблицу с регистрацией инцидентов, чтобы отслеживать неудачные сеансы распознания и разбирать их причины. За месяц работы в боевых условиях система показала стопроцентную точность: ни разу не было ситуации, когда лицо или личность человека не распознались.
Результат
Процесс табельного учёта стал эффективнее. Исключены ошибки, связанные с человеческим фактором
- Автоматизировали учёт рабочего времени в ресторанах с использованием биометрии по лицам.
- Лица распознаются без ошибок.
- Отрезали возможности для мошеннических действий.
- Приложение станет основой для полноценного интерактивного портала и избавит рестораны от бумажных объявлений. Информация будет более точной, своевременной, доступной и будет распространяться централизованно.
- Система даёт простор для экспериментов: кроме лица она умеет определять пол, возраст, эмоции, может распознавать несколько лиц в кадре, получать информацию с камер наблюдения, установленных, например, на кухне или в зале.