Корпоративный блог

Классификация людей по лицу для измерения аудитории и поиска в архиве


Дата публикации: 10.07.2013 12:53

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

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

Принцип работы классификации людей по лицу

Большинство алгоритмов классификации людей по изображению лица используют одинаковую последовательность действий:

  1. выделение лица на изображении (Face Detection);
  2. выделение антропометрических точек на лице (Face Features Detection);
  3. нормализация изображения лица (Face Normalization). Данный этап включает как геометрическую нормализацию – приведение лица в стандартное положение для уменьшения отличий, вызванных позой и мимикой, так и нормализацию освещения. Наиболее стандартной геометрической нормализацией является просто поворот лица в плоскости изображения, при котором линия между глазами становится горизонтальной, а также масштабирование и обрезание изображения. Более сложные алгоритмы пытаются исправить позу лица, оценивая 3д положение головы;
  4. вычисление дескриптора изображения лица (Feature Extraction). Это ключевой этап алгоритма, именно в нём по большей части отличаются разные системы. Получаемый дескриптор обычно кодирует информацию о геометрии и текстуре конкретного лица;
  5. непосредственно классификация лица (Classification). Обычно на этом этапе используется один из алгоритмов машинного обучения, который по большой размеченной выборке изображений автоматически обучается зависимости между признаками (дескриптором лица) и классифицируемым атрибутом (например, полом человека). Размер и репрезентативность обучающей выборки сильно влияют на точность итогового алгоритма. 

Указанная последовательность действий проиллюстрирована на Рис. 1 на примере изображения из базы LFW. Как видно, принцип работы таких алгоритмов очень напоминает алгоритмы идентификации людей по изображению лицу. Единственное отличие на пятом этапе, где вместо классификации человека по дескриптору лица осуществляется сравнение двух дескрипторов с целью оценки похожести людей. Некоторые системы, например face.com, используют одинаковые дескрипторы для обеих задач.

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

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

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

Выбор наилучшего кадра для классификации

Рис. 2 Выбор наилучшего кадра для классификации

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

Применения классификации людей по лицам

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

Первым практическим применением классификации к видео стал анализ зрителей для систем Digital Signage – цифровых экранов, установленных в общественных местах, в основном для распространения рекламы. Благодаря анализу количества зрителей и их половозрастному составу появилась возможность объективно оценивать эффективность конкретных экранов и рекламных роликов. Поскольку для решения этой задачи достаточно определять только людей, смотрящих в экран в течение как минимум пары секунд, то изображения лиц, подающиеся на вход классификации, получаются относительно фронтальными и с хорошей четкостью. На данный момент соответствующие решения уже достаточно распространены, и предлагаются рядом компаний. В первую очередь, стоит выделить систему Intel AIM Suite, созданной на основе разработок канадской компании CognoVision, купленной Intel в 2010 году за 25 млн. долларов. Intel использует модель «Software as a Service» (SaaS), предлагая услугу анализа аудитории за 20 долларов за один экран (одну камеру) в месяц. Альтернативные решения предлагаются, в том числе, израильской TruMedia Technologies, испанскими AITech и Inspecta, российской Rhonda Software.

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

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

потоке людей. Соответствующие решения предлагают уже многие российские компании – itseez, Синезис ЭЛВИС-НеоТек, Сателлит Инновация, Rhonda Software и пр. Однако во всех этих системах отсутствует возможность классификации людей, поскольку лицо человека при таком ракурсе не видно совсем.

Задача классификации посетителей усложняется по сравнению с классификацией зрителей Digital Signage – камеры обычно установлены дальше от людей, а люди не останавливаются и не смотрят в направлении камеры, что резко снижает четкость и разрешение изображений лиц, усложняет ракурсы. Тем не менее, в последние годы в мире появляются системы, решающие данную задачу. В качестве примеров стоит привести Demographics Analytic от компании 3VR, библиотеку FaceVACS-VideoScan от немецкой Cognitec Systems, являющейся одним из мировых лидеров в области алгоритмов идентификации людей по лицу, и Business Intelligence Kit от компании Panasonic.

