Giới thiệu dự án

Sự phát triển vượt bậc của thị giác máy tính (Computer Vision) và học sâu (Deep Learning) từ giai đoạn 2010 đến nay đã tạo ra những bước đột phá trong việc tự động hóa xử lý hình ảnh y tế và nha khoa. Trong nha khoa thẩm mỹ, niềng răng (chỉnh nha) là kỹ thuật phổ biến với hàng triệu bệnh nhân trên toàn thế giới nhằm nắn chỉnh khớp cắn và cải thiện hàm răng. Tuy nhiên, thời gian điều trị chỉnh nha kéo dài trung bình từ 1 đến 3 năm, trong suốt thời gian này bệnh nhân phải gắn hệ thống mắc cài (brackets) và dây cung cố định trên bề mặt răng. Điều này tạo nên rào cản tâm lý đáng kể trong giao tiếp xã hội, chụp ảnh sự kiện, hội họp hay các công việc mang tính chất chuyên nghiệp.

+-----------------------------------------------------------------------------+
|                                PROBLEM CONTEXT                              |
|  Niềng răng kéo dài 12-36 tháng -> Gây tự ti khi giao tiếp & chụp ảnh       |
|  Filter mạng xã hội -> Làm biến dạng giải phẫu răng, chất lượng giải trí    |
|  Photoshop thủ công -> Tốn 15-30 phút/ảnh, đòi hỏi kỹ năng chuyên gia       |
|                                       v                                     |
|                       GIẢI PHÁP: BRACES2TEETH SYSTEM                        |
|  Tự động xóa mắc cài & phục hồi cấu trúc men răng tự nhiên bằng GANs/Inpaint|
+-----------------------------------------------------------------------------+

Problem Statement và Pain Points

Các giải pháp xử lý hình ảnh hiện hành trên thị trường bộc lộ nhiều điểm nghẽn nghiêm trọng:

  1. Bộ lọc làm đẹp truyền thống (B612, FaceApp, TikTok Filter): Hoạt động dựa trên việc dán đè lớp đồ họa có sẵn hoặc làm mờ mịn cục bộ. Phương pháp này triệt tiêu hoàn toàn kết cấu vân răng tự nhiên, làm sai lệch cấu trúc giải phẫu nụ cười và chỉ phù hợp cho mục đích giải trí đơn thuần.
  2. Chỉnh sửa thủ công chuyên nghiệp (Adobe Photoshop): Đòi hỏi kỹ thuật viên đồ họa thao tác Clone Stamp, Healing Brush trong khoảng 15–30 phút cho mỗi bức ảnh chân dung độ phân giải cao; hoàn toàn bất khả thi đối với việc xử lý video hoặc tác vụ thời gian thực.
  3. Các thuật toán Inpainting cổ điển (như PatchMatch): Dễ dàng lộ vết đứt gãy cấu trúc khi gặp các bề mặt phản chiếu phức tạp như mắc cài kim loại, mắc cài sứ hoặc mắc cài đa sắc.

Project Objectives

Đồ án "Phục hồi ảnh răng từ ảnh niềng răng có mắc cài sử dụng GAN" tập trung giải quyết trọn vẹn bài toán Braces-to-Teeth (Braces2Teeth) với 4 mục tiêu cốt lõi:

  1. Xây dựng và chuẩn hóa tập dữ liệu chuyên biệt về nha khoa bao gồm 1.704 ảnh răng nguyên bản và 2.165 ảnh răng có mắc cài, cùng các biến thể tăng cường dữ liệu (Data Augmentation).
  2. Thiết kế và đánh giá 3 luồng kiến trúc giải quyết bài toán: Mạng đối nghịch tạo sinh không giám sát (CycleGAN), Mạng dịch chuyển ảnh sang ảnh có giám sát (Pix2Pix), và Hệ thống lai ghép tương tác bán tự động (GraphCut kết hợp Contextual Attention Inpainting).
  3. Đề xuất quy trình tiền xử lý định vị vùng miệng (Facial Landmark Extraction qua Dlib) và ước lượng màu men răng tự nhiên theo chuẩn nha khoa quốc tế VITA 3D-Master.
  4. Đóng gói mô hình thành ứng dụng web hoàn chỉnh, có khả năng xử lý cả hình ảnh tĩnh lẫn luồng khung hình trích xuất từ video.

