2 CÁC PHƯƠNG PHÁP TIẾP CẬN BÀI TOÁN
3.2 Kiến trúc mô hình
Một vấn đề của Phương pháp nhận dạng từng câu - Sentence Based OCR đã được nhắc tới ở chương trước, đó là việc nó phụ thuộc vào kết quả của nhiều bài toán khác, bao gồm nhận diện dòng chữ và cân chỉnh dòng chữ, qua thời gian nghiên cứu, luồng OCR được tôi thiết kế như dưới đây:
Hình 3.1: Kiến trúc mô hình OCR cải tiến.Kiến trúc trên được thiết kế gồm các thành phần sau: Kiến trúc trên được thiết kế gồm các thành phần sau:
• Nhận diện dòng chữ: Mô hình được chọn là mô hình Text Detection with Differentiable Binarization [42] được công bố năm 2020, thuộc lớp thuật toán Nhận diện dòng chữ sử dụng mặt nạ (Mask Text Seg- mentation) hiện đang là mô hình top 1 trên các bộ dữ liệu về Nhận dạng dòng chữ.
xoay dòng chữ được huấn luyện trên kiến trúc Efficientnetv2 [43].
• OCR từng dòng chữ: Là mô hình chính của luận văn, được huấn luyện sử dụng mô hình Xception Attention OCR.
3.2.1 Mô hình Text Detection with Differentiable Binariza-tion [42] tion [42]
Như đã được mô tả ở chương 2, mục tiêu của mô hình là nhận diện được các dòng chữ, thiết kế của mô hình được thể hiện như dưới đây:
Hình 3.2: Kiến trúc mô hình Text Detection with Differentiable Binarization. Nguồn: [42]
Điểm mạnh của mô hình này là thay đổi hướng tiếp cận bài toán Text Detection từ mô hình Nhận dạng vật thể (Object Detection) sang mô hình Mặt nạ vật thể (Object Segmentation), vì thực ra dữ liệu trong thực tế dòng chữ xuất hiện ở nhiều cấu trúc: Nghiêng, dọc, cong,... chứ không chỉ xuất hiện ở dạng hình chữ nhật (Bounding Box).
Sau khi có kết quả mặt nạ dòng chữ, các dòng chữ sẽ được cắt ra và thực hiện việc dự đoán hướng dòng chữ.
3.2.2 Mô hình phân lớp (Classification) hướng xoay dòngchữ chữ
Mô hình phân lớp hướng xoay dòng chữ là một mô hình được tôi huấn luyện theo kiến trúc cnn sử dụng mô hình [43], được mô tả như dưới đây:
Hình 3.3: Kiến trúc mô hình phân lớp (Classification) hướng xoay dòng chữ.Các dòng chữ sẽ được đưa vào để nhận diện hướng chính xác trong 4 Các dòng chữ sẽ được đưa vào để nhận diện hướng chính xác trong 4 hướng 0, 90, 180, 270 độ sau đó xoay theo hướng chính xác.
3.2.3 Mô hình Xception Attention OCR
Cuối cùng sau khi đã xoay, các dòng chữ sẽ được đưa vào mô hình OCR để nhận diện, mô hình đã được cân đối để cải tiến phù hợp với bài toán OCR tiếng Việt.
Hình 3.4: Kiến trúc mô hình Xception Attention OCR.Bản chất mô hình được thiết kế gồm các thành phần: Bản chất mô hình được thiết kế gồm các thành phần:
• Encoder: Sử dụng kiến trúc mô hình CNN học và dự đoán các đặc điểm hình ảnh đã được nhắc đến ở chương 1.3, tuy nhiên trong trường hợp này, tôi sử dụng mạng kiến trúc [63] có đặc điểm nhẹ nhưng mang độ chính xác cao khi so sánh với các kiến trúc khác, được ứng dụng và mở rộng từ hai kiến trúc nổi tiếng là Resnet và Inception.
• Encoder Bi-LSTM: Mô hình LSTM và Bi-LSTM đã được nhắc đến ở 1.4 mang đặc điểm phân tích và dự đoán ngữ nghĩa, đây là một phần rất quan trọng cho các mô hình ocr nhằm đảm bảo việc dự đoán đúng chính tả, xử lý được các trường hợp ảnh mờ, mất nét nhưng vẫn mang sắc thái ngữ nghĩa.
• Decoder Lớp nơ-ron chú ý - Attention Layer: Đây là phần dự đoán của mô hình, Attention được nhắc đến ở 1.6 mang nhiệm vụ tổng hợp kết quả, attention có thế mạnh rất lớn tập trung vào việc học các thông tin dòng chữ nghiêng, dọc, uốn lượn mà các mô hình khác ví dụ CTC rất khó học.