Содержание к диссертации
Введение
1. Анализ проблемы обнаружения лица человека на цифровых изображениях 13
1.1. Постановка задачи обнаружения лица человека 13
1.2. Методы эмпирического распознавания 16
1.2.1. Общее описание методов эмпирического распознавания 16
1.2.2. Методы, основанные на шаблонах 17
1.2.3. Методы, основанные на признаках 17
1.2.4. Методы с использованием контурных моделей 18
1.2.5. Методы с использованием цветовой сегментации 19
1.3. Методы моделирования изображения лица 20
1.3.1. Общее описание методов моделирования изображения лица 20
1.3.2. Байесовские сети 23
1.3.3. Машины опорных векторов 24
1.3.4. Нейронные сети 26
1.3.5. CernSNoW 29
1.3.6. Классификатор Viola-Jones 30
1.4. Основные характеристики алгоритмов распознавания 35
1.5. Анализ существующих методов обнаружения лица человека 37
1.6. Цель и задачи исследования 40
2. Алгоритмы обнаружения лица человека 41
2.1. Ограничения, накладываемые на понятие "изображение лица человека". 41'
2.2. Этап обучения классификатора 43
2.2.1. Расширенный набор типов признаков 43
2.2.2. Матрица объекта 47
2.3. Этап обнаружения лица человека 50
2.3.1. Использование механизма поворотов для подтверждения обнаружения 50
2.3.2. Использование адаптивного шага масштабирования окна поиска 53
2.4. Определение размеров и положения лица человека 56
2.4.1. Определение областей цвета "кожи" 56
2.4.2. Сегментация с использование обрамляющих эллипсов 58
2.4.3. Определение угла наклона лица человека 61
2.5. Гибридный алгоритм обнаружения лица человека 62
2.6. Выводы по второй главе 65
3. Разработка программного модуля быстрого обнаружения лица человека 67
3.1. Общая характеристика модуля 67
3.1.1. Основные требования 67
3.1.2. Использование сторонних библиотек 67
3.1.3. Программная реализация 69
3.2. Архитектура программного модуля 70
3.2.1. Подсистема предварительного определения положения и размеров лица 71
3.2.2. Подсистема обнаружения лица 72
3.2.3. Подсистема подтверждения обнаружения лица 73
3.3. Результаты функционирования модуля при решении тестовых задач 76
3.4. Области применения модуля 78
3.5. Границы применимости модуля 80
3.6. Система распознавания лиц человека на цифровых изображениях "Rapid face detection" 81
3.7. Выводы по третьей главе 82
4. Глава 4. Применение модуля быстрого обнаружения лица человека для решения прикладных задач 84
4.1. Прототип системы контент-ориентированного сжатия изображений 84
4.1.1. Описание системы } 85
4.1.2. Результаты работы 88
4.2. Система автоматической коррекции красных глаз "Red Eye Remove" 89
4.2.1. Эффект "красных глаз" 89
4.2.2. Задача коррекции эффекта "красных глаз" 90
4.2.3. Общая характеристика системы 92
4.2.4. Архитектура системы 93
4.2.5. Программная реализация системы 100
4.2.6. Анализ результатов работы автоматической системы коррекции красных глазЮІ
4.2.7. Области применения системы автоматической коррекции красных глаз 102
4.3. Выводы по четвертой главе 103
Основные результаты диссертационной работы 105
Список сокращений и условных обозначений 106
Список использованной литературы 107
- Постановка задачи обнаружения лица человека
- Общее описание методов эмпирического распознавания
- Ограничения, накладываемые на понятие "изображение лица человека".
- Подсистема предварительного определения положения и размеров лица
Введение к работе
Актуальность темы диссертации. В настоящее время в связи со стремительным развитием цифровой фотографии и цифрового видео перспективной является задача распознавания образов на цифровых изображениях.
Последние десять лет в области распознавания образов ведутся активные разработки и предложены различные методы распознавания, использующие такие подходы, как метод главных компонент, методы с использованием гистограмм, нейросети, байесовские сети, алгоритм Viola-Jones, статистические методы и т. д (Rowley, Shneiderman, Viola, Kanade, Schapire). Часть этих алгоритмов распознавания инвариантны по отношению к объекту, другие используют такие априорные знания об объекте, как: форма, цветовая гамма, взаимное расположение частей и др.
Несмотря на то, что в реальном мире существует огромное количество различных объектов, значительный интерес представляет разработка алгоритмов обнаружения более узкого класса объектов - лиц человека. Конкретными практическими применениями алгоритмов распознавания лиц могут быть: системы автоматического учета числа посетителей; системы пропускного контроля в учреждениях, аэропортах и метро; автоматические системы предотвращения несчастных случаев; интеллектуальные интерфейсы "человек-компьютер" и др.
Задача обнаружения лица человека является сложной ввиду нескольких основных причин: высокая вариативность лиц человека, обусловленная анатомическими и фенотипическими особенностями индивидов; различные условия освещенности, определяющиеся типом, количеством и направлением источников света; необходимость обнаружения лиц, находящихся в произвольных положениях и наклонах.
Существующие потребности в создании подобных систем накладывают жесткие ограничения на скорость работы алгоритмов, которые должны
работать в режиме близком к реальному времени. Однако даже наиболее быстрые из существующих подходов (Viola 2001, Lienhart 2002, Shneiderman 2004) позволяют обнаруживать лица в реальном времени лишь при вертикальном положении лица и непригодны для обнаружения лиц, повернутых в плоскости изображения под произвольным углом.
Для успешного функционирования системы обнаружения лиц обеспечение высокой скорости работы должно также сочетаться с малым количеством ложных обнаружений. В существующих системах при увеличении процента обнаружений свыше 90% наблюдается экспоненциальный рост числа ложных обнаружений, что затрудняет использование этих систем в случаях, когда требуется процент обнаружения близкий к 100%.
Таким образом, учитывая, что наиболее важными характеристиками систем обнаружения являются скорость и процент обнаружения, актуальной является задача разработки и внедрения новых, более быстрых и точных алгоритмов, способных обнаруживать лицо человека, наклоненное под произвольным углом в плоскости изображения.
Цель работы и задачи исследования. Целью диссертационной работы является повышение эффективности обнаружения лица человека на цифровых изображениях за счет разработки и применения новых и модифицированных алгоритмов. Под повышением эффективности понимается улучшение следующих характеристик: повышение процента обнаружения лиц человека, снижение процента ложных обнаружений, снижение времени обучения классификатора и времени обработки изображения по отношению к результатам существующих алгоритмов.
Для достижения данной цели были поставлены и решены следующие задачи:
описать особенности и способы решения задачи обнаружения лица человека, провести обзор подходов и алгоритмов обнаружения, выявить их ограничения;
разработать новые и модифицировать существующие алгоритмы для решения задачи обнаружения лица человека;
реализовать предложенные алгоритмы в программном модуле обнаружения лица человека;
провести проверку работоспособности и эффективности модуля при решении тестовых и практических задач;
разработать и внедрить программный комплекс автоматической коррекции красных глаз.
Объект исследования. Процесс обнаружения лица человека на цифровых изображениях с использованием вычислительной машины.
Предмет исследования. Алгоритмы анализа цифровых изображений и обнаружения лица человека.
Методы исследования. В диссертации использованы методы системного анализа, распознавания образов, компьютерного зрения, математической статистики, параллельного программирования, объектно-ориентированного проектирования систем.
Научная новизна работы состоит в следующем:
предложена модификация существующего алгоритма Viola-Jones с использованием нового типа признаков треугольной формы и матрицы объекта. Использование треугольных признаков позволяет добиться более точной аппроксимации наклонных черт лица. Использование матрицы объекта позволяет повысить скорость обучения при одновременном снижении объема базы обучающих примеров. Использование треугольных признаков и матрицы объекта инвариантно к объекту распознавания (может использоваться при обнаружении любых других объектов);
предложен новый алгоритм прогнозирования положения и размеров лица человека с использованием цветовой информации, позволяющий значительно сократить время на обнаружение лица, наклоненного на произвольный угол в плоскости изображения;
предложен новый алгоритм подтверждения обнаружения лица с использованием механизма поворотов, позволяющий существенно снизить процент ложных обнаружений. Использование алгоритма подтверждения инвариантно к объекту распознавания;
предложен гибридный алгоритм обнаружения лица человека, основанный на алгоритме Viola-Jones, алгоритме прогнозирования положения и размеров лица человека и алгоритме подтверждения обнаружения лица с использованием механизма поворотов.
Обоснованность и достоверность результатов, приведенных в диссертационной работе, обеспечиваются использованием зарекомендовавших себя методов системного анализа, компьютерного зрения и распознавания образов, подтверждаются результатами работы разработанного модуля быстрого обнаружения лиц на тестовой базе изображений, а также результатами его работы при решении практической задачи обнаружения лица человека в системе автоматической коррекции красных глаз "Red Eye Remove".
Практическая значимость и внедрение.
разработан модуль быстрого обнаружения человеческих лиц, позволяющий обнаруживать лица человека на цветных цифровых изображениях при произвольном угле наклона лица в плоскости изображения и отличающийся более высокой точностью и скоростью обнаружения по сравнению с существующими аналогами;
разработана система полностью автоматической коррекции красных глаз, позволяющая корректировать цифровые изображения без участия человека. Система может быть использована для коррекции цифровых фотографий рядовых пользователей, в фотосалонах, фотоаппаратах, в составе цифровых комплексов высокопроизводительной печати фотолабораторий и в автоматических киосках фотопечати.
Система автоматической коррекции красных глаз "Red Eye Remove"
внедрена фотосалоне "DeaLux" в г. Волгограде. С использованием системы
откорректировано свыше 5000 фотографий клиентов сети. Система
автоматической коррекции красных глаз "Red Eye Remove" и система обнаружения лица человека "Rapid face detection" зарегистрированы в отраслевом фонде алгоритмов и программ ФГНУ "Государственный координационный центр информационных технологий" Федерального агентства по образованию РФ.
Положения, выносимые на защиту:
модифицированный алгоритм Viola-Jones с использованием признаков треугольной формы и матрицы объекта;
алгоритм прогнозирования положения и размеров лица человека на основе цветовой информации;
алгоритм подтверждения обнаружения с использованием механизма поворотов;
гибридный алгоритм обнаружения лица человека;
модуль быстрого обнаружения лиц человека;
автоматическая система коррекции красных глаз человека.
Апробация результатов работы. Основные положения диссертации
докладывались и обсуждались на научных семинарах кафедры "САПР и ПК" ВолгГТУ, а также на Международных и Всероссийских научных и научно-практических конференциях: "Информационные технологии в науке, образовании, телекоммуникации и бизнесе (IT + SE)" (Гурзуф, Украина, 2007), "Интеллектуальные системы (AIS). Интеллектуальные САПР (CAD)" (Дивноморское, 2007), "Технологии Microsoft в теории и практике программирования" (Москва, 2007), "Новые информационные технологии" (Судак, 2007), "Информационные технологии в образовании, технике и медицине" (Волгоград, 2006), Региональная конференция молодых исследователей Волгоградской обл. (Волгоград, 2006).
Публикации. Основные положения диссертации отражены в 25 опубликованных работах. В том числе 4 статьи напечатаны в рецензируемых научных журналах центральной печати, из которых 3 статьи опубликованы в журналах, рекомендованных ВАК для публикации основных результатов
диссертационных работ. В список опубликованных работ также входят два свидетельства об официальной регистрации программ для ЭВМ.
Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения, приложений, списка литературы. Общий объем диссертации - 121 страница, включая 43 рисунка, 11 таблиц, список литературы из 155 наименований.
В первой главе приводится обзор работ связанных с подходами к решению задачи обнаружения лица на цифровых изображениях, анализируются и выявляются основные недостатки алгоритмов обнаружения лица, приводится обоснование необходимости модификации существующих и разработки новых алгоритмов обнаружения.
Во второй главе описываются предложенные автором подходы к повышению эффективности решения задачи обнаружения лица человека. Описываются предложения по модификации существующего алгоритма Viola-Jones, а также новые алгоритмы: быстрого определения положения и размеров лица на основании цветовых характеристик и гибридный алгоритм обнаружения лица человека.
В третьей главе описан созданный программный модуль быстрого обнаружения лица человека, реализующий предложенные алгоритмы. Приводится описание архитектуры модуля, его интерфейса и возможных областей применения. Также даются результаты сравнительного анализа работы модуля на тестовых и реальных базах данных изображений.
В четвертой главе приведены конкретные практические примеры применения разработанного модуля, а также результаты работы созданных с его использованием систем. Описывается прототип системы контент-ориентированного сжатия изображений и области его применения. Также приводится описание, архитектура и результаты работы системы автоматической коррекции красных глаз "Red Eye Remove".
Система автоматической коррекции красных глаз "Red Eye Remove" внедрена в фотосалоне "DeaLux" в г. Волгограде. Система "Red Eye Remove", а
также модуль быстрого обнаружения человеческих лиц "Rapid face detection" зарегистрированы в отраслевом фонде алгоритмов и программ ФГНУ "Государственный координационный центр информационных технологий" Федерального агентства по образованию РФ.
Постановка задачи обнаружения лица человека
В настоящее время в связи со стремительным развитием цифровой фотографии и цифрового видео очень перспективной является задача распознавания образов на цифровых изображениях. Распознавание образов определяется как процесс, в котором получаемый образ/сигнал должен быть отнесен к одному из предопределенных классов [154]. Задача распознавания образов является сложной и востребованной, растет количество областей применения алгоритмов распознавания образов. Также, несмотря на несколько десятилетий своего развития, в теории распознавания образов трудно выделить какой-то один, доминантный подход. В большинстве случаев, подход выбирается на основании априорных ограничений и особенностей, присущих конкретной практической задаче.
Несмотря на то, что в реальном мире существует огромное количество различных объектов, значительный интерес представляет разработка алгоритмов обнаружения более узкого класса объектов - лиц человека. Конкретными практическими применениями алгоритмов распознавания лиц могут быть: системы автоматического учета числа посетителей; системы пропускного контроля в учреждениях, аэропортах и метро; автоматические системы предотвращения несчастных случаев; интеллектуальные интерфейсы "человек-компьютер" и др.
Задача обнаружения лица человека на цифровых изображениях является сложной ввиду нескольких основных причин: высокая вариативность лиц человека, обусловленная анатомическими, фенотипическими и расовыми особенностями индивидов; различные условия освещенности, определяющиеся типом, количеством и направлением источников света, их цветом и яркостью, наличием теней; незначительные повороты головы человека вызывает значительные изменения его изображения; лицо является трехмерным объектом, и часть данных теряется при проецировании на двухмерную плоскость изображения; различное выражение лица в значительной степени изменяет его изображение.
В настоящее время существует большое количество научных работ, посвященных задаче обнаружения лица человека на изображении. Среди наиболее значимых следует отметить работы Fleuret, Jones, Osuna, Rowley, Shneiderman, Kanade, Poggio [36, 52, 81, 93, 94, 100, 101, 113] и др. Несмотря на значительное количество работ в этой области, постановка задачи обнаружения лица явным образом в них не ставится.
Для постановки задачи обнаружения лица требуется определить необходимый и достаточный способ задания положения лица на изображении. После этого возможно определение способа установления правильности обнаружения лица.
Положение лица человека на цифровом изображении в достаточно хорошей степени может быть задано ограничивающим его контуры прямоугольником (см. рис. 1.1). Учитывая, что лица человека могут быть наклонены под определенным углом в плоскости изображения, для задания точного положения лица человека помимо указания положения и размеров обрамляющего его прямоугольника, требуется указание угла наклона прямоугольника к вертикальной оси изображения.
Таким образом, задачу обнаружения лица человека на цифровом изображении можно сформулировать следующим образом. Пусть имеется цифровое изображение - двухмерная матрица пикселей размером WxH, в которой каждый пиксель представлен некоторым неотрицательным числом-(0-255 в случае черно-белого изображения или 0-2553 в случае цветного изображения). Требуется определить список наклонных прямоугольников LeanRect, описанных вокруг лиц людей, присутствующих на изображении: LeanRecti = {xvyifWidthifheightifCinglei}, где Xj, у І - координаты центра /-го прямоугольника, widtht - ширина, height - высота, angkt - угол наклона прямоугольника к вертикальной оси изображения. При этом /-ое обнаружение считается верным в случае, если, выполняются следующие условия: widthiE heightiE widthiE ХІ = xiE ± —- и уі = уІЕ ± — и widtht = widthiE ± — х l y width heightiE и heighti = heightiE ± — и апдіві = angleiE ± Cangle height где %i, УІ, widths height anglet - параметры обнаруженного наклонного прямоугольника лица, х&, yiE, widths, height , angleiE - параметры эталонного наклонного прямоугольника, обведенного вокруг лица, содержащегося на изображении, Сх, Су, Cwidth, Cheight, Cangle - константы, определяющие допустимую погрешность обнаружения.
Общее описание методов эмпирического распознавания
Методы обнаружения лица с использованием цветовой сегментации используют априорные данные о цвете лица. Данные методы [56, 96] получили широкое распространение ввиду следующих преимуществ: высокая скорость обработки; устойчивость к изменению выражения лица и перекрытию лица другими объектами; простота реализации; инвариантность к положению, размеру и повороту лица.
Лицо человека на цифровых изображениях имеет так называемый цвет "кожи" [1, 45, 51]. Под цветом "кожи" понимается некоторое подмножество цветов всего цветового пространства, имеющих характерный, присущий коже оттенок. Существует множество параметрических и непараметрических методов выделения цвета "кожи" [121]. В общем случае, наиболее подходящим цветовым пространством для выделения пикселей цвета "кожи" является пространство HSV. Основным преимуществом этого пространства перед другими является разделение оттеночной (Н) и яркостной (V) составляющих. При различных условиях освещения яркостная составляющая пикселей кожи может существенно меняться, при этом оттеночная составляющая имеет достаточно узкий диапазон значений.
Методы обнаружения лиц, основанные на цвете "кожи", работают в три этапа: сначала выделяются пиксели, имеющие цвет близкий к цвету "кожи"; затем пиксели группируются в области; далее области анализируются с использованием априорных знаний о структуре и форме лица.
Обычно, в качестве ограничений при анализе областей пикселей цвета "кожи", выбираются знания об эллиптической форме лица и об отношении линейных размеров большей и меньшей осей эллипсов.
В методах моделирования изображения лица, в отличие от эвристических методов, не делаются попытки формализовать процессы, происходящие в мозге человека. Эти методы основываются на хорошо проработанной теории распознавания образов, или, еще в более общем смысле - на теории к решению задач классификации.
В большинстве современных работ [36, 52, 81] задача обнаружения лица человека интерпретируется как задача классификации обрабатываемых изображений на два класса: "лицо" и "не лицо".
Задача классификации заключается в разбиении множества объектов на классы в соответствии с определенным критерием. Объекты в пределах одного класса считаются эквивалентными с точки зрения критерия разбиения. Сами классы часто бывают неизвестны заранее и могут формироваться динамически.
Для определения принадлежности изображения к одному из классов используется вектор признаков, являющийся отображением анализируемого изображения в пространство более высокой, чем исходная, размерности. Наиболее распространенный способ состоит в том, что каждому пикселю изображения или каждой его прямоугольной подобласти ставится в соответствие определенный компонент вектора Rn в пространстве признаков, где п - общее количество признаков. Ввиду того, что общее количество признаков очень велико, используются различные процедуры сокращения размерности и выделения наиболее значимых признаков. Так большинство методов данной категории используют две стадии: стадию обучения (с учителем или без него) и стадию классификации. На стадии обучения из всего набора признаков выделяется сокращенный набор существенных признаков, также определяются пороговые значения признаков, используемые для принятия решения об отнесении изображения к тому или иному классу. На стадии классификации производится вычисление значений признаков для конкретного проверяемого изображения и определение принадлежности изображения к классу. Ввиду того, что стадия обучения и выбора наиболее значимых признаков не требует вмешательства человека, результаты методов моделирования изображения лица в значительной степени превосходят результаты эмпирических методов обнаружения.
Согласно Хайкину [154] в самом общем случае задачу классификации на М классов формально можно представить следующим образом. Пусть имеется М классов, объединение которых формирует все пространство входных сигналов, т.е. для представления всех возможных результатов классификации требуется Мвыходов (рис. 1.2).
Ограничения, накладываемые на понятие "изображение лица человека".
Следует отметить, что существует множество способов получить изображение лица: нарисовать картину, создать карикатуру, выполнить карандашный эскиз, получить цифровую фотографию (рис. 2.1). При этом понятие "лицо человека" может означать практически любое изображение, так или иначе напоминающее лица живых людей. Подобные изображения "лиц человека" могут изображать лица с невозможными в реальном мире пропорциями черт лица (японское аниме), неестественным цветом кожи (синий, зеленый), наличием лишних или отсутствием неотъемлемых черт лица вида homo sapiens (циклопы, индивиды с тремя глазами, двумя носами и т. д.).
Для работы любого алгоритма, моделирующего изображение лица, требуется выполнить этап обучения классификатора. Как уже упоминалось в первой главе для повышения вероятности линейной разделимости обучающей выборки на два класса "лицо" и "не лицо" исходное изображение отображается в пространство признаков, имеющее более высокую размерность. На этапе обучения производится анализ обучающей выборки и из всего множества признаков, количество которых значительно превосходит размерность изображения, выделяются существенные признаки, присущие объекту распознавания и позволяющие отличить его от других изображений.
Ввиду того, что классификатор Viola-Jones обучается с учителем, для запуска процесса обучения требуется две обучающих выборки: выборка, на которой содержатся только изображения лица человека и выборка изображений, на которых лица гарантированно не присутствуют.
Согласно исследованиям ученых, для успешного обучения требуется 3-6 тысяч изображений лица [64, 65, 123]. Для получения хороших результатов, лица на изображениях обучающей выборки должны быть правильно кадрированы и центрированы (см. рис. 2.3).
Расширенный набор типов признаков
Как указывалось в первой главе, классификатор Viola-Jones основан на признаках, напоминающих фильтры Хаара. Однако используются лишь признаки прямоугольной формы. Однако на лице человека практически отсутствуют ровные и прямые линии, которые могут быть хорошо аппроксимированы прямоугольниками. Для повышения репрезентативных возможностей алгоритма нами предлагается использование нового типа треугольных признаков, позволяющих более точно аппроксимировать наклонные черты лица.
Предлагается использование двух видов треугольных признаков, представленных на рис. 2.4д в дополнение к существующим прямоугольным признакам. На указанном рисунке черные области соответствуют отрицательным весам, а белые - положительным.
Для обеспечения высокой скорости работы классификатора нами также предлагается способ быстрого вычисления значений треугольных подобластей нового типа признаков. Для их вычисления используется понятие интегрального изображения, встречающееся в работах Viola, Lienhart и др. В первой главе приводилось определение понятия интегрального изображения, а также описание способа его вычисления. В дальнейшем интегральное изображение используется для расчета прямоугольных признаков.
Для вычисления значений треугольных признаков используется дополнительное интегральное изображение TSAT, значение каждого элемента которого равно сумме яркостей всех пикселей, находящихся в прямоугольном треугольнике, расположенным левее и выше данного элемента (см. рис. 2.5): TSAT(.x,y) = У Кх .У) x sx,y ,y,y sy \x-x \
Вычисление значения каждого элемента интегрального изображения TSAT осуществляется за один проход цикла с использованием предварительно рассчитанного интегрального изображения SA Т и формулы: TSAT(x, у) = TSAT(x -1, у -1) + SAT{x, у) - SAT(x - І, у)
Используя вычисленное интегральное изображение TSAT можно получить значение каждой треугольной подобласти TrSum{t) за 4 обращения к SAT и TSAT (рис. 2.6):
Использование треугольных признаков позволяет повысить качество аппроксимации наклонных линий лица. Предложенный алгоритм быстрого вычисления значения треугольных признаков позволяет производить обнаружение без падения скорости по сравнению с базовым набором признаков.
Как уже указывалось ранее, одним из существенных недостатков современных алгоритмов классификации является необходимость большой и тщательно подготовленной обучающей выборки. Еще одним недостатком является возможность обучения только на прямоугольных изображениях объекта.
Однако изображение большинства объектов реального мира на плоскости имеет отличную от прямоугольной форму. Так, например, фронтальное лицо человека имеет овальную форму и занимает от 75 до 90% площади ограничивающего прямоугольника в зависимости от условий кадрирования. А профильное лицо, в свою очередь, занимает от 70 до 85% площади прямоугольника. Это приводит к тому, что на этапе обучения помимо существенной информации, присущей объекту, обрабатывается также несущественная информация, соответствующая фону, на котором получено изображение объекта.
Обработка пикселей фона приводит к возникновению двух основных проблем. Во-первых, снижается скорость обучения классификатора. Это обусловлено тем, что вычислительные ресурсы тратятся на обработку заведомо несущественных пикселей фона. Во-вторых, повышаются требования к обучающей выборке. Так в случае обучения классификатора на выборке в которой все лица людей находятся только на белом фоне, он ошибочно определит, что области белого фона являются неотъемлемой частью, присущей лицу. В результате, обученный классификатор сможет обнаруживать лица людей только на белом или близком к нему фоне. Одним из способов борьбы с данной ситуацией в настоящее время является формирование обучающей выборки, состоящей из очень большого числа изображений лиц, которые должны находиться на различном фоне.
Подсистема предварительного определения положения и размеров лица
Прототип системы контент-ориентированного сжатия был выполнен для проведения исследований, посвященных возможностям контент-ориентированного сжатия изображений.
Известно, что человеческий мозг устроен таким образом, что внимание человека при просмотре изображения распределяется неравномерно в зависимости от объектов, которые на нем присутствуют. Так центрами внимания человека на статических изображениях становятся лица людей, а на видео изображениях наиболее часто внимание уделяется лицам людей и движущимся объектам.
Система использует особенности алгоритма сжатия Jpeg, который сжимает изображения поблочно с размером блока 8x16 пикселей. При этом существует возможность сжатия различных блоков с различной степенью компрессии.
Суть работы системы можно охарактеризовать следующим образом. Система обнаруживает лица людей на заданном изображении, а затем, с использованием возможностей алгоритма Jpeg сжимает области изображения, соответствующие лицам, с более высоким, чем остальные области, качеством сжатия.
В итоге система может быть использована для решения двух различных задач. Во-первых, при фиксированном размере изображения на выходе с помощью системы возможно получение изображения более высокого визуального качества. Это может быть достигнуто за счет того, что несущественные детали фона будут сжиматься с более низким качеством, а лица людей, которым уделяется максимум внимания при рассматривании изображения, будут сжаты с более высоким качеством, чем на изображении, степень сжатия которого равномерна по всей площади. Во-вторых, при сохранении общего визуального качества изображения становится возможным производить адаптивное сжатие и получать выходные файлы меньшего размера, чем исходные.
Общая архитектура системы представлена на рис. 4.1. Система состоит из трех основных подсистем: модуля быстрого обнаружения лиц, подсистемы определения степеней компрессии блоков, подсистемы кодирования в формат Jpeg.
Модуль быстрого обнаружения лиц позволяет быстро обнаруживать лица в произвольном положении с использованием предложенных в диссертации алгоритмов, и описан в главе 3. На выходе модуль предоставляет список наклонных прямоугольников, обрамляющих найденные лица людей.
Матрица степеней компрессии для изображения. Более темными цветом обозначены блоки, сжимаемые с более высоким качеством. Определение степени сжатия для каждого блока изображения выполняется на основании его близости к лицу человека. При этом используется следующий алгоритм (при задании конечного размера файла):
1. на основании списка наклонных прямоугольников, полученных от модуля обнаружения лица человека, вычисляется количество блоков, которые составляют области лиц на изображении;
2. на основании конечного размера файла вычисляются степени компрессии для областей лица человека и областей остального фона;
3. для снижения резкости перехода между областями лиц, подлежащими сжатию с высоким качеством, и областями фона, в некоторой окрестности лиц для соответствующих блоков происходит плавное снижение степени компрессии от степени компрессии области лица до степени компрессии областей фона (см. рис. 4.2).
Подсистема кодирования изображения в Jpeg использует данные о степени компрессии, полученные от предыдущей подсистемы. Подсистема кодирования последовательно сжимает блоки Jpeg с заданным качеством и сохраняет их в файл Jpeg. Подсистема контент-ориентированного сжатия изображений показала возможность и целесообразность адаптивного сжатия различных областей изображения в зависимости от типа информации, содержащейся на них.
Основной ценностью системы является возможность ее использования для получения изображений визуально такого же, как и исходное изображение, качества, но меньшего размера. В зависимости от степени компрессии возможно получение до 30% меньших по размеру изображений с сохранением визуального качества восприятия.
При некоторой доработке система может быть использована в составе систем видео-конференций и позволит сократить объем проходящего трафика. С использованием технологии MotionJpeg система даст возможность общаться пользователям на более узких каналах связи. Также, подобная технология контент-ориентированного сжатия может применяться в случаях, когда место для хранения изображений ограничено, например, в мобильных цифровых устройствах.
Система реализована на языке программирования Microsoft Visual С++ 2005 и использует библиотеки Intel OpenCV и LibJpeg. Известно, что на фотографиях, сделанных со вспышкой, у людей и животных зрачки глаз часто получаются неестественных цветов. У людей засвеченные глаза обычно красные (хотя встречаются желтые и белые), а у животных могут быть зеленые, желтые и синие. Связано это с тем, что при малом угловом расстоянии от вспышки до объектива (рис. 4.3) свет вспышки отражается от сетчатки и попадает обратно в объектив. Цвет сетчатки глаз человека - красный. У животных же он может быть различным. Фотографии с таким дефектом смотрятся неестественно и, фактически, являются испорченными. Таким образом, это является принципиальной проблемой большинства современных фотоаппаратов.