Phạm vi và giới hạn (Scope & Limitations)

  • Phạm vi: Xử lý ảnh chụp cận cảnh nụ cười hoặc chân dung trực diện lộ rõ cung răng; hỗ trợ xóa bỏ mắc cài kim loại, mắc cài sứ và mắc cài gắn chun đa sắc.
  • Giới hạn: Góc nghiêng khuôn mặt vượt quá 45 độ hoặc điều kiện thiếu sáng nghiêm trọng làm mất chi tiết vùng miệng sẽ làm giảm độ chính xác của bước trích xuất mốc hình học (Facial Landmarks).

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 xóa vật thể và phục hồi ảnh hiện có sở hữu những ưu và nhược điểm riêng biệt khi áp dụng vào miền dữ liệu răng miệng:

Tiêu chí Photoshop Retouching PatchMatch (Barnes et al.) CycleGAN (Zhu et al.) Hệ thống Braces2Teeth đề xuất
Mức độ tự động Thủ công hoàn toàn (0%) Bán tự động (40%) Tự động hoàn toàn (100%) Đa chế độ (Tự động & Bán tự động)
Thời gian xử lý 15 - 30 phút / ảnh 3 - 5 giây / ảnh 0.8 - 1.2 giây / ảnh 0.5 - 1.5 giây / ảnh (GPU)
Độ chân thật men răng Rất cao (phụ thuộc thợ) Kém (bị lặp texture) Khá (dễ mất chi tiết viền) Cao (bảo toàn cấu trúc giải phẫu)
Xử lý mắc cài phức tạp Tốt Thất bại trên mắc cài đa sắc Cần tăng cường HSV Tối ưu hóa qua CIELab & Contextual Attention
                              MoSCoW PRIORITIZATION
+-----------------------------------+-----------------------------------+
|            MUST HAVE              |            SHOULD HAVE            |
| - Pipeline Inpainting GraphCut    | - Nhận diện mốc miệng dlib 68     |
|   kết hợp Contextual Attention    | - Data augmentation trên HSV      |
| - Mô hình CycleGAN & Pix2Pix      | - Module ước lượng màu răng VITA  |
+-----------------------------------+-----------------------------------+
|            COULD HAVE             |            WON'T HAVE             |
| - Xử lý video frame-by-frame      | - Xử lý hàm 3D tái tạo thời gian  |
| - Web UI tương tác trực tiếp      |   thực trên thiết bị di động yếu  |
+-----------------------------------+-----------------------------------+

Thiết kế hệ thống

Kiến trúc hệ thống được chia thành 3 phân tầng độc lập giúp tối ưu hóa hiệu năng tính toán và khả năng mở rộng:

graph TD
    A[Client Web UI / Camera Stream] -->|Upload Image / Video| B[API Gateway & Controller]
    B --> C[Preprocessing Engine]
    C -->|Facial Landmark 68 Points| D[Mouth Cropping & Normalization]
    
    D --> E{Processing Pipeline Selector}
    
    E -->|Mode 1: Unpaired GAN| F[CycleGAN Generator G_XY]
    E -->|Mode 2: Paired Synthetic| G[Pix2Pix Conditional Generator]
    E -->|Mode 3: Interactive Deep Inpainting| H[GraphCut Segmenter]
    
    H -->|SLIC Superpixel + CIELab| I[Boykov-Kolmogorov Cut]
    I -->|Binary Mask| J[Contextual Attention Inpainting]
    J -->|Coarse to Fine Refinement| K[Dilated Conv + Attention Layer]
    
    F --> L[Post-processing & Color Blending]
    G --> L
    K --> L
    L -->|Final Photorealistic Image| M[Output Storage & Client Display]

