Способ обнаружения лиц на изображении с применением каскада классификаторов



Способ обнаружения лиц на изображении с применением каскада классификаторов
Способ обнаружения лиц на изображении с применением каскада классификаторов
Способ обнаружения лиц на изображении с применением каскада классификаторов
Способ обнаружения лиц на изображении с применением каскада классификаторов
Способ обнаружения лиц на изображении с применением каскада классификаторов
Способ обнаружения лиц на изображении с применением каскада классификаторов
Способ обнаружения лиц на изображении с применением каскада классификаторов

 


Владельцы патента RU 2427911:

Фирма "С1 Ко., Лтд." (KR)

Изобретение относится к области обработки цифровых изображений, а более конкретно к нахождению произвольно ориентированных лиц на цифровых изображениях. Техническим результатом изобретения является повышение быстродействия и точности обрабатываемых данных при обнаружении лиц на изображении. Технический результат достигается благодаря тому, что в способе обнаружения лиц на изображении, включающем в себя применение каскада однородных классификаторов, каждый классификатор используют для разделения входного вектора на два класса «лицо», «нелицо», причем каждый классификатор характеризуется более высокой точностью классификации по сравнению с предыдущим классификатором в каскаде, выполняют поиск окружностей на входном изображении с помощью преобразования Хафа для окружностей, формируют набор фрагментов в областях изображения, где были обнаружены окружности, путем разделения областей на набор фрагментов одинакового размера, применяют каскад классификаторов к каждому фрагменту и определяют, содержит он лицо или нет, причем для принятия решения о наличии лица все классификаторы должны отнести соответствующий входной вектор, построенный по фрагменту, к классу «лицо». 5 з.п. ф-лы, 7 ил.

 

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

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

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

Из уровня техники известны, например, системы обнаружения лиц (см., в частности, патенты США: №6661907 [1] и №6816611 [2]), которые ориентированы на использование цветовой информации изображений. Это свойство существенно сужает область их применения, т.к. накладывает требование использовать цветные устройства захвата изображений.

В патенте США №6940545 [3] предлагается система, реализующая два этапа обнаружения лица. Первый из них основан на использовании вероятностных цветовых моделей различных элементов головы человека, например волос и кожи лица. Результатом первого этапа является список областей-кандидатов на наличие в них лица. На втором этапе используется классификатор, реализующий баессовское правило принятия решения. Он обрабатывает полученный список областей и формирует окончательное решение о наличии и положении лица на изображении. Предложенную в [3] систему предполагается использовать в цифровых фотокамерах для получения более точных оценок параметров съемки в случае наличия лиц в снимаемой сцене. Целевая направленность патента [3] позволяет сформулировать достаточно слабые требования по скорости и точности работы системы. Это не позволит использовать предложенный алгоритм в большинстве задач, связанных с обнаружением лица человека.

Работоспособный вариант двухэтапного алгоритма обнаружения лиц предложен в патенте США №6463163 [4]. На первом стадии выполняется двухэлементный алгоритм, состоящий из линейного и нелинейного фильтров. Сначала вычисляется корреляция с ядром линейного фильтра (полученного в результате обучения), затем на корреляционной карте выделяются локальные экстремумы. Завершает первый этап алгоритма сравнение яркостных характеристик областей, соответствующих найденным экстремумам, с модельными значениями. Результатом первого этапа является набор регионов возможного положения лица. На второй стадии найденные регионы анализируются многослойной нейронной сетью прямого распространения, в результате чего формируется список обнаруженных на изображении лиц. Недостатком данного подхода является низкая устойчивость корреляционного алгоритма к изменениям, вызванным поворотом лица. Кроме этого скорость функционирования многослойных нейронных сетей не достаточна для применения данной системы в приложениях, выполняющихся в реальном времени.

Частично эти трудности были преодолены в патенте США №7099510 [5], где разработан вычислительно эффективный алгоритм локализации области лица с учетом масштаба и сдвига. Предложенный метод основан на использовании последовательности (каскада) вычислительно простых классификаторов. Индивидуально каждый элемент каскада малоэффективен для решения задачи обнаружения лица, но специальный способ их построения и объединения позволил добиться высоких показателей по точности и скорости работы. Данный патент является наиболее близким к заявленному изобретению, он был выбран в качестве прототипа.

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

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

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

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

- выполняют поиск окружностей на входном изображении с помощью преобразования Хафа для окружностей;

