Метод быстрой корреляции с использованием тернарных шаблонов при распознавании объектов на изображениях

ОБРАБОТКА ИЗОБРАЖЕНИЙ, РАСПОЗНАВАНИЕ ОБРАЗОВ

МЕТОД БЫСТРОЙ КОРРЕЛЯЦИИ С ИСПОЛЬЗОВАНИЕМ ТЕРНАРНЫХ ШАБЛОНОВ ПРИ РАСПОЗНАВАНИИ ОБЪЕКТОВ НА ИЗОБРАЖЕНИЯХ

Н.И. Глумов1, Е.В. Мясников12, В.Н. Копенков1,2, М.А. Чичева1 1 Институт систем обработки изображений РАН,

2 Самарский государственный аэрокосмический университет имени академика С.П. Королёва

Аннотация

В работе рассматривается задача поиска и распознавания на изображениях фрагментов, соответствующих одному из множества шаблонов. Предлагается метод быстрой корреляции по множеству тернарных шаблонов, который успешно разрешает перечисленные проблемы. Продемонстрировано его применение в двух задачах анализа изображений: поиска положения глаз на документальных фотографиях лиц и распознавания машиночитаемых строк на сканированных изображениях документов.

Ключевые слова: корреляция, распознавание объектов, изображения документов, поиск глаз, машиночитаемые строки.

Введение

В работе рассматривается задача поиска и распознавания на изображениях фрагментов, соответствующих одному из множества шаблонов. Такая задача возникает, например, при распознавании текста [5,7].

Другим примером является поиск характерных точек на изображениях лиц, таких как координаты зрачков, уголки губ и т.п. [4,6]. Эти задачи похожи тем, что искомый образец может принимать существенно различный вид, при этом следует определить не только его местоположение, но и меру сходства с каждым из образцов с целью принятия окончательного решения.

Согласно общепринятому подходу к решению таких задач вычисляется корреляция входного изображения с каждым из шаблонов, после чего анализируются полученные корреляционные поля [2]. Независимо от того, какой способ вычисления корреляции будет выбран (прямое вычисление свертки, через дискретное преобразование Фурье и т.п. [3]), такой подход требует решения ряда проблем. Первая из них - это высокая вычислительная сложность, которая естественно возрастает с ростом числа шаблонов. Вторая -поиск критерия, который позволит из множества точек корреляционных полей выбрать наиболее соответствующую истинному значению. Наконец, в связи с тем, что на реальных изображениях объекты, как правило, находятся на сложном фоне, искажены, зашумлены, необходимо уменьшить влияние мешающих факторов.

К настоящему времени существует ряд методов, в той или иной мере решающих изложенные проблемы. Так, использование параллельно-рекурсивной реализации при помощи аппроксимации шаблонов специальным базисом [2] позволяет существенно снизить время обработки. Упрощение шаблонов (например, бинаризация), изменение формы учитываемой области шаблона (уход от прямоугольного «окна») позволяет как частично решить проблему быстродействия, так и уменьшить влияние мешающих факторов. Специальная обработка корреляционных полей может облегчить поиск и расчет

критериев. Однако ни один из названных методов в чистом виде не позволяет эффективно решить поставленную задачу. Ниже предлагается метод, сочетающий в себе перечисленные подходы.

1. Метод быстрой корреляции

Предлагаемый метод быстрой корреляции с предварительно подготовленным множеством шаблонов состоит из следующих шагов.

1. Предварительные действия включают в себя подготовку набора шаблонов (выполняется один раз для всего набора изображений).

2. Определение области, в которой будет производиться сравнение с шаблонами, может быть выполнено как оператором вручную, так и автоматически при помощи специально разработанных алгоритмов.

3. Формирование корреляционных полей заключается в расчете корреляции с каждым из шаблонов для всех его положений в области поиска.

4. Обработка корреляционных полей выполняется с целью отбора перспективных точек. При этом учитываются как очевидные соображения (например, что два обнаруживаемых объекта могут располагаться на расстоянии не менее своего размера), так и специальные, определяемые спецификой задачи. В результате этого этапа на каждом из полей остается небольшое количество точек, которые анализируются на последнем этапе.