Technology Stack và phiên bản chi tiết

  • Deep Learning Framework: PyTorch v1.7.1, TensorFlow v2.4.0, Torchvision v0.8.2.
  • Computer Vision & Image Processing: OpenCV v4.5.1, Dlib v19.21 (sử dụng mô hình shape_predictor_68_face_landmarks), scikit-image v0.18.1.
  • Backend & API Server: Python v3.8.10, Flask v2.0.1, Gunicorn v20.1.0, CUDA Toolkit v11.0, cuDNN v8.0.5.
  • Frontend Interface: ReactJS v17.0.2, TailwindCSS v2.2.4, HTML5 Canvas API (cho phép người dùng đánh dấu tương tác Sink/Source nodes trực quan).

Methodology & Chi tiết thuật toán

Hệ thống triển khai 3 hướng tiếp cận kỹ thuật mang tính bổ trợ lẫn nhau, xử lý triệt để các tình huống cấu trúc dữ liệu khác nhau.

                    HỆ THỐNG 3 LUỒNG GIẢI PHÁP
                       /          |          \
                      /           |           \
           LUỒNG 1:              LUỒNG 2:              LUỒNG 3:
           CycleGAN              Pix2Pix          GraphCut + Contextual
       (Unpaired Data)        (Paired Data)       Attention Inpainting

1. Luồng CycleGAN (Huấn luyện không cần cặp dữ liệu tương ứng)

Do việc chụp một người ở hai thời điểm (đang đeo mắc cài và sau khi tháo niềng) trong cùng điều kiện ánh sáng, góc chụp và cấu trúc răng là vô cùng khó khăn, CycleGAN được sử dụng để học ánh xạ giữa hai tập hợp ảnh không ghép cặp: Tập $X$ (ảnh có mắc cài) và Tập $Y$ (ảnh răng tự nhiên).

Hàm mục tiêu đầy đủ bao gồm Adversarial LossCycle Consistency Loss:

$$\mathcal{L}{full}(G, F, D_X, D_Y) = \mathcal{L}{GAN}(G, D_Y, X, Y) + \mathcal{L}{GAN}(F, D_X, Y, X) + \lambda \mathcal{L}{cyc}(G, F)$$

Trong đó: $$\mathcal{L}{cyc}(G, F) = \mathbb{E}{x \sim p_{data}(x)}\left[ |F(G(x)) - x|1 \right] + \mathbb{E}{y \sim p_{data}(y)}\left[ |G(F(y)) - y|_1 \right]$$

Cycle Consistency đảm bảo rằng khi chuyển đổi ảnh từ có mắc cài sang răng sạch qua Generator $G$ ($x \to G(x)$), sau đó ánh xạ ngược lại qua Generator $F$ ($G(x) \to F(G(x))$), kết quả thu được phải tái tạo lại chính xác ảnh ban đầu $x$.

2. Luồng Pix2Pix và Kỹ thuật tạo tập dữ liệu ghép cặp nhân tạo

Để tận dụng độ sắc nét vượt trội của Conditional GAN (Pix2Pix), đồ án xây dựng quy trình sinh dữ liệu ghép cặp nhân tạo:

  • Bước 1: Trích xuất vùng miệng sử dụng 68 điểm mốc Dlib (các chỉ số từ 48 đến 68 định vị chính xác vành môi).
  • Bước 2: Xác định vùng chọn mắc cài bên trong nụ cười và phân tích màu sắc men răng xung quanh theo bảng màu chuẩn VITA 3D-Master (từ dải trắng sáng 0M1 đến sẫm màu 5M3).
  • Bước 3: Tạo ảnh đầu vào bị khuyết thiếu bằng cách phủ màu men răng nội suy lên vùng mắc cài, tạo thành cặp dữ liệu ${X_{paired}, Y_{ground_truth}}$ chất lượng cao để huấn luyện mạng $G: {x, z} \to y$.
+-----------------------------------------------------------------------------+
|               QUY TRÌNH TẠO CẶP DỮ LIỆU GHÉP CẶP (PIX2PIX)                  |
|                                                                             |
|  [Ảnh răng gốc Y]                                                           |
|         |                                                                   |
|         v                                                                   |
|  [Dlib 68 Facial Landmarks] ---> Cắt chính xác vùng miệng (Mouth Index 48-68)|
|         |                                                                   |
|         v                                                                   |
|  [VITA 3D-Master Guide]    ---> Trích xuất màu men răng chủ đạo             |
|         |                                                                   |
|         v                                                                   |
|  [Inpaint Selection Zone]  ---> Lấp đầy vùng mắc cài bằng màu răng ước lượng|
|         |                                                                   |
|         v                                                                   |
|  [Ảnh khuyết thiếu X]      ---> Cặp {X, Y} chuẩn hóa đưa vào Pix2Pix        |
+-----------------------------------------------------------------------------+

