Как ИИ проверяет ваше фото на паспорт (и почему люди-проверяющие что-то упускают)
Что онлайн-редактор реально делает с фото — карта лица из 478 точек, сегментация человека, 22 групповые проверки — и почему ИИ ловит то, что люди-проверяющие не видят.
Исследование NIST 2019 года по алгоритмам распознавания лиц обнаружило, что расхождение между двумя людьми-проверяющими, оценивающими одно и то же фото на паспорт, около 11% — то есть если подать идентичное фото двум разным консульским сотрудникам в один день, есть примерно один шанс из десяти, что один примет, а другой отклонит. То же исследование показало, что алгоритмические проверки снижают расхождение до менее 1%.
Этот разрыв — вся причина, по которой существует автоматическая проверка соответствия до подачи. Человек быстр, но непоследователен. Алгоритм последователен, но ограничен объективными правилами. Хитрость — использовать оба: дайте алгоритму закрыть все измеримые правила, а человеческое суждение оставьте для небольшого набора действительно субъективных решений.
Этот пост объясняет, что онлайн-редактор реально делает с вашим фото при загрузке — модели, измерения, 22 проверки — и где ИИ действительно лучше человека-проверяющего, где хуже, и что это значит для того, стоит ли доверять вердикту «проходит» перед подачей.
Что происходит при загрузке фото
Редактор работает целиком в вашем браузере. Ничего не загружается на сервер, что важно и для приватности (ваше лицо не покидает устройство), и для скорости (нет задержки на запрос). Конвейер из четырех этапов:
- Обнаружение лица и точек-ориентиров — найти лицо, определить 478 анатомических точек на нем.
- Сегментация человека — отделить человека от фона на уровне пикселей.
- Статистика по регионам — измерить освещение, резкость, цвет и геометрию в областях лица, волос и фона.
- Валидация правил — прогнать 22 групповые проверки по спецификации документа и вернуть результат «прошел/не прошел» с причинами.
Каждый этап использует свою модель или технику. Разберем по порядку.
Этап 1: Карта лица из 478 точек
Редактор использует MediaPipe Face Landmarker от Google — модель, идентифицирующую 478 конкретных точек на человеческом лице — уголки глаз, край губ, кончик носа, линия челюсти, дуга бровей, положение ушей, линия волос на лбу. Карта из 478 точек достаточно плотная, чтобы измерить:
- Наклон линии глаз — угол линии между центрами зрачков относительно горизонтали. Спецификация говорит до 5°; модель измеряет с точностью 0.1°.
- Поворот головы (yaw) — поворот головы влево-вправо, измеряется по асимметрии видимости левого и правого уха и положению кончика носа относительно средней линии лица.
- Наклон головы (pitch) — наклон вверх-вниз, измеряется по вертикальному положению глаз внутри овала лица.
- Открытость рта — зазор между точками верхней и нижней губы. Закрытый рот — 0–3 px; улыбка с зубами — 8 px+.
- Открытость глаз — расстояние между точками верхнего и нижнего века. Ниже порога — глаза классифицируются как полузакрытые.
- Центрирование радужки — положение радужки внутри глазной щели. Смещение более чем на 15% от центра вызывает флаг «взгляд в сторону».
Человек-проверяющий оценивает все это «на глаз». Алгоритм измеряет в пикселях. В этом — преимущество последовательности; у алгоритма нет «хорошего» и «плохого» дня.
Что означают 478 точек на практике
Плотная разметка позволяет редактору ловить тонкие вещи, которые человек упускает. Голова, повернутая на 6° вправо, выглядит прямо для человеческого глаза, но дает измеримое смещение носа от средней линии и асимметрию видимости ушей. Алгоритм это помечает; человек пропускает; биометрическая система на границе позже не находит совпадение. Лучше поймать до подачи.
Этап 2: Сегментация человека
Соответствие фона — самая частая причина отказа (см. пост о 22 причинах), поэтому редактор использует выделенную модель сегментации человека — а именно облегченный вариант U-Net, обученный на датасете COCO-person-segmentation и адаптированный под портретный кадр.
Выход — попиксельная маска: 1, если пиксель принадлежит человеку, 0 — если фону. Маска используется для трех вещей:
- Анализ фона — собрать каждый пиксель, помеченный как фон, и посчитать цветовую статистику. Средний RGB, стандартное отклонение, распределение оттенков. По-настоящему однотонный белый фон имеет очень низкое стандартное отклонение (менее 5 по каждому каналу) и почти серый оттенок. Стена с фактурой, край окна или тень проявляются как повышенное стандартное отклонение.
- Замена фона — если фото не проходит проверку фона, маска используется для совмещения человека с чистым белым или кремовым фоном.
- Обнаружение тени — тень на фоне выглядит как локализованная темная область в маске фона. Редактор обнаруживает ее, сравнивая яркость в пикселях фона вокруг головы с остальным фоном.
Модель сегментации хороша, но не идеальна — тонкие пряди волос и мягкие линии челюсти — сложные случаи. Редактор использует маску с альфа-сглаживанием на границе, чтобы избежать «вырезанной из бумаги куклы», которую дает любительское удаление фона.
Этап 3: Статистика по регионам
Когда лицо размечено, а человек сегментирован, редактор вычисляет статистику по конкретным регионам:
- Яркость лица: средняя яркость пикселей кожи. Сравнивается с яркостью фона для обнаружения недоэкспонированного лица (лицо гораздо темнее фона) или переэкспонированного (лицо «выбито»).
- Симметрия освещения: соотношение яркости левой половины лица и правой. Симметричное соотношение (близкое к 1.0) означает ровное освещение; соотношение выше 1.2 — сильный боковой свет затеняет одну половину.
- Гладкость кожи: высокочастотное текстурное содержание в регионах щек и лба. Натуральное неотредактированное лицо имеет измеримую текстуру (поры, микро-тени). Фото с бьюти-фильтром имеет неестественно низкое высокочастотное содержание — это сигнал, по которому работает детектор фильтров.
- Резкость: дисперсия Лапласа в области лица. Резкое, четкое лицо дает высокое значение; размытое (смаз, расфокус, размытие по краям от портретного режима) — низкое.
- Резкость глаз отдельно: измеряется отдельно, потому что глаза должны быть резкими, даже если другие регионы могут допустить легкую мягкость.
Каждая статистика — число. Каждое число соотносится с правилом. Каждое правило — с проверкой. Вот откуда взялись 22 проверки.
Этап 4: 22 сгруппированные проверки
На финальном этапе редактор берет измерения из этапов 1–3 и прогоняет их по спецификации целевого документа (паспорт США, паспорт Великобритании, шенгенская виза, DV-лотерея и т.д. — у каждого свои пороги). Проверки сгруппированы:
- Фон: однотонный, правильный цвет, без теней, без объектов.
- Геометрия лица: размер головы в кадре, положение головы, высота глаз, наклон головы, поворот головы.
- Выражение: рот закрыт, глаза открыты, смотрят в камеру, нейтральное выражение.
- Освещение: экспозиция лица, симметрия освещения, без жестких теней.
- Качество: резкость, без фильтров, без красных глаз, без артефактов сжатия.
- Аксессуары: без очков (если не разрешены), без шапки, волосы не на лице.
- Технические: правильное соотношение сторон, правильные размеры в пикселях, правильный размер файла, правильный формат.
Каждая проверка возвращает «прошел», «предупреждение» или «не прошел». Сводный вердикт: все проверки прошли — зеленый. Любая не прошла — красный с конкретной причиной. Предупреждения (близко к порогу) не проваливают фото, но помечаются, чтобы вы могли решить.
Где ИИ обходит людей-проверяющих
Есть пять категорий, где алгоритм действительно надежнее человека:
- Геометрические измерения. Высота головы в мм, линия глаз в градусах, отступ от макушки до рамки в процентах. Человек оценивает на глаз; алгоритм измеряет.
- Согласованность между фото. Человек-проверяющий после шести часов смены мягче, чем был в первый час. У алгоритма смен нет.
- Обнаружение тонких фильтров. Бьюти-фильтры, сглаживающие кожу или сужающие линию челюсти, почти невидимы на беглый взгляд, но высокочастотное содержание падает до уровня, обнаруживаемого алгоритмом.
- Анализ тона фона. Стена, которая выглядит белой, но на деле теплая от ламп накаливания, для алгоритма читается как несоответствующая спецификации. Человек-проверяющий, скорее всего, пропустит ее под собственным флуоресцентным офисным светом.
- Соответствие правилам формата файла. Размеры в пикселях, размер файла, глубина цвета, JPEG vs PNG — это механические проверки, и алгоритм запускает их за миллисекунды.
Где люди-проверяющие обходят ИИ
Есть и категории, где люди лучше, и честно об этом говорить важно:
- Нюансы выражения. «Это нейтральное выражение или легкая улыбка?» Точки рта измеряют зазор в пикселях, но базовый вопрос — что считать «естественным и нейтральным» — субъективен. У человека-проверяющего часто правильный ответ даже там, где алгоритм помечает пограничный случай.
- Необычные лица. Люди с особенностями лица, шрамами, врожденными состояниями или значительной асимметрией могут спотыкаться об алгоритмические проверки, которые человек правильно бы принял. Алгоритм, обученный на типичных лицах, иногда неправильно читает атипичные.
- Культурные и религиозные головные уборы. Соответствует ли конкретный религиозный головной убор политике страны — суждение. Алгоритм может измерить видимость от лба до подбородка, но не определить, считается ли убор религиозным.
- Контекст. Проверяющий может понять, что слегка несовершенное фото — «лучшее, что у вас есть», скажем, для пожилого родственника, которому сложно пересняться. Алгоритм видит только «прошло» или «нет».
Что это значит для вас
Честный итог: если ваше фото прошло проверку ИИ, у вас очень высокая уверенность, что объективные правила выполнены. Геометрия, освещение, фон, формат файла, аксессуары — все измерено, все зеленое.
Остается малая площадь субъективного суждения: точная граница между нейтральным выражением и легкой улыбкой, интерпретация случая с религиозным головным убором, считается ли ваше лицо «достаточно свежим» с учетом легких возрастных изменений. Это вопросы, где человек-проверяющий действительно лучше.
Так что рабочий процесс:
- Сделайте фото.
- Прогоните через редактор, чтобы закрыть все объективные правила.
- Если редактор помечает что-то субъективное (пограничное выражение, пограничный кроп), примите решение и пересоснимите, если можете.
- Подавайте.
Вы не полагаетесь на ИИ для замены человеческой проверки. Вы используете его, чтобы закрыть последовательные, измеримые, автоматизируемые провалы — большинство — и оставить человеку-проверяющему только действительно сложные случаи.
Попробуйте проверку перед подачей
Если у вас есть фото и хотите посмотреть, как выглядят 22 проверки, загрузите его в онлайн-редактор. Работает в браузере, занимает около двух секунд и говорит конкретно, какие правила проходят, какие нет и какие пограничные. Список всех причин отказа и исправлений к каждому — в руководстве по 22 причинам. Спецификации по странам, с которыми сверяется редактор, — в страницах по странам.