5. Принятие решения осуществляется на основе анализа корреляционных полей в области выбранных точек. Необходимо по набору точек корреляционных полей выбрать координаты искомого объекта. Простейшим критерием выбора является максимальное значение корреляции по всем оставшимся точкам всех корреляционных полей.

Подготовка шаблонов

В рассматриваемой задаче к шаблонам предъявляются противоречивые требования. С одной стороны, они должны максимально точно соответствовать

искомым объектам, учитывать всевозможные варианты их представления. С другой стороны, необходимо формировать их таким образом, чтобы минимизировать влияние мешающих факторов и снизить вычислительную сложность метода.

В рамках предлагаемого подхода были введены тернарные шаблоны, которые отражают область объекта и фона или области темных и светлых точек, а также позволяют исключить влияние областей, не имеющих значения для анализа формы объекта. На рис. 1 представлен пример шаблона для латинской буквы «Б». Возможные значения элементов шаблона: «1» - элемент соответствует полю символа, «-1» - элемент соответствует фону, «0» - элемент соответствует области, которая не учитывается при анализе.

0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 0

Рис.1. Шаблон символа S

Такой способ формирования шаблонов позволяет реализовать алгоритм быстрой корреляции, при котором вычисление свертки изображения символа с шаблоном реализуется без операций умножения, что позволяет существенно ускорить процесс распознавания символов. Свертка вычисляется путем суммирования элементов изображения, соответствующих символу, и вычитания элементов, соответствующих фону. Полученный результат нормируется на количество единиц в шаблоне.

Задача распознавания машиночитаемых строк на изображениях документов

Для документов, удостоверяющих личность (паспортов международного образца), Международной Ассоциацией Гражданской Авиации (1САО) разработан стандарт MRTD на основе требований Документа ICAO 9303 [1]. Этот стандарт распространяется на документы, предъявляемые при путешествиях (паспорта и визы), и предназначен для облегчения сканирования и машинной обработки документов.

В соответствии с этим стандартом изображение документа личности содержит фотографию лица в левой верхней части изображения и семантическую информацию в двух формах: в виде текста, предназначенного для чтения человеком (тип и номер документа, ФИО личности, страна, дата и место рождения и т.п.), и в виде машиночитаемых строк в нижней части изображения. На рис. 2 приведен пример изображения фрагмента документа с машиночитаемыми строками.

і---------“ *------------------------------

ЁЭШВршИР* МИД РОССИИ, САМАРА

5127460351RUS6401115F1006168<<<<<<<<<<<<<<<6

Рис. 2. Пример изображения фрагмента документа

Текст в этих строках напечатан специальным моноширинным шрифтом стандартного размера и состоит из двух строк по 44 символа в каждой. В них отсутствуют пробелы, они заменены специальным символом <. Информация, содержащаяся в них, включает тип документа, код страны, имя личности, номер паспорта, национальность, дату рождения, пол, дату окончания срока действия паспорта, а также проверочные цифры, которые позволяют подтвердить правильность распознавания строки. Кроме того, эти строки могут содержать персональный номер личности.

Обнаружение машиночитаемых строк не вызывает сложностей, поскольку известно их положение на документе относительно границ и всегда наблюдается большой контраст между символами строк и фоном.

Алгоритм распознавания машиночитаемых строк на изображении включает следующие шаги:

1) определяется знакопозиция (положение очередного символа);

2) для текущей знакопозиции путем корреляционного сравнения изображения очередного символа с множеством шаблонов символов определяются наиболее похожие символы (при выборе множества применяемых шаблонов учитываются семантические ограничения для текущей знакопозиции);

3) п.1 и 2 повторяются для всех символов строки, количество К которых известно; в результате фор-

( / ’ К

мируется матрица решений \Я (п, k)} , где N -

І V ') п=\,к=1

количество отбираемых решений для каждого символа строки;

4) по матрице решений выбираются варианты, удовлетворяющие всем семантическим ограничениям, и формируется распознанная строка.

При распознавании символов машиночитаемых строк использовались тернарные шаблоны символов алфавита и цифр, подготовленные с учетом специфики используемых в машиночитаемых строках шрифтов (в частности, различная толщина линий

символов на документах различных стран). Пример шаблонов цифр показан на рис.3.

