Реалізація AI-перевірки справжності документів (Anti-Fraud) у мобільному застосунку

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація AI-перевірки справжності документів (Anti-Fraud) у мобільному застосунку
Складний
від 2 тижнів до 3 місяців
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Реалізація AI-перевірки автентичності документів (Anti-Fraud) у мобільному додатку

Підроблені паспорти, надруковані на лазерному принтері, з 2022 року проходять базові OCR-перевірки в 30–40% випадків за даними галузевих звітів. Це не теоретична загроза—це реальні заявки на кредити, реєстрації акаунтів та онбординг сотрудників із підложними документами. Класичні правила (збіг MRZ із візуальною зоною, формат дат) недостатньо. Потрібен ML-шар, який бачить те, що правила не описують.

Що саме перевіряє AI-модель

Перевірка автентичності документа на мобільному пристрої складається з кількох незалежних сигналів:

Аналіз текстури та артефактів друку. Справжній паспорт надруковано на intaglio-пресі з тактильними елементами та специфічною растровою структурою. Скан або фотографія надруку має паттерн JPEG-артефактів, характерний для побутових принтерів: блочність на гільошируванні, втрата мікродруку, рівна яскравість там, де мають бути рельєфні тіні. CNN-модель, навчена на таких прикладах, видає forgery_score як неперервне значення—не бінарне «підробка/ні».

Геометрична консистентність. Текстові поля в справжньому паспорті розташовані в строгих пікселях відносно фізичних маркерів. Homography-трансформація вирівнює документ у стандартну площину, після чого поля MRZ, фото, дата народження порівнюються з шаблоном за affine-матрицею. Відхилення від шаблона >2px—тривожний сигнал, >5px—висока ймовірність редагування.

Крос-верифікація полів. Імя в MRZ має збігатися з візуальною зоною, дата народження—з контрольною цифрою MRZ (алгоритм ISO 7501-1), номер документа—з базою втрачених/недійсних (якщо підключений зовнішній API, напр. Interpol I-24/7 або національні реєстри).

Архітектура: на пристрої vs на сервері

Вибір залежить від вимог до приватності та latency:

On-device (CoreML / TFLite) Server-side
Latency 300–800 мс 1–3 с
Приватність Дані не покидають пристрій Потрібна передача зображення
Розмір моделі 5–50 MB у додатку Без обмежень
Актуальність моделі OTA-оновлення через CoreML Model Deployment Деплой на сервер
Офлайн Так Ні

Для більшості KYC-сценаріїв застосовуємо гібридний підхід: on-device модель виконує швидку первинну перевірку (якість захоплення, базові артефакти), важкий anti-forgery inference—на сервері з GPU. Користувач бачить прогрес-індикатор, а не чекає 3 секунди.

Внедрення CoreML-моделі на iOS

Базовий pipeline для iOS:

// Завантаження моделі
let config = MLModelConfiguration()
config.computeUnits = .cpuAndNeuralEngine
let model = try DocumentAuthenticityModel(configuration: config)

// Передобробка — нормалізація та crop до Region of Interest
let input = try MLMultiArray(shape: [1, 3, 224, 224], dataType: .float32)
// ... заповнення пікселями з CVPixelBuffer

// Інференс
let prediction = try model.prediction(image: pixelBuffer)
let forgeryScore = prediction.forgery_score  // Float, 0.0 – 1.0

ANE (Apple Neural Engine) на A14+ обробляє 224×224 документ за ~40 мс. На iPhone SE 2nd gen без ANE—~350 мс. Різниця суттєва, поріг по computeUnits потрібно адаптувати під мінімально підтримуваний пристрій.

Модель оновлюється через CoreML Model Deployment у CloudKit або через власний endpoint із підписаним .mlmodel файлом. Не хардкодимо модель у бандл, якщо планюємо її оновлювати—розмір IPA зростає, кожне оновлення моделі потребує релізу.

TensorFlow Lite на Android

Android-реалізація через TFLite + GPU Delegate або NNAPI:

val options = Interpreter.Options().apply {
    addDelegate(GpuDelegate())
    setNumThreads(4)
}
val interpreter = Interpreter(loadModelFile(assets, "doc_auth_v2.tflite"), options)

val inputBuffer = TensorImage.fromBitmap(preprocessedBitmap)
val outputBuffer = TensorBuffer.createFixedSize(intArrayOf(1, 2), DataType.FLOAT32)
interpreter.run(inputBuffer.buffer, outputBuffer.buffer)
val forgeryScore = outputBuffer.floatArray[1]  // індекс 1 — клас "forgery"

GPU Delegate знижує latency на Snapdragon 8 Gen 1 з ~600 мс до ~90 мс для моделі EfficientNet-B2. На бюджетних пристроях без GPU Delegate різниця менш помітна—NNAPI з автоматичним вибором прискорювача краще.

Навчання та дообучення моделі

Готові моделі для anti-forgery в откритому доступі обмежені та швидко застарівають—шахраї адаптуються. Навчаємо на синтетичних даних: справжні документи + аугментовані підробки (JPEG-compress, Gaussian noise, PrintScan simulation через бібліотеку albumentations). Архітектура—EfficientNet-B0 або MobileNetV3 для балансу точності та швидкості.

Після деплою критично важливий feedback loop: документи з граничним forgery_score (0.4–0.6) йдуть на ручну розмітку операторами та дообучення. Без цього модель деградує на нових паттернах підробок протягом 3–6 місяців.

Етапи внедрення

Аудит типів документів та сценаріїв → збір датасету → навчання/валідація → конвертація у CoreML / TFLite → інтеграція у мобільний клієнт → A/B тест з людською верифікацією → настройка threshold → продакшен → моніторинг drift.

Терміни: інтеграція готової моделі без дообучення—від 3 тижнів. Повний цикл (датасет, навчання, мобільна інтеграція, feedback loop)—2–4 місяці. Вартість розраховується індивідуально.