Не менее перспективным направлением является использование классификации для поиска людей в видеоархивах. Это особенно актуально для таких объектов, как крупные бизнес центры, объекты транспортной инфраструктуры, торговые центры. Для этих объектов характерна высокая плотность потока людей и наличие ряда «узких горлышек» - входов/выходов, эскалаторов, лифтовых холлов, через которые все люди обязательно проходят. В случае какого-либо происшествия, например кражи или теракта, найти преступника по приметам или, если он был замечен на одной из камер, отследить его на других камерах, за короткое время практически невозможно. Не помогает и стандартная видеоаналитика, не позволяющая автоматически сопровождать людей при такой плотности людей. Но при размещении видеокамер в ранее упомянутых «узких горлышках»,  можно получить фотографии большинства посетителей, классифицировать людей по лицам, и на порядок ускорить поиск – например, сузив поиск до белых мужчин, 30-40 лет,  в черной кепке и в темных очках.

Среди примеров систем, ускоряющих подобным образом поиск в архивах, можно указать разработки компании IBM (Vaquero D.A. et. al. Attribute-based people search in surveillance environments // WACV, 2009)  и IntuVision. В первом случае в качестве атрибутов для поиска используется цвет одежды, наличие очков, головного убора и усов или бороды. В системе от компании IntuVision используются разные признаки в зависимости от размера и ракурса человека – если он виден вдали или сзади, то будет использоваться только цвет одежды, если же видно лицо, то еще пол и раса человека.

Точность классификации

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

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

К сожалению, в отличие от области идентификации людей по фотографии лица, устоявшихся баз изображений и протоколов для сравнения алгоритмов классификации людей на данный момент нет. Поэтому заявляемые всеми производителями характеристики систем стоит оценивать скептически.  Особенно это актуально для оценки возраста человека. Дело в том, что для оценки пола намного легче сделать выборку, в которой в одинаковых пропорциях представлены мужчины и женщины. А для возраста баланс зачастую нарушен, например, когда большая часть посетителей объекта, где собиралась выборка, от 20 до 35 лет. В этом случае простая оценка всех людей в 27,5 лет дает вполне адекватную ошибку около 7,5 лет.

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

Вероятно, наиболее высокой заявленной точностью классификации пола на базе Labeled Faces in the Wild (LFW), активно используемой для сравнения алгоритмов верификации людей, является 94,81%[1]. Данная база автоматически собрана из фотографий из Интернета, на которых находились лица алгоритмом Viola-Jones[2], и состоит из 13233 изображений 5749 человек. Среднее расстояние между глазами составляет около 40-50 пикселей. Стоит отметить, что в указанной статье из этой выборки были оставлены лишь 7443 изображений, без точного указания, какие именно. Однако и на полной базе есть близкие результаты, например 93.6%[3].

Наименьшая ошибка оценки возраста составляет порядка 3-4 лет[4][5], в зависимости от выборки. Но все открытые используемые базы либо сильно неравномерны по возрасту, либо содержат слишком мало изображений для достоверной оценки. Поэтому остается вопрос об экстраполяции этих результатов на произвольные изображения, не говоря уже о видео, для которого, как уже отмечалось, характерны более сложные ракурсы и условия съемки.

Большая часть компаний открыто не приводит точность своей классификации. 3VR заявляет о средней ошибке в оценке возраста в 7 лет. TruMedia говорит о точности классификации пола в 90% и классификации на 3 возрастные группы (молодой, взрослый, пожилой) в 85%. В статье разработчиков из компании IntuVision заявляется о точности классификации пола в 90% при размере лиц в 60х60 пикселей, и в 70-75% при 30х30 пикселей[6]. Как уже было сказано, без конкретных выборок эти цифры дают не много информации, точность могла подгоняться под ожидаемые заказчиками показатели. Тем не менее, эти числа можно использовать в качестве верхнего ориентира точности данных систем в целевых сценариях видеонаблюдения.

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

Выводы

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

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

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

 


  • [1] Shan С. Learning local binary patterns for gender classification on real-world face images // Pattern Recognition Letters, 33(4): 431-437, 2012.
  • [2] Viola P., Jones M. J. Robust Real-Time Face Detection // Int’l J. Computer Vision, 57(2): 137-154, 2004
  • [3] Perez C. et. al. Gender classification from face images using mutual information and feature fusion // Int. J. Optomechatronics, 6(1):92-119, 2012
  • [4] Chang K.-Y. et. al. Ordinal Hyperplanes Ranker with Cost Sensitivities for Age Estimation // IEEE Conf. on Computer Vision and Pattern Recognition, 2011
  • [5] El Deeb M., El-Saban M. Human Age Estimation Using Enhanced Bio-Inspired Features (EBIF) // ICIP, 2010
  • [6] Demirkus M. et. al. Automated person categorization for video surveillance using soft biometrics // SPIE Defense and Security Conference, 2010