Самообучающиеся нейросети произвели в системах распознавания лиц настоящую революцию. В Китае реализуют масштабную государственную программу безопасности на основе анализа изображений с миллионов камер видеонаблюдения. Похожие системы тестируют московские аэропорты и метрополитен. РИА Новости вместе с экспертами рассказывает, как такие системы устроены и на что они способны.
Особая задача для мозга
За распознавание сородичей и врагов отвечает особая область в зрительной коре мозга человека (в затылочной части), где расположены нейроны — детекторы лиц. Эти нейроны образуют сети, иерархически обрабатывающие зрительную информацию и хранящие образы. Если несколько нейронов отомрут, сеть быстро найдет им замену, и система продолжит работу.
Оказавшись в помещении, человек первым делом сканирует пространство в поиске лиц. Фотоны поступают на сетчатку глаза и преобразуются в электрические сигналы, идущие в мозг. Там изображение разлагается на признаки, из которых затем складывается целостная картина. В нашей памяти хранятся образы, виденные ранее, и некоторые априорные представления об окружающем мире, поэтому мы не удивляемся, придя в новое место или встретив незнакомцев. Все эти объекты нам известны на уровне категорий — стол, окно, старик. Различие лишь в деталях, цвете, размерах.
Примерно так же устроена нервная система лягушки, реагирующая запрограммированным образом на зрительную информацию. Маленький длинный прямоугольник амфибия воспримет как червяка, а большой квадрат укажет на хищника, от которого нужно спасаться. Распознавать сородичей умеют и рыбы.
Сотни признаков вместо абстракции
При разработке нейросетей программисты взяли за основу схему работы мозга. Только вместо нейронов — математические формулы, оперирующие цифровыми или логическими значениями. Эти нейроны-формулы связаны в слои, которые получают на входе данные и выдают результат, а слои — в сети. Нейросети содержат десятки и даже сотни слоев.
Система распознавания лиц состоит из двух частей. Первая — нейросеть-детектор — принимает поток изображений с видеокамеры и определяет, есть ли там лица. Набор лиц она подает на вход нейросети-идентификатору, которая сравнивает их с базой данных лиц-эталонов и говорит, есть совпадение или нет.
Как и мозг, нейросеть оперирует признаками. Но описать их привычными терминами не получится. Круглое лицо, тонкие брови, темные волосы, пробор налево — это абстрактные понятия, которые формируются после иерархического анализа зрительных сигналов. Реальный процесс узнавания гораздо сложнее, он основан на анализе множества мелких черт. Так же работает и искусственный интеллект. Покатый лоб он может описывать с помощью трехсот признаков.
Так, по мнению художника, нейросеть распознает лицо
"Трудно сказать, какие признаки формирует нейросеть. Она как черный ящик, открыть который и посмотреть, как он работает, — само по себе непростая научная задача. Достоверно мы знаем, что у нас есть математическая модель, преобразующая изображение лица в список признаков. Перебирая варианты, мы меняем структуру этой модели, чтобы улучшить результат", — рассказывает РИА Новости Алексей Цессарский, заместитель генерального директора компании — разработчика системы "Видеотэк".
Свернуть и сложить
Задача нейросети сводится к преобразованию изображения в набор признаков. Делает она это с помощью фильтров в виде математических формул. Берется рамка, обычно размером три на три пикселя, и накладывается на изображение лица. Далее девять пикселей, которые входят в рамку, заменяются одним, допустим, самым ярким из них. Рамка движется по всему изображению, уменьшая его в три раза. Это называют сверткой, а использующую ее нейросеть — сверточной. С набором свернутых изображений машине легче работать. Именно они в итоге позволяют отличить одно лицо от другого.
"В качестве фильтра можно выбрать только красный цвет, цвет верхнего левого угла рамки. Есть фильтры, хорошо выделяющие границы, находящие горизонтальные линии. Есть формулы, которые с набором признаков делают математические преобразования", — поясняет Цессарский.
Алексей Цессарский объясняет принцип работы системы распознавания лиц
Набор фильтров, их последовательность, структура нейросети — это ноу-хау, над которым, собственно, и бьются разработчики.
Чтобы нейросеть успешно распознавала лица, ее нужно обучить на большой базе изображений. Это долгий процесс с множеством итераций. В зависимости от размера базы и вычислительных ресурсов на это уходят недели и месяцы. Шаг за шагом система учится все точнее распознавать лица. Программисты только следят за тем, чтобы векторы признаков (результат работы нейросети) были максимально информативными, позволяли проводить сравнение.
Для обученной нейросети не представляют проблем возраст, пол, этническая принадлежность лица.
"Она способна за считаные секунды дать ответ на вопрос, кто из этих десяти миллионов находился в поле зрения полутора тысяч камер. Человек не сделает такого никоим образом", — подчеркивает Цессарский.
Как обмануть систему
"Самое простое — это полностью закрыть лицо. Но есть и более умные методы, только надо знать структуру нейросети и на каких данных она обучалась. Нанеся специальный грим, к примеру, полоски, черные точки, программу, возможно, удастся обмануть. Но еще до этого раскрашенный странным образом человек вызовет подозрение у окружающих и привлечет внимание полиции", — рассказывает Артем Кухаренко, основатель компании NtechLab, разработавшей систему FindFace для поиска людей по фото в открытых профилях во "ВКонтакте".
Парик, усы, очки несильно снижают точность распознавания. Боевая раскраска — например, футбольных фанатов — тоже не сбивает систему с толку. Ведь большая часть признаков относится к строению лица, а не дополнительным атрибутам. Гораздо эффективнее не маскироваться, а попытаться свести программу с ума, утверждает Цессарский.
"Нейросеть — это, по сути, сложная функция, получающая данные, преобразующая их и выдающая результат. У нее есть узкий диапазон входных значений, которые дают результат, радикально отличающийся от обычного. Можно подобрать картинку, так сильно влияющую на результат расчета, что он выбьется из стандартной картины. Что-то типа китайского иероглифа — в сочетании с лицом это собьет систему с толку", — объясняет он.
По словам эксперта, подбор таких картинок-обманок — трудоемкая и наукоемкая задача. Большинству преступников она не под силу.
"Это занятие скорее для ученых, чем обычных людей", — заключает Цессарский.
В режиме города
"Одна из актуальных задач — поиск лиц, находящихся в розыске, на основе анализа потока с камер городского видеонаблюдения, например в Москве. Нейронная сеть в режиме реального времени сравнивает людей, попавших в поле зрения камер, с находящимися в базе правоохранительных органов. При совпадении информация моментально передается ближайшему полицейскому, и тот дальше действует в соответствии с инструкцией. Это позволяет повысить уровень безопасности в городе", — рассказывает Артем Кухаренко.
В Москве сотни тысяч уличных видеокамер. Отсмотр записей с них при необходимости происходит в ручном режиме и занимает часы, а то и дни. Если же задачу поручить программе, то она решит ее за секунды и с высокой точностью. Например, на поиск по пятистам миллионов фото, опубликованным в соцсети "ВКонтакте", уходит полсекунды.
По словам Кухаренко, точность системы зависит от размера базы изображений, с которой необходимо работать: база из тысячи изображений даст почти стопроцентную точность, миллионы фото снизят точность до 95 процентов.
Условия, в которых стоят видеокамеры, также играют роль. Засветка, ракурс снимка снижают точность, но система все же будет работать.
"Даже вероятность распознания шестьдесят процентов — это очень много", — подчеркивает Кухаренко.
Машина познает эмоции
Нейросети уже учатся распознавать эмоции. Благодаря этому они могут стать умными помощниками, встроенными в машины и гаджеты.
"Сервисы все более обезличиваются, когда с клиентом общается программа. Можно научить ее оценивать эмоции и на них реагировать. Например, вы пытаетесь купить что-то в автомате и не знаете, на какую кнопку нажать, злитесь, стучите кулаком. Автомат, наделенный способностью распознавать эмоции, вступит в диалог, поможет", — объясняет Алексей Кадейшвили, технический директор компании "Вокорд".
Еще более интересная задача — создать личного помощника, который подстроится под конкретного человека, будет знать его эмоции и научится на них реагировать. Такую программу можно встроить в гаджет или "умный дом", добавив к признакам не только выражение лица, но и голос, движения.
Принципиальная схема такова: программа следит, насколько у человека искажены черты по сравнению с нейтральным выражением лица. По степени искажения определяет ту или иную эмоцию. Однако пока подобные задачи сложно формализовать, мешает субъективный фактор.
"Есть ярко выраженные эмоции — с ними не ошибешься, а есть эмоции, которые можно по-разному трактовать, — смешанные, промежуточные. Это сильно усложняет работу автоматизированной системы. Результат распознавания лица понятен — определили либо правильно, либо нет. В случае ошибки в системе следует что-то исправить. С эмоциями не так", — говорит Кадейшвили.
Научный подход требует экспертного заключения о том, куда отнести те или иные эмоции. Но, по словам Алексея Кадейшвили, это долго, сложно и дорого, поэтому разработчикам систем распознавания эмоций приходится оперировать ограниченным числом исходных данных.
Вектор прогресса
Хотя нейросети справляются с задачей распознавания лиц лучше, чем люди, до идеала еще далеко.
"За два года мы улучшили точность нашего алгоритма в три раза. Работаем и над скоростью. Для крупных проектов требуется много вычислительных ресурсов, поэтому стоит задача сделать систему еще более эффективной и дешевой", — отмечает Артем Кухаренко.
Пока системы распознавания лиц востребованы для масштабных задач: обеспечения безопасности жителей города, пассажиров транспортных систем, контроля доступа на крупные предприятия и спортивные объекты, поиска пропавших людей. Есть ряд задач для ретейла: борьба с воровством, системы лояльности.
"Наш алгоритм позволяет распознавать эмоции, определять пол и возраст, наличие усов, бороды, очков и так далее. Это востребовано в розничной торговле. Ретейлеры хотят получать демографический или возрастной срез посетителей, понимать предпочтения клиентов для более высокого уровня обслуживания", — приводит пример Кухаренко.
"Сфера применения нейросетей очень широка. Сложнее сказать, где этой технологии не будет в ближайшее время", — уточняет Алексей Кадейшвили.
По его словам, нейросети не все ситуации отрабатывают качественно. Например, трудности вызывает некооперативный режим, когда требуется распознавать лица людей, идущих в толпе и не стремящихся помогать системе быть распознанными. Точность тогда ниже, чем при анализе селфи-фото. Однако года через три все дыры в системах распознавания лиц заделают, и они станут такой же привычной частью нашей жизни, как фотокамеры в мобильных телефонах.