Расстановка контрольных точек библиотекой DLib в различных условиях.

Mikhail Aleksseev
4 min readDec 8, 2019

--

Системы расстановки контрольных точек отлично справляются в “лабораторных” условиях. Насколько корректны будут результаты в условиях отличных от идеальных, при наличии верхней одежды, очков, когда человек смотрит не прямо в камеру, а находится сбоку? В рамках данной статьи предстоит найти ответ на данный вопрос.

Для поиска контрольных точек воспользуемся библиотекой DLib, языком Python и средой PyCharm.

О том, как написать систему расстановки контрольных точек на видеоизображении лица можно прочитать тут.

Проведем исследования зависимости качества расстановки контрольных точек от различных условий. Как критерий качества будем использовать отклонение контрольных точек от контура лица.

Для измерения освещенности было использовано приложение Galactica Luxmeter.

В качестве камеры используется вебка MacBook, HD‑камера FaceTime 720p.

Рассмотрим схему расстановки источников освещения на рисунке 1. В комнате установлены 2 люстры по 4 и 3 энергосберегающие лампочки. У дальней стены установлен настенный светильник, а перед экраном установлены 2 направленных лампы подсветки. В таблице 1 приведены характеристики используемых ламп.

Рисунок 1 — Схема источников освещения
Таблица 1 — Характеристики ламп

Зависимость от условий освещенности

Рассмотрим расстановку контрольных точек на видеоизображении лица в зависимости от наличия посторонних предметов на изображении лица. Составим различные режимы освещенности, при которых мы будем проводить исследование, отобразим их в таблицу 2.

Обычная освещенность в жилой комнате — 50 люкс, в офисном помещении — 500 люкс. В то же время освещенность предметов на улице значительно выше, даже в пасмурный день — 1,000 люкс, а освещенность в солнечный день — до 25,000 люкс.

Таблица 2 — Режимы освещения

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

Рисунок 2— Режим 1
Рисунок 3— Режим 2
Рисунок 4— Режим 3
Рисунок 5— Режим 4
Рисунок 6— Режим 5
Рисунок 7— Режим 6
Рисунок 8 — Режим 7
Рисунок 9— Режим 8
Рисунок 10— Режим 9

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

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

Зависимость от наличия посторонних предметов

В условиях умеренно-континентального климата в зимнее время возможно частичное перекрытие лица предметами одежды. Рассмотрим расстановку контрольных точек на видеоизображении лица в зависимости от наличия посторонних предметов на изображении лица.

Рисунок 11 — Очки
Рисунок 12 — Куртка, шапка, шарф
Рисунок 13 — Пуховик, шапка, шарф

Можно сделать вывод, что очки и шапка не влияют на качество расстановки, но при скрытии нижней линии подбородка или полном скрытии бровей расстановка контрольных точек происходит некорректно.

Зависимость от поворота головы

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

Рисунок 14 — Поворот 30 градусов вправо.
Рисунок 15 — Поворот 45 градусов вправо
Рисунок 16 — Наклон 22,5 градусов вниз

Расстановка контрольных точек выполняется корректно при угле поворота не превышающем 45° градусов и угле наклона не превышающем 22,5 градуса.

Резюмируя

Исходя из результатов можно сделать вывод, что в данный момент библиотека DLib готова для применения в реальных условиях прямо «из коробки».

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

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

--

--