Перевірка обличчя за допомогою Google Media Pipe

pic

У часи, коли цифрові взаємодії стали важливою частиною нашого повсякденного життя, забезпечення безпечної та ефективної перевірки особистості набуло особливого значення. Від доступу до особистих банківських послуг до входу в корпоративні системи, потреба в надійних механізмах перевірки стала важливішою, ніж будь-коли. Системи перевірки обличчя стали популярним рішенням завдяки своїй ненав'язливій природі та високій точності. Використовуючи передові технології, такі як Google Media Pipe та TensorFlow.js, ці системи забезпечують обробку в реальному часі та безшовну інтеграцію, що робить їх ідеальними для сучасних застосунків. Ця стаття розглядає додаток для перевірки обличчя, який використовує ці технології для забезпечення безпечного та зручного користувацького досвіду.

Додаток для перевірки обличчя отримує зображення та відеопотоки з вебкамери користувача та пропускає ці дані через моделі машинного навчання, які виконують 3 основні завдання:

  1. Виявлення обличчя
  2. Перевірка на підробку
  3. Перевірка на живість

Виявлення обличчя та перевірка на підробку

  • Користувачеві пропонується увімкнути вебкамеру та вирівняти обличчя в межах визначеного кільця для виявлення.
  • На цьому етапі система одночасно виконує виявлення обличчя та перевірку на підробку.
  • Коли обличчя виявлено і підтверджено як не підроблене, система автоматично робить знімок після короткого зворотного відліку.
  • Це зображення потім надсилається як частина запиту до серверу Служби перевірки обличчя для подальшого аналізу.

Перевірка на живість

  • Щоб підтвердити, що перед вебкамерою знаходиться реальний живий користувач, система пропонує користувачеві виконати просте завдання — наприклад, подивитись вліво.
  • Модель Pose Landmarker перевіряє цей рух, гарантуючи, що захоплені дані відповідають реальній людині.
  • Успішна дія викликає відправку запиту на сервер для додаткової перевірки.

Моделі, що використовуються, походять від Google Media Pipe та Tensorflowjs відповідно.

Виявлення обличчя використовує модель Face Detection від Google Media Pipe.

Перевірка на підробку поєднує моделі Object Detection та Hand Landmark від Google Media Pipe з відкритим моделям перевірки підробки від TensorFlow.

Перевірка на живість використовує модель Pose Landmarker від Google Media Pipe.

Процес перевірки складається з двох етапів, які об'єднані в один для покращення досвіду користувача. Перший етап поєднує виявлення обличчя та перевірку на підробку, вимагаючи від користувачів увімкнути вебкамеру та розмістити обличчя всередині кільця для виявлення обличчя. Під час цього процесу виконуються моделі виявлення обличчя та перевірка на підробку. Зображення, захоплене автоматично після відліку, надсилається як частина запиту до серверу Служби перевірки обличчя.

Перевірка на живість використовує модель Pose Landmarker для того, щоб підтвердити наявність користувача перед вебкамерою, запитуючи його подивитись вліво. Подивившись вліво, запускається запит до серверу з необхідними даними.

Окрім клієнтської сторінки для перевірки обличчя, є також Адміністраторська сторінка, що містить табличні дані, які показують результат процесу перевірки обличчя. Дані в цій таблиці поділяються на 3 статуси:

  • Перевірено: Успішна перевірка, що підтверджує, що користувач пройшов усі перевірки.
  • Відхилено: Перевірка не вдалася через виявлення підробки, неуспішну перевірку на живість або будь-які аномалії.
  • В очікуванні: Перевірка триває або очікує подальших дій.

Адміністраторська сторінка дозволяє ефективно моніторити процеси, даючи можливість адміністраторам переглядати дані користувачів, аналізувати тренди та вирішувати проблеми перевірки, якщо це необхідно.

Технології:

Додаток створено на React і пакований за допомогою Vite.
Інші використані технології:

Typescript

Tailwind CSS

Tensorflow js

Google Media Pipe

SCSS

Tanstack Table

React Pagination

Анімації Lottie та плеєр

Встановлення:

Щоб запустити додаток локально, клонуйте репозиторій за цим посиланням, перейдіть у кореневу папку та виконайте наступні команди в терміналі вашого редактора коду:

npm i

npm run dev

Backend:

API на бекенді побудовано за допомогою AWS lambda, і зображення з BVN порівнюється з захопленим зображенням. Для цього порівняння використовується функція порівняння AWS Rekognition.

Вона повертає відповідь, яка показує бал впевненості в збігу та іншу інформацію про якість зображення, таку як яскравість та різкість.

Приклад відповіді:

