
- •Разработка и макетирование устройства распознавания пользователей бытовой техники
- •Содержание
- •1. Сравнительный анализ и выбор принципов построения сенсорной части устройства
- •2. Разработка интерфейса взаимодействия системы распознавания с пользователями
- •3. Обзор методов биометрической идентификации личности по лицу
- •3.1 Особенности и проблемы распознавания лиц
- •3.2Методыудалениефона
- •3.3. Обзор алгоритмов обнаружения лица человека на изображении
- •3.3.1. Эмпирические методы
- •Распознавание "сверху-вниз".
- •Распознавание "снизу-вверх".
- •3.3.2. Моделирование изображения лица
- •Неадаптивные методы
- •Моделирование класса изображений лиц с помощью метода главных компонент
- •Моделирование класса изображений лиц с помощью Факторного Анализа (Factor Analysis, fa)
- •Адаптивные методы
- •Линейный Дискриминантный Анализ (Linear Discriminant Analysis, lda)
- •Метод Опорных Векторов (Support Vector Machines, svm)
- •Искусственные Нейронные Сети (Neural Networks, nn)
- •Sparse Network of Winnows (sNoW) - «Разреженная сеть просеивающих элементов».
- •Скрытые Марковские Модели (Hidden Markov Models)
- •Active Appearance Models (aam) – «Активные модели внешнего вида»
- •Алгоритм Viola-Jones
- •3.4 Обзор методов распознавания лиц
- •3.4.1. Классификация методов распознавания
- •3.4.2. Методы, основывающиеся на анализе локальных признаков
- •Контурные (эластичные) модели лица (Flexible Appearance Models)
- •Сравнение эластичных графов
- •Методы, основанные на геометрических характеристиках лица
- •Сравнение эталонов
- •Метод наиболее информативных областей (нио)
- •Скрытые марковские модели
- •Морфинговые модели
- •3.4.3. Методы, основывающиеся на анализе глобальных признаков Дискриминантные методы
- •Линейный дискриминантный анализ
- •Анализ главных компонент
- •Анализ независимых компонент
- •Топографический независимый факторный анализ
- •Оптический поток
- •3.4.4. Общие методы Фильтры Габора
- •Моменты
- •Нейронные сети
- •3.4.5. Методы классификации
- •Статистические классификаторы
- •Классификаторы на основе построения разделяющих гиперповерхностей
- •Классификаторы, основанные на принципах потенциалов
- •Классификаторы экземпляров
- •Нейросетевые классификаторы
- •4. Выбор оптимальных методов решения задачи распознавания лиц
- •5. Определение набора тестов для проверки качества работы системы распознавания
- •5.1. Тестирование подсистемы удаления фона
- •5.2. Тестирование подсистемы обнаружения лиц
- •5.3. Тестирование подсистемы распознавания лиц
- •5.4. Face Databases
- •6. Разработка алгоритмического обеспечения комплекса.
Алгоритм Viola-Jones
Реализован в открытой библиотеке компьютерного зрения Intel OpenCV. Использует априорные знания о форме и цвете человеческого лица.
Достоинство Алгоритма Viola-Jones:
Данный детектор лиц является наилучшим из существующих по соотношению показателей эффективность распознавания / скорость работы.
Недостаток Алгоритма Viola-Jones:
неинвариантность к повороту головы (при повороте головы больше чем на 150° резко падает качество обнаружения).
высокая вычислительная сложность (квадратичная зависимость скорости работы алгоритма от количества обрабатываемых пикселей).
Известен так же как алгоритм AdaBoost (Adaptive Boosting) - алгоритм машинного обучения, сформулированный Yoav Freund и Robert Schapire. AdaBoost является адаптивным в том смысле, что каждый следующий классификатор строится по объектам, неверно классифицированным предыдущими классификаторами.
На практике работа алгоритма состоит в следующем. Существует ограниченный набор из features - шаблонов анализа изображения. На рис. 4. указаны два шаблоны разного типа, состоящих из двух и трех подобластей.
1. Этап обучения: выделение признаков такого типа, размера и положения в окне поиска алгоритма, которые наилучшим образом разделяют изображения, содержащие «лицо» и «не-лицо».
2. Итог обучения: получены несколько тысяч feature, объединенных в каскады.
3. Анализ изображения: алгоритм AdaBoost проверяет все положения и размеры поискового окна на исходном изображении, преобразованном в градации серого. На изображение накладываются признаки, отмасштабированные в соответствии с размером поискового окна. Далее производится операция вычитания суммы значений всех пикселей изображения, содержащихся в черных подобластях feature из суммы значений всех пикселей изображения в белых подобластях. Полученная разница сравнивается с разницей, полученной на этапе обучения. В случае если хотя бы для одной feature порог равенства превышен, считается, что объект не содержится в поисковом окне, и оно отбрасывается.
Рисунок 4. Features алгоритма AdaBoost
Для компенсации недостатков традиционного метода AdaBoost был предложен гибридный алгоритм, сложность которого является линейной функцией от количества пикселей изображения, в отличие от квадратичной сложности базового алгоритма. Основными нововведениями являются: использование цветовой информации, механизма обрамляющих эллипсов и механизма поворотов.
Гибридный (быстрый) алгоритм формируется из двух частей:
1. Первая часть является грубой и позволяет быстро отсекать области, не содержащие лиц, используя статистические характеристики изображения.
2. Вторая часть использует непосредственно алгоритм Viola-Jones, модифицированный для повышения скорости и точности. При этом обрабатываются только "перспективные" области изображения, а также дополнительная информация, полученная первой частью алгоритма.
Последовательность шагов гибридного алгоритма:
Уменьшение изображения в 2-4 раза.
Для дополнительного повышения скорости работы алгоритма на этапе обнаружения пикселей цвета "кожи" и обрамляющих их эллипсов используется предварительное уменьшение размеров изображения в 2-4 раза. При этом происходит квадратичное снижение объема вычислений, связанных с анализом цветовых характеристик пикселей. Также при этом не требуется удаление слишком маленьких обрамляющих эллипсов, так как подобные области цветового шума исчезнут в результате операции понижения разрешения. В дальнейшей обработке обнаруженные эллипсы лиц масштабируются в систему координат исходного изображения.
1. Вычисление маски кожи. Маска кожи представляет собой однобитное изображение, где единицами помечены те пиксели изображения, которые могут быть кожей.
2. Получение и уточнение обрамляющих маску кожи эллипсов и направлений их главных осей;
3. Масштабирование положений центров и размеров полученных эллипсов в координаты исходного изображения;
4. Получение прямоугольных участков изображения, в которых содержатся полученные эллипсы;
5. Последовательная обработка полученных участков с запуском модифицированного алгоритма Viola-Jones.
Для повышения репрезентативных возможностей алгоритма и качества аппроксимации наклонных черт лица предлагается использование нового типа треугольных признаков:
Рисунок 5. Прямоугольные (а, б, в, г) и треугольные (д) типы признаков.
Признак, используемый для анализа изображения можно представить кортежем
(3)
где T – тип признака, O – координата левого верхнего угла признака, S – размер признака по горизонтали и вертикали в пикселях. Значение признака рассчитывается по следующей формуле:
(4)
где
- суммы интенсивностей всех пикселей
изображения в белых и черных областях
признака соответственно, и - коэффициенты
их нормировки по площади.
Выполняется обнаружение лица человека на участках, повернутых под всеми углами с шагом в 20 градусов, начиная от наиболее приоритетных направлений, полученных в п. 3. При этом выполняется до 360 / 20 = 18 поворотов изображения. В случае обнаружения лица, наклоненного под каким-то определенным углом, обработка текущего участка прекращается и осуществляется переход к следующему участку;
Выполняется подтверждение обнаружения с использованием механизма поворотов.
Гибридный алгоритм обладает следующими преимуществами по сравнению с базовым алгоритмом Viola-Jones:
более высокая точность обнаружения за счет использования треугольных признаков и подтверждения обнаружения с использованием механизма поворотов;
более высокая скорость обнаружения за счет:
отсечения областей изображения, не являющихся лицами на основании цветовых характеристик изображения;
априорного знания о приблизительном размере лица для поиска алгоритмом Viola-Jones на основании анализа цветовых характеристик, и, следовательно, более низкого количества поисковых окон, подлежащих обработке;
априорного знания о наиболее вероятном наклоне лица к оси изображения и исключения необходимости проверять всех 18 углов поворота.
Для проверки эффективности работы алгоритма и сравнения скорости были проведены тестовые испытания на тестовых базах CMU Frontal, CMU PIE и UCD Colour, специально разработанных для сравнения алгоритмов обнаружения лица человека.
В целом, можно сделать вывод, что скорость работы гибридного алгоритма при обнаружении лица человека, повернутого под произвольным углом в плоскости изображения, до 10 раз превышает скорость работы базового алгоритма.
Выбор метода для решения задачи обнаружения лицзависит от конкретной задачи и условий в которых должен функционировать разрабатываемый алгоритм:
1. Предполагаемое разнообразие лиц: ограниченный набор людей, ограничения на возможный тип лица (раса, присутствие растительности на лице, очков и т.д.), отсутствие ограничений;
2. Ориентация лиц на изображении: строго вертикальная (или наклон под известным углом), в определенных границах вблизи известного угла наклона, любая;
3. Цветное или черно-белое изображение;
4. Масштаб лиц, разрешение и качество изображения (зашумленность, степень сжатия);
5. Предполагаемое количество лиц, присутствующих на изображении: известно, примерно известно, неизвестно;
6. Условия освещения: фиксированные известные, приблизительно известные, любые;
7. Фон: фиксированный, контрастный однотонный, слабоконтрастный зашумленный, неизвестный;
8. Что важнее - не пропустить ни одного лица или минимизировать количество случаев ложного обнаружения?