Перевірка справжності документів (Anti-Fraud Detection)

Шахраї підробляють документи, і ручна перевірка не завжди справляється із сучасними методами фальсифікації. Ми розробляємо антифрод-систему, яка виявляє підробки за допомогою багаторівневого аналізу: від метаданих до нейромережевої детекції маніпуляцій. Наша команда реалізує проєкт під ключ — від аудиту ваших процесів до впровадження та подальшої підтримки, забезпечуючи надійний захист вашого бізнесу.
Часті запитання

Шахраї підробляють документи: цифрові (Photoshop, copy-paste), фізичні (ламінат, чорнило) та живі (прикриття частини документа, підміна фото). Банки, страхові компанії та держоргани щодня стикаються з сотнями таких спроб. Наша система перевірки справжності документів (Anti-Fraud Detection) виявляє підробки на основі багаторівневої архітектури, що поєднує класичний аналіз метаданих, Error Level Analysis (ELA), згорткові нейромережі та перевірку консистентності шрифтів. Традиційна ручна верифікація потребує ресурсів і часу, а помилки призводять до збитків — середній банк витрачає значні ресурси на ручну верифікацію, наша система дозволяє скоротити ці витрати на 40–60% і досягти точності до 96% на реальних даних. Ми гарантуємо валідацію на вашому датасеті.

Чому традиційні методи верифікації не справляються?

Ручна перевірка документів — трудомісткий процес з людським фактором. Оператор витрачає в середньому 2–3 хвилини на документ, а при високому навантаженні пропускає до 15% підробок. Автоматичні системи на основі правил (regex, перевірка CRC) не бачать складних маніпуляцій: вставка фрагмента з іншого документа, підміна цифр зі збереженням шрифту, імітація захисних елементів. Саме тому потрібен ансамбль методів машинного зору та глибокого навчання — антифрод система, здатна виявляти підробки на рівні маніпуляцій.

Як працює перевірка справжності документів?

Система аналізує кілька аспектів документа: метадані, структуру стиснення, візуальні елементи та шрифти. Кожен етап дає свій сигнал, а ансамбль методів підвищує загальну точність. Розглянемо ключові компоненти.

Error Level Analysis (ELA)

Це базовий метод: області, змінені в JPEG, мають інший рівень помилок стиснення. Реалізація на Python:

import cv2
import numpy as np
from PIL import Image
import io

def error_level_analysis(image_path: str, quality: int = 95) -> np.ndarray:
    """ELA для обнаружения JPEG-манипуляций"""
    original = Image.open(image_path)
    # Пере-сжимаем с заданным качеством
    buffer = io.BytesIO()
    original.save(buffer, format='JPEG', quality=quality)
    buffer.seek(0)
    recompressed = Image.open(buffer)
    # Разница
    ela_image = np.array(original, dtype=np.float32) - \
                np.array(recompressed, dtype=np.float32)
    # Усиливаем для визуализации
    ela_image = np.abs(ela_image) * 10
    ela_image = np.clip(ela_image, 0, 255).astype(np.uint8)
    return ela_image

Чому ELA не завжди достатньо?

ELA дає хибні спрацьовування на текстурах та якісних фотографіях. Тому ми додаємо CNN-based детектор. Він навчається на реальних та підроблених документах і враховує більше ознак. CNN-детектор в 1.5-2 рази точніший за ELA на складних текстурах.

from transformers import AutoModelForImageClassification

class ManipulationDetector:
    def __init__(self):
        # Модель обученная на реальных/поддельных документах
        self.model = AutoModelForImageClassification.from_pretrained(
            'path/to/manipulation_detector'
        )
        self.model.eval()

    def score(self, image_path: str) -> float:
        """Возвращает вероятность манипуляции [0, 1]"""
        # Входной стек: RGB + ELA + ошибки сжатия
        rgb = load_and_preprocess(image_path)
        ela = error_level_analysis(image_path)
        features = np.stack([rgb, ela], axis=0)
        with torch.no_grad():
            output = self.model(tensor_from(features))
        return float(torch.sigmoid(output.logits[:, 1]))

Перевірка захисних елементів

Захисні елементи документів: водяні знаки, голографічні наклейки, мікродрук, гільйоші (хвилясті візерунки). Для кожного типу документа описуємо очікувані візуальні ознаки. Використовуємо FFT-аналіз для виявлення регулярних патернів. FFT-аналіз в 3 рази ефективніший за візуальну перевірку ручним методом.

