На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

4
Ожидается:
09 Декабря 2024

Концепция алгоритма распознавания и анализа лица человека

The concept of face detection algorithm and face analysis on digital image
Статья опубликована в выпуске журнала № 1 за 2011 год.
Аннотация:В статье описывается разработанный авторами гибридный алгоритм распознавания лица человека. Особенностью данного алгоритма является возможность применения результатов распознавания для проведения любого вида анализа, оперирующего очертаниями лица. Основное нововведение – использование механизмов обработки изобра-жения после поиска лица традиционными методами AdaBoost.
Abstract:This paper describes a new hybrid algorithm for face detection on digital images. The main feature of the algorithm is that it uses an image processing after face detection with classic AdaBoost algorithms. This hybrid algorithm may be using for any kind of face contours test.
Авторы: Перепелицын А.В. (kalibannez@gmail.com) - Волгоградский государственный технический университет, Бутенко Д.В. (butenko@vstu.ru) - Волгоградский государственный технический университет (доцент), г. Волгоград, Россия, кандидат технических наук
Ключевые слова: концептуальное проектирование, алгоритм для распознавания, анализ внешности, распознавание лица человека
Keywords: conceptual design, recognizing algorithm, human face recognizing, human face recognizing
Количество просмотров: 18254
Версия для печати
Выпуск в формате PDF (5.09Мб)
Скачать обложку в формате PDF (1.32Мб)

Размер шрифта:       Шрифт:

Увеличение потока графической информации обусловило актуальность задачи поиска, распознавания и анализа человеческого лица.

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

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

Основная цель разработки алгоритма – получение высокого качества распознавания при высокой скорости работы. Созданный гибридный алгоритм состоит из двух частей. Первая часть должна находить область лица, используя классический алгоритм его распознавания, вторая – предоставлять достоверные данные о расположении на нем опорных точек с использованием модифицированного алгоритма выделения границ (Edge De­tecting).

Одним из наиболее признанных и распространенных алгоритмов для распознавания образов является алгоритм Виолы–Джонса с применением каскадов, построенных с использованием примитивов (features) Хаара и алгоритма адаптивного машинного обучения AdaBoost. Этот алгоритм выбран для реализации первой части гибридного алгоритма, так как дает высокий процент верно распознанных изображений при высоком быстродействии. Суть его в том, чтобы частям изображения сопоставить некоторые заранее выбранные для обучения примитивы. Эти примитивы сопоставляются с участками изображения, и считается разница сумм значений пикселов на светлой и темной сторонах примитива. Если получившаяся разница соответствует полученному при обучении значению, запускается следующий этап из каскада, которому в наибольшей степени соответствует полученное значение. Так продолжается до тех пор, пока вся цепь каскада не будет пройдена до конца. Если на любом этапе порог равенства будет превышен, считается, что лицо не содержится в текущей области [1].

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

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

При создании алгоритма распознавания границ возникли проблемы.

Фильтр выделения границ используется для выделения высокочастотных элементов изображения. Высокочастотный элемент изображения – это, например, светлый пиксел на однородном темном фоне или наоборот. Работу фильтра можно описать формулой Ci,j=k´(|Ii-1,j-Ii+1,j|+|Ii,j+1-Ii,j-1|), где Ci,j – цвет рассматриваемой точки на результирующем изображении; k – коэффициент выделения границ; i, j – соответственно координаты X и Y рассматриваемой точки в исходном изображении; Ii,j – яркость точки в исходном изображе- нии [2].

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

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

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

Однако применение фильтра размытия вызвало падение скорости распознавания на несколько порядков. Чтобы разобраться в проблеме, необходимо рассмотреть устройство фильтра.

Работа фильтра размытия выражается формулой Cout,j,j=∑α1,m´Ci+1,j+m, где Cout,j,j – цвет пиксела результирующего изображения; i, j – соответственно координаты X и Y рассматриваемой точки в исходном изображении; m – размер ядра свертки; α – ядро свертки; Ci,j – цвет пиксела исходного изображения [3].

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

Для улучшения алгоритма применялись следующие подходы.

При первом для определенного класса ядер свертки (например αi,j=1 или αi,j=exp(-i2-j2)), называемых разделяемыми, проводится размытие сначала только по горизонтали, а затем только по вертикали. В результате получается правильное изображение. Однако даже в этом случае сложность алгоритма очень велика: длина´шири­на´7´2.

При втором подходе для применения фильтра размытия к пикселу необходимо взять 3 пиксела слева от данного, три справа (ядро свертки размером 7), сложить цвета и разделить их значения на 7. В результате получается усредненное значение цвета пиксела – эффект размытия достигнут.

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

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

for(int x = xBegin; x < xEnd; ++x)

{

      for(int y = yBegin; y < yEnd; ++y)

      {

             destImage = BlurPoint(SourceImage, x+1, y+1);

             resultImage = EdgeDetect(destImage, x, y);

      }

}

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

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

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

Литература

1.   Viola P., Jones M. Robust real-time object detection. URL: www.hpl.hp.com/techreports/ Compaq-DEC/CRL-2001-1.pdf (дата обращения: 08.11.2010).

2.   Ватутин Э.И., Мирошниченко С.Ю., Титов В.С. Программная оптимизация оператора Собела с использованием SIMD-расширений процессоров семейства x86 // Телекоммуникации. 2006. № 6.

3.   Поляков А.Ю., Брусенцев В.А. GDI+ и DirectX. СПб: БХВ-Петербург, 2005. 368 с.

4.   Бутенко Д.В. Системологическое представление технической системы // Концептуальное проектирование в образовании, технике и технологии: межвуз. сб. тр. Волгоград, 1997.

5.   Бутенко Д.В. Концептуальная функциональная структура технических систем // AIS-IT`10: тр. Конгресса по интеллект. сист. и информ. технолог.: науч. изд. в 4-х т. М.: Физматлит, 2010. Т. 1. 580 с.


Постоянный адрес статьи:
http://swsys.ru/index.php?id=2742&like=1&page=article
Версия для печати
Выпуск в формате PDF (5.09Мб)
Скачать обложку в формате PDF (1.32Мб)
Статья опубликована в выпуске журнала № 1 за 2011 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: