Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
204
Добавлен:
15.06.2014
Размер:
4.7 Mб
Скачать

Алгоритм 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. Что важнее - не пропустить ни одного лица или минимизировать количество случаев ложного обнаружения?

Соседние файлы в папке Распознавание лиц