0Ш2ІЗК15І61Я8І9!

Рис.3. Шаблоны символов «цифра»

Шаблоны подготавливаются в виде матриц Т(т) (V, h), 0 < т < М , 0 < V < V, 0 < к < Н, где М

- количество шаблонов, У8, Н8 - размеры шаблона. При определенной знакопозиции (к0) распозна-

8

области v0 - А < і < v0 + А,

ваемого символа корреляционные поля вычисляются в /0 - А < j < /0 + А, где А - априорно заданное значение. Для каждого поля выбирается максимальное значение корреляции. По максимальным значениям для различных корреляционных полей формируется список шаблонов, наиболее похожих на текущий распознаваемый символ.

Таким образом, после распознавания всех символов машиночитаемой строки формируется матрица решений Я (п, к), на основе которой окончательно

формируется распознанная машиночитаемая строка.

Произведен статистический эксперимент на 587 изображениях загранпаспортов 34 стран. Вероятность верного распознавания отдельного символа составила 0,998, вероятность верного распознавания всей машиночитаемой строки - 0,982.

Задача поиска положения глаз на документальных фотографиях лиц

Эта задача возникает в рамках практически всех алгоритмов распознавания лиц на изображениях, первым шагом в которых выполняется геометрическая нормализация с привязкой центров роговиц глаз к заранее заданным точкам. Предлагаемый алгоритм полностью соответствует общей схеме, описанной в разделе 1. Схематично он показан на рис.4.

Эталоны

Корреляционные

поля

Корреляционные

пики

Рис. 4. Схема алгоритма

Для поиска глаз формируются тернарные шаблоны, отличающиеся радиусом роговицы (рис.5). Легко видеть, что для таких шаблонов в расчете свертки участвует небольшое количество отсчетов. Это обеспечивает высокую скорость вычисления.

Рис. 5. Пример шаблона для поиска центров роговиц С другой стороны, объем вычислений в значительной степени определяется размерами области

поиска центров роговиц глаз

расчета свертки. Для сокращения этой области разработан алгоритм построения «каркаса» лица, основанный на анализе поля локальных дисперсий изображения. Предварительно на поле дисперсий некоторого эталонного изображения были выбраны два набора опорных точек:

5(+): {(V,(+), //(+))} и 5(-) : {(V-, Н(-))},

соответствующих точкам с высокой локальной дисперсией (границы глаз, губ, ноздри и т.п.) и низкой локальной дисперсией (гладкие участки изображения с плавно меняющейся яркостью: щеки, лоб) со-

ответственно. В качестве эталонного изображения в работе было использовано изображение, представляющее усредненное поле локальных дисперсий по базе из 4800 геометрически нормализованных фотографий (центры роговиц глаз находятся в фиксированных точках). Данное изображение и множества опорных точек показаны на рис. 6. -------------------------

Рис. 6. Фрагмент инвертированного усредненного поля локальных дисперсий с нанесенными на него опорными точками

Далее при обработке конкретного изображения эти наборы точек подвергаются независимому по осям линейному преобразованию координат:

V- = avi + b , Ht = chi + d,

параметры которого определяются из условия оптимизации функционала:

F (a, b, c, d) =

=Е « К’  H,“’)-L «(j H!:’Ь

S<+> S

^ max

a ,b,c,d

где g (v^ ,H(±)) - поле локальных дисперсий.

Далее по найденному положению «каркаса» (при оптимальных значениях параметров функционала) формируется зона поиска глаз.

Зона поиска глаз формируется как прямоугольник с размерами

Ш = h0 - \ + 2 • kh • Het,

AV = V3 - V2 + Vet

и началом в точках с координатами

Н 0 = / - К • н„,

V=v2 - к V.

Здесь точки (v0;/0), (v1;/), (v2;/2), ^3;/3) показаны на рис. 6, Уа, Нег - размеры наибольшего эталона, кь, ки , к^т'"г - коэффициенты, подбираемые таким образом, чтобы центры роговиц попадали в зону поиска с требуемой вероятностью.

На рис. 7 показаны примеры изображений с найденными опорными точками (красные кресты) и отмеченными зонами поиска глаз (красные рамки). На рис. 7(б) положение каркаса смещено вверх, но глаза тем не менее входят в зону поиска.

а б

Рис. 7. Фрагмент инвертированного изображения

Обработка (за исключением выбора опорных точек на эталонном изображении, выполняемого однократно и заранее) является полностью автоматической.

Далее определяются точные положения глаз, в качестве которых принимаются центры роговиц. Для их нахождения используется набор шаблонов в некотором диапазоне радиусов [ Ятт, Ятах ], который определяется предварительно, исходя из априорной информации о разрешении.

Для каждого конкретного изображения диапазон рассматриваемых радиусов изображения выбирается в этих пределах следующим образом:

Rm

m

R

= D - d > R .

ц І mi

= D + d2 < Rm

ц 2 m

где Dc = /4 - /2 - полурасстояние между глазами, определенное по каркасу, в свою очередь /2, /4 -координаты точек каркаса по горизонтали (см. рис. 6); ц - отношение расстояния между глазами к некоторому усредненному радиусу роговицы, d2 -

разброс радиусов от среднего.

Если какое-либо из неравенств в (1) не выполняете, то принимается = Дпш или Дтах = Дтах •

После расчета корреляционных полей по каждому из них строится поле локальных максимумов, или корреляционных пиков (см. рис. 4). Из них, в свою очередь, выбирается наиболее «перспективная» пара, которая, во-первых, удовлетворяет ряду ограничений, а во-вторых, обеспечивает максимум суммы корреляционных пиков. Упомянутые ограничения естественным образом вытекают из расположения глаз и требований к фотографиям на документы. Кроме того, ограничения используют информацию о положении центров роговиц, оцененном с помощью опорных точек «каркаса». Рис.8 иллюстрирует смысл основных величин, используемых при проверке ограничений (точками обозначены «кандидаты» на центры роговиц, крестами - центры роговиц, найденные с помощью построения «каркаса»).

Рис. 8. Иллюстрация ограничений, накладываемых на «кандидатов» на центры роговиц глаз

Расстояние между «кандидатами» на центры роговиц D по горизонтали должно лежать в определенных границах Бтп и Бтах, определяемых по текущему радиусу роговицы.

Модуль угла наклона линии глаз а, отсчитываемый от горизонтали, не должен превышать определенную величину: |а| < а (обычно 5°-7°).

«Кандидаты» на центры роговиц должны быть симметричны относительно центра лица (определяемого как вертикальная ось симметрии области поиска глаз) с определенной точностью (ограничение на величину отклонения А задается текущим радиусом роговицы).

Отношение расстояния по горизонтали между «кандидатами» на центры роговиц D к расстоянию между центрами глаз, определенными с помощью алгоритма построения «каркаса» Бс, должно лежать в определенных границах.

Для каждой точки из пар, удовлетворяющих ограничениям, вычисляется значение критерия:

Т _ тах- тт

Т ^ , (2) Е - тт

где тах, тт, Е - соответственно максимальное, минимальное и среднее значения корреляционных полей внутри определенной области с центром в текущей точке.

Окончательные точки, соответствующие положению центров роговиц глаз, выбираются из условий:

- пара точек удовлетворяет вышеупомянутым ограничениям;

- разница радиусов роговиц одной пары глаз не превышает одного пиксела;

- суммарное значение критерия (2) для выбранной пары максимально.

Экспериментальное исследование алгоритма поиска положения глаз

Экспериментальное исследование алгоритма поиска глаз проводилось на базе, содержащей около 5000 изображений. Это фотографии лиц, предназначенные для использования на документах. С одной стороны, эти фотографии отвечают всем требованиям к документальным фото, с другой - это качественные цифровые фотографии, выполненные в одинаковых услови-

ях. Высокое качество, безусловно, облегчает задачу поиска, зато второе свойство - однородность условий -делает эту базу удобной для исследований.

На рис. 9 показана вероятность Р попадания центров роговиц глаз в область поиска £ в зависимости от относительной площади области, где

Р = Р ((V,, К ), (У2, К )є £) ,

(V,, К,), ( у2 , К2) - истинные положения центров роговиц, £ - область с началом в точке (У0, Н0), размером (АУ, АН), описанная выше и показанная на

АГ АН к

рис. 10, 5 =----------относительная площадь облас-

УН

ти поиска.

Рис. 9. Вероятность попадания центров роговиц глаз в область поиска в зависимости от относительной площади области

Из рис. 10 видно, что глаза попадают в зону поиска, площадь которой не превышает 4% от площади изображения, с вероятностью близкой к единице (Р=0,998).

На рис.11 показана интегральная функция распределения вероятности отклонения найденных центров роговиц глаз от их истинных положений:

Р ( тах (р^ Р2 )< 1) ,

где р( ^ - расстояния между ис-

тинным и найденным положением центров роговиц,

(v[,К),(v2,К) - найденные алгоритмом положения центров роговиц (см. иллюстрацию на рис. 12).

Рис.11. Интегральная функция распределения вероятности относительного отклонения найденных центров роговиц глаз от их истинных положений

Рис. 12. Определение расстояния до истинных центров роговиц

Величина I задается в пикселах, однако фотографии, включенные в эту базу, имеют разные размер и разрешение. Поэтому для однородности критерия будем оценивать величину относительного отклонения найденных центров роговиц глаз от истинных положений:

* _ I,

г

где г - истинный радиус роговицы. То есть значение коэффициента *=0 означает точное попадание в центр роговицы, значение *=1 - попадание на край роговицы.

Из графика видно, что с вероятностью 0,95 найденные точки отличаются от истинных не более чем на половину радиуса роговицы, то есть заведомо лежат в пределах зрачка глаза.

Заключение

Таким образом, в работе предложен метод быстрой корреляции с использованием множества шаблонов и показано его применение к двум задачам анализа изображений: поиска положения глаз на документальных

фотографиях лиц и распознавания машиночитаемых строк на сканированных изображениях документов. По сравнению с традиционным подходом значительно возрастает скорость обработки, что позволяет провести сравнение с большим числом шаблонов, тем самым повысив качество анализа.

Благодарн ости

Работа выполнена при поддержке российского фонда фундаментальных исследований (РФФИ), проекты № 06-01-00722, 06-01-00616, 07-01-96612, 07-07-97610, 08-07-90704-моб_ст, в рамках российско-американской программы «Фундаментальные исследования и высшее образование» (CRDF Project RUX0-014-SA-06) и гранта Президента РФ по поддержке ведущих научных школ (НШ-3086.2008.9).

Литература

1. Документ ICAO 9303 "Machine Readable Travel Documents(MRTD)" //http://www.icao.int/mrtd/publicatio ns/doc.cfm

2. Сойфер, В.А. Методы компьютерной обработки изображений / В.А. Сойфер, - М.:Физматлит, 2001. -784с.

3. Chicheva M.A. Optimization of linear filtering procedure in image processing applications. / M.A. Chicheva, N.I. Glumov, V.V. Sergeev //Proceedings of the 6-th German-Russian workshop "Pattern recognition and image understanding" 0GRW-6-2003, 2003. - P.149-154.

4. Kawato, S. Two-step approach for real-time eye tracking with a new filtering technique / S. Kawato; J. Ohya //Systems, Man, and Cybernetics, 2000. - Vol.2. - P.1366 -1371

5. Lladoos, J. Symbol recognition by error-tolerant subgraph matching between region adjacency graphs / J. Lladoos, E. Marti, J. Villanueva //IEEE Transactions on Pattern Analysis and Machine Intelligence, 2001. - Vol.23. -No.10. - P.1137-1143.

6. Ryu, Y.S. Automatic extraction of eye and mouth fields from a face image using eigenfeatures and multilayer perceptrons / Y.S. Ryu, S.Y. Oh //Pattern recognition, 2001. - Vol.34. - No. 12. - P. 2459-2466.

7. Su Ya Symbol recognition via statistical integration of pixel-level constraint histograms: a new descriptor /Su Ya//IEEE Transactions on Pattern Analysis and Machine Intelligence archive, 2005. - Vol.27. - Issue 2. - P. 278 - 281.