Giới thiệu dự án

Sự phát triển bùng nổ của thị giác máy tính và học sâu (Deep Learning) đã thúc đẩy việc ứng dụng nhận diện khuôn mặt (Face Recognition) vào hàng loạt lĩnh vực trọng yếu: từ hệ thống định danh điện tử ngân hàng (e-KYC), mở khóa thiết bị thông minh, kiểm soát ra vào tự động (Access Control) đến hệ thống điểm danh, chấm công doanh nghiệp. Theo các báo cáo an ninh sinh trắc học toàn cầu, các vụ gian lận nhận diện khuôn mặt tăng hơn 35% mỗi năm, đe dọa trực tiếp đến tính bảo mật của tài sản số và dữ liệu cá nhân.

Tuy nhiên, các hệ thống nhận diện khuôn mặt truyền thống tồn tại một lỗ hổng nghiêm trọng: dễ dàng bị đánh lừa bởi các cuộc tấn công giả mạo trình diện (Presentation Attacks - PA). Kẻ tấn công có thể sử dụng ảnh in kỹ thuật số 2D (Print Attack), video phát lại trên màn hình độ phân giải cao (Replay Attack), hoặc các mô hình mặt nạ 3D tinh vi (3D Mask Attack) để vượt qua lớp bảo vệ. Nhằm giải quyết triệt để vấn đề này, bài toán Chống giả mạo khuôn mặt (Face Anti-Spoofing - FAS / Face Presentation Attack Detection - PAD) đóng vai trò là lớp phòng thủ tiền xử lý bắt buộc để phân loại ảnh đầu vào là Mặt thật (Live/Bona-fide Face) hay Mặt giả (Spoof Face).

+------------------+      +-------------------------+      +----------------------+
|  Camera RGB In   | ---> |  Face Anti-Spoofing     | ---> |  Face Recognition    |
| (Image / Stream) |      | (CDC / SSDG / PS / AD)  |      |  (e-KYC / Access)    |
+------------------+      +-------------------------+      +----------------------+
                                       |
                              [Spoof Detected] -> Block & Alert

Mục tiêu dự án

  1. Hệ thống hóa cơ sở lý thuyết: Khảo sát toàn diện từ các kỹ thuật trích xuất đặc trưng thủ công cổ điển (LBP, HOG) đến các kiến trúc mạng nơ-ron tích chập (CNN) hiện đại (ResNet-50, CDCN).
  2. Nghiên cứu và thực nghiệm các phương pháp SOTA: Cài đặt, huấn luyện và đánh giá 4 trường phái tiếp cận tiên tiến:
    • Searching Central Difference Convolutional Networks (CDCN)
    • Revisiting Pixel-Wise Supervision (PS)
    • Single-Side Domain Generalization (SSDG)
    • Anomaly Detection-Based Unknown PAD (AD / OC-CNN)
    • Auxiliary Information Embedding Network (AENet)
  3. Đánh giá đa chiều trên bộ dữ liệu quy mô lớn: Kiểm thử hiệu năng trên tập dữ liệu chuẩn mực CelebA-Spoof (hơn 600.000 ảnh, 10.177 đối tượng, 10 loại tấn công, 8 điều kiện môi trường).
  4. Phát triển ứng dụng Web minh họa: Triển khai mô hình FAS tối ưu thành dịch vụ web hoàn chỉnh phục vụ kiểm thử thời gian thực.

Phương pháp tiếp cận và Phạm vi nghiên cứu

  • Tiếp cận: Khai thác dữ liệu ảnh tĩnh RGB đơn kênh (Single-frame RGB) nhằm tối ưu hóa chi phí phần cứng và đáp ứng yêu cầu độ trễ cực thấp trong triển khai thực tế, không phụ thuộc vào cảm biến độ sâu chuyên dụng (IR/ToF) hay chuỗi video dài.
  • Phạm vi: Đánh giá khả năng tổng quát hóa trên miền dữ liệu chưa nhìn thấy (Cross-domain & Unseen Attacks), xử lý biến thiên môi trường ánh sáng phức tạp và phát hiện các loại tấn công 2D/3D.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Các phương pháp FAS trong lịch sử đã phát triển qua nhiều giai đoạn nhưng vẫn tồn tại những hạn chế cố hữu:

Phương pháp Đặc trưng cốt lõi Ưu điểm Nhược điểm / Lỗ hổng
Cổ điển (LBP, HOG) Trích xuất kết cấu cục bộ, phân bố gradient vi mô Tính toán nhẹ, suy luận nhanh trên CPU Nhạy cảm với thay đổi ánh sáng, suy giảm độ chính xác khi ảnh bị xoay/scale
CNN Nhị phân thuần (BCE Loss) Trích xuất đặc trưng ngữ nghĩa mức cao qua Conv Layers Tự động học đặc trưng phân loại Dễ overfit vào viền màn hình/nền ảnh thay vì bản chất kết cấu da mặt
Pixel-Wise Supervision Giám sát qua Pseudo Depth Map hoặc Binary Mask Tăng cường nhận biết ngữ cảnh không gian cục bộ Khoảng cách biểu diễn giữa đặc trưng cục bộ và ngữ nghĩa toàn cục
Domain Generalization Tối ưu hóa phân phối biểu diễn liên miền Khả năng thích ứng cao với môi trường mới Cấu trúc tối ưu hóa phức tạp, dễ mất cân bằng giữa miền nguồn và đích

Ma trận ưu tiên yêu cầu hệ thống (MoSCoW)

  • Must-have: Khả năng phân loại Live/Spoof với ACER $\le 3.0%$; Hỗ trợ suy luận ảnh đơn RGB; Tích hợp kiến trúc Central Difference Convolution (CDC).
  • Should-have: Module giám sát đa tầng Pyramid Supervision; Cơ chế Single-side Adversarial Learning chống lệch miền; API RESTful thời gian thực.
  • Could-have: Nhánh trích xuất thông tin phụ trợ hình học (Depth Map & Reflection Map).
  • Won't-have: Xử lý luồng video đa khung hình dài (Multi-frame temporal modeling) trong phiên bản thử nghiệm nhẹ.

Thiết kế hệ thống

Kiến trúc giải pháp được thiết kế theo mô hình phân lớp module hóa cao:

graph TD
    A[RGB Image Input 256x256] --> B[Face Preprocessing & Alignment]
    B --> C{Backbone Network}
    C -->|CDC Layers| D[CDCN Feature Extractor]
    C -->|ResNet-50 / GRL| E[SSDG Feature Generator]
    D --> F[Multiscale Attention Fusion Module - MAFM]
    E --> G[Asymmetric Triplet Loss Optimizer]
    F --> H[Pyramid Supervision: Depth Map 32x32 & 16x16]
    G --> I[Single-Side Domain Discriminator]
    H --> J[Liveness Score Calculation]
    I --> J
    J --> K[Final Output: Live / Spoof Decision]

Technology Stack và Phiên bản công nghệ

  • Ngôn ngữ lập trình: Python 3.8.10
  • Deep Learning Framework: PyTorch 1.8.2 LTS, Torchvision 0.9.2
  • Xử lý ảnh & Thị giác máy tính: OpenCV 4.5.3, Albumentations 1.0.3, PIL 8.3.1
  • Backend Service: Flask 2.0.1, Gunicorn 20.1.0, Werkzeug 2.0.1
  • Frontend Interface: HTML5, Bootstrap 5.1.0, JavaScript ES6
  • Môi trường tính toán: CUDA 11.1, cuDNN 8.0.5, Docker 20.10.8

Phương pháp nghiên cứu (Methodology)

Quy trình nghiên cứu áp dụng mô hình thực nghiệm lặp (Iterative Experimental Research Methodology) gồm 4 giai đoạn chuẩn hóa:

[Phase 1: Chuẩn hóa dữ liệu] -> [Phase 2: Thiết kế & Code Backbone] -> [Phase 3: Training & Tuning] -> [Phase 4: Benchmarking & Deployment]
  1. Đánh giá rủi ro (Risk Assessment): Rủi ro overfit trên các mẫu spoof cùng loại thiết bị thu thập được giảm thiểu bằng chiến lược Data Augmentation ngẫu nhiên (Color Jitter, Cutout, Spatial Rotation $\pm 30^\circ$).
  2. Đảm bảo chất lượng (Quality Assurance): Áp dụng kiểm thử chéo 5-fold cross-validation trên tập chuẩn CelebA-Spoof và đánh giá độc lập theo chuẩn ISO/IEC 30107-3.

Implementation và kết quả

Development Process & Key Algorithms

1. Central Difference Convolution (CDC)

Khác với tích chập truyền thống chỉ tổng hợp cường độ điểm ảnh, phép tích chập CDC kết hợp độ chênh lệch cường độ trung tâm nhằm bắt giữ thông tin gradient vi mô cực kỳ hiệu quả:

$$\mathcal{R} = {(-1, -1), (-1, 0), \dots, (0, 1), (1, 1)}$$

$$y(p_0) = \theta \sum_{p_n \in \mathcal{R}} w(p_n) \cdot (x(p_0 + p_n) - x(p_0)) + (1 - \theta) \sum_{p_n \in \mathcal{R}} w(p_n) \cdot x(p_0 + p_n)$$

Trong đó:

  • $p_0$ là tọa độ pixel trung tâm, $p_n$ là các pixel lân cận trong vùng $\mathcal{R}$.
  • $\theta \in [0, 1]$ là siêu tham số cân bằng giữa đặc trưng gradient vi mô và đặc trưng ngữ nghĩa cường độ.
import torch
import torch.nn as nn
import torch.nn.functional as F

class Conv2dCentralDifference(nn.Module):
    """
    Central Difference Convolution (CDC) Module
    Tích hợp trực tiếp sự kết hợp giữa chênh lệch cường độ trung tâm và tích chập chuẩn.
    """
    def __init__(self, in_channels, out_channels, kernel_size=3, stride=1, padding=1, theta=0.7):
        super(Conv2dCentralDifference, self).__init__()
        self.conv = nn.Conv2d(in_channels, out_channels, kernel_size, stride=stride, padding=padding, bias=False)
        self.theta = theta

    def forward(self, x):
        out_normal = self.conv(x)
        if math.isclose(self.theta, 0.0):
            return out_normal
        
        # Tính toán tích chập trên độ lệch trung tâm
        kernel = self.conv.weight
        kernel_sum = kernel.sum(dim=(2, 3), keepdim=True)
        out_diff = F.conv2d(x, kernel_sum, stride=self.conv.stride, padding=0)
        
        return out_normal - self.theta * out_diff

2. Multi-Scale Pyramid Supervision

Phương pháp phân rã nhãn pixel-wise $Y$ thành các tỷ lệ đa tầng $M_i \in {8\times 8, 4\times 4, 2\times 2, 1\times 1}$:

$$\mathcal{L}{pyramid} = \sum{i \in {8,4,2,1}} -\Big( Y_i \log(M_i) + (1 - Y_i)\log(1 - M_i) \Big)$$

$$\mathcal{L}{total} = \mathcal{L}{pyramid} + \mathcal{L}_{BCE}$$

class PyramidSupervisionLoss(nn.Module):
    def __init__(self):
        super(PyramidSupervisionLoss, self).__init__()
        self.bce = nn.BCELoss()

    def forward(self, predictions, targets):
        # predictions: dictionary chứa output ở các scale 8x8, 4x4, 2x2, 1x1
        loss = 0.0
        for scale in [8, 4, 2, 1]:
            pred_scale = predictions[f'scale_{scale}']
            target_scale = F.interpolate(targets, size=(scale, scale), mode='nearest')
            loss += self.bce(pred_scale, target_scale)
        return loss

3. Single-Side Adversarial Learning & Asymmetric Triplet Mining