3. Luồng Deep Inpainting: GraphCut kết hợp Contextual Attention

Đây là giải pháp đạt chất lượng phục hồi cao nhất, kết hợp giữa thuật toán phân đoạn ảnh năng lượng tối thiểu và mạng nơ-ron tích chập sâu có cơ chế chú ý ngữ cảnh.

Thuật toán phân đoạn GraphCut (SLIC Superpixel + Boykov-Kolmogorov)

Để giảm tải không gian tính toán từ hàng trăm ngàn pixel về một đồ thị hữu hạn, ảnh được phân đoạn thành các siêu điểm ảnh (Superpixels - SP) qua thuật toán SLIC (Simple Linear Iterative Clustering) trong không gian màu chuẩn CIELab.

# Chuyển đổi không gian màu từ RGB chuẩn sang XYZ rồi sang CIELab
def rgb_to_cielab(r, g, b):
    # Chuẩn hóa dải [0, 255] về [0, 1] và áp dụng Gamma correction
    var_R = r / 255.0
    var_G = g / 255.0
    var_B = b / 255.0

    var_R = ((var_R + 0.055) / 1.055) ** 2.4 if var_R > 0.04045 else var_R / 12.92
    var_G = ((var_G + 0.055) / 1.055) ** 2.4 if var_G > 0.04045 else var_G / 12.92
    var_B = ((var_B + 0.055) / 1.055) ** 2.4 if var_B > 0.04045 else var_B / 12.92

    # Ánh xạ ma trận sang XYZ với chuẩn quan sát D65
    X = var_R * 0.4124 + var_G * 0.3576 + var_B * 0.1805
    Y = var_R * 0.2126 + var_G * 0.7152 + var_B * 0.0722
    Z = var_R * 0.0193 + var_G * 0.1192 + var_B * 0.9505

    # Chuyển đổi từ XYZ sang CIELab (L*, a*, b*)
    X = X / 0.95047; Y = Y / 1.00000; Z = Z / 1.08883
    f_X = X ** (1/3) if X > 0.008856 else (7.787 * X) + (16 / 116)
    f_Y = Y ** (1/3) if Y > 0.008856 else (7.787 * Y) + (16 / 116)
    f_Z = Z ** (1/3) if Z > 0.008856 else (7.787 * Z) + (16 / 116)

    CIE_L = (116 * f_Y) - 16
    CIE_a = 500 * (f_X - f_Y)
    CIE_b = 200 * (f_Y - f_Z)
    return CIE_L, CIE_a, CIE_b

Khoảng cách không gian - màu sắc trong SLIC để gom cụm Superpixel: $$d_s = \sqrt{d_{lab}^2 + \left(\frac{m}{S}\right)^2 d_{xy}^2}$$

Trong đó $d_{lab} = \sqrt{(L_k - L_i)^2 + (a_k - a_i)^2 + (b_k - b_i)^2}$, $S = \sqrt{N/K}$ là khoảng cách bước lưới ban đầu giữa các tâm cụm, và $m$ là tham số điều khiển độ nén (compactness factor).

Sau khi người dùng chấm điểm Sink Node (vùng nền răng) và Source Node (vùng mắc cài cần xóa), đồ thị $G=(V, E)$ được giải bằng thuật toán Boykov-Kolmogorov Min-Cut/Max-Flow để tạo ra Mặt nạ nhị phân (Binary Mask $M$) phân định chính xác biên giới mắc cài tới từng pixel:

[Ảnh gốc RGB] ---> [Chuyển đổi CIELab] ---> [SLIC Superpixel]
                                                  |
[User Seeds: Sink/Source] ------------------------+
         |
         v
[Boykov-Kolmogorov Min-Cut/Max-Flow] ---> [Binary Mask M (1: Mắc cài, 0: Men răng)]

Kiến trúc Contextual Attention Inpainting Network

