Разные системы распознавания человеческого лица имеют различные цели, поэтому и алгоритмы их отличаются. Одни из первых систем, которые были способны установить личность человека по фото, искали на изображении узловые точки, составляющие основные черты лица, и мерили между ними расстояния. Основные параметры измерений — это расстояние между глазами, ширина носа, глубина глазницы, форма скул, длина линии челюсти. Ключевые показатели в цифровом выражении составляли уникальный код или фейспринт, представляющий человека в базе данных. Так для установления личности подозреваемого его фото загружается в систему, а фейспринт сверяется с тысячами других аналогичных.
Проблема метода в том, что при разных углах съемки, освещении и даже выражении лица измеряемые показатели могут изменяться. Поэтому более современные программы используют 3D-моделирование лиц, что дает более точные результаты. Анализируя на фотографии участки лица, где более явны жесткие ткани и кости — глазницы, нос, подбородок (эти области уникальны и не изменяются с течением времени), программа выстраивает трехмерную модель лица и после этого уже «разворачивает» модель как угодно — в профиль или анфас, параллельно измеряет черты лица на субмиллиметровом масштабе.
Но и этот метод не идеален — для 100%-ного результата желательно проверить и идентифицировать несколько фото.
Для самых точных на сегодня показателей используются биометрические алгоритмы, анализирующие уникальные текстуры кожи, радужки глаза или даже рисунка вен.
Процесс анализа текстуры поверхности работает по сути как и распознавание лиц. Изображение человека (например, его лица) разбивается на более мелкие блоки, а алгоритмы различают на текстуре и радужке глаза мельчайшие линии, морщинки, поры, родинки и даже структуру кожи — все это предстает в виде математической модели. Благодаря этой системе легко определить различия даже между идентичными близнецами.
Самые простые алгоритмы анализа лиц — те, которые используются в развлекательных приложениях вроде Snapchat, а также в фотопрограммах, где фокус автоматически наводится на лицо. Эти программы анализируют овал лица, а также положение основных черт лица — глаз, носа, рта.
Как работает мейкап-камуфляж
Самый первый этап распознавания лица в любой системе — это обнаружение лица на изображении. Когда программа лица не видит, то ей нет смысла ни анализировать черты лица, ни подсчитывать расстояния между ключевыми точками. Так что логично блокировать систему именно на этом этапе. Поиск лица в кадре работает по довольно простому алгоритму, который анализирует наличие овала лица, глаз, носа и рта. Однако с помощью нехитрого набора косметики паттерны лица можно разбивать, заставив машину думать — это может быть чем угодно, но не лицом.
5 главных принципов мейкап-камуфляжа
К сожалению, рисунки на лице не помогут укрыться от идентификатора. Просто картина на лице, даже если она выполнена не в классической цветовой гамме, все равно обречена на ушки собачки из Snapchat. Первое, по чему ориентируется идентификатор, — это овал лица, уши и нос. Тут сможет помочь только скотч, который поменяет очертания полностью. Приклейте нос к щеке, а уши сверните в трубочки, распределите макияж, используйте необычные тона и приемы, чтобы не было особой разницы между цветом глаз, щек и губ. Не стоит подчеркивать глаза или скулы — это, наоборот, упростит распознавание лица для системы.
Два симметричных глаза — явный признак лица для компьютерного зрения. Постарайтесь скрыть оба глаза или хотя бы один из них. Лучше всего использовать материалы, которые рефлектируют свет — блестки, кусочки зеркала или полностью гладкие, отражающие свет поверхности. Блики отвлекут систему от естественных лицевых теней и не дадут распознать лицо.
Попробуйте поиграть с эллиптической формой головы и симметрией ушей. К сожалению, это помогает не всегда, так как система распознает овальную форму и, если находит на ней тени от век или носа, то срабатывает. Область, где находятся нос, глаза и лоб, — ключевая для системы распознавания лица. Попробуйте разбить этот треугольник, нанеся на переносицу неожиданный элемент, например, яркую краску (в нашем случае желтую).
Изменяйте контрастные тональные градиенты, меняйте пространственное соотношение темных и светлых областей лица, используя макияж, аксессуары и свои волосы. Неожиданно торчащие завитые пряди не натурального цвета (а лучше нескольких цветов) и изменение фактуры кожи, сценический грим, ощущение расплавленного лица и отсутствие цветовой фокусировки на основных деталях лица (глаза, нос, губы) также сделают свое дело — если вы подведете камеру телефона к этой картинке, то лицо опознано не будет, хотя абсолютно понятно, что на фото человек.
Постарайтесь максимально разбавить симметрию между левой и правой половинами лица, например, с помощью волос. Когда область глаза закрыта, а на другую сторону нанесена краска, не выделяющая глаза или губы, а контрастными пятнами, это меняет общее строение лица — и камера уже не распознает очертание головы. Идентификатор определит волосы по однородности их цвета и фактуры — используйте бусины или положите в волосы пушистые комочки ваты, это убьет ощущение челки, и идентификатор не сработает.
Все видео сняты на телефон Huawei P9 c двойной камерой Leica 12 МП + 12 МП