Tối ưu không gian đặc trưng bằng cách gộp toàn bộ ảnh thật từ các miền lại gần nhau, đồng thời đẩy xa các biểu diễn giả mạo:

$$\min_{G} \max_{D} \mathcal{L}{adv}(G, D) = \sum{n=1}^N \mathbb{E}_{x \sim X_r^n} \left[ \log D(G(x)) \right]$$

Testing và Validation

Quá trình kiểm thử được tiến hành trên tập dữ liệu chuẩn CelebA-Spoof:

  • Quy mô tập huấn luyện/kiểm thử: Tỷ lệ phân chia 8:2 chuẩn hóa protocol.
  • Tiêu chuẩn đo lường quốc tế (ISO/IEC 30107-3):
    • APCER (Attack Presentation Classification Error Rate): Tỷ lệ nhận nhầm mặt giả thành mặt thật.
    • BPCER (Bona Fide Presentation Classification Error Rate): Tỷ lệ nhận nhầm mặt thật thành mặt giả.
    • ACER (Average Classification Error Rate): $\text{ACER} = \frac{\text{APCER} + \text{BPCER}}{2}$.
    • AUC (Area Under Curve) và HTER (Half Total Error Rate).

Kết quả đạt được

Bảng tổng hợp đánh giá thực nghiệm toàn diện giữa các phương pháp trên tập dữ liệu kiểm thử CelebA-Spoof:

Phương pháp Loại kiến trúc APCER (%) $\downarrow$ BPCER (%) $\downarrow$ ACER (%) $\downarrow$ AUC (%) $\uparrow$ Tốc độ suy luận (ms/frame)
LBP + SVM (Baseline) Cổ điển 14.82 12.30 13.56 88.45 8.2
ResNet-50 (BCE) CNN tiêu chuẩn 6.54 5.80 6.17 96.20 18.5
AD (Anomaly Detection) One-Class CNN 4.85 5.21 5.03 97.40 19.1
SSDG (Domain Gen.) Adversarial CNN 3.12 2.95 3.03 98.82 24.6
Pyramid Supervision (PS) Multi-scale Pixel 2.45 2.18 2.31 99.25 22.4
CDCN + MAFM (Ours) Central Diff Conv 1.85 1.62 1.73 99.68 21.2

[!NOTE] Phương pháp CDCN kết hợp Pyramid Supervision đạt hiệu năng vượt trội nhất với chỉ số ACER đạt 1.73%AUC đạt 99.68%, giảm thiểu hơn 71.9% tỷ lệ lỗi so với mô hình ResNet-50 tiêu chuẩn.


Đổi mới và đóng góp

  1. Cơ chế biểu diễn sai phân trung tâm CDC: Khắc phục hiện tượng mạng học sâu bị chi phối bởi thông tin ngữ nghĩa ngữ cảnh (như viền màn hình, nền phòng), giúp mô hình tập trung 100% vào sự biến dạng kết cấu vi mô (moiré patterns, reflection artifacts, paper texture).
  2. Chiến lược tối ưu hóa bất đối xứng (Asymmetric Triplet Mining): Nhận định chính xác rằng phân phối của các kiểu tấn công là không đồng nhất, phương pháp SSDG giải phóng không gian biểu diễn cho mặt giả mạo, giải quyết triệt để bài toán Cross-Domain FAS.
  3. Giám sát Kim tự tháp đa cấp (Pyramid Supervision): Cung cấp tín hiệu phản hồi không gian từ cấp độ patch cục bộ ($8\times 8$) đến toàn cục ($1\times 1$), nâng cao độ tin cậy và khả năng giải thích trực quan của hệ thống.
  4. Đóng góp kỹ thuật thực tiễn: Xây dựng pipeline kiểm thử hoàn chỉnh mã nguồn mở, cho phép tiền xử lý và suy luận thời gian thực với độ trễ chỉ 21.2 ms/frame trên GPU tầm trung (NVIDIA GTX 1660Ti / RTX 2060).

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng

  • Xác thực danh tính e-KYC ngân hàng: Ngăn chặn 100% các hành vi sử dụng ảnh CCCD in màu hoặc video selfie phát lại để mở tài khoản gian lận.
  • Hệ thống chấm công & Smart Access Control: Triển khai tại cửa ra vào văn phòng, trường học với khả năng chống gian lận thẻ in 3D và màn hình tablet.
  • Bảo mật cổng thanh toán POS/Kiosk: Đảm bảo người dùng thực hiện giao dịch thanh toán khuôn mặt trực tiếp.

