Большинство алгоритмов распознавания строятся на основе анализа характерных черт изображений представленных в определенном цветовом пространстве.
Цветовая модель - термин, обозначающий абстрактную модель описания представления цветов в виде кортежей чисел, обычно из трёх или четырёх значений, называемых цветовыми компонентами или цветовыми координатами. Вместе с методом интерпретации этих данных, множество цветов цветовой модели определяет цветовое пространство [2]. Наиболее распространенной в вычислительной технике является RGB-цветовая модель. Изображение в данной цветовой модели состоит из трех каналов - красный (R), синий (G) и зеленый (B). Каждый канал хранит код цвета, который может принимать значение от 0 до 255. Таким образом, RGB-цветовое пространство можно наглядно представить в декартовой системе координат в виде куба (рисунок 1-а). На практике такой способ представления цвета в значительной степени усложняет алгоритмы его анализа.
В полярной цветовой модели каждый оттенок кодируется в виде пары полярных координат φ (полярный угол) и r (полярный радиус). Полярный угол описывает цвет, а полярный радиус его интенсивность. На рисунке 1-б изображено цветовое пространство поляной цветовой модели.
Для перехода из RGB-цветовой модели в полярную модель необходимо преобразовать RGB-куб в RGB-треугольник с помощью матрицы преобразования:
В результате преобразования R, G и B-составляющие представляются в виде векторов, повернутых на фиксированный угол (рисунок 2).
Путем суммирования представленных векторов можно получить координаты, описывающие положение цветной точки на плоскости
В результате анализа набора тестовых изображений были получены гистограммы, представленные на рисунке 3. На основе данных гистограмм было выделено три области, в которые попадают характерные для лица оттенки цвета (рисунок 4):
На основе этих данных был создан цветовой фильтр.
Следующим этапом на пути к распознаванию лица является выделение его отдельных частей (глаза, нос, рот и т.д.). Существует ряд широко применяемых алгоритмов выделения границ, среди которых можно выделить оператор Собеля, оператор Прюитта, оператор Шарра. Все вышеназванные алгоритмы основаны на свертке изображения. Недостатком такого подхода является необходимость совершения многократного прохода по изображению, при этом каждый проход сопряжен с рядом нетривиальных математических операций. В ходе анализа ряда изображений, представленных в полярной цветовой системе, было сделано следующее наблюдение - на границе объектов происходит равномерное изменение яркости. На основе данного факта был создан алгоритм, позволяющий выделить границу за один проход по изображению. На рисунке 5 представлены результаты работы оператора Собеля и вышеописанного алгоритма.
Литература: