Як ШІ перевіряє ваше фото на паспорт (і чому люди-перевіряльники щось пропускають)
Що насправді робить браузерний редактор із вашим фото — карта обличчя на 478 точок, сегментація людини, 22 згруповані перевірки — і чому ШІ помічає те, чого не бачать люди.
Дослідження NIST 2019 року щодо алгоритмів розпізнавання облич показало, що розбіжність між двома людьми-перевіряльниками, які оцінюють одне й те саме фото на паспорт, становить близько 11% — тобто якщо ви подасте ідентичне фото двом різним клеркам консульства в один день, є приблизно один шанс із десяти, що один прийме його, а другий відхилить. Те саме дослідження показало, що алгоритмічні перевірки зменшують цю розбіжність до менш ніж 1%.
Цей розрив — і є вся причина, чому перед подачею існує автоматизована перевірка відповідності. Людина-перевіряльник швидкий, але непослідовний. Алгоритм послідовний, але обмежений об’єктивними правилами. Хитрість у тому, щоб використовувати обидва: дозволити алгоритму закрити кожне вимірюване правило, а людську оцінку залишити для невеликого набору дійсно суб’єктивних рішень.
Цей допис пояснює, що насправді робить браузерний редактор із вашим фото після завантаження — моделі, вимірювання, 22 перевірки — і де ШІ дійсно кращий за людину, де гірший і що це означає для того, чи варто довіряти вердикту “пройдено” перед подачею.
Що відбувається після завантаження фото
Редактор працює повністю у вашому браузері. Нічого не вивантажується на сервер, що важливо як для приватності (ваше обличчя ніколи не покидає ваш пристрій), так і для швидкості (без затримок на передачу даних). Конвеєр має чотири етапи:
- Виявлення обличчя й розставлення опорних точок — знайти обличчя, ідентифікувати 478 анатомічних точок на ньому.
- Сегментація людини — відокремити людину від тла на рівні пікселів.
- Статистика по областях — виміряти освітлення, різкість, колір і геометрію в областях обличчя, волосся й тла.
- Валідація правил — запустити 22 згруповані перевірки відповідно до специфікації документа й повернути pass/fail з поясненнями.
Кожен етап використовує конкретну модель або техніку. Розгляньмо їх по порядку.
Етап 1: карта обличчя на 478 точок
Редактор використовує MediaPipe Face Landmarker від Google — модель, яка ідентифікує 478 конкретних точок на людському обличчі: кутики очей, край губ, кінчик носа, лінію щелепи, дугу брови, положення вуха, лінію росту волосся на чолі. Карта з 478 точок достатньо щільна, щоб виміряти:
- Нахил лінії очей — кут лінії між центрами зіниць відносно горизонталі. Специфікація вимагає менш ніж 5°; модель вимірює його з точністю до 0,1°.
- Поворот голови (yaw) — обертання голови ліворуч-праворуч, обчислене за асиметрією видимості лівого й правого вуха та положенням кінчика носа відносно середньої лінії обличчя.
- Нахил голови (pitch) — нахил вгору-вниз, обчислений за вертикальним положенням очей в овалі обличчя.
- Відкритість рота — відстань між точками верхньої й нижньої губи. Закритий рот — 0–3px; усмішка із зубами — 8px і більше.
- Відкритість очей — відстань між верхньою й нижньою повіками. Нижче порогу — і очі класифікуються як примружені.
- Центрування райдужки — положення райдужки всередині розрізу ока. Зсув понад 15% від центру вмикає прапорець “погляд убік”.
Людина-перевіряльник оцінює це все на око. Алгоритм вимірює це в пікселях. Це і є перевага в послідовності — у алгоритму не буває “вдалого” чи “невдалого” дня.
Що означає 478 точок на практиці
Щільне розставлення точок — це те, що дозволяє редактору ловити тонкощі, які пропускають люди. Голова, повернута на 6° праворуч, для ока людини виглядає прямою, але створює вимірюваний зсув носа відносно середньої лінії й асиметрію видимості вух. Алгоритм це позначає; людина пропускає; біометрична система на кордоні потім не може зіставити фото. Краще зловити це до подачі.
Етап 2: сегментація людини
Невідповідність тла — найпоширеніша причина відхилення (див. допис про 22 причини), тому редактор використовує спеціалізовану модель сегментації людини — зокрема легку варіацію U-Net, навчену на наборі COCO-person-segmentation й адаптовану для портретного кадрування.
Вихід — це попіксельна маска: 1, якщо піксель належить людині, і 0, якщо тлу. Маска використовується для трьох речей:
- Аналіз тла — зібрати кожен піксель, позначений як тло, й обчислити статистику кольору. Середній RGB, стандартне відхилення, розподіл відтінків. По-справжньому однорідне біле тло має дуже низьке стандартне відхилення (менше 5 по кожному каналу) і майже сірий відтінок. Фактурна стіна, край вікна або тінь дають підвищене стандартне відхилення.
- Заміна тла — якщо фото не проходить перевірку тла, маска використовується, щоб композитувати людину на чистому білому або ледь не білому тлі.
- Виявлення тіней — тінь на тлі виглядає як локалізована темна ділянка в масці тла. Редактор виявляє її, порівнюючи яскравість пікселів тла навколо голови з яскравістю решти тла.
Модель сегментації хороша, але не ідеальна — тонкі пасма волосся та м’які лінії щелепи — це складні випадки. Редактор використовує маску з альфа-розмиттям на межі, щоб уникнути ефекту “паперової ляльки”, який дає аматорське видалення тла.
Етап 3: статистика по областях
Після того як обличчя розмічене, а людину сегментовано, редактор обчислює статистику в конкретних областях:
- Яскравість обличчя: середня яскравість пікселів шкіри. Порівнюється з яскравістю тла для виявлення недоекспонованих облич (обличчя значно темніше за тло) або переекспонованих (обличчя знебарвлене).
- Симетрія освітлення: співвідношення яскравості лівої та правої половини обличчя. Симетричне співвідношення (близько до 1,0) означає рівне освітлення; понад 1,2 — потужне бічне світло затіняє одну половину обличчя.
- Гладкість шкіри: вміст високочастотної текстури в областях щік і чола. Природне необроблене обличчя має вимірювану текстуру (пори, мікротіні). Фото, прогнане через “beauty”-фільтр, має неприродно низький вміст високих частот — це й є сигнал для детектора фільтрів.
- Різкість: дисперсія Лапласіана в області обличчя. Різке, у фокусі обличчя дає високе значення; розмите (рух, поза фокусом, розмиття краю в портретному режимі) — низьке.
- Різкість очей зокрема: вимірюється окремо, оскільки очі мають бути різкими навіть тоді, коли інші ділянки допускають легку м’якість.
Кожна статистика — це число. Кожне число відповідає правилу. Кожне правило відповідає перевірці. Звідси й беруться 22 перевірки.
Етап 4: 22 згруповані перевірки
Фінальний етап редактора бере вимірювання з етапів 1–3 і пропускає їх через специфікацію цільового документа (паспорт США, паспорт Великобританії, шенгенська віза, DV Lottery тощо — у кожного свої порогові значення). Перевірки згруповано так:
- Тло: однорідне, правильного кольору, без тіней, без об’єктів.
- Геометрія обличчя: розмір голови в кадрі, положення голови, висота очей, нахил, поворот.
- Вираз: рот закритий, очі відкриті, погляд у камеру, нейтральний вираз.
- Освітлення: експозиція обличчя, симетрія освітлення, відсутність жорстких тіней.
- Якість: різкість, відсутність фільтрів, відсутність “червоних очей”, відсутність артефактів стиснення.
- Аксесуари: без окулярів (якщо не дозволено), без головних уборів, волосся не закриває обличчя.
- Технічне: правильне співвідношення сторін, правильні розміри в пікселях, правильний розмір файлу, правильний формат.
Кожна перевірка повертає pass, warning або fail. Підсумковий вердикт: усі перевірки pass — зелений. Будь-яка fail — червоний з конкретною причиною. Попередження (близько до порогу) не призводять до відхилення фото, але позначаються, щоб ви могли вирішити самі.
Де ШІ випереджає людей-перевіряльників
Є п’ять категорій, у яких алгоритм справді надійніший за людину:
- Геометричні вимірювання. Висота голови в мм, лінія очей у градусах, відстань від маківки до краю кадру у відсотках. Людина оцінює на око; алгоритм вимірює.
- Послідовність між фото. Людина, яка вже шість годин на зміні, більш поблажлива, ніж була на першій годині. У алгоритму змін немає.
- Виявлення тонких фільтрів. “Beauty”-фільтри, які згладжують шкіру або звужують лінію щелепи, для побіжного погляду майже невидимі, але вміст високих частот падає до помітного рівня.
- Аналіз тону тла. Стіна, яка виглядає білою, але насправді має теплий відтінок від ламп розжарювання, для алгоритму є невідповідною. Людина-перевіряльник, найімовірніше, цього не помітить під своїм власним офісним люмінесцентним світлом.
- Відповідність правилам формату файлу. Розміри в пікселях, розмір файлу, глибина кольору, JPEG проти PNG — це механічні перевірки, і алгоритм виконує їх за мілісекунди.
Де люди-перевіряльники випереджають ШІ
Є й категорії, у яких люди кращі, і чесно про це сказати важливо:
- Нюанси виразу. “Це нейтральний вираз чи ледь помітна усмішка?” Точки розкриття рота вимірюють просвіт у пікселях, але саме питання — що вважається “природним і нейтральним” — суб’єктивне. Людина- перевіряльник часто має правильну відповідь у прикордонних випадках.
- Незвичні обличчя. Люди з відмінностями обличчя, шрамами, вродженими станами або значною асиметрією можуть провалити алгоритмічні перевірки, які людина правильно прийняла б. Алгоритм, навчений на типових обличчях, іноді неправильно “читає” нетипові.
- Культурні та релігійні головні убори. Чи відповідає конкретне релігійне покриття політиці країни — це питання судження. Алгоритм може виміряти видимість від чола до підборіддя, але не те, чи покриття кваліфікується як релігійне.
- Контекст. Перевіряльник може зрозуміти, що трохи недосконале фото — це “найкраще, що буде” для, скажімо, літнього родича, якому складно переробити. Алгоритм бачить лише pass або fail.
Що це означає для вас
Чесний підсумок: якщо ваше фото проходить перевірку ШІ, ви маєте дуже високу впевненість, що об’єктивні правила виконано. Геометрія, освітлення, тло, формат файлу, аксесуари — усе виміряно, усе зелене.
Лишається невелика площина суб’єктивного судження: точна межа між нейтральним виразом і ледь помітною усмішкою, інтерпретація випадку з релігійним головним убором, чи “достатньо свіже” ваше обличчя з огляду на тонкі ознаки старіння. Це питання, у яких людина справді кращий суддя.
Отже, робочий процес такий:
- Зробіть фото.
- Прожене його через редактор, щоб закрити кожне об’єктивне правило.
- Якщо редактор позначає щось суб’єктивне (прикордонний вираз, прикордонне кадрування), приймайте рішення самі й перезніміть, якщо є можливість.
- Подавайте.
Ви не покладаєтесь на ШІ, щоб замінити людську перевірку. Ви використовуєте його, щоб закрити послідовні, вимірювані, автоматизовані помилки — а їх більшість — щоб людина-перевіряльник думала тільки про дійсно складні випадки.
Перевірте перед подачею
Якщо у вас є фото й ви хочете побачити, як працюють 22 перевірки, завантажте його в браузерний редактор. Він працює у браузері, займає близько двох секунд і конкретно каже, які правила проходять, які провалюються, а які прикордонні. Список усіх причин відхилення та виправлень для кожної — у гайді з 22 причин. Специфікації по країнах, з якими редактор звіряє ваше фото, — на сторінках країн.