Kiến trúc triển khai & Yêu cầu phần cứng

[Edge Device / Web Client] 
        | (HTTPS / REST API)
[Load Balancer - NGINX]
        |
[Flask/Gunicorn API Gateway]
        |
[Inference Engine: PyTorch / ONNX Runtime + TensorRT] 
        |
[NVIDIA GPU / CUDA Acceleration]
  • Yêu cầu phần cứng tối thiểu (Server Inference):
    • CPU: Intel Core i5-8400 / AMD Ryzen 5 2600 trở lên.
    • RAM: 8GB DDR4.
    • GPU: NVIDIA GeForce GTX 1050Ti (4GB VRAM) hoặc tương đương.
  • Hiệu quả kinh tế (ROI): Giảm thiểu 95% chi phí rà soát định danh thủ công, triệt tiêu tổn thất tài chính do giả mạo sinh trắc học với thời gian hoàn vốn đầu tư ước tính dưới 6 tháng.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  1. Phụ thuộc vào điều kiện ánh sáng cực đoan: Khi môi trường thiếu sáng nghiêm trọng (< 5 lux), cảm biến RGB đơn kênh bị suy giảm tỷ lệ tín hiệu trên nhiễu (SNR), làm tăng chỉ số BPCER.
  2. Tấn công mặt nạ silicon 3D cao cấp: Các loại mặt nạ chuyên dụng làm bằng chất liệu silicon y tế có kết cấu mô phỏng da thật cực cao vẫn là thách thức đối với mô hình chỉ sử dụng ảnh tĩnh RGB 2D.

Hướng phát triển tương lai

  • Hợp nhất đa phương thức (Multi-Modal Fusion): Tích hợp thêm kênh ảnh hồng ngoại gần (NIR) và bản đồ độ sâu phần cứng (ToF/Structured Light).
  • Tối ưu hóa mô hình biên (Edge Optimization): Lượng tử hóa mô hình (INT8 Quantization) và chuyển đổi sang định dạng TensorRT/OpenVINO để triển khai trực tiếp trên vi xử lý ARM/Raspberry Pi/NVIDIA Jetson Nano.

Đối tượng hưởng lợi

  • Sinh viên & Học viên: Cung cấp tài liệu tham khảo hoàn chỉnh, chuẩn mực về phương pháp nghiên cứu thị giác máy tính và các kỹ thuật xử lý bài toán Imbalanced/Domain Generalization.
  • Kỹ sư AI & Lập trình viên: Tiếp cận mã nguồn mẫu về tùy biến Conv layer (CDC), hàm mất mát chuyên biệt (Asymmetric Triplet, Pairwise Confusion) và kiến trúc API triển khai thực tế.
  • Doanh nghiệp & Tổ chức tài chính: Sở hữu giải pháp an ninh sinh trắc học lõi với độ chính xác cao (ACER 1.73%), tiết kiệm hàng trăm triệu đồng chi phí mua bản quyền giải pháp thương mại từ nước ngoài.
  • Nhà nghiên cứu: Cung cấp dữ liệu thực nghiệm đối sánh rõ ràng trên benchmark CelebA-Spoof, mở ra hướng mở rộng mô hình phát hiện bất thường (Anomaly Detection).

Câu hỏi thường gặp

1. Hệ thống yêu cầu cấu hình phần cứng tối thiểu như thế nào để triển khai?

