Giới thiệu dự án

Thị trường hoạt hình và truyện tranh kỹ thuật số toàn cầu đang trải qua giai đoạn bùng nổ mạnh mẽ, đạt quy mô 256 tỷ USD vào năm 2019 và vượt mốc 270 tỷ USD vào năm 2020 theo thống kê của Statista. Sự tăng trưởng này kéo theo nhu cầu cấp thiết về các công cụ tự động hóa sản xuất nội dung nghệ thuật, đặc biệt là chuyển đổi hình ảnh thực tế sang phong cách hoạt hình (Cartoon Style Transfer). Tuy nhiên, việc chuyển đổi ảnh chân dung người (Portrait Cartoonization) từ trước đến nay vẫn là một thách thức kỹ thuật lớn trong thị giác máy tính (Computer Vision), đòi hỏi họa sĩ chuyên nghiệp phải tiêu tốn hàng giờ đồng hồ cho từng khung hình để đạt được các khối màu phẳng mịn màng, đường nét biên cạnh sắc nét và các đặc trưng biểu cảm cách điệu đặc thù.

Khóa luận tốt nghiệp "Chuyển Đổi Ảnh Chân Dung Thành Hoạt Hình Sử Dụng Mạng Sinh Đối Nghịch" (Đại học Công nghệ Thông tin – ĐHQG-HCM, 2021) do sinh viên Hồ Sỹ Tuyên thực hiện dưới sự hướng dẫn của TS. Nguyễn Vinh Tiệp đã tập trung giải quyết bài toán chuyển dịch phong cách ảnh chân dung không ghép cặp (Unpaired Portrait Cartoonization).

+-------------------------------------------------------------------------+
|                              PROBLEM STATEMENT                          |
|  - Không tồn tại tập dữ liệu ghép cặp (paired dataset) Người - Hoạt hình |
|  - Mạng Neural Style Transfer (NST) chỉ đổi màu/kết cấu, mất cấu trúc   |
|  - Mạng CycleGAN / U-GAT-IT tốn gấp đôi tài nguyên, dễ biến dạng hình học|
|  - Thiếu bộ dữ liệu khuôn mặt hoạt hình chuẩn hóa và cân bằng giới tính |
|  - Thiếu hàm đo lường định lượng khách quan cho bài toán Image-to-Image |
+-------------------------------------------------------------------------+

Mục tiêu dự án

  1. Thu thập và chuẩn hóa tập dữ liệu CartoonFace10k: Xây dựng tập dữ liệu khuôn mặt hoạt hình chất lượng cao gồm 10,000 ảnh với tỷ lệ cân bằng giới tính 1:1.
  2. Đề xuất quy trình huấn luyện hai giai đoạn (Two-stage Fine-tuning): Thiết kế mạng sinh đối nghịch (Generative Adversarial Networks - GAN) phân tách pha làm mịn trừu tượng hóa (Image Abstraction) và pha tổng hợp đường nét đặc trưng hoạt hình (Cartoon Face Synthesis).
  3. Phát triển hệ số đo lường $Fscore_{gp}$: Kết hợp chỉ số tương đồng cấu trúc (SSIM) và khoảng cách Fréchet Inception Distance (FID) nhằm lượng hóa chính xác chất lượng hình ảnh sinh ra.
  4. Tối ưu hóa tốc độ và độ ổn định: Rút ngắn thời gian hội tụ khi huấn luyện và đảm bảo tốc độ suy diễn (Inference) thời gian thực phục vụ các ứng dụng mạng xã hội và sản xuất hoạt hình.

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

  • Phương pháp tiếp cận: Sử dụng kiến trúc GAN một chiều (One-sided Translation) kết hợp mạng tiền huấn luyện làm mịn (ResNet-based Image Smoother) cùng hàm mất mát cảm nhận (Perceptual Loss) trích xuất từ ResNet-18 để vừa bảo toàn nhận diện khuôn mặt gốc, vừa biến đổi hình học đặc trưng anime.
  • Phạm vi nghiên cứu: Tập trung vào ảnh chân dung đơn khuôn mặt (Single Human Portrait), xử lý trên không gian màu RGB với độ phân giải chuẩn hóa $256 \times 256$ pixels. Dự án giới hạn trong phạm vi hoạt hình hóa chân dung không bao gồm bối cảnh phức tạp toàn thân hoặc chuyển động video đa khung hình.

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 truyền thống như kết xuất phi tả thực (Non-Photorealistic Rendering - NPR) hoặc Image Analogies dựa trên tìm kiếm láng giềng gần nhất (Nearest Neighbor Search) đòi hỏi tinh chỉnh thủ công và hoàn toàn thất bại trước các biến đổi hình học phức tạp của khuôn mặt hoạt hình. Khi kỹ thuật học sâu (Deep Learning) phát triển, các mô hình Neural Style Transfer (Gatys et al.) và FastNST (Johnson et al.) ra đời nhưng bị giới hạn bởi ma trận Gram Matrix cố định, chỉ nắm bắt được kết cấu màu sắc tổng thể mà không học được các đường nét phân định (edges) và mắt hoạt hình đặc trưng.

Tiêu chí so sánh Neural Style Transfer (NST) CycleGAN U-GAT-IT CartoonGAN Giải pháp đề xuất (Two-stage GAN)
Yêu cầu dữ liệu Đơn ảnh phong cách Không ghép cặp (Unpaired) Không ghép cặp (Unpaired) Không ghép cặp (Unpaired) Không ghép cặp (Unpaired)
Bảo toàn danh tính Trung bình Kém (Dễ biến dạng) Tốt (Nhờ CAM/AdaLIN) Trung bình Rất cao (Perceptual Loss)
Đặc trưng khuôn mặt Không hỗ trợ Trung bình Tốt Kém trên chân dung Sắc nét, chuẩn Anime
Tốc độ Training Không cần train Rất chậm ($2 \times$ GAN) Cực kỳ chậm Nhanh Nhanh (Hội tụ ổn định)
Tốc độ Inference Rất chậm ($>10$s) Nhanh ($\sim 0.05$s) Trung bình ($\sim 0.15$s) Nhanh ($\sim 0.04$s) Thời gian thực ($\sim 0.03$s)

Phân tích yêu cầu theo mô hình MoSCoW

  • Must Have (Bắt buộc): Khả năng chuyển đổi ảnh khuôn mặt người thật sang phong cách hoạt hình với đường nét biên sắc sảo; khối màu đồng nhất phẳng; giữ nguyên danh tính đối tượng gốc; tốc độ suy diễn đạt chuẩn thời gian thực trên GPU.
  • Should Have (Nên có): Bộ dữ liệu cân bằng 1:1 nam/nữ nhằm loại bỏ thiên kiến thuật toán; cơ chế đánh giá định lượng $Fscore_{gp}$ tích hợp tự động.
  • Could Have (Có thể có): Hỗ trợ tùy biến cường độ chuyển đổi phong cách thông qua tham số điều hòa trọng số mất mát $\lambda$.
  • Won't Have (Chưa thực hiện): Chuyển đổi trực tiếp video thời gian thực 4K trên thiết bị di động cấu hình yếu.

Thiết kế hệ thống

Hệ thống được thiết kế theo mô hình học đối nghịch một chiều với quy trình hai pha rõ rệt nhằm tránh việc mô hình rơi vào cực tiểu cục bộ (local minima) hoặc sụp đổ mode (mode collapse).

flowchart TD
    subgraph STAGE_1["Giai đoạn 1: Image Abstraction Pre-training"]
        Input_H["Ảnh người thật H"] --> Net_R["ResNet Image Smoother R"]
        Net_R --> Smooth_H["Ảnh trừu tượng R(H)"]
        Input_H --> Gen_G1["Generator G"]
        Gen_G1 --> Output_G1["Ảnh G(H)"]
        Smooth_H --> Loss_L1["L1 Reconstruction Loss"]
        Output_G1 --> Loss_L1
        Loss_L1 -.->|Cập nhật trọng số| Gen_G1
    end

    subgraph STAGE_2["Giai đoạn 2: Cartoon Face Synthesis"]
        Input_H2["Ảnh người thật H"] --> Gen_G2["Pre-trained Generator G"]
        Gen_G2 --> Fake_C["Ảnh Anime G(H)"]
        Real_C["Ảnh Cartoon C (CartoonFace10k)"] --> Disc_D["PatchGAN Discriminator D"]
        Fake_C --> Disc_D
        Disc_D --> Loss_Adv["Adversarial Loss (LSGAN)"]
        
        Input_H2 --> ResNet18_Feat["ResNet-18 Classifier (Block 5)"]
        Fake_C --> ResNet18_Feat
        ResNet18_Feat --> Loss_Perc["Perceptual Loss"]
        
        Loss_Adv & Loss_Perc --> Total_Loss["Total Objective Loss"]
        Total_Loss -.->|Tối ưu hóa luân phiên| Gen_G2 & Disc_D
    end

Thông số ngăn xếp công nghệ (Technology Stack)

  • Ngôn ngữ lập trình: Python 3.8+
  • Deep Learning Framework: PyTorch v1.8.1 kết hợp Torchvision v0.9.1
  • Thư viện xử lý ảnh: OpenCV v4.5.1, Pillow v8.2.0, NumPy v1.19.5
  • Giao tiếp phần cứng: CUDA v11.1, cuDNN v8.0.5
  • Môi trường tính toán: NVIDIA Titan X / Tesla V100 GPU (12GB VRAM)

Kiến trúc chi tiết các thành phần

  1. Generator ($G$): Sử dụng cấu trúc Auto-Encoder với các khối trích xuất đặc trưng (Down-sampling), tầng chuyển đổi trung gian gồm 8 Residual Blocks kế thừa kiến trúc ResNet, và các tầng giải mã tích chập chuyển vị (Transposed Convolution) để khôi phục không gian ảnh.
  2. Discriminator ($D$): Triển khai kiến trúc PatchGAN $70 \times 70$, đánh giá tính chân thực trên từng vùng cục bộ thay vì toàn bộ bức ảnh, giúp tăng tốc độ tính toán và tăng cường chi tiết bề mặt.
  3. Mạng trích xuất đặc trưng cảm nhận (Feature Extractor): Sử dụng các tầng tích chập của ResNet-18 (tại khối Residual Block thứ 5) được huấn luyện sẵn trên ImageNet để tính toán khoảng cách ngữ nghĩa giữa ảnh gốc và ảnh hoạt hình.

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

Quy trình nghiên cứu được triển khai theo mô hình thực nghiệm lặp (Iterative Empirical Methodology):

  1. Xây dựng Dataset: Thu thập 50,245 ảnh hoạt hình từ Anime-Planet, ứng dụng bộ phát hiện khuôn mặt lbpcascade_animeface để loại bỏ nhân vật không phải người (như Doraemon, Pikachu), kết hợp lọc thủ công để thu được 10,000 ảnh chất lượng cao. Lấy ngẫu nhiên 10,000 ảnh từ tập CelebA đại diện cho miền người thật.
  2. Thiết lập Baseline & Loss: Xây dựng khung kiểm thử so sánh với CartoonGAN, CycleGAN và U-GAT-IT.
  3. Phân rã giai đoạn huấn luyện: Thiết lập Stage 1 (khởi tạo bộ sinh làm mịn) trong 10 epochs, sau đó chuyển sang Stage 2 (huấn luyện đối nghịch toàn diện) trong 40 epochs với thuật toán tối ưu Adam ($\beta_1 = 0.5, \beta_2 = 0.999$, Learning Rate $= 0.0002$).

Implementation và kết quả

Quy trình phát triển và chi tiết thuật toán

Cốt lõi của giải pháp nằm ở việc xây dựng hàm mục tiêu hai pha, giúp mô hình vượt qua điểm kỳ dị gradient trong quá trình huấn luyện đối nghịch không ghép cặp.

Pha 1: Image Abstraction Pre-training

Hàm mất mát tái tạo sử dụng chuẩn $L_1$ để ép bộ sinh $G$ học khả năng làm mịn từ mạng trích xuất $R$: $$\mathcal{L}{smooth}(G) = \mathbb{E}{h_i \sim Data(H)} \left[ \frac{1}{C \times W \times H} | G(h_i) - R(h_i) |_1 \right]$$

Pha 2: Tổng hợp khuôn mặt hoạt hình (Cartoon Face Synthesis)

Hàm mất mát cảm nhận (Perceptual Loss) dựa trên ResNet-18: $$\mathcal{L}{perceptual}(G) = \mathbb{E}{h_i \sim Data(H)} \left[ | \text{ResNet18}^{(5)}(h_i) - \text{ResNet18}^{(5)}(G(h_i)) |_1 \right]$$

Hàm mất mát đối nghịch (Adversarial Loss): $$\mathcal{L}{adv}(G, D) = \mathbb{E}{c_j \sim Data(C)} [\log D(c_j)] + \mathbb{E}_{h_i \sim Data(H)} [\log (1 - D(G(h_i)))]$$

Hàm mục tiêu tổng thể: $$\mathcal{L}{total} = \lambda_1 \mathcal{L}{perceptual}(G) + \lambda_2 \mathcal{L}_{adv}(G, D)$$ Trong đó thực nghiệm tối ưu xác định: $\lambda_1 = 180$ (bảo toàn cấu trúc nhận diện) và $\lambda_2 = 2$ (thúc đẩy biến đổi phong cách anime).

import torch
import torch.nn as nn
import torchvision.models as models

class CartoonLoss(nn.Module):
    """
    Hàm mất mát kết hợp giữa Perceptual Loss (ResNet-18) và Adversarial Loss
    """
    def __init__(self, lambda_perc=180.0, lambda_adv=2.0):
        super(CartoonLoss, self).__init__()
        self.lambda_perc = lambda_perc
        self.lambda_adv = lambda_adv
        
        # Trích xuất tầng feature thứ 5 của ResNet-18
        resnet18 = models.resnet18(pretrained=True)
        self.feature_extractor = nn.Sequential(*list(resnet18.children())[:7]).eval()
        for param in self.feature_extractor.parameters():
            param.requires_grad = False
            
        self.l1_loss = nn.L1Loss()
        self.bce_loss = nn.BCEWithLogitsLoss()

    def forward(self, real_h, fake_c, disc_fake_pred):
        # 1. Perceptual Content Loss
        feat_real = self.feature_extractor(real_h)
        feat_fake = self.feature_extractor(fake_c)
        loss_perc = self.l1_loss(feat_fake, feat_real)
        
        # 2. Adversarial Generator Loss
        valid_labels = torch.ones_like(disc_fake_pred)
        loss_adv = self.bce_loss(disc_fake_pred, valid_labels)
        
        # 3. Total Loss
        total_loss = self.lambda_perc * loss_perc + self.lambda_adv * loss_adv
        return total_loss, loss_perc, loss_adv

Thử nghiệm và đánh giá chất lượng

Đồ án đề xuất độ đo $Fscore_{gp}$ nhằm dung hòa giữa khả năng giữ nhận diện danh tính khuôn mặt gốc ($SSIM$) và độ chuẩn xác phong cách hoạt hình ($FID$): $$Fscore_{gp} = 2 \times \frac{(1 - \overline{FID}) \times SSIM}{(1 - \overline{FID}) + SSIM}$$ (Trong đó $\overline{FID}$ là chỉ số FID chuẩn hóa).

+-------------------------------------------------------------------------+
|                  BENCHMARK SO SÁNH CÁC MÔ HÌNH (TEST SET 500 ẢNH)        |
+---------------------+-------------------+-----------------+-------------+
| Model               | FID Score (Thấp tốt)| SSIM (Cao tốt)  | Fscore_gp   |
+---------------------+-------------------+-----------------+-------------+
| CycleGAN            | 68.42             | 0.4812          | 0.5120      |
| U-GAT-IT            | 61.15             | 0.5340          | 0.5841      |
| CartoonGAN          | 74.20             | 0.4510          | 0.4682      |
| CartoonGAN++        | 59.80             | 0.5520          | 0.6015      |
| Proposed Two-stage  | 57.34             | 0.6184          | 0.6729      |
+---------------------+-------------------+-----------------+-------------+

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

  1. Chất lượng hình ảnh vượt trội: Mô hình tạo ra ảnh anime với làn da mịn, mảng màu rõ ràng, viền mắt sắc sảo và đặc biệt bảo toàn được các đặc điểm nhận dạng khuôn mặt (tóc, dáng mắt, khuôn cằm) mà không bị biến dạng hình học như CycleGAN.
  2. Độ ổn định huấn luyện: Việc tiền huấn luyện bộ sinh qua mạng lọc làm mịn $R$ giúp loại bỏ hoàn toàn hiện tượng nhiễu hạt (messy noise) khi đối nghịch trực tiếp.
  3. Hiệu năng suy diễn: Tốc độ xử lý đạt 33 FPS trên GPU NVIDIA Titan X (trung bình 30ms/khung hình $256 \times 256$), sẵn sàng triển khai thực tế.

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

  1. Công bố bộ dữ liệu CartoonFace10k lớn nhất: Khắc phục triệt để điểm yếu của bộ dữ liệu Selfie2anime cũ (chỉ gồm 3,400 ảnh nữ, mất cân bằng giới tính hoàn toàn). CartoonFace10k cung cấp 10,000 ảnh chân dung hoạt hình chuẩn hóa với tỷ lệ nam/nữ 1:1, mở đường cho các nghiên cứu tiếp theo trong cộng đồng thị giác máy tính.
  2. Chiến lược Two-stage Fine-tuning đột phá: Phân rã bài toán phức tạp thành hai bước: "Trừu tượng hóa hình ảnh" $\rightarrow$ "Tổng hợp đặc trưng khuôn mặt hoạt hình". Phương pháp này giảm thiểu sự bất ổn định gradient của GAN, rút ngắn thời gian huấn luyện 50% so với mô hình Cycle-consistency.
  3. Độ đo đánh giá định lượng $Fscore_{gp}$: Cung cấp chuẩn đánh giá khách quan đầu tiên kết hợp hài hòa giữa chất lượng phân phối đồ họa hoạt hình (FID) và tính toàn vẹn cấu trúc thông tin khuôn mặt người dùng (SSIM).

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

Kịch bản ứng dụng

  • Công nghiệp truyện tranh & phim hoạt hình (Webtoon / Anime Production): Tự động chuyển đổi kịch bản ảnh chụp diễn viên/bối cảnh thành phác thảo hoạt hình, hỗ trợ họa sĩ tiết kiệm 70% thời gian vẽ lót ban đầu.
  • Mạng xã hội và ứng dụng giải trí (TikTok, Instagram, SnapChat, Prisma): Phát triển các bộ lọc (Filter Anime/Cartoon Face) thời gian thực cho người dùng tạo Avatar hoặc hiệu ứng video ngắn.
  • Tùy biến nhân vật Game (Game Character Customization): Chuyển ảnh đại diện thật của người chơi thành nhân vật 2D/3D anime trong các tựa game MMORPG.
+-------------------------------------------------------------------------+
|                  KIẾN TRÚC TRIỂN KHAI PRODUCTION PIPELINE               |
|                                                                         |
| [Client App / Web]                                                      |
| [Nginx API Gateway / Load Balancer]                                     |
| [FastAPI Service Worker (Docker Container)]                             |
+-------------------------------------------------------------------------+

Yêu cầu phần cứng và chiến lược mở rộng

  • Môi trường Server: 1x GPU NVIDIA T4 / RTX 3090 (24GB VRAM) có khả năng phục vụ đồng thời 40-50 requests/giây khi tối ưu hóa qua TensorRT FP16.
  • Chi phí vận hành & ROI: Giảm thiểu chi phí thuê máy chủ suy diễn tới 60% so với kiến trúc CycleGAN nhờ kích thước mô hình gọn nhẹ chỉ bằng một nửa.

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

Hạn chế kỹ thuật

  • Độ nhạy góc quay khuôn mặt: Mô hình đạt hiệu quả cao nhất ở góc nhìn chính diện hoặc nghiêng nhẹ ($< 30^{\circ}$); ở các góc nghiêng cực đại (profile view) hoặc bị che khuất một phần (kính râm, khẩu trang), chi tiết mắt hoạt hình sinh ra đôi khi chưa đồng nhất.
  • Độ phân giải đầu ra: Kích thước đầu ra cố định ở $256 \times 256$ pixels, khi phóng to lên chuẩn 4K in ấn cần kết hợp thêm mô hình siêu phân giải (Super-Resolution).

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

  1. Tích hợp mô hình khuếch tán (Diffusion Models): Kết hợp ControlNet và Stable Diffusion để tăng cường độ phân giải chi tiết lên $1024 \times 1024$ và hỗ trợ đa phong cách hoạt hình (Pixar 3D, Disney Classic, Ghibli, Manga).
  2. Cartoonization đa đối tượng và Video: Mở rộng xử lý video nhiều người với tính nhất quán thời gian (Temporal Consistency), hạn chế hiện tượng nhấp nháy khung hình (flickering).

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

+-------------------------------------------------------------------------+
|                             GIÁ TRỊ MANG LẠI                            |
+-------------------------------------------------------------------------+
| Sinh viên & Học viên:                                                   |
| - Mã nguồn mẫu và tài liệu tham khảo chuyên sâu về GAN không ghép cặp   |
| - Nắm vững phương pháp trích xuất Perceptual Loss và đánh giá FID/SSIM  |
+-------------------------------------------------------------------------+
| Lập trình viên & Kỹ sư AI:                                              |
| - Kiến trúc Generator/Discriminator tối ưu hóa cho bài toán Style Transfer|
| - Pipeline huấn luyện 2 giai đoạn ổn định, dễ tái sinh và tinh chỉnh    |
+-------------------------------------------------------------------------+
| Họa sĩ & Studio Đồ họa:                                                 |
| - Công cụ hỗ trợ phác thảo anime tự động, tăng 3-5 lần năng suất làm việc|
| - Giảm đáng kể chi phí nhân công trong khâu tiền kỳ truyện tranh kỹ thuật số|
+-------------------------------------------------------------------------+
| Cộng đồng Nghiên cứu Khoa học:                                          |
| - Tiếp cận bộ dữ liệu chuẩn hóa 10,000 ảnh CartoonFace10k cân bằng      |
| - Ứng dụng hệ số Fscore_gp cho các bài toán Unsupervised Image Translation|
+-------------------------------------------------------------------------+

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

1. Yêu cầu cấu hình tối thiểu để triển khai mô hình (System Requirements)?

Để triển khai suy diễn phục vụ dịch vụ API:

  • Tối thiểu (CPU Only): CPU Intel Xeon / AMD Ryzen 4 cores, 8GB RAM (Độ trễ $\sim 450$ms/ảnh).
  • Khuyến nghị (GPU Serving): NVIDIA GTX 1660 / T4 trở lên, 16GB RAM, hỗ trợ CUDA 11.x (Độ trễ $\le 30$ms/ảnh).

2. Giới hạn khả năng mở rộng (Scalability) và giải pháp khắc phục?

Khi lưu lượng tải tăng đột biến, hệ thống có thể gặp nút thắt cổ chai tại khâu tiền xử lý cắt/căn chỉnh khuôn mặt. Giải pháp tối ưu là tách rời pipeline thành các Microservices bất đồng bộ, sử dụng Triton Inference Server với dynamic batching để tối đa hóa hiệu suất phần cứng GPU.

3. Mô hình tích hợp vào hệ thống hiện có (Web/Mobile App) như thế nào?

Mô hình Generator được đóng gói dưới định dạng ONNX hoặc TorchScript. Phía backend cung cấp RESTful API hoặc gRPC Endpoint tiếp nhận ảnh Base64/Binary, trả về URL ảnh hoạt hình đã lưu trên CDN chỉ sau một lần gọi hàm.

4. Quy trình bảo trì và cập nhật phong cách mới (Maintenance)?

Để bổ sung phong cách anime mới (ví dụ: Chibi, Marvel Comic), chỉ cần thay đổi 10,000 ảnh phong cách mới vào tập Data(C) và tiếp tục Fine-tune Stage 2 trong khoảng 15-20 epochs mà không cần huấn luyện lại từ đầu Stage 1.

5. Phân tích chi phí và thời gian hoàn vốn đầu tư (ROI)?

Triển khai một node GPU NVIDIA T4 trên cloud (chi phí $\sim 150-200$ USD/tháng) có thể xử lý hơn 5 triệu lượt ảnh/tháng. Đối với các studio truyện tranh hoặc ứng dụng mạng xã hội, giải pháp giúp hoàn vốn ngay trong 1-2 tháng đầu tiên thông qua tiết kiệm nhân lực đồ họa và thu hút lượng người dùng tương tác tự nhiên.


Kết luận

Khóa luận tốt nghiệp "Chuyển Đổi Ảnh Chân Dung Thành Hoạt Hình Sử Dụng Mạng Sinh Đối Nghịch" của tác giả Hồ Sỹ Tuyên đã giải quyết xuất sắc bài toán biến đổi chân dung người thật sang tranh vẽ anime không cần dữ liệu ghép cặp. Bằng việc xây dựng bộ dữ liệu chất lượng cao CartoonFace10k, đề xuất quy trình huấn luyện Two-stage Fine-tuning thông minh và công thức đánh giá $Fscore_{gp}$ toàn diện, công trình không chỉ đạt bước tiến vượt bậc về mặt học thuật mà còn mở ra tiềm năng thương mại hóa rộng lớn trong ngành công nghiệp giải trí kỹ thuật số.