- формируют набор фрагментов в областях изображения, где были обнаружены окружности, путем разделения областей на набор фрагментов одинакового размера;

- применяют каскад классификаторов к каждому фрагменту и определяют, содержит он лицо или нет, причем для принятия решения о наличии лица все классификаторы должны отнести соответствующий входной вектор, построенный по фрагменту, к классу «лицо».

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

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

- блок получения изображения;

- блок обнаружения лица;

- блок обучения.

Далее существо заявляемого изобретения поясняется с привлечением графических материалов.

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

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

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

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

На Фиг.4 представлена схема работы детектора лица. Входное изображение передают на детектор окружностей. Используя преобразование Хафа для обнаружения окружностей [6] детектор выделяет на исходном изображении все окружности фиксированного радиуса. По результатам обнаружения формируют карту, на которой отмечены точки, соответствующие центрам найденных окружностей. Данная карта совместно с исходным изображением образуют маскированное изображение, которое передают в обработчик изображения. Обработчик сканирует полученное изображение с целью формирования набора фрагментов изображения, которые затем поступают на вход каскадного классификатора.

Схема работы классификатора показана на Фиг.5. Он представляет собой каскад однотипных классификаторов. Детектор лица использует их для классификации фрагментов изображения по двум типам: лицо и нелицо. Классификаторы применяют к дескрипторам, построенным для каждого фрагмента из множества, сформированного обработчиком изображения. На первом этапе каскада конструируют дескрипторы небольшой размерности, после чего передают их на вход первого классификатора. Обработав полученные множество дескрипторов, первый классификатор удаляет из данного множества большое число отрицательных примеров, т.е. фрагментов, не содержащих лицо. Он характеризуется высокой скоростью работы, т.к. обрабатывает дескрипторы малой размерности. На Фиг.5 удаление отрицательных примеров обозначено символами NF (non-face), такие примеры перемещаются во множество отклоненных фрагментов. Если классификатор относит обрабатываемый фрагмент к классу «лицо», то он передает его на следующий этап каскада. На Фиг.5 этому действию соответствует стрелка, маркированная символом F (face). После прохождения четырех этапов каскада фрагмент, если он не был помещен во множество отрицательных фрагментов, передается на этап дальнейшей обработки, которая может заключаться в применении дополнительных классификаторов или в подготовке вывода результатов работы, путем выделения соответствующих областей на исходном изображении.

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

Входными данными для классификаторов, входящих в состав каскада, являются вектора, построенные по обрабатываемому фрагменту. В зависимости от позиции классификатора в каскаде фрагмент сначала масштабируют, после чего по нему формируют Local Binary Pattern (LBP) дескриптор. При этом для первых уровней каскада используют больший коэффициент масштабирования, получая тем самым дескрипторы меньшей размерности, что обеспечивает более высокую скорость работы соответствующих классификаторов.

Операция LBP состоит в проведении набора сравнений интенсивности пикселя с интенсивностями восьми соседних пикселей. Результаты сравнений кодируют с помощью восьмиэлементного вектора, каждый элемент которого принимает значение 0 или 1 в зависимости от соответствующего результата сравнения. Каждому такому вектору сопоставляют число от 0 до 255, объединив элементы в восьмиразрядное число в двойной записи. На фиг.6 представлена схема выполнения операции LBP.

Операцию LBP применяют к каждому пикселю входного изображения, после чего формируют дескриптор D, являющийся матрицей размером Н×W, каждый элемент которого является целым числом от 0 до 255. В качестве классификаторов, входящих в состав каскада, применяют нейронные сети с архитектурой SNOW [7]. Это однослойная полносвязанная сеть прямого распространения. Размер входного слоя определяется размерностью анализируемого дескриптора по формуле: N=256*W*H,

здесь W, H - ширина и высота обрабатываемого дескриптора соответственно. Выходной слой состоит из двух нейронов, один из них сопоставлен входным векторам, кодирующим нелица, другой - лицам. Входные вектора бинарные, при этом количество единиц в них равно W*H. Таким образом, несмотря на большую размерность входного вектора подавляющая часть элементов в нем равны нулю, и, следовательно, в вычислении линейной комбинации участвуют только W*H единичных входов. Это способствует достаточно высокой скорости работы нейронной сети.

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

Ind=256*(y*W+x)+D(x,y),

Здесь x,y - координаты элемента дескриптора D, W - ширина D.