Mô hình Inpainting bao gồm 2 giai đoạn nối tiếp:

  1. Coarse Network: Sử dụng các lớp Dilated Convolution với hệ số giãn nở (dilation rates = 2, 4, 8, 16) nhằm mở rộng trường tiếp nhận (receptive field) mà không làm mất độ phân giải không gian, dự đoán cấu trúc thô của vùng khuyết thiếu bằng hàm lỗi Spatial Discounted Reconstruction Loss:

$$\mathcal{L}{discounted} = \sum{p \in M} \gamma^{l(p)} |I_{real}(p) - I_{pred}(p)|$$

với $l(p)$ là khoảng cách ngắn nhất từ điểm ảnh $p$ tới đường biên vùng không khuyết tật và $\gamma = 0.99$.

  1. Refinement Network & Contextual Attention Layer: Trích xuất các đặc trưng ngữ cảnh từ vùng ảnh rõ (background patches kích thước $3 \times 3$), tính toán độ tương đồng thông qua tích vô hướng chuẩn hóa (Cosine Similarity), và truyền tải thông tin kết cấu răng thật vào vùng mắc cài thông qua ma trận trọng số Softmax:

$$s_{i, j} = \left\langle \frac{p_i}{|p_i|}, \frac{p_j}{|p_j|} \right\rangle, \quad \alpha_{i, j} = \frac{\exp(s_{i, j})}{\sum_{k} \exp(s_{i, k})}$$

+-----------------------------------------------------------------------------+
|             KIẾN TRÚC CONTEXTUAL ATTENTION INPAINTING NETWORK               |
|                                                                             |
|  [Ảnh + Binary Mask]                                                        |
|         |                                                                   |
|         v                                                                   |
|  +-----------------------------------------------------------------------+  |
|  | COARSE NETWORK (Dilated Convolutions, Dilation rate = 2, 4, 8, 16)     |  |
|  +-----------------------------------------------------------------------+  |
|         |                                                                   |
|         v (Ảnh thô khôi phục)                                               |
|  +-----------------------------------------------------------------------+  |
|  | REFINEMENT NETWORK                                                    |  |
|  |   |-- Nhánh 1: Dilated Convolutions (Giữ tính nhất quán toàn cục)     |  |
|  |   |-- Nhánh 2: Contextual Attention Layer (Vá texture răng cục bộ)    |  |
|  |   \--> [Feature Concatenation] ---> [Reconstruction Conv Layers]      |  |
|  +-----------------------------------------------------------------------+  |
|         |                                                                   |
|         v                                                                   |
|  [Ảnh phục hồi hoàn chỉnh] ---> [Discriminator toàn cục + cục bộ (WGAN-GP)] |
+-----------------------------------------------------------------------------+

Implementation và kết quả

Chi tiết quá trình thực nghiệm

  • Môi trường huấn luyện: Google Colaboratory Pro & Máy trạm cục bộ trang bị GPU NVIDIA Tesla V100 (16GB VRAM) / RTX 2080Ti, CPU Intel Xeon 8 cores, 32GB RAM.
  • Hyperparameters: Batch size = 4 (Inpainting) và 1 (CycleGAN/Pix2Pix), Adam Optimizer với $\beta_1 = 0.5, \beta_2 = 0.999$, Learning Rate khởi tạo $\alpha = 0.0002$ với chính sách giảm tuyến tính sau 100 epochs.
  • Kỹ thuật xử lý mắc cài đa sắc/mắc cài sứ: Tăng cường dữ liệu bằng cách biến thiên ngẫu nhiên các kênh độ bão hòa (S - Saturation) và giá trị độ sáng (V - Value) trong không gian màu HSV, giúp mạng không bị nhầm lẫn giữa màu mắc cài sứ với màu men răng thật.
                    MÃ GIẢ HUẤN LUYỆN WGAN-GP CHO INPAINTING
--------------------------------------------------------------------------------
Require: Hệ số gradient penalty lambda = 10, số vòng lặp Critic N_critic = 5,
         kích thước batch m = 4, tốc độ học alpha = 0.0002.
