О журнале
Рекомендации
Алгоритм формирования индивидуальной трехмерной модели лица человека из растрового изображения лица и набора частных трехмерных моделей лица
Небаба С.Г., Захарова А.А., Андреев С.Ю.
_________________________
Небаба С.Г., Захарова А.А., Андреев С.Ю.
Аннотация
В статье рассматриваются существующие методы формирования трехмерной модели лица. Предложен алгоритм формирования такой модели из одного растрового изображения и набора частных трехмерных моделей, а также алгоритм формирования изображений разных ракурсов лица с помощью вычисленной трехмерной модели для создания кластера биовекторов. Продемонстрированы результаты работы алгоритма формирования изображений лица с разными ракурсами.
Ключевые слова: компьютерное зрение, распознавание лиц, особые точки лица, активные модели форм, трехмерная модель лица, деформируемая модель лица, биовектор, метод ближайших соседей.
Возможность идентификации личности на основе анализа изображений лица обсуждается с самого начала развития компьютерного зрения [1–3], что послужило стимулом совершенствования теории распознавания объектов. Потребность в быстрой и правильной идентификации личности человека в видеопотоке в последнее время только возрастает.
Задача поиска лиц на изображении сегодня успешно решена и применяется во многих технических устройствах. Например, в фототехнике поиск лиц используется для автоматического выбора точки фокусировки. Однако автоматизированное распознавание (идентификация) лиц является более сложной проблемой, и на данный момент не существует алгоритма, который позволил бы обеспечить точность при распознавании лиц.
В последние годы был предложен ряд различных подходов к обработке, локализации и распознаванию объектов. Однако эти подходы обладают недостаточной точностью, надежностью и скоростью, необходимых в реальной обстановке, для которых характерно присутствие шумов на видеопоследовательностях, когда условия съемки далеки от идеальных.
Жесткие требования к ракурсу съемки опознаваемого лица обусловлены используемыми алгоритмами, самые лучшие из которых не позволяют получать удовлетворительные результаты распознавания даже при небольших углах поворота фронтальной плоскости лица по отношению к оптической оси объектива регистрирующей камеры. Как правило, в соответствии с рекомендациями угол поворота не должен превышать 15 градусов.
Одним из возможных решений проблемы различных углов поворота является оценка и нормализация положения лица на изображении. Однако существует и другой подход повышения эффективности распознавания. Метод распознавания, основанный на измерении расстояния между кластерами биовекторов, требует, чтобы каждое из лиц в базе было представлено набором из нескольких различных изображений, на основе которых вычисляются элементы кластера. При этом задача распознавания может ставиться и для одного изображения лица (фото на паспорте и т.п.), что делает сравнение биовекторов неэффективным и ненадежным методом. Однако для получения различных изображений лица можно воспользоваться вращением исходного, исходя из предположения, что модель лица известна и соответствует изображению. После подобного преобразования получается набор изображений лиц с разными ракурсами, что подходит для задачи формирования кластера биовекторов. В связи с этим актуальной задачей является вычисление модели лица из его изображения и генерация на основе этой модели изображений различных ракурсов лица.
Метод автоматической расстановки особых точек лица на изображении. Для вычисления модели лица важно иметь хотя бы часть информации о его геометрии. Эту информацию можно получить, вычислив особые точки лица на изображении.
Существует несколько методов автоматической расстановки особых точек лица, наиболее эффективными из которых являются модификации метода активных моделей форм (Active Shape Models). Активные модели формы – это статистические модели формы объектов, которые могут многократно деформироваться для подгонки к объекту, присутствующему на изображении.
Эти модели были разработаны Т. Кутесом и К. Тейлором в 1995 г. [4]. Формы ограничены моделью распределения точек, вследствие чего изменение возможно только в пределах размеченных примеров из обучающей выборки. Форму объекта представляет множество точек, контролируемое формой модели. Цель алгоритма ASMs – сопоставить модель с новым изображением. Данный метод широко применяется для анализа изображений лиц, механических узлов и медицинских изображений (в 2D и 3D).
Нами были изучены различные модификации оригинального алгоритма ASM [4–7] и выбрана модификация, которая наиболее устойчива к большим углам поворота.
Методы построения трехмерной модели лица. Для оценки положения лица и автоматической расстановки на нем особых точек используются различные алгоритмы. В то же время задача коррекции ракурса никогда не рассматривалась в качестве метода, позволяющего улучшить качество работы алгоритмов распознавания по растровому изображению. В первую очередь это связано с проблемой построения трехмерной модели анализируемого лица. Получение третьей недостающей координаты может достигаться разными способами.
1. Вычисление глубины изображения из особенностей освещения. Данный метод не гарантирует точность и однозначность интерпретации из-за невозможности учесть все особенности освещения в кадре и светоотражающие свойства поверхностей, поэтому не рекомендуется рассматривать его как метод решения поставленной задачи. Тем не менее исследования данного метода проводились [8].
2. Вычисление глубины изображения из характера движения объекта в последовательности кадров. Данный метод подходит только для анализа изображений в видеопотоке, он требователен к качеству изображений лица, его точность зависит от факторов освещения и свойств детектора лиц. Этот метод применяется в ряде исследований, кроме того его вариация со съемкой неподвижного объекта используется в 3D-моделировании [9].
3. Использование заранее подготовленной трехмерной модели лица, которая совмещается с разметкой особых точек на изображении. Этот метод гарантирует точность определения глубины, но предполагает наличие трехмерных моделей каждого обрабатываемого лица, а так же изначального соответствия модели и изображения, что противоречит поставленной задаче. Кроме того, получение модели лица для каждого человека требует сложного специального оборудования. Данный метод применяется в основном в сложных системах распознавания с несколькими камерами, вычисляющими трехмерную модель «на лету», в момент детектирования лица [10].
Можно заключить, что все рассмотренные методы определения трехмерной модели обладают недостатками и сложно реализуются, что обусловливает необходимость разработки нового метода получения модели лица.
В качестве основы мы выбрали метод использования готовых трехмерных моделей лица, но для упрощения физической системы камер сделано допущение, что в качестве модели глубины изображения можно использовать некоторую модель, вычисленную из соотношения между особыми точками лица на изображении и некоторой базы из предварительно подготовленных трехмерных моделей лиц. Такое допущение понизит точность модели, но не потребует никакого дополнительного оборудования для получения модели лица каждого человека.
Задача коррекции ракурса может рассматриваться с нескольких возможных позиций. Исходя из поставленной задачи на основе трехмерной модели лица возможно как восстановление фронтального ракурса повернутого на изображении лица, так и создание набора изображений лица, повернутого под разными углами по отношению к оптической оси камеры (рис. 1).
Рис. 1. Варианты решения задачи синхронизации ракурсов для распознавания лиц
В большинстве систем распознавания лиц по двумерному изображению используется принцип построения кластеров из различных изображений одного и того же лица и последующее сравнение изображения лица, полученного из видеопотока, по близости биометрического вектора к одному из кластеров (кластерный анализ). Также существует вариант распознавания лиц попарным сравнением изображения-эталона с полученными изображениями из видео, но точность такого подхода существенно ниже, поскольку невозможно полностью устранить влияние освещения, ракурса и качества съемки, а вероятность ошибок повышается.
В зависимости от выбора метода распознавания лиц для коррекции ракурса может быть применен как подход приведения всех поступающих для обработки лиц к фронтальному ракурсу (фронтализация), так и подход, использующий генерацию множества изображений лиц под разными углами к оптической оси камеры для формирования кластера, соответствующего конкретному человеку (генерация поворотов лица).
Методы распознавания и применимые к ним методы коррекции ракурса обладают рядом достоинств и недостатков.
1. Попарное сравнение (фронтализация):
+ простой процесс сравнения;
+ использование минимального количества изображений лиц;
- сложность процесса оценки ракурса и его низкая точность;
- сильное влияние условий съемки на результат;
- дополнительная нагрузка на вычислительные ресурсы в процессе анализа видеопотока.
2. Кластерный анализ (генерация поворотов лица):
+ оценка угла поворота не влияет на распознавание лиц;
+ низкая нагрузка на вычислительные ресурсы в процессе анализа видеопотока;
+ высокая точность распознавания;
- среднее влияние условий съемки на результат.
В ситуации кластерного анализа метод генерации поворотов лиц может использоваться для получения набора изображений одного лица из единственного изображения с целью построения кластера без ухудшения качества распознавания. Эта задача представляется более значимой в практическом смысле, чем попытка привести все изображения к единому варианту ракурса. В случае единого ракурса у системы распознавания остается мало информации о рельефе лица. Эта информация обычно используется для корректировки погрешностей, вносимых освещением или размытием изображения. Кроме этого, метод получения фронтального изображения зависит от точности определения текущего угла поворота и создает дополнительную нагрузку на систему, так как необходимо проводить операцию поворота дополнительно к каждому полученному изображению лица.
Сравнение упомянутых методов позволяет сделать вывод, что оптимальным для распознавания лиц в видеопотоке является метод кластерного анализа, так как он обладает такими критичными преимуществами, как низкая вычислительная нагрузка и высокая точность распознавания в варьирующихся условиях съемки.
Для решения задачи формирования трехмерной модели в ситуации, когда в наличии только набор растровых изображений лица человека, есть три основных подхода. Первый – генерация трехмерной модели из информации, полученной по изменению положения головы человека в видеопотоке («видеопоток» на рис. 1). Второй – использование схемы совмещения обобщенной трехмерной карты глубины изображения с конкретными особыми точками лица на изображении (обобщенная модель). Третий – модификация метода построения обобщенной модели, когда в качестве карты глубины выбирается карта, генерируемая по неявным правилам, полученным в результате машинного обучения системы на базе изображений лиц, для каждого из которых наличествует соответствующая ему трехмерная модель (деформируемая модель).
Каждый из рассмотренных выше методов обладает достоинствами и недостатками по таким показателям, как быстродействие, точность, зависимость от условий съемки. Рассмотрим эти свойства для каждого из методов.
1. Видеопоток:
+ индивидуальная модель лица;
- высокая вычислительная сложность;
- низкая точность;
- сильная зависимость от разрешения съемки.
2. Обобщенная модель:
+ минимальные вычисления на этапе построения модели;
+ минимальная зависимость от условий съемки;
- точность ниже среднего.
3. Деформируемая модель:
+ средняя вычислительная сложность;
+ минимальная зависимость от условий съемки;
+ средняя точность;
- сложность процесса формирования модели.
Среди способов формирования трехмерной модели наименее подходящим с точки зрения выбранного метода кластерного анализа является метод видеопотока, так как в неидеальных условиях съемки он не обладает никакими преимуществами, но требователен к ресурсам. Обобщенная модель лица более применима из-за легкой реализации и минимальных требований к ресурсам на всех этапах построения. Деформируемая модель обеспечивает более высокую точность модели, но сложна в реализации.
Алгоритм построения индивидуальной модели лица. В качестве основы для формирования деформируемой модели лица был взят набор из 11 трехмерных моделей лиц, находящийся в свободном доступе [11]. Каждая трехмерная модель содержит в себе как облако точек в трехмерном пространстве (рис. 2), так и текстурную информацию, позволяющую получить изображение исходного лица во фронтальном ракурсе и, соответственно, найти особые точки (рис. 3).
При наличии достаточно большого числа трехмерных моделей лиц в качестве искомой модели можно взять ближайшую эталонную модель (особые точки модели в среднем наименее удалены от особых точек анализируемого лица), но более точным решением является интерполяция каждой точки трехмерной модели исходя из близости к эталонным моделям. Этот метод позволяет получить уникальную модель анализируемого лица, которая будет более точной, чем любая из эталонных моделей. При таком подходе увеличение числа эталонных моделей ведет к улучшению точности, но не является критичным для успешности вычисления.
Рис. 2. Облако точек лица в трехмерном пространстве
Рис. 3 Пример фронтального ракурса лица, полученного с помощью наложения текстуры на одну из трехмерных моделей
Исходя из этого, был предложен следующий алгоритм формирования индивидуальной модели лица.
1. Поиск соответствия между найденными особыми точками и известными трехмерными моделями.
2. Нормирование особых точек относительно масштаба моделей (например, расстояние между центрами глаз) и центра координат (например, кончик носа).
3. Вычисление расстояний для каждой особой точки изображения лица и соответствующих особых точек каждой из трехмерных моделей.
4. Вычисление координаты глубины для особых точек изображения лица путем интерполяции значений в особых точках моделей. Расстояние между соответствующими особыми точками известной модели и заданного изображения лица позволяет судить о близости трехмерных моделей к лицу человека на изображении.
5. Определение координаты глубины для всех остальных точек искомой модели постепенным вычислением новых точек между известными особыми точками до тех пор, пока число точек модели не достигнет числа точек эталонных моделей.
В результате этих операций получается индивидуальная трехмерная модель лица, которую можно использовать для алгоритма построения изображения лица, повернутого на заданный угол.
Тестирование алгоритма. Чтобы оценить корректность подхода полученная трехмерная модель была использована для формирования изображений лица в разных ракурсах с помощью следующего алгоритма.
1. Совмещение полученной модели лица с особыми точками лица, определенными с помощью одной из модификаций метода ASM.
2. Разбиение полученной модели лица на треугольники по особым точкам (триангуляция). В результате этой операции получается набор треугольников, описывающий область лица на изображении. Его уже можно использовать для построения нормированного изображения, но результат будет достаточно грубым во всех отношениях, кроме особых точек.
3. Дробление треугольников по выбранному критерию, что позволяет уменьшить размеры используемых треугольников и приблизить построенную неравномерную треугольную сетку к равномерной. В качестве критерия разбиения можно использовать максимальную площадь треугольника либо максимальную длину стороны. Критерий разбиения по максимальной длине позволяет получить более пропорциональную сетку.
4. Каждый из треугольников с помощью операций вращения относительно заданного центра и аффинного преобразования смещается и деформируется в соответствии с величиной заданного угла поворота.
В результате этих операций получается изображение лица, повернутое на заданный угол относительно оптической оси камеры. Из одного фронтального изображения (рис. 4) с помощью алгоритма был получен набор изображений лица, повернутого на угол от -20 до +20 градусов относительно оптической оси камеры (рис. 5).
Рис. 4. Исходное фронтальное изображение лица
Рис. 5. Слева – изображения лица, полученные поворотом на 20 градусов вдоль вертикальной оси, справа – вдоль горизонтальной оси
Полученные изображения использовались для формирования кластера биовекторов в системе идентификации личности, что позволило ограничиться одной фотографией человека без снижения эффективности распознавания.
⃰*******
Итак, мы продемонстрировали возможности модификации метода формирования трехмерной модели лица из одного растрового изображения и набора частных трехмерных моделей, а также определили алгоритм формирования изображений различных ракурсов лиц с помощью трехмерной модели для построения кластера биовекторов. Описан алгоритм формирования трехмерной модели и алгоритм генерации изображений лица в разных ракурсах, представлены результаты генерации изображений. Изображения, генерируемые с помощью описанных алгоритмов, не снижают качества распознавания в системе идентификации, основанной на методе сравнения расстояний между кластерами биовекторов.
Разработанный алгоритм генерации изображений лица может найти применение в системах распознавания личности по растровому изображению, в которых в качестве критерия распознавания используется метод ближайших соседей и набор кластеров биовекторов, полученных из растровых изображений лиц.
Работа выполнена за счет средств субсидии в рамках реализации Программы повышения конкурентоспособности Томского политехнического университета.
Литература
1. Adini Y. Face recognition: The problem of compensating for changes in illumination direction / Y. Adini, Y. Moses, S. Ullman // IEEE Transactions on Pattern Analysis and Machine Intelligence. 1997. 19. P. 721–732.
2. Bronstein A. 3D face recognition using geometric invariants / A. Bronstein, M. Bronstein, E. Gordon, R. Andkimmel // Proceedings of International Conference on Audio- and Video-Based Person Authentication, 2003.
3. Bui T.T.T. Face Recognition Based on Combination of Wavelet Transforms and Principal Component Analysis / T.T.T. Bui, N.H. Phan, V.G. Spitsyn // Proceedings of International Forum on Strategic Technology, 2014.
4. Cootes T.F., Taylor C.J., Cooper D.H., Graham J. Active shape models – their training and application // Computer Vision and Image Understanding. V. 61. January 1995. P. 38–59.
5. Milborrow S. Active Shape Models with SIFT Descriptors and MARS / S. Milborrow, F. Nicolls // The 9th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications (VISAPP), 2014. P. 119–133.
6. Xuehan Xiong. Supervised Descent Method and its Applications to Face Alignment / Xuehan Xiong, F. De la Torre // The IEEE International Conference on Computer Vision and Pattern Recognition (CVPR). 23–28 June 2013. P. 532–539.
7. King D.E. Dlib-ml: A Machine Learning Toolkit // Journal of Machine Learning Research. 2009. № 10. P. 1755–1758.
8. Zimmermann J. SilSketch: Automated Sketch-Based Editing of Surface Meshes / J. Zimmermann, A. Nealen, M. Alexa // EUROGRAPHICS Workshop on Sketch-Based Interfaces and Modeling. 2007. P. 23–30.
9. Agarwal S. Building Rome in a Day / S. Agarwal, Y. Furukawa, N. Snavely, I. Simon, B. Curless, S. M. Seitz, R. Szeliski // Communications of the ACM. V. 54. № 10. P. 105–112.
10. Shahriar H.M. Inexpensive Construction of a 3D Face Model from Stereo Images / M. Shahriar Hossain, M. Akbar, J. Denbigh Starkey // 10th international conference on Computer and information technology (ICCIT). 27–29 Dec. 2007. P. 1–6.
11. Paysan P. A 3D Face Model for Pose and Illumination Invariant Face Recognition / P. Paysan, R. Knothe, B. Amberg, S. Romdhani, T. Vetter // Sixth IEEE International Conference on Advanced Video and Signal Based Surveillance (AVSS). 2–4 Sept. 2009. P. 296–301.
_____________________________________________________
НЕБАБА Степан Геннадьевич
Аспирант Института кибернетики Национального исследовательского Томского политехнического университета
ЗАХАРОВА Алена Александровна
Доктор технических наук, доцент, директор Института кибернетики
Национального исследовательского Томского политехнического университета
АНДРЕЕВ Сергей Юрьевич
Кандидат технических наук,
ведущий инженер-программист ООО НПК «Техника дела»
© Информационное общество, 2015 вып. 5, с. 25-34.