Функция активация нейронов выходного слоя - сигмоида:

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

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

Далее вычисляют значение нелинейной функции:

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

,

то вычисление экспоненты и сравнение с порогом при принятии решения для каждого входного вектора допустимо заменить на сравнение выражения u1-u2 с порогом thr1.

Исходя из формулы вычисления линейной комбинации:

,

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

На вход классификатора подают фрагменты размером 24×24. На первом этапе работает нейронная сеть, принимающая на вход дескриптор размера 3×3. Далее выполняют классификатор для дескриптора 4×3, после этого - для дескриптора 6×6, и последним является классификатор для дескрипторов 12×12.

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

Стадия обучения состоит из нескольких этапов.

- Начальное обучение;

- В один и/или несколько этапов процедуры Bootstrap.

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

Подбор весов нейронной сети выполняют при помощи одного из известных алгоритмов [8].

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

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

Процедуру Bootstrap выполняют в соответствии с алгоритмом, описанным в [8]. Обученный каскад классификаторов запускают на наборе изображений, не содержащих лиц. Фиксируют все случаи обнаружения лица и добавляют соответствующие фрагменты в обучающую выборку. Проводят обучение всех стадий каскада на измененной обучающей выборке.

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

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

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

Фиг.1. Схема системы детектирования, представленной в данном изобретении.

Фиг.2. Диаграмма управления потоком данных для блока обнаружения лица.

Фиг.3. Диаграмма управления потоком данных для многоуровневого детектора лица.

Фиг.4. Диаграмма управления потоком данных для детектора лица.

Фиг.5. Схема работы каскадного классификатора.

Фиг.6. Схема выполнения операции LBP.

Фиг.7. Блок-схема алгоритма обнаружения лиц на изображении, представленного в данном изобретении.

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

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

Дополнительные ссылки

6. Duda R.О. and P.E.Hart. "Use of the Hough Transformation to Detect Lines and Curves in Pictures", Comm. ACM, Vol.15, p.11-15 (January 1972).

7. M.-H.Yang, D.Rosh & N.Ahuja. A SNOW-based face detector, Advances in Neural Information Processing Systems 12, 2000, 855-861.

8. H.Rowley, S.Baluja & Т.Kanade. Neural network-based face detection, Proc. IEEE Conf. Computer Vision and Pattern Recognition, 1996, 203-208.

1. Способ обнаружения лиц на изображении, включающий в себя применение каскада однородных классификаторов, отличающийся тем, что предусматривает выполнение следующих операций:
- каждый классификатор используют для разделения входного вектора на два класса «лицо», «нелицо», причем каждый классификатор характеризуется более высокой точностью классификации по сравнению с предыдущим классификатором в каскаде;
- выполняют поиск окружностей на входном изображении с помощью преобразования Хафа для окружностей;
- формируют набор фрагментов в областях изображения, где были обнаружены окружности, путем разделения областей на набор фрагментов одинакового размера;
- применяют каскад классификаторов к каждому фрагменту и определяют, содержит он лицо или нет, причем для принятия решения о наличии лица все классификаторы должны отнести соответствующий входной вектор, построенный по фрагменту, к классу «лицо».

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

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

4. Способ по п.1, отличающийся тем, что на вход каждого классификатора каскада передают представление входного фрагмента изображения, построенного на основе дескриптора LBP.

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

6. Способ по п.1, отличающийся тем, что в качестве классификаторов, входящих в состав каскада, применяют искусственные нейронные сети с архитектурой SNOW.



 

Похожие патенты:

Изобретение относится к способу распознавания слов в компьютерных системах, таких как системы оптического распознавания символов (ОРС) или системы автоматического распознавания речи (АРР), и машиночитаемому носителю данных, содержащему команды для выполнения данного способа.

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

Изобретение относится к способам и системам технического зрения обнаружения, слежения и распознавания объектов. .

Изобретение относится к области систем компьютерной обработки и анализа изображений разнотипных объектов. .

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

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

Изобретение относится к технике распознавания печатного и рукописного текста. .

Изобретение относится к биометрическим системам идентификации личности по изображению лица человека. .

Изобретение относится к аутентификации личности по отпечаткам пальцев. .

Изобретение относится к способу и аппарату для определения характера дефектов кожи

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

Изобретение относится к измерительной технике

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

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

Изобретение относится к электронным финансовым операциям

Изобретение относится к электронным финансовым операциям

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