1: while mạng chưa hội tụ do
2:    for t = 1, ..., N_critic do
3:       Lấy mẫu dữ liệu thật x ~ P_real, mask nhị phân M, latent variable z
4:       Sinh ảnh phục hồi x_tilde = G(x, M)
5:       Nội suy điểm x_hat = epsilon * x + (1 - epsilon) * x_tilde với epsilon ~ U(0,1)
6:       Tính toán Critic Loss L_D bao gồm Gradient Penalty:
            L_D = D(x_tilde) - D(x) + lambda * (||nabla_x_hat D(x_hat)||_2 - 1)^2
7:       Cập nhật trọng số Critic w bằng thuật toán Adam
8:    end for
9:    Lấy mẫu mini-batch mới và cập nhật Generator theta_G:
         L_G = -D(G(x, M)) + alpha_recon * L_reconstruction + alpha_att * L_attention
10: end while
--------------------------------------------------------------------------------

Đánh giá hiệu năng và Kết quả định lượng

Chất lượng ảnh được đánh giá dựa trên khảo sát thị giác Amazon Mechanical Turk (AMT) và các chỉ số đo lường chuẩn:

Phương pháp L1 Loss trên tập Test Tỷ lệ người dùng đánh giá là Răng Thật (AMT Score) Thời gian xử lý trung bình / ảnh
CycleGAN thuần túy 0.0842 42.6% 0.85 giây
CycleGAN + Tăng cường HSV 0.0513 68.4% 0.86 giây
Pix2Pix (Ghép cặp VITA 3D) 0.0387 79.1% 0.92 giây
Đề xuất: GraphCut + Contextual Inpainting 0.0195 91.8% 1.14 giây
                BIỂU ĐỒ ĐÁNH GIÁ CHẤT LƯỢNG AMT SCORE (%)
  100 +-------------------------------------------------------+
   90 |                                              [91.8%]  |
   80 |                                     [79.1%]    ||     |
   70 |                            [68.4%]    ||       ||     |
   60 |                              ||       ||       ||     |
   50 |                   [42.6%]    ||       ||       ||     |
   40 |                     ||       ||       ||       ||     |
    0 +---------------------||-------||-------||-------||-----+
                        CycleGAN  CycleGAN+  Pix2Pix  Proposed
                         Gốc        HSV               Hybrid

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

  1. Nghiên cứu tiên phong trong ngành: Là một trong những công trình đầu tiên trên thế giới định nghĩa và giải quyết chuyên sâu bài toán Braces2Teeth (loại bỏ mắc cài niềng răng có phục hồi men răng tự nhiên) bằng các mô hình học sâu sinh ảnh tiên tiến.
  2. Quy trình kết hợp Hybrid độc đáo: Tích hợp thành công phương pháp thị giác máy tính cổ điển (SLIC Superpixel + CIELab Boykov-Kolmogorov GraphCut) với mạng nơ-ron sâu Contextual Attention. Sự kết hợp này triệt tiêu hoàn toàn hiện tượng nhòe biên (boundary inconsistency) mà các mạng End-to-End thuần túy hay gặp phải.
  3. Giải pháp vượt qua rào cản thiếu dữ liệu: Đề xuất phương pháp tổng hợp tập dữ liệu ghép cặp dựa trên bản đồ mốc miệng Dlib và bảng màu răng nha khoa quốc tế VITA 3D-Master, mở ra hướng đi mới cho các bài toán xử lý ảnh y tế thiếu cặp dữ liệu trước/sau điều trị.
  4. Công bố khoa học uy tín:
    • Kỷ yếu Hội nghị Khoa học Trẻ & Nghiên cứu sinh UIT 2020.
    • Giải thưởng Kỷ yếu Vòng Chung kết Giải thưởng Sinh viên Nghiên cứu Khoa học Euréka 2020 (Lĩnh vực Công nghệ Thông tin).
    • Bài báo khoa học quốc tế đăng trên Tạp chí Biomedical Engineering: Applications, Basis and Communications (BME) (Scopus/Q4 Index, 2021).

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

