
- •«Метод нахождения и параметризации области глаз на фотографиях лиц»
- •Оглавление
- •Введение
- •Классификация методов нахождения глаз
- •Обзор существующих методов
- •Анализ рассмотренных методов
- •Постановка задачи
- •Алгоритм
- •Выделение кожи на изображении лица
- •Фильтрация
- •Перевод в цветовое пространство st
- •Усреднение по тренировочному набору и расчет дисперсии
- •Вычисление расстояния Махаланобиса
- •Классификация
- •Применение преобразования Хафа для поиска круглых объектов на изображении
- •Результаты
- •Демонстрация работы программы
- •Литература
Применение преобразования Хафа для поиска круглых объектов на изображении
Преобразование Хафа позволяет находить на монохромном изображении плоские кривые, заданные параметрически, например: прямые, окружности, эллипсы, и т.д. Монохромным изображением считается изображение, состоящее из точек двух типов: фоновых точек и точек интереса. Задача преобразования Хафа состоит в выделении кривых, образованных точками интереса [19].
Идея преобразования Хафа состоит в поиске кривых, которые проходят через достаточное количество точек интереса. Рассмотрим семейство кривых на плоскости, заданное параметрическим уравнением: F(a1, a2, …, an, x, y) = 0; где F – некоторая функция, a1, a2, …, an – параметры семейства кривых, x, y – координаты на плоскости. Параметры семейства кривых образуют фазовое пространство, каждая точка которого (конкретные значения параметров a1, a2, …, an) соответствует некоторой кривой. Ввиду дискретности машинного представления и входных данных (изображения), требуется перевести непрерывное фазовое пространство в дискретное. Для этого в фазовом пространстве вводится сетка, разбивающая его на ячейки, каждая из которых соответствует набору кривых с близкими значениями параметров. Каждой ячейке фазового пространства можно поставить в соответствие число (счетчик), указывающее количество точек интереса на изображении, принадлежащих хотя бы одной из кривых, соответствующих данной ячейке. Анализ счетчиков ячеек позволяет найти на изображении кривые, на которых лежит наибольшее количество точек интереса.
Геометрическое место точек окружности можно представить в виде формулы: (x - a)2 + (y - b)2 = R2, где (a, b) – координаты центра окружности, а R – ее радиус, т.е. формула, задающая семейство окружностей, имеет вид: F (a, b, R, x, y) = (x - a)2 + (y - b)2 - R2 , в полярных координатах:
x = a + Rcosψ, y = b + Rsinψ. Когда радиус R известен, фазовым пространством будет плоскость параметров центра окружности (a, b). Получаем равенства:
a = x – Rcosψ, b = y – Rsinψ.
Для каждой точки границы (x,y) можно вычислить угол градиента ψ. Зная sinψ и cosψ, выражая параметр b через а, имеем: b = atgψ – xtgψ + y [20, 21].
Итого, следуем следующим правилам для нахождения кругов:
Разбиваем область на квадраты
Обнуляем счетчик
Вычисляем в каждой точке границы G(x,y) нормали, угол ψ и откладываем по нормалям расстояние равное оценке на радиус глаза r.
Увеличиваем счетчик для тех квадратов, через которые проходит линия b = atgψ – xtgψ + y на расстоянии r.
Локальные максимумы и являются искомыми центрами окружностей.
В предлагаемой реализации использовалась сетка 5 пикселей на 5 пикселей и применялся двух тактовый алгоритм поиска локальных максимумов.
В заполненном массиве:
Рассматриваем 9 соседних ячеек и суммируем содержимое всех 9 ячеек в ячейку с максимальным значением. Переходим к следующим 9 ячейкам с перекрытием. Таким образом осуществляем проход по всему массиву счетчика.
Рассматриваем 9 соседних ячеек и обнуляем значения в тех ячейках, которые не являются локальными максимумами. Таким образом осуществляем проход по всему массиву счетчика.
Наибольшие локальные максимумы и являются искомыми кругами (глазами).