Н. С. БЕЛЛЮСТИН, В. А. РАЗУМОВ, А. А. ТЕЛЬНЫХ

Научно-исследовательский радиофизический институт, Нижний Новгород

Институт прикладной физики РАН, Нижний Новгород

*****@

НАСТРОЙКА И ТЕСТИРОВАНИЕ ФРАГМЕНТОВ

СИСТЕМЫ АНАЛИЗА ЛИЦА ЧЕЛОВЕКА

НА ВИДЕОИЗОБРАЖЕНИЯХ

Аннотация

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

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

НЕ нашли? Не то? Что вы ищете?

Тестирование сложной системы всегда носит ограниченный характер из-за необозримо большого количества возможных вариантов ее срабатывания. Для рыночных компьютерных продуктов тестирование и настройка системы занимает примерно в 2 – 3 раза больше времени, чем на ее написание. Тратить на это еще больше времени уже невозможно, поскольку продукт будет устаревать и сегмент рынка отойдет к конкуренту, выпускающему более «сырые» продукты, но быстрее. Фактор времени не менее важен и для нерыночных приложений.

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

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

Созданную нами [1 – 3] систему обнаружения лица можно представить в виде 7-ти последовательно расположенных блоков, каждый из которых реализуется в виде подпрограммы-функции.

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

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

3. Блок поиска точек интереса (точек привязки) выделяет по некоторому алгоритму особые точки на изображении (см. рис. 1а), которые могут оказаться одним из элементов лица, (рис. 1в); поиск точек привязки ведется внутри маскированной области (рис. 1б).

4. Блок поиска кандидатов на модель лица для каждой из найденных точек привязки предполагает, что она является левым глазом или левой бровью лица и в соответствующей области справа от нее ищет точку-кандидата на симметричный правый элемент лица; горизонтальное расстояние между глазами задается в интервале 10 – 30 пикселов.

5. Блок построения моделей для каждой найденной пары рассматривает точки привязки в соответствующем им «прямоугольнике лица» и определяет Хаусдорфово расстояние [4] от этого множества точек до нескольких заранее подобранных «шаблонов лица», имеющих «расстояние между глазами» в 20 пикселов. Если минимальное их этих расстояний не превышает заданного порога, то кандидат на модель лица проходит на следующий этап обнаружения. Блок позволяет существенно сократить число кандидатов для последующего более детального рассмотрения и, таким образом, сэкономить время обнаружения.

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

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

Полученная система содержит несколько «свободных» параметров, значения которых подбирались в процессе тонкой настройки (tuning) c использованием учебной базы данных, содержащей 100 изображений с по одним лицом для обнаружения на каждом. Время просмотра одного варианта значений параметров составляло около 3 мин, что позволяло за разумное время находить локальный минимум ошибки обнаружения и соответствующие ему значения параметров системы. Истинные значения координат глаз человека на изображении были набраны вручную и использовались для проверки работы системы. Отладочная версия компьютерной системы обнаружения лиц позволяла получать промежуточную информацию от блоков описанной выше системы и анализировать причины отказов.

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



Рис. 1а. Исходное изображение Рис. 1б. Результат сегментации


Рис. 1в. Точки привязки Рис. 1г. Выделенное изображение

Краткая отладочная информация в этом случае имеет вид:

- true eye coordinates

EyeDist=83

i=0 Elements=22 Candidats=8 Models=2 Faces=0

i=1 Elements=48 Candidats=50 Models=6 Faces=1 nb_sh=1

i=2 Elements=45 Candidats=12 Models=2 Faces=0

i=3 Elements=32 Candidats=5 Models=0 Faces=0

preliminary faces=1 filtered faces=1

Eyes determined

Ряд = 0 соответствует 8 кратному сжатию изображения, = 1 – четырехкратному, = 2 – двухкратному, = 3 – без сжатия. Поскольку исходное расстояние между глазами 83 пиксела, обнаружения лица естественно ожидать при четырехкратном сжатии, что и реализовалось в действительности.

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