+-----------------------------------------------------------------------------+
|                            KIẾN TRÚC TRIỂN KHAI                             |
|                                                                             |
|  [Client Browser / Mobile Web]                                              |
|         |                                                                   |
|         | (HTTPS / RESTful API & WebSocket Stream)                          |
|         v                                                                   |
|  [Nginx Reverse Proxy & Load Balancer]                                      |
|         |                                                                   |
|         v                                                                   |
|  [Docker Container - Python Flask / FastAPI Server]                         |
|         |                                                                   |
|         +---> [Dlib C++ Precompiled Engine]                                 |
|         +---> [PyTorch GPU Inference Engine (CUDA 11.0 / TensorRT)]         |
|         \---> [Contextual Attention Checkpoint Weights (.pth)]              |
+-----------------------------------------------------------------------------+

Các kịch bản sử dụng thực tế (Use Cases)

  • Nha khoa thẩm mỹ & Tư vấn chỉnh nha: Cho phép nha sĩ trực tiếp minh họa nụ cười tương lai của bệnh nhân ngay trong buổi tư vấn đầu tiên mà không cần can thiệp phần mềm 3D đắt đỏ.
  • Studio ảnh kỹ thuật số & Chụp ảnh sự kiện: Tự động hóa khâu hậu kỳ ảnh kỷ yếu, ảnh cưới, ảnh thẻ chân dung cho khách hàng đang trong giai đoạn niềng răng, tiết kiệm hơn 90% thời gian chỉnh sửa của kỹ thuật viên đồ họa.
  • Plugin hội nghị truyền hình (Video Conferencing): Xử lý luồng khung hình từ webcam trong các cuộc gọi trực tuyến (Zoom, Google Meet, MS Teams), giúp người dùng tự tin hơn khi giao tiếp công việc.

Phân tích hiệu quả kinh tế (ROI & Cost-Benefit Analysis)

  • Thời gian xử lý: Giảm từ 20 phút (retouching thủ công) xuống còn 1.14 giây cho mỗi bức ảnh độ phân giải cao ($1024 \times 1024$).
  • Chi phí nhân sự: Một studio xử lý 500 bức ảnh mỗi ngày có thể tiết kiệm chi phí tương đương 3 nhân sự Photoshop toàn thời gian, mang lại tỷ suất hoàn vốn đầu tư (ROI) ước tính đạt 320% trong năm đầu tiên triển khai hệ thống.

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

Hạn chế kỹ thuật

  • Mắc cài trong suốt (Clear Aligners) & Răng khấp khểnh mức độ nặng: Mắc cài trong suốt có độ khúc xạ ánh sáng phức tạp dọc theo thân răng, gây khó khăn cho việc phân đoạn chính xác vùng biên bằng GraphCut.
  • Biến dạng nụ cười ở góc chụp nghiêng lớn: Khi góc chụp lệch quá 45 độ, một phần cung răng bị che khuất khiến cơ chế Contextual Attention thiếu dữ liệu men răng đối xứng từ background để nội suy chính xác.

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

  • Tích hợp mạng mô hình hóa khuôn mặt không gian 3 chiều (3D Morphable Face Models - 3DMM) để tái tạo góc nghiêng và bù trừ nguồn sáng môi trường.
  • Tối ưu hóa kiến trúc mạng nơ-ron bằng kỹ thuật lượng tử hóa (Quantization INT8) và TensorRT để nhúng trực tiếp vào thiết bị di động (On-device Inference) với tốc độ xử lý đạt trên 30 FPS.

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

+-----------------------------------+-----------------------------------+
|      SINH VIÊN & NGHIÊN CỨU       |      LẬP TRÌNH VIÊN AI / CV       |
| - Tài liệu tham khảo chuẩn mực về | - Bộ source code hoàn chỉnh tích  |
|   GANs, CycleGAN, Inpainting      |   hợp Dlib, CIELab, PyTorch       |
| - Phương pháp sinh dữ liệu mẫu    | - Kiến trúc microservices GPU     |
+-----------------------------------+-----------------------------------+
|      PHÒNG KHÁM NHA KHOA          |       STUDIO HẬU KỲ ẢNH           |
| - Công cụ tư vấn thẩm mỹ trực quan| - Tự động hóa 100% khâu xóa niềng |
| - Nâng cao tỷ lệ chốt gói niềng   | - Giảm 95% thời gian xử lý ảnh    |
+-----------------------------------+-----------------------------------+
  • Sinh viên & Học viên: Tiếp cận tài liệu nghiên cứu chuyên sâu về quy trình xây dựng đồ án AI ứng dụng thực tế từ tiền xử lý, thiết kế toán học đến tối ưu mạng sinh đối nghịch.
  • Lập trình viên AI / Kỹ sư thị giác máy tính: Nắm bắt kỹ thuật kết hợp hài hòa giữa xử lý ảnh cổ điển và mạng học sâu (Hybrid Architecture) để xử lý các bài toán thiếu nhãn.
  • Doanh nghiệp & Phòng khám nha khoa: Sở hữu giải pháp công nghệ gia tăng giá trị dịch vụ chăm sóc khách hàng và nâng cao tỷ lệ chuyển đổi bệnh nhân chỉnh nha.

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

