Giới thiệu dự án

Trong kỷ nguyên chuyển đổi số và tự động hóa công nghiệp, thị giác máy tính đóng vai trò tiên phong trong việc thu hẹp khoảng cách giữa thế giới thực và dữ liệu số. Theo các báo cáo phân tích thị trường toàn cầu, thị trường Nhận dạng ký tự quang học (OCR) và Nhận dạng văn bản trong ảnh cảnh (Scene Text Recognition - STR) dự kiến đạt quy mô hơn 13,3 tỷ USD với tốc độ tăng trưởng kép hàng năm (CAGR) trên 15%. Tuy nhiên, khoảng 80% dữ liệu hình ảnh thực tế được thu thập từ camera hành trình, thiết bị bay không người lái (UAV) và điện thoại thông minh đều là ảnh cảnh tự nhiên không ràng buộc, chứa văn bản có độ phức tạp cao về mặt thị giác.

Khác với văn bản scan tài liệu truyền thống có định dạng phẳng và nền đồng nhất, bài toán nhận dạng văn bản trong ảnh cảnh tự nhiên (Scene Text Recognition - STR) tại Việt Nam đối mặt với các thách thức kỹ thuật đặc thù:

  • Biến dạng hình học tùy ý (Arbitrary Shapes): Văn bản trên biển hiệu quảng cáo thường được thiết kế uốn lượn, cong tròn, đa hướng hoặc biến dạng góc nhìn (perspective distortion) do góc chụp nghiêng.
  • Tính đa dạng về font chữ và nghệ thuật: Phông chữ cách điệu, bảng chữ nổi, đèn LED với màu sắc và kích thước thay đổi đột ngột.
  • Nhiễu môi trường ngoại cảnh: Sự biến thiên mạnh mẽ của điều kiện ánh sáng (ngược sáng, ban đêm), hiện tượng mờ nhòe do chuyển động (motion blur), phản xạ mặt kính và vật cản che khuất.
  • Đặc trưng ngôn ngữ tiếng Việt: Hệ thống 89 ký tự bao gồm chữ cái có dấu thanh (sắc, huyền, hỏi, ngã, nặng) và dấu phụ ($\hat{a}$, $\breve{a}$, $\hat{e}$, $\hat{o}$, $\sigma$, $u$) rất dễ bị mất dấu hoặc nhận diện sai khi độ phân giải suy giảm.
  • Sự khan hiếm tài nguyên dữ liệu mở: Các tập dữ liệu chuẩn thế giới như ICDAR2015 hay Total-Text chủ yếu phục vụ tiếng Anh hoặc tiếng Trung; số lượng hình ảnh biển hiệu tiếng Việt công khai trước đây gần như không đáng kể. Trong khi đó, các dịch vụ thương mại như Google Cloud Vision API duy trì chi phí sử dụng cao ($1.50/1,000 requests) và đóng kín mã nguồn.
+-----------------------------------------------------------------------------------+
|                                 MỤC TIÊU DỰ ÁN                                    |
+-----------------------------------------------------------------------------------+
| 1. Khảo sát & hệ thống hóa các kiến trúc Deep Learning tiên tiến cho bài toán STR.|
| 2. Xây dựng bộ dữ liệu SignboardText chuyên biệt cho biển hiệu cảnh tiếng Việt.   |
| 3. Hiện thực hóa kiến trúc Bottom-up Text Detection DRRG kết hợp Graph Attention. |
| 4. Tích hợp pipeline Nhận diện chuỗi ký tự tiếng Việt với VietOCR (Transformer).  |
| 5. Phát triển ứng dụng Web UI trực quan hóa bounding boxes và transcription.     |
+-----------------------------------------------------------------------------------+

Phương pháp tiếp cận được đề xuất trong đồ án là mô hình 2 giai đoạn (Two-stage STR Pipeline):

  1. Phát hiện văn bản (Text Detection): Tiếp cận theo hướng Bottom-up, phân rã đối tượng văn bản thành các thành phần cục bộ (text components), sau đó áp dụng Mạng chú ý đồ thị (Graph Attention Network - GAT) để suy luận quan hệ hình học và ngữ nghĩa phi Euclid (Non-Euclidean), khắc phục hạn chế truyền tải thông tin đẳng hướng của Graph Convolutional Network (GCN) truyền thống.
  2. Nhận dạng chữ viết (Text Recognition): Sử dụng kiến trúc VietOCR tích hợp mạng nơ-ron tích chập (CNN) kết hợp cơ chế Attention/Seq2Seq nhằm giải mã chính xác chuỗi ký tự tiếng Việt có dấu.

Kết quả kỳ vọng của hệ thống là đạt F1-score trên $80%$ trong khâu phát hiện văn bản hình dạng tùy ý trên tập dữ liệu thực nghiệm, độ chính xác nhận dạng ký tự đạt trên $85%$, đồng thời cung cấp bộ dữ liệu SignboardText đóng gói chuẩn hóa cho cộng đồng nghiên cứu mã nguồn mở. Phạm vi nghiên cứu tập trung vào ảnh cảnh bảng hiệu quảng cáo ngoài trời tại các đô thị Việt Nam.


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 phát hiện văn bản trong ảnh hiện nay được phân chia thành hai trường phái chính: Top-down (tiếp cận từ trên xuống) và Bottom-up (tiếp cận từ dưới lên).

Phương pháp Loại kiến trúc Ưu điểm Nhược điểm Khả năng xử lý Arbitrary Shape
DBNet (Differentiable Binarization) Top-down (Segmentation-based) Tốc độ suy diễn cực nhanh ($>40$ FPS), kiến trúc end-to-end đơn giản. Dễ dính liền các dòng văn bản đặt sát nhau; khó nhận diện chữ uốn cong góc rộng. Trung bình
TextSnake Bottom-up (Circle-based Sliding) Biểu diễn được văn bản cong thông qua chuỗi đĩa tròn giao nhau (TR, TCL). Thuật toán hậu xử lý qua 3 bước (Centralizing, Striding, Sliding) chậm; dễ đứt gãy text line. Khá
DRRG (GCN) Bottom-up (Graph Reasoning) Sử dụng đặc trưng hình học phi Euclid $D=(x, y, h, w, \cos\theta, \sin\theta)$, liên kết text component chuẩn xác. GCN gán trọng số cạnh cố định/đẳng hướng; dễ bị nhiễu bởi các component nền (background). Tốt
DRRG + GAT (Đề xuất) Bottom-up (Graph Attention Reasoning) Tự động học trọng số động giữa các node thông qua Self-Attention; chịu nhiễu tốt, liên kết xa tối ưu. Chi phí tính toán đồ thị cao hơn $10-15%$ so với mạng CNN thuần túy. Rất tốt

Ưu tiên hóa yêu cầu kỹ thuật theo mô hình MoSCoW:

  • Must Have: Pipeline phát hiện văn bản đa hình dạng; giải mã được 89 ký tự tiếng Việt; bộ dữ liệu chuẩn hóa gán nhãn theo định dạng ICDAR2015.
  • Should Have: Mô-đun Graph Attention Network (GAT) thay thế GCN; cơ chế trích xuất đặc trưng xoay Rotation Region of Interest (RRoI).
  • Could Have: Web UI dashboard cho phép tải ảnh lên và xem bounding box theo thời gian thực.
  • Won't Have (trong phiên bản hiện tại): Tối ưu hóa suy diễn mức mili-giây trên phần cứng di động siêu nhẹ (Edge AI).

Thiết kế hệ thống

Kiến trúc tổng thể của hệ thống bao gồm hai giai đoạn độc lập được kết nối tuần tự thông qua luồng dữ liệu chuẩn hóa.

graph TD
    A[Input Scene Image] --> B[Backbone: ResNet-50 + FPN]
    B --> C[Text Component Generator: TCL & TR]
    C --> D[Local Graph Construction: k-NN / Distance]
    D --> E[Graph Attention Network - GAT Layer]
    E --> F[Relational Reasoning: Edge Link Prediction]
    F --> G[Connected Components Grouping & Post-processing]
    G --> H[Cropped Text Bounding Boxes]
    H --> I[VietOCR: CNN + Seq2Seq Transformer]
    I --> J[Final Vietnamese Text Transcription]

Technology Stack và phiên bản triển khai:

  • Ngôn ngữ lập trình: Python 3.8.10
  • Deep Learning Framework: PyTorch 1.10.2+cu113, Torchvision 0.11.3
  • Xử lý Đồ thị (Graph Processing): PyTorch Geometric (PyG) 2.0.4 / Deep Graph Library (DGL) 0.8.0
  • Xử lý ảnh & Thị giác máy tính: OpenCV 4.5.5.64, Albumentations 1.1.0, Shapely 1.8.0
  • Frontend & Visualization: Streamlit 1.8.0, Flask 2.0.3
  • Nền tảng huấn luyện phần cứng: NVIDIA GeForce RTX 3090 (24GB VRAM) / Tesla V100, CUDA 11.3, cuDNN 8.2.1

Cấu trúc định dạng dữ liệu đầu ra JSON chuẩn hóa cho mỗi ảnh:

{
  "image_name": "signboard_hcm_00124.jpg",
  "annotations": [
    {
      "polygon": [[120, 45], [380, 52], [376, 110], [116, 102]],
      "confidence": 0.964,
      "transcription": "TIỆM BÁNH BẢO NGỌC"
    },
    {
      "polygon": [[118, 125], [290, 128], [288, 165], [116, 162]],
      "confidence": 0.941,
      "transcription": "ĐẶC SẢN ĐÀ LẠT"
    }
  ]
}

Methodology

Quy trình nghiên cứu áp dụng mô hình Agile lặp (Iterative Engineering) với 4 giai đoạn chính kéo dài trong 16 tuần:

  1. Thu thập & Gán nhãn dữ liệu (Tuần 1 - 4): Thu thập 1,175 ảnh thực tế độ phân giải cao; gán nhãn đa giác 4 điểm/8 điểm theo chuẩn ICDAR2015; phân rã 59,588 crops cho text recognition.
  2. Xây dựng mô hình Phát hiện văn bản (Tuần 5 - 9): Tích hợp mạng backbone ResNet-50 + FPN; thiết kế mô-đun sinh Local Graph $A$ và tính toán đặc trưng hình học $D$; cài đặt cơ chế Graph Attention Network (GAT).
  3. Tích hợp mô hình Nhận dạng & Đóng gói Pipeline (Tuần 10 - 13): Huấn luyện mô hình VietOCR trên 59,588 mẫu chữ tiếng Việt; ghép nối 2 module thông qua ma trận biến đổi Affine/Cropping.
  4. Đánh giá thực nghiệm & Phát triển Web Demo (Tuần 14 - 16): Thực nghiệm chéo (Ablation study) giữa TextSnake, DRRG-GCN và DRRG-GAT; đóng gói ứng dụng web visualization.

Implementation và kết quả

Development process

Thành phần cốt lõi của giải pháp là việc mô hình hóa các thành phần văn bản cục bộ dưới dạng đồ thị $G = (V, E)$, trong đó mỗi nút $v_i \in V$ là một text component mang vector đặc trưng $h_i$ kết hợp giữa thông tin thị giác trích xuất từ RRoI và vector hình học 6 chiều:

$$D_i = (x_i, y_i, h_i, w_i, \cos\theta_i, \sin\theta_i)$$

Khoảng cách và mối liên kết giữa các component liền kề được tính toán dựa trên Local Graph Adjacency Matrix $A \in \mathbb{R}^{N \times N}$. Trọng số chú ý (Attention Coefficient) giữa hai nút $v_i$ và $v_j$ trong mô-đun Graph Attention Network (GAT) được tính theo công thức:

$$\alpha_{ij} = \frac{\exp\left(\text{LeakyReLU}\left(\mathbf{a}^T [\mathbf{W}h_i \parallel \mathbf{W}h_j]\right)\right)}{\sum_{k \in \mathcal{N}_i} \exp\left(\text{LeakyReLU}\left(\mathbf{a}^T [\mathbf{W}h_i \parallel \mathbf{W}h_k]\right)\right)}$$

Trong đó $\mathbf{W} \in \mathbb{R}^{F' \times F}$ là ma trận biến đổi tuyến tính trọng số, $\mathbf{a} \in \mathbb{R}^{2F'}$ là vector trọng số của tầng feed-forward, $\parallel$ biểu diễn phép nối vector (concatenation), và $\mathcal{N}_i$ là tập các đỉnh láng giềng của $v_i$.

import torch
import torch.nn as nn
import torch.nn.functional as F

class GraphAttentionLayer(nn.Module):
    """
    Hiện thực hóa tầng Graph Attention (GAT) cho suy luận quan hệ
    giữa các thành phần văn bản trong mô hình DRRG.
    """
    def __init__(self, in_features: int, out_features: int, dropout: float = 0.2, alpha: float = 0.2):
        super(GraphAttentionLayer, self).__init__()
        self.in_features = in_features
        self.out_features = out_features
        self.dropout = dropout
        self.alpha = alpha

        self.W = nn.Parameter(torch.empty(size=(in_features, out_features)))
        nn.init.xavier_uniform_(self.W.data, gain=1.414)

        self.a = nn.Parameter(torch.empty(size=(2 * out_features, 1)))
        nn.init.xavier_uniform_(self.a.data, gain=1.414)

        self.leakyrelu = nn.LeakyReLU(self.alpha)

    def forward(self, h: torch.Tensor, adj: torch.Tensor) -> torch.Tensor:
        # h: [N, in_features], adj: [N, N]
        Wh = torch.mm(h, self.W) # [N, out_features]
        N = Wh.size(0)

        # Tính toán ma trận năng lượng chú ý giữa mọi cặp nút
        Wh1 = torch.matmul(Wh, self.a[:self.out_features, :]) # [N, 1]
        Wh2 = torch.matmul(Wh, self.a[self.out_features:, :]) # [N, 1]

        # Broadcast phép cộng: e_ij = LeakyReLU(a^T [Wh_i || Wh_j])
        e = self.leakyrelu(Wh1 + Wh2.T) # [N, N]

        # Áp dụng mặt nạ từ ma trận kề Local Graph
        zero_vec = -9e15 * torch.ones_like(e)
        attention = torch.where(adj > 0, e, zero_vec)
        attention = F.softmax(attention, dim=1)
        attention = F.dropout(attention, self.dropout, training=self.training)

        # Tổng hợp đặc trưng láng giềng có trọng số
        h_prime = torch.matmul(attention, Wh)
        return F.elu(h_prime)

Quá trình gom cụm văn bản (Aggregation) sử dụng thuật toán duyệt đồ thị BFS trên các cạnh có xác suất liên kết $P_{link}(v_i, v_j) > \tau_{threshold}$ (với $\tau_{threshold} = 0.55$).

Testing và validation

Hiệu năng phát hiện văn bản được đánh giá trên tập kiểm thử độc lập gồm 235 ảnh từ bộ dữ liệu SignboardText theo các thang đo chuẩn: Precision (P), Recall (R), và Harmonic Mean (H-mean / F1-score) với ngưỡng Intersection over Union (IoU) $\ge 0.5$.

Precision (P) = TP / (TP + FP)
Recall (R)    = TP / (TP + FN)
H-mean (F1)   = 2 * (Precision * Recall) / (Precision + Recall)
Mô hình kiểm nghiệm Mô-đun suy luận liên kết Precision (%) Recall (%) H-mean / F1 (%) Tốc độ suy luận (FPS)
TextSnake (Baseline) None (Sliding Discs Post-proc) 75.42% 68.15% 71.60% 4.2
DRRG (GCN gốc) Graph Convolutional Network 82.10% 76.85% 79.38% 3.8
DRRG + GAT (Đề xuất) Graph Attention Network 85.64% 80.32% 82.90% 3.5

Đối với giai đoạn Nhận dạng văn bản (Text Recognition), mô hình VietOCR được kiểm thử trên 11,918 ảnh cắt từ SignboardText:

  • Character Accuracy Rate (CAR): $94.12%$
  • Word Accuracy Rate (WAR): $86.45%$
  • Thời gian suy diễn trung bình: $28\text{ ms/crop}$

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

Hệ thống đã hoàn thành $100%$ các mục tiêu kỹ thuật đề ra ban đầu:

  • Cải thiện chỉ số H-mean thêm $+11.30%$ so với mô hình cơ sở TextSnake và $+3.52%$ so với mô hình DRRG gốc sử dụng GCN.
  • Khả năng bao phủ các từ ngữ phức tạp có dấu tiếng Việt trên biển hiệu đạt mức độ chính xác thực tế cao trong các điều kiện chụp thực địa.
  • Xây dựng hoàn chỉnh ứng dụng Web Demo hỗ trợ hiển thị đồng thời ma trận kết nối đồ thị cục bộ, khung đa giác bao quanh văn bản và kết quả dịch nghĩa văn bản theo định dạng JSON.

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

+-----------------------------------------------------------------------------------------+
|                               ĐÓNG GÓP KHOA HỌC CHÍNH                                   |
+-----------------------------------------------------------------------------------------+
| [1] Bộ dữ liệu SignboardText: 1,175 ảnh biển quảng cáo thực tế, 59,588 text instances.  |
| [2] Đổi mới kiến trúc: Tích hợp GAT thay thế GCN, giải quyết liên kết phi Euclid.      |
| [3] Pipeline End-to-End Tiếng Việt: Kết hợp hoàn chỉnh DRRG-GAT và VietOCR Transformer. |
+-----------------------------------------------------------------------------------------+
  1. Bộ dữ liệu SignboardText cho cộng đồng nghiên cứu tiếng Việt: Cung cấp tập dữ liệu đầu tiên tập trung chuyên biệt vào bảng quảng cáo, lấp đầy khoảng trống dữ liệu STR tiếng Việt tự nhiên vốn rất hạn chế trước đây.
  2. Cải tiến cơ chế chú ý đồ thị cho phát hiện văn bản hình dạng tùy ý: Việc thay thế GCN bằng GAT cho phép mô hình tự động phân bổ trọng số liên kết lớn cho các component cùng một dòng chữ và triệt tiêu trọng số đối với các component thuộc dòng chữ khác hoặc nền nhiễu. Điều này đặc biệt hữu ích khi xử lý các bảng hiệu có nhiều dòng chữ đan xen kích thước to nhỏ khác nhau.
  3. Mã nguồn mở và khả năng tái lập (Reproducibility): Cung cấp toàn bộ pipeline từ tiền xử lý, sinh đồ thị cục bộ, huấn luyện mô hình đến trực quan hóa kết quả trên nền tảng web.

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

Kịch bản ứng dụng trong đời sống

  • Hệ thống Số hóa Dữ liệu Doanh nghiệp & Địa điểm (Smart City POI Extraction): Tự động thu thập thông tin tên cửa hàng, địa chỉ, số điện thoại từ hình ảnh chụp camera hành trình xe buýt/xe công nghệ để cập nhật cơ sở dữ liệu bản đồ số (GIS).
  • Hỗ trợ người khiếm thị (Assistive Technology): Tích hợp vào kính thông minh hoặc ứng dụng di động để đọc to thông tin biển hiệu đường phố, cửa hàng theo thời gian thực.
  • Hệ thống giám sát đô thị & Quản lý quảng cáo: Tự động kiểm tra kích thước, nội dung và vị trí lắp đặt biển hiệu quảng cáo ngoài trời theo quy định pháp lý đô thị.

Kiến trúc triển khai & Phân tích Chi phí - Lợi ích (ROI)

Mô hình được đóng gói thành Microservice thông qua Docker container, triển khai backend với FastAPI kết hợp ONNX Runtime/TorchScript để tăng tốc độ thực thi:

Client (Web/Mobile App)
       │
       ▼ (HTTPS / REST API)
[API Gateway / NGINX]
       │
       ├──► [Detection Service: DRRG-GAT (GPU Worker)] ──► Bounding Boxes
       │
       └──► [Recognition Service: VietOCR (GPU Worker)] ──► Text JSON Output

Phân tích hiệu quả kinh tế so sánh trên quy mô xử lý 1,000,000 ảnh/tháng:

  • Chi phí sử dụng Google Cloud Vision API: $1,000,000 \times $0.0015 = $1,500\text{/tháng}$ ($\approx 37,500,000\text{ VND/tháng}$).
  • Chi phí tự triển khai hệ sinh thái Open-source (1 Server GPU NVIDIA RTX 4090/A4000 Cloud): $\approx $250\text{ - }$350\text{/tháng}$.
  • Mức tiết kiệm chi phí: Giảm hơn $75% - 80%$ chi phí vận hành hàng tháng, hoàn vốn đầu tư phần cứng trong vòng dưới 6 tháng hoạt động.

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

Mặc dù đạt được những kết quả ấn tượng, đồ án vẫn còn một số điểm giới hạn kỹ thuật cần được tiếp tục hoàn thiện:

  • Độ trễ khi sinh đồ thị cục bộ (Graph Construction Overhead): Bước tính toán $k$-NN và sinh ma trận kề $A$ cho hàng trăm text components trên mỗi ảnh làm tăng thời gian xử lý tiền suy luận đồ thị.
  • Độ phụ thuộc giữa 2 giai đoạn (Cascading Error): Nếu giai đoạn phát hiện (Detection) cắt thiếu một phần ký tự dấu thanh, giai đoạn nhận dạng (Recognition) sẽ không thể phục hồi được ngữ nghĩa chính xác.
  • Hạn chế phần cứng: Mô hình yêu cầu dung lượng bộ nhớ GPU tối thiểu 8GB VRAM để huấn luyện mượt mà với batch size tiêu chuẩn.

Hướng phát triển tiếp theo:

  1. Nghiên cứu mô hình End-to-End Differentiable Graph STR hợp nhất hoàn toàn hai giai đoạn phát hiện và nhận dạng vào chung một mạng đồ thị duy nhất.
  2. Ứng dụng kỹ thuật Nén mô hình (Knowledge Distillation) và Lượng tử hóa trọng số (INT8 Quantization qua TensorRT) để giảm độ trễ xuống dưới $50\text{ ms/ảnh}$, sẵn sàng triển khai trên các thiết bị nhúng (NVIDIA Jetson Nano/Xavier).

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

+-------------------+--------------------------------------------------------------------+
| Đối tượng         | Giá trị và Lợi ích định lượng mang lại                             |
+-------------------+--------------------------------------------------------------------+
| Sinh viên /       | Nguồn tài liệu học thuật thực chiến về cách kết hợp Graph Neural   |
| Nghiên cứu sinh   | Network (GNN/GAT) vào bài toán Computer Vision; mã nguồn tham khảo.|
+-------------------+--------------------------------------------------------------------+
| Kỹ sư AI /        | Thiết kế kiến trúc module hóa rõ ràng, dễ dàng tích hợp vào        |
| Developers        | các hệ thống OCR doanh nghiệp có sẵn.                              |
+-------------------+--------------------------------------------------------------------+
| Doanh nghiệp /    | Giảm thiểu 75-80% chi phí API thương mại; bảo mật toàn diện        |
| Startups          | dữ liệu nội bộ khi tự chủ hoàn toàn hạ tầng AI.                    |
+-------------------+--------------------------------------------------------------------+
| Cơ quan quản lý   | Công cụ số hóa tự động hóa quản lý biển hiệu và địa chỉ đô thị.    |
+-------------------+--------------------------------------------------------------------+

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

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

Để chạy suy diễn (inference) hệ thống, cấu hình khuyến nghị gồm: CPU 4 cores (Intel Core i5 thế hệ 10 hoặc AMD Ryzen 5), RAM 16GB, và GPU chuyên dụng tối thiểu NVIDIA GTX 1660 (6GB VRAM) hoặc tốt nhất là RTX 3060 (12GB VRAM). Nếu chỉ chạy trên CPU, thời gian phản hồi cho mỗi ảnh sẽ dao động từ $1.2 - 2.5\text{ giây}$.

2. Mô hình xử lý các trường hợp bảng hiệu bị khuất hoặc chữ cong 360 độ như thế nào?

Nhờ cơ chế biểu diễn Bottom-up của DRRG, chữ cong được chia nhỏ thành các đoạn hình chữ nhật cục bộ mang thuộc tính góc quay $(\cos\theta, \sin\theta)$. Mô-đun Graph Attention Network (GAT) có khả năng liên kết các đoạn này dựa trên trọng số tự học bất kể đường cong hay góc xoay mà không bị giới hạn bởi bounding box hình chữ nhật chuẩn.

3. Làm thế nào để tích hợp mô hình vào hệ thống phần mềm sẵn có?

Hệ thống cung cấp sẵn interface dạng RESTful API thông qua FastAPI. Nhà phát triển chỉ cần gửi yêu cầu POST chứa tệp tin ảnh hoặc URL ảnh đến endpoint /api/v1/ocr/predict, hệ thống sẽ trả về định dạng JSON chứa danh sách đa giác tọa độ và chuỗi văn bản tương ứng.

4. Chi phí bảo trì và độ phức tạp khi cập nhật từ vựng mới ra sao?

Kiến trúc VietOCR sử dụng cơ chế Attention ở cấp độ ký tự (Character-level / Subword tokenization), do đó mô hình có khả năng nhận dạng và ghép nối được mọi từ ngữ mới trong tiếng Việt mà không cần phải huấn luyện lại từ đầu như các mô hình nhận dạng từ cố định (Word-level classification).

5. Tại sao không sử dụng các mô hình End-to-End lớn như Donut hay TrOCR?

Các mô hình Transformer thuần End-to-End như TrOCR hay Donut đòi hỏi tài nguyên tính toán cực lớn (thường cần GPU A100 khi huấn luyện) và rất nhạy cảm với việc định vị tọa độ chính xác của nhiều cụm văn bản nằm rải rác trên một bức ảnh cảnh rộng. Mô hình 2 giai đoạn kết hợp GAT mang lại sự cân bằng tối ưu giữa độ chính xác hình học, khả năng kiểm soát lỗi và chi phí phần cứng triển khai thực tế.


Kết luận

Đồ án "Áp dụng Graph Attention Network cho bài toán nhận dạng văn bản tiếng Việt trong ảnh" đã giải quyết thành công bài toán phát hiện và nhận diện chữ có hình dạng bất kỳ trong ảnh cảnh biển hiệu quảng cáo tự nhiên tại Việt Nam. Bằng việc kết hợp sáng tạo giữa mô hình học quan hệ đồ thị DRRG + GAT và mạng giải mã chuỗi VietOCR, giải pháp đạt chỉ số H-mean 82.90% trên tập dữ liệu thực tế SignboardText, vượt trội hơn hẳn các phương pháp truyền thống.

Công trình không chỉ mang giá trị học thuật cao trong việc ứng dụng mạng nơ-ron đồ thị vào thị giác máy tính, mà còn mang lại giá trị ứng dụng thực tiễn to lớn cho bài toán số hóa đô thị, bản đồ số và công nghệ hỗ trợ. Toàn bộ mã nguồn, trọng số mô hình và bộ dữ liệu được định hướng đóng gói mã nguồn mở, tạo nền tảng vững chắc cho các nghiên cứu chuyên sâu tiếp theo trong cộng đồng Trí tuệ Nhân tạo Việt Nam.