После настройки параметров система сделала = 25 ошибок обнаружения лица на 100 предъявлениях из рассматриваемой базы данных. Поскольку по статистической теории относительная точность подобных измерений порядка (см., например, [5]), то измеренная доля ошибок обнаружения должна лежать в интервале 25 %*(10,2), т. е. 20 – 30 %. Этот результат может быть подтвержден на репрезентативном наборе из нескольких однородных баз данных по 100 изображений, набранных путем случайной выборки из имеющейся полной базы данных в 10000 фотографий. Для этого были созданы и вручную размечены еще 2 тестовых базы данных по 100 изображений такого же типа, тестирование алгоритма на них дало ошибки в 27 и 34 лиц соответственно. Этот результат в целом соответствует нашим теоретическим представлениям, некоторое расхождение объясняется либо недостаточной репрезентативностью созданных баз данных, либо некоторой переобученностью на первую базу параметров системы, которые оптимизировались по этим данным. Успешность настроенной системы проверялась также на более разнотипных изображениях с несколькими лицами. Доля правильно найденных лиц и в этих случаях была достаточно высокой, один из примеров такого обнаружения показан на рис. 2.

Разработанная система нахождения лиц с выводом промежуточной контрольной информации из блоков позволяет достаточно полно анализировать причины отказов системы, в том числе и те из них, которые можно отнести к системным ошибкам. Подробное расследование причин отказов показало, что часть ошибок обусловлено попытками повысить надежность системы обнаружения лиц. Так параметры блока № 4 (блока выделения кандидатов) допускают трехкратное изменение базового «расстояния между глазами» (от 10 до 30 пикселов), в то время как перебор масштабов идет с двухкратным изменением. При определенных условиях это может приводить к тому, что одно и то же лицо будет обнаруживаться на двух масштабах. Поскольку эти найденные варианты перекрываются пространственно, только один из них будет оставлен заключительным блоком фильтрации (блоком № 7).

Рис. 2. Пример нахождения на изображении с несколькими лицами

Такой вариант показан в последнем примере (рис. 3), краткая контрольная запись которого имеет вид:

- true eye coordinates

EyeDist=88

i=0 Elements=33 Candidats=8 Models=1 Faces=0

i=1 Elements=46 Candidats=37 Models=6 Faces=1 nb_sh=0

i=2 Elements=51 Candidats=21 Models=1 Faces=1 nb_sh=1

i=3 Elements=26 Candidats=1 Models=0 Faces=0

preliminary faces=2 filtered faces=1

Eyes determined

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

 

Рис.3а. Исходное изображение

4-кратного сжатия

Рис. 3б. Точки привязки

4-кратного сжатия

 

Рис. 3в. Точки привязки 2-кратного сжатия

Рис. 3г. Итоговое изображение

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

Авторы признательны за интерес к работе и полезные замечания.

Работа выполнена при частичной поддержке гранта АФГИР RMA 10214-BNL-36943.

Список литературы

1. , , , , . Исследование динамических режимов нейроподобных систем. Примеры приложений, Вестник академии наук, 2003.

2. , , Яхно мелкозернистых искусственный нейронных сетей в системе распознавания лиц, VI Всероссийская научно-техническая конференция «Нейроинформатика-2004», Сборник научных трудов, часть 2 МИФИ, Москва, янв. 2004, c. 201-207.

3. , , Яхно электронной версии фотоальбома с индексированием по изображением лиц, Труды Всероссийской научной конференции «Управление и информационные технологии» УИТ-2005, СПБ, ЛЭТИ, июнь 2005, с.260-267.

4. Jesorsky O., Kirchberg K. J., Frischolz R. W. Robust face detection using the Hausdorff distance, Proc. Third international conference on audio - and video-based biometric person authentification, Springer, Lecture notes in computer science, LNCS-2091, p. 90-95, Halmstad, Sweden, 6-8 June 2001.

5. Климонтович физика, Наука, М., 1982, 608 с.