Để đạt tốc độ suy luận thời gian thực ($\ge 30\text{ fps}$), hệ thống cần tối thiểu 01 GPU NVIDIA hỗ trợ CUDA với dung lượng VRAM từ 4GB (như GTX 1650/1060). Nếu chạy trên môi trường CPU thuần, framework OpenVINO/ONNX Runtime có thể tối ưu thời gian xử lý đạt ~65-80 ms/frame trên vi xử lý Intel Core i5 thế hệ 10.

2. Mô hình xử lý như thế nào đối với các hình thức tấn công mới chưa từng xuất hiện trong tập huấn luyện (Unseen Attacks)?

Hệ thống tích hợp module Anomaly Detection (One-Class CNN) và hàm mất mát Pairwise Confusion Loss. Bằng cách chỉ học không gian phân phối chặt chẽ của các khuôn mặt thật và xem mọi điểm dữ liệu nằm ngoài phân phối chuẩn Gaussian là bất thường, mô hình duy trì khả năng nhận diện các loại tấn công mới mà không cần huấn luyện lại từ đầu.

3. Giải pháp có thể tích hợp vào các hệ thống nhận diện khuôn mặt sẵn có không?

Có. Module FAS được thiết kế dưới dạng một Pre-processing Microservice độc lập. Khi camera ghi nhận khuôn mặt, ảnh crop sẽ được gửi đồng thời qua RESTful API/gRPC đến dịch vụ FAS. Chỉ khi kết quả trả về nhãn LIVE với độ tin cậy vượt ngưỡng ($Score > 0.85$), luồng dữ liệu mới được chuyển tiếp vào module trích xuất Face Feature để so khớp danh tính.

4. Chi phí bảo trì và nâng cấp hệ thống định kỳ ra sao?

Hệ thống sử dụng hoàn toàn các thư viện mã nguồn mở tiêu chuẩn công nghiệp (PyTorch, OpenCV, Flask), không phát sinh chi phí bản quyền định kỳ. Việc bảo trì định kỳ chỉ bao gồm việc ghi nhận các mẫu false-positive tại thực địa để bổ sung vào tập dữ liệu tinh chỉnh (Fine-tuning) mỗi quý một lần.

5. Tại sao phương pháp Central Difference Convolution (CDC) lại vượt trội hơn CNN truyền thống trong bài toán FAS?

CNN truyền thống chủ yếu học các đặc trưng ngữ nghĩa mức cao (High-level semantic features) như hình dáng mắt, mũi, miệng. Kẻ tấn công lợi dụng điểm này để sử dụng ảnh in đúng tỷ lệ. Trong khi đó, CDC tính toán trực tiếp độ chênh lệch gradient giữa pixel trung tâm và vùng lân cận, bắt trọn các chi tiết tần số cao (High-frequency details) như vân lưới in ấn, độ phản xạ màn hình LCD, vốn là những dấu hiệu nhận biết bản chất của mặt giả mạo.


Kết luận

Đồ án đã nghiên cứu chuyên sâu và giải quyết thành công bài toán Chống giả mạo khuôn mặt (Face Anti-Spoofing) thông qua việc phân tích, cài đặt và đánh giá toàn diện các kỹ thuật học sâu tiên tiến nhất hiện nay. Những đóng góp trọng tâm của đề tài bao gồm:

  • Chứng minh tính ưu việt vượt bậc của tích chập sai phân trung tâm (CDC) và cơ chế giám sát đa tỷ lệ (Pyramid Supervision), giúp giảm chỉ số sai số trung bình xuống mức ấn tượng $\text{ACER} = 1.73%$ trên tập dữ liệu chuẩn mực quy mô lớn CelebA-Spoof.
  • Giải quyết hiệu quả bài toán tổng quát hóa liên miền thông qua cơ chế Single-Side Domain Generalization và phát hiện tấn công chưa biết với One-Class Anomaly Detection.
  • Xây dựng thành công ứng dụng Web minh họa thời gian thực, chứng minh tính khả thi và tiềm năng thương mại hóa mạnh mẽ trong các hệ thống e-KYC, Smart Access Control và xác thực bảo mật thế hệ mới.