{  
 "verification_reference": "3b17222a-7c10-4596-8d0e-7f197c0f7216",  
 "bvn": "*******1804",  
 "selfie_face_similarity": 100,  
 "selfie_confidence_score": 100,  
 "selfie_picture_brightness": 69,  
 "selfie_picture_sharpness": 47,  
 "liveliness_confidence_score": 99,  
 "liveliness_face_similarity": 100,  
 "liveliness_picture_brightness": 70,  
 "liveliness_picture_sharpness": 27,  
 "time_to_verify_in_seconds": 6,  
 "model_name": "Google MediaPipe",  
 "user_category": "Individual",  
 "verification_status": "In_review",  
 "verification_date": "18-09-2024 09:32 PM",  
 "customer_name": "CHUKWUMA ENEBELI",  
 "spoof_score": 2.3000000000000003,  
 "liveliness_image_url": "https://d1tu9qtnnubywz.cloudfront.net/face_verification_fd05b636-aee5-4122-b1b3-36300d9eb080.png",  
 "selfie_image_url": "https://d1tu9qtnnubywz.cloudfront.net/face_verification_6a81fb66-1154-467c-831e-f9f8e0a345f8.png",  
 "bvn_image_url": "https://dmz9pwccdeij7.cloudfront.net/bvn-image486673410512602302.jpg",  
 "recording_url": null,  
 "address": "",  
 "date_of_birth": "1988/10/30"  
}

Підвищена безпека через багаторівневу перевірку

Безпека є основою будь-якої системи перевірки обличчя, і інтеграція кількох перевірок — виявлення обличчя, перевірка на підробку та перевірка на живість — створює потужний захист від шахрайських дій. Кожен рівень перевірки має свою унікальну роль в забезпеченні того, щоб система точно та надійно розрізняла легітимних користувачів та потенційні загрози.

Виявлення обличчя є першою лінією оборони, виявляючи та локалізуючи людські обличчя в вхідному потоці. Це гарантує, що система обробляє лише релевантні частини зображення, виключаючи фони чи інші об'єкти.

Перевірка на підробку підвищує безпеку, перевіряючи, чи є виявлене обличчя реальним, а не штучним зображенням, таким як фотографія чи відео. Це особливо важливо для захисту від типових атак за допомогою підроблених зображень, коли зловмисники намагаються отримати несанкціонований доступ, використовуючи 2D-образи або попередньо записані відео. Поєднуючи моделі виявлення об'єктів та орієнтири рук, система може виявити тонкі несумісності в текстурі, освітленні та глибині, що вказують на підроблене зображення.

Перевірка на живість гарантує наявність живого користувача під час процесу перевірки. Запитуючи користувача виконати прості дії, такі як повертати голову чи дивитись у певному напрямку, система підтверджує, що вона взаємодіє з живою людиною, а не зі статичним зображенням або дипфейком. Модель Pose Landmarker від Google MediaPipe точно відстежує ці рухи, забезпечуючи фізичну присутність користувача та його активну участь у перевірці.

Цей багаторівневий підхід значно підвищує безпеку процесу перевірки. Вимагаючи кілька підтверджень, що користувач є справжнім і фізично присутнім, система знижує ризики, пов'язані з потенційними однобічними збоями. Навіть якщо один рівень буде зламаний, інші перевірки залишатимуться потужним захистом від несанкціонованого доступу.

Крім того, ці рівні безпеки реалізовані таким чином, що мінімізують перешкоди для користувацького досвіду.
Завдяки можливостям обробки в реальному часі MediaPipe та TensorFlow.js ці перевірки виконуються безшовно, гарантуючи, що безпека не йде на шкоду зручності використання.

У часи, коли кіберзагрози стають все більш складними, поєднання цих методів перевірки робить систему надійним бар'єром проти шахрайських спроб, що дозволяє захищати чутливу інформацію та зберігати цілісність ідентичностей користувачів.

Висновок

Додаток для перевірки обличчя пропонує надійне, зручне рішення для верифікації особистості. Він використовує передові моделі машинного навчання та дані з вебкамери в реальному часі. Його багатоступенева перевірка — поєднання виявлення обличчя, перевірки на підробку та перевірки на живість — гарантує високу точність і безпеку.

Для організацій, які потребують надійної системи верифікації, цей інструмент мінімізує ризики шахрайства та підробок, водночас оптимізуючи користувацький досвід. Додавання сторінки адміністратора ще більше покращує корисність додатку, надаючи чітке розуміння і контроль над процесом перевірки.

Інтегруючи ці передові методи машинного навчання, система забезпечує довіру, безпеку та ефективність — критично важливі елементи в сьогоднішньому цифровому середовищі. Як технології розвиваються, такі системи можуть бути вдосконалені для обробки більш складних сценаріїв, роблячи їх незамінними для перевірки ідентичності та контролю доступу в різних галузях.

Перекладено з: Face Verification using Google Media Pipe

Leave a Reply

Your email address will not be published. Required fields are marked *