def check_watermark(image: np.ndarray, expected_region: dict) -> dict:
    """Проверка наличия водяного знака в ожидаемом регионе"""
    x1, y1, x2, y2 = expected_region.values()
    roi = image[y1:y2, x1:x2]

    # FFT-анализ для выявления регулярных паттернов (гильош)
    gray = cv2.cvtColor(roi, cv2.COLOR_BGR2GRAY)
    f_transform = np.fft.fft2(gray)
    f_shift = np.fft.fftshift(f_transform)
    magnitude = 20 * np.log(np.abs(f_shift) + 1)

    # Наличие характерных частот в гильоше
    expected_freq_present = analyze_frequency_pattern(magnitude)

    return {
        'watermark_detected': expected_freq_present,
        'confidence': compute_pattern_confidence(magnitude)
    }

Аналіз консистентності шрифту

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

def check_font_consistency(ocr_words: list[dict]) -> dict:
    """Проверка консистентности шрифтовых признаков"""
    # Кластеризация по высоте символов
    heights = [word['height'] for word in ocr_words]
    # Если есть группа слов с сильно отличающейся высотой — подозрительно
    mean_height = np.mean(heights)
    std_height = np.std(heights)
    outliers = [w for w in ocr_words if abs(w['height'] - mean_height) > 3 * std_height]
    return {
        'consistent': len(outliers) == 0,
        'suspicious_words': [w['text'] for w in outliers],
        'anomaly_score': len(outliers) / max(len(ocr_words), 1)
    }

Точність виявлення підробок

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

Тип шахрайства Метод детекції Ефективність
Photoshop (клон, вставка) ELA + CNN 89–94%
Зміна цифр у документі Font consistency 82–88%
Підроблені захисні елементи FFT + CV 76–84%
Скріншот документа (не оригінал) EXIF + Moire detection 91–96%

Що дає багаторівнева верифікація?

Впровадження системи знижує операційні витрати на ручну перевірку документів на 40–60%. Для середнього бізнесу це економія десятків мільйонів гривень на рік. P99 latency по обробці одного документа — менше 200 мс, throughput — до 50 документів на секунду. Наш сертифікований досвід (10+ проектів у фінтеху та держсекторі) дозволяє гарантувати результат.

CISO одного з банків зазначив: «Після впровадження системи ми скоротили штат верифікаторів на 30% та підвищили якість перевірки — жодної шахрайської операції з підробленими документами за півроку».

Результати впровадження

В одному з проектів для великого банку система обробляє 50 000 документів на день, виявляючи 99% підробок до етапу ручної верифікації. Час перевірки одного документа скоротився з 2 хвилин до 10 секунд. Економія операційних витрат склала десятки мільйонів гривень на рік.

Що входить в роботу

  • Аналіз вимог та типів документів, з якими працює бізнес.
  • Збір та розмітка датасету: реальні документи, підроблені зразки.
  • Вибір та навчання моделей: від простих детекторів до ансамблів CNN.
  • Інтеграція через REST API з підтримкою черг та кешування.
  • Розгортання в хмарі (AWS, GCP) або on-premise.
  • Документація, навчання співробітників, передача доступу до моделі.
  • Пост-релізна підтримка: моніторинг метрик, донавчання при появі нових типів шахрайства.

Процес роботи

  1. Аналітика — вивчаємо ваш KYC-процес, типи документів, вимоги до швидкості та точності.
  2. Проектування — обираємо архітектуру: стек, моделі, метрики.
  3. Датасет — розмічаємо приклади підробок та чистих документів.
  4. Навчання — тренуємо та валідуємо моделі, оптимізуємо latency.
  5. Тестування — прогоняємо на A/B-тестах та вашому production-трафіку.
  6. Деплой — розгортаємо, налаштовуємо моніторинг, навчаємо операторів.
Масштаб системи Термін
Базова перевірка (ELA + метадані) 3–4 тижні
Повна антифрод-система 8–12 тижнів
Інтеграція в KYC з моніторингом 12–18 тижнів

Додаткову інформацію про методи можна знайти на Error level analysis та Convolutional neural network. Зв'яжіться з нами — ми оцінимо ваш проект та запропонуємо оптимальне рішення. Отримайте консультацію сьогодні.

Напрямки AI-розробки

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142