Journal influence
Bookmark
Next issue
The concept of face detection algorithm and face analysis on digital image
The article was published in issue no. № 1, 2011Abstract: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.
Аннотация:В статье описывается разработанный авторами гибридный алгоритм распознавания лица человека. Особенностью данного алгоритма является возможность применения результатов распознавания для проведения любого вида анализа, оперирующего очертаниями лица. Основное нововведение – использование механизмов обработки изобра-жения после поиска лица традиционными методами AdaBoost.
Authors: (kalibannez@gmail.com) - , Butenko D.V. (butenko@vstu.ru) - Volgograd State Technical University, Volgograd, Russia, Ph.D | |
Keywords: conceptual design, recognizing algorithm, human face recognizing, human face recognizing |
|
Page views: 18345 |
Print version Full issue in PDF (5.09Mb) Download the cover in PDF (1.32Мб) |
Увеличение потока графической информации обусловило актуальность задачи поиска, распознавания и анализа человеческого лица. Для реализации многих потребностей компьютерного распознавания лица разработаны спе- циальные узконаправленные алгоритмы. Однако нередко существующие алгоритмы распознавания в чистом виде неприменимы, в частности, для антропометрического анализа очертаний лица. Проблемой в данном случае является слишком малая контрастность лица человека на фотографии для точного определения интересующих границ и очертаний с необходимой вероятностью успеха. Ввиду этого была определена проблема разработки гибридного алгоритма, который решал бы задачи поиска лица на изображении и последующего анализа его очертаний. Основная цель разработки алгоритма – получение высокого качества распознавания при высокой скорости работы. Созданный гибридный алгоритм состоит из двух частей. Первая часть должна находить область лица, используя классический алгоритм его распознавания, вторая – предоставлять достоверные данные о расположении на нем опорных точек с использованием модифицированного алгоритма выделения границ (Edge Detecting). Одним из наиболее признанных и распространенных алгоритмов для распознавания образов является алгоритм Виолы–Джонса с применением каскадов, построенных с использованием примитивов (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 с. |
Permanent link: http://swsys.ru/index.php?id=2742&lang=en&page=article |
Print version Full issue in PDF (5.09Mb) Download the cover in PDF (1.32Мб) |
The article was published in issue no. № 1, 2011 |
Perhaps, you might be interested in the following articles of similar topics:
- Методика концептуального проектирования программных информационных систем
- Когнитивная концептуальная модель финансово-экономической устойчивости предприятия
- Алгоритм проведения предпроектных исследований и моделирования информационных систем
- К построению изобретающей системы на основе системологии
Back to the list of articles