ноябрь 2020
для voloagency.com

Задача
Разработать алгоритм контроля внимания по изображению лица для видеоконференций и онлайн обучения
Определение положения головы в пространстве
Анализ базовой мимики лица, движения губ
Распознавание направления взгляда, открытости глаз, моргания
Результат
Процесс
Используем нейросетевые модели обнаружения лица для локализации ключевых точек лица
Исследуем детекторы SFD, BlazeFace и Dlib и выделение ключевых точек FAN2D, FAN3D и Dlib, выбираем оптимальные варианты для разных требований по производительности.
ключевых точек
Используем 68 соответствующих точек на трёхмерной модели лица MultiPIE для определения положения головы в пространстве. Решаем линейное уравнение с 6 степенями свободы для определения положения головы в пространстве.

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






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

Полученный в результате набор признаков используется для анализа следующих ситуаций:
Смотрит ли человек в экран
Делает ли человек какие-либо записи (или пользуется какими-либо материалами)
Разговаривает ли человек с кем-либо за кадром
Разговаривает ли человек с кем-либо за кадром