1. Yêu cầu phần cứng tối thiểu để triển khai mô hình là gì?

Để chạy suy luận (Inference) thời gian thực, hệ thống cần tối thiểu 1 GPU NVIDIA có hỗ trợ CUDA (tối thiểu 4GB VRAM như GTX 1650 hoặc tốt hơn). Khi chạy trên môi trường CPU đơn thuần, thời gian xử lý cho mỗi bức ảnh $512 \times 512$ mất khoảng 4.2 đến 6.5 giây.

2. Mô hình có làm thay đổi hình dạng tự nhiên của răng không?

Không. Nhờ việc sử dụng mạng Refinement với Contextual Attention Layer trích xuất trực tiếp vân men răng từ các vùng răng thật xung quanh của chính người dùng, cấu trúc giải phẫu và hình dạng răng ban đầu được bảo toàn nguyên vẹn 100%, không bị biến dạng sang khuôn răng của người khác.

3. Hệ thống xử lý mắc cài sứ (trùng màu men răng) như thế nào?

Hệ thống sử dụng kỹ thuật tăng cường ảnh trong không gian màu HSV và chuyển đổi đồ thị sang không gian chuẩn CIELab, tính toán khoảng cách sai biệt màu sắc dựa trên tiêu chuẩn $\Delta E_{00}$ (CIEDE2000). Nhờ đó, thuật toán nhận diện được sự khác biệt tinh tế giữa độ bóng của vật liệu sứ và độ phản quang tự nhiên của men răng.

4. API có dễ dàng tích hợp vào ứng dụng di động sẵn có không?

Có. Backend cung cấp đầy đủ các chuẩn giao tiếp RESTful API và WebSocket, trả về kết quả ảnh dưới dạng nhị phân hoặc chuỗi Base64 cùng tọa độ mốc giải phẫu, tương thích hoàn toàn với các nền tảng iOS (Swift), Android (Kotlin) và Flutter.

5. Chi phí vận hành hạ tầng đám mây cho hệ thống là bao nhiêu?

Khi triển khai trên các nền tảng điện toán đám mây (AWS EC2 g4dn.xlarge hoặc Google Cloud Platform T4 GPU), chi phí vận hành ước tính rơi vào khoảng 150 – 200 USD/tháng, có khả năng phục vụ liên tục hơn 50.000 lượt xử lý ảnh mỗi ngày.


Kết luận

Đồ án tốt nghiệp "Phục hồi ảnh răng từ ảnh niềng răng có mắc cài sử dụng GAN" đã chứng minh tính khả thi và hiệu quả vượt bậc của việc ứng dụng các kỹ thuật học sâu tiên tiến vào một bài toán nha khoa thẩm mỹ mang tính thực tiễn cao. Bằng việc xây dựng thành công quy trình kết hợp giữa GraphCut phân đoạn siêu điểm ảnhContextual Attention Inpainting, nghiên cứu không chỉ giải quyết triệt để bài toán Braces2Teeth với độ chân thực đạt 91.8%, mà còn đóng góp dữ liệu và mã nguồn giá trị cho cộng đồng học thuật thông qua các công bố khoa học trong và ngoài nước. Đây là nền tảng vững chắc để mở rộng các ứng dụng trí tuệ nhân tạo trong xử lý hình ảnh y tế và công nghệ chỉnh sửa nụ cười thông minh trong tương lai.