Khóa luận tốt nghiệp: Đánh giá kiến trúc Transformer trong nhận diện văn bản tiếng Việt

Luận văn tốt nghiệp toán học nghiên cứu tốt nghiệp khoa học máy tính đánh giá kiến trúc transformer cho bài toán nhận diện văn bản tiếng, điều tra thực trạng, phân tích số liệu,

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2021

93
8
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

TÓM TẮT KHÓA LUẬN

DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN

1. CHƯƠNG 1: TỔNG QUAN

1.1. Mục tiêu và phạm vi

1.2. Đóng góp của khóa luận

1.3. Cấu trúc khóa luận

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN

2.1. Bài toán nhận diện văn bản trong ảnh

2.2. Các kiến thức cơ sở

2.2.1. Mạng nơ-ron tích chập (Convolutional Neural Network)

2.2.2. Phân đoạn ảnh (Image Segmentation)

2.2.3. HRNet: High-Resolution Network

2.2.4. Mạng nơ-ron hồi quy (Recurrent Neural Network)

2.2.4.1. Kiến trúc tổng quan
2.2.4.2. Cách hoạt động mạng

2.2.5. Long short term memory (LSTM)

2.2.6. Mô hình Sequence-to-Sequence

2.2.6.1. Cơ chế giải mã với thuật toán Greedy Search
2.2.6.2. Cơ chế giải mã với thuật toán Beam Search

2.2.7. Attention trong dịch máy

2.2.8. Attention trong mô tả ảnh

2.3. Các hướng tiếp cận phổ biến cho bài toán nhận diện văn bản trong ảnh

2.3.1. Hướng tiếp cận nắn thẳng văn bản (Rectification)

2.3.2. Hướng tiếp cận phân đoạn kí tự (Character Segmentation)

3. CHƯƠNG 3: ÁP DỤNG KIẾN TRÚC TRANSFORMER CHO BÀI TOÁN NHẬN DIỆN VĂN BẢN TRONG ẢNH

3.1. Tổng quan về kiến trúc Transformer

3.1.1. Kiến trúc tổng quan

3.1.2. Cơ chế tập trung nhiều đầu (Multi Head Attention)

3.2. Áp dụng kiến trúc Transformer để giải quyết bài toán nhận diện văn bản trong ảnh

3.2.1. Hướng chỉ áp dụng Transformer Encoder

3.2.2. Hướng chỉ áp dụng Transformer Decoder

3.2.3. Hướng áp dụng cả Transformer Encoder và Decoder

4. CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ

4.1. Tổng quan quá trình xây dựng

4.2. Các độ đo sử dụng trong khóa luận

4.2.1. Độ chính xác nhận diện (Accuracy)

4.3. Cắt và chọn lọc các vùng ảnh chứa văn bản

4.4. Tổng hợp và tổ chức dữ liệu

5. CHƯƠNG 5: XÂY DỰNG ỨNG DỤNG MINH HỌA

5.1. Các thư viện yêu cầu

5.2. Cách cài đặt và sử dụng

6. CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1. Kết luận

6.2. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan

Bài toán nhận diện văn bản trong ảnh (Scene Text Recognition) đóng vai trò quan trọng trong việc giúp máy tính hiểu thế giới xung quanh thông qua việc nhận diện văn bản xuất hiện trong đời sống. Bài toán này có đầu vào là ảnh chứa văn bản và đầu ra là nội dung văn bản. Ứng dụng của bài toán bao gồm hệ thống lưu trữ và truy vấn hình ảnh, xe tự lái, robot tự hành. Thách thức lớn nhất là sự đa dạng về hình dạng, phông chữ, màu sắc và kích thước của văn bản. Các phương pháp gần đây sử dụng kiến trúc Transformer dựa trên cơ chế Self-Attention để cải thiện độ chính xác và hiệu năng.

1.1 Mục tiêu và phạm vi

Mục tiêu chính của khóa luận là nghiên cứu và đánh giá các phương pháp nhận diện văn bản tiếng Việt trong ảnh sử dụng kiến trúc Transformer. Phạm vi nghiên cứu tập trung vào việc xây dựng bộ dữ liệu tiếng Việt, đánh giá các phương pháp như ViTSTR, SSCAN, VietOCR, và TransformerOCR so với các phương pháp truyền thống như ASTERSCAN.

1.2 Đóng góp của khóa luận

Khóa luận đóng góp bằng cách hệ thống lại kiến thức về bài toán nhận diện văn bản trong ảnh, xây dựng bộ dữ liệu tiếng Việt gồm 110 nghìn ảnh huấn luyện và 10 nghìn ảnh kiểm thử, và đánh giá các phương pháp sử dụng Transformer. Ngoài ra, khóa luận còn xây dựng ứng dụng web minh họa nhận diện văn bản trong ảnh.

II. Cơ sở lý thuyết và các nghiên cứu liên quan

Chương này trình bày các khái niệm cơ bản về bài toán nhận diện văn bản trong ảnh và các phương pháp tiếp cận hiện nay. Bài toán này được coi là một dạng đặc biệt của OCR (Optical Character Recognition), với thách thức lớn từ sự đa dạng của văn bản trong cảnh tự nhiên. Các phương pháp tiếp cận bao gồm nắn thẳng văn bản, phân đoạn ký tự, và sử dụng cơ chế Attention.

2.1 Bài toán nhận diện văn bản trong ảnh

Văn bản trong ảnh có thể được phân loại theo hình thức (chữ viết tay, chữ in) và ngôn ngữ (tiếng Anh, tiếng Việt). Bài toán nhận diện văn bản cảnh (Scene Text Recognition) khó hơn so với OCR trong tài liệu scan do sự đa dạng về nền, hình thức, nhiễu, và hình dạng của văn bản.

2.2 Các kiến thức cơ sở

Mạng nơ-ron tích chập (CNN) là mô hình hiệu quả trong thị giác máy tính, mô phỏng cấu trúc não động vật. CNN sử dụng các lớp tích chập và lớp kích hoạt để xử lý hình ảnh. Ngoài ra, mạng nơ-ron hồi quy (RNN) và LSTM (Long Short-Term Memory) cũng được sử dụng để xử lý dữ liệu tuần tự trong bài toán nhận diện văn bản.

III. Áp dụng kiến trúc Transformer cho bài toán nhận diện văn bản trong ảnh

Chương này giới thiệu tổng quan về kiến trúc Transformer và các hướng áp dụng vào bài toán nhận diện văn bản trong ảnh. Transformer sử dụng cơ chế Self-Attention để tập trung vào các phần khác nhau của ảnh, giúp cải thiện độ chính xác so với các phương pháp truyền thống.

3.1 Tổng quan về kiến trúc Transformer

Transformer là mô hình dựa trên cơ chế Multi-Head Attention, cho phép mô hình tập trung vào các phần quan trọng của dữ liệu đầu vào. Cơ chế này giúp Transformer xử lý hiệu quả các bài toán xử lý ngôn ngữ tự nhiênnhận diện văn bản.

3.2 Áp dụng Transformer vào nhận diện văn bản

Các phương pháp như ViTSTR, SSCAN, VietOCR, và TransformerOCR sử dụng Transformer để giải quyết bài toán nhận diện văn bản tiếng Việt trong ảnh. Các phương pháp này cho kết quả vượt trội so với các phương pháp truyền thống về độ chính xác và tốc độ xử lý.

IV. Thực nghiệm và đánh giá

Chương này trình bày quá trình xây dựng bộ dữ liệu tiếng Việt và kết quả đánh giá các phương pháp nhận diện văn bản sử dụng Transformer. Bộ dữ liệu gồm 110 nghìn ảnh huấn luyện và 10 nghìn ảnh kiểm thử được thu thập từ đời sống thường ngày ở Việt Nam.

4.1 Xây dựng bộ dữ liệu

Bộ dữ liệu được xây dựng với mục đích huấn luyện và kiểm thử các mô hình nhận diện văn bản tiếng Việt. Dữ liệu được thu thập từ các nguồn như biển hiệu, biển quảng cáo, và nhãn hiệu sản phẩm.

4.2 Kết quả đánh giá

Các phương pháp sử dụng Transformer như TransformerOCRViTSTR cho kết quả vượt trội về độ chính xác và tốc độ xử lý so với các phương pháp truyền thống như ASTERSCAN. TransformerOCR đạt độ chính xác 82.35%, trong khi ViTSTR có tốc độ xử lý nhanh nhất.

V. Xây dựng ứng dụng minh họa

Chương này trình bày quá trình xây dựng ứng dụng web minh họa nhận diện văn bản tiếng Việt trong ảnh. Ứng dụng được phát triển để giúp người dùng dễ dàng nhận diện và trích xuất nội dung văn bản từ ảnh.

5.1 Các thư viện yêu cầu

Ứng dụng sử dụng các thư viện như TensorFlow, PyTorch, và Flask để xây dựng giao diện web và tích hợp các mô hình nhận diện văn bản.

5.2 Cách cài đặt và sử dụng

Ứng dụng được triển khai trên nền tảng web, cho phép người dùng tải lên ảnh và nhận kết quả nhận diện văn bản ngay lập tức. Giao diện thân thiện và dễ sử dụng.

VI. Kết luận và hướng phát triển

Khóa luận đã nghiên cứu và đánh giá các phương pháp nhận diện văn bản tiếng Việt trong ảnh sử dụng kiến trúc Transformer. Kết quả cho thấy các phương pháp này vượt trội so với các phương pháp truyền thống về độ chính xác và tốc độ xử lý. Hướng phát triển trong tương lai bao gồm cải thiện độ chính xác và mở rộng ứng dụng vào các lĩnh vực khác như dịch thuật và xe tự lái.

21/02/2025
Khóa luận tốt nghiệp khoa học máy tính đánh giá kiến trúc transformer cho bài toán nhận diện văn bản tiếng việt trong ảnh

Trích đoạn nội dung tài liệu

Chương 1: Giới thiệu tổng quan đề tài. Chương 2: Trình bày cơ sở lý thuyết và tổng quan về bài toán nhận diện văn bản trong ảnh. Chương 3: Trình bày tổng quan về kiến trúc Transformer và các hướng áp dụng vào bài toán nhận diện văn bản trong ảnh. Chương 4: Trình bày quá trình xây dựng bộ dữ liệu tiếng Việt và kết quả so sánh giữa các phương pháp trên bộ dữ liệu đã xây dựng.

Chương 5: Trình bày cách xây dựng ứng dụng và tổng quan về ứng dụng minh họa. Chương 6: Trình bày kết luận và hướng phát triển của đề tài. Chương 2 CƠ SỞ LÝ THUYET VÀ CÁC NGHIÊN CỨU LIÊN QUAN Để hiểu rõ bài toán nhận diện văn văn bản trong ảnh, ta cần làm rõ các khái niệm liên quan, đồng thời tìm hiểu một số phương pháp tiếp cận hiện nay. Vì vậy, trong chương này, sinh viên thực hiện sẽ giới thiệu một số khái niệm cơ bản đồng thời khảo sát các hướng tiếp cận để giải quyết bài toán.1 Bài toán nhận diện van ban trong ảnh Van bản có thể xuất hiện khác nhau trong ảnh.1 cho thấy các cách phân loại điển hình.

Ví dụ, nếu được phân loại theo hình thức của văn bản thì sẽ có hai loại cơ bản là chữ viết tay và chữ in. Nhận diện văn bản viết tay gặp nhiều thách thức hơn so với nhận diện văn bản in vì các kiểu chữ viết tay rất đa dạng và các kí tự còn dễ bị chồng lấp lên nhau. Ngoài ra, tùy thuộc vào ngôn ngữ, văn bản xuất hiện trong ảnh có thể bao gồm các ký tự khác nhau như kí tự tiếng Latinh, kí tự tiếng Trung hoặc kí tự tiếng Việt. Các đặc điểm của văn bản, chẳng hạn như thể loại văn bản và thứ tự đọc, rất khác nhau trong các ngôn ngữ khác nhau.

Theo định nghĩa trong [7], văn bản trong hình ảnh cũng có thể được chia 2. Bài toán nhận diện chữ viết trong hình ảnh và các kiến thức liên quan thành văn bản đồ hoa và văn bản cảnh. Văn bản đồ hoa là các dạng văn bản được thêm vào bằng kỹ thuật số dưới dạng lớp phủ trên video hoặc hình ảnh. Còn văn bản cảnh là văn bản nằm trên các vật thể xung quanh ta, được chụp hoặc ghi hình lại trong môi trường gốc của nó.

Văn bản cảnh có các kiểu đa dạng và có thể xuất hiện trên bất kỳ bề mặt nào, điều này làm cho việc phân biệt văn bản với background trở nên khó khăn. Trong khóa luận này, sinh viên chủ yếu tập trung vào dữ liệu văn bản cảnh xuất hiện trong ảnh. Chữ viết tay Hình thức { Chữ in Chữ tiếng Anh Ngôn ngữ Chữ tiếng Việt Văn bản đồ họa Cách tạo ra Văn bản cảnh Hình 2.1: Phân loại văn bản xuat hiện trong ảnh Bài toán nhận diện văn bản trong hình ảnh cảnh tự nhiên, còn được gọi là nhận diện văn bản cảnh, thường được coi là một dạng đặc biệt của bài toán nhận diện ký tự quang học (OCR). Mục tiêu của bài toán nhận diện văn bản cảnh là đọc nội dung văn bản xuất hiện trong ảnh chứa văn bản đã được cắt ra từ ảnh gốc.

Có hai loại văn bản cảnh trong tự nhiên là văn bản thẳng và văn bản có hình dang bat kỳ. Hiện nay, có ba hướng tiếp cận phổ biến được dùng để giải quyết bài toán: dựa vào việc nắn thẳng văn bản, dựa vào phân đoạn kí tự hay văn bản, dựa vào cơ chế attention. Các hướng tiếp cận này sẽ được trình bày chỉ tiết ở phần sau của chương. Mặc dù các phương pháp OCR trong các tài liệu scan đã 2.

Bài toán nhận diện chữ viết trong hình ảnh và các kiến thức liên quan được phát triển tốt [8], [9], bài toán nhận diện văn bản cảnh vẫn còn nhiều thách thức vì nhiều yếu tố, chẳng hạn như nền phức tạp, nhiều phông chữ khác nhau và điều kiện ánh sáng không hoàn hảo.2 so sánh các đặc điểm của nhận diện văn bản cảnh và OCR trong các tài liệu scan. OCR trong các tài liệu scan Nhận diện văn bản cảnh Ảnh ban đầu TTEM/DESP| QTY U.PRICE RM(T0TAL) Ảnh đối tượng văn bản cần nhận diện 0.2: So sánh bài toán OCR trong văn bản scan và bài toán nhận diện văn bản cảnh » Nền: Không giống như OCR trong tài liệu scan, văn bản trong cảnh tự nhiên có thể xuất hiện trên bất kỳ thứ gì (ví dụ: biển hiệu, tường hoặc bao bì sản phẩm). Do đó, hình ảnh văn bản cảnh có thể chứa ảnh nền rất phức tạp. Hơn nữa, kết cầu hoặc màu sắc của nền có thể tương đồng với văn bản một cách trực quan, điều này gây ra những thách thức không nhỏ cho việc nhận diện.

» Hình thức: Van bản trong tài liệu scan thường được in một màu với phông chữ thông thường, kích thước phù hợp và sắp xếp một cách thống nhất. Trong cảnh tự nhiên, văn bản xuất hiện với nhiều màu sắc và phông chữ 2. Bài toán nhận diện chữ viết trong hình ảnh và các kiến thức liên quan đa dạng, kích thước và các hướng khác nhau. Sự đa dạng của văn bản cảnh làm cho việc nhận diện khó khăn và thách thức hơn so với OCR trong các tài liệu scan.

* Nhiễu: Văn bản trong cảnh tự nhiên thường bị biến dang do nhiễu, chẳng hạn như ánh sáng không đồng đều, độ phân giải thấp và nhòe do chuyển động. Điều kiện hình ảnh không hoàn hảo cũng phần nào gây ra cho việc nhân diện thiếu chính xác. * Hình dạng: Văn bản scan thường nằm ở phía trước và chiếm phần chính của hình ảnh. Tuy nhiên, văn bản cảnh được chụp ngẫu nhiên, dẫn đến các chữ có thể bị biến dạng bất thường.

Các hình dạng khác nhau của văn bản làm tăng tính phức tạp của việc nhận diện các ký tự và các chuỗi văn bản.2 Các kiến thức cơ sở 2.1 Mạng nơ-ron tích chap (Convolutional Neural Network) M6 hinh mang no-ron tich chap (Convolutional Neural Network hay CNN) là một mô hình mạng của Deep Learning cho kết quả tốt nhất trong việc giải quyết các bài toán của thị giác máy tính. Mô hình mạng là một mô hình nơ- ron nhân tao mô phỏng theo cấu trúc tổ chức của não động vật. Vào năm 1968, Hubel và Wiesel có một paper được công bố, Receptive Fields and Functional Architecture of Monkey Striate Contex [10], nói về cách hoạt động của não loài khỉ. Não của khỉ có cấu trúc phức tạp.

Tuy nhiên, ở đó tác giả paper đã phát hiện ra một vùng tiếp nhận (receptive fields) có chức năng phát hiện ra các vùng ánh sáng để hiển thị thành đốm hoặc mẫu ánh sáng của các vật thể. Đồng thời, các hình ảnh cũng được đi qua từng trường, mỗi trường có một cách xử lý hình ảnh ban đầu theo cách riêng, và các trường này liên kết với nhau. Hình ảnh đi qua các trường cũng lần lượt được xử lý tuần tự. Từ ý tưởng đó, mô hình CNN cũng 2.

Bài toán nhận diện chữ viết trong hình ảnh và các kiến thức liên quan được xây dựng chứa nhiều perceptron với những kêt nối giữa các layer với nhau. Nhìn chung CNN là một mô hình mạng ANN truyền thẳng với kiến trúc chính gồm nhiều thành phần được ghép nối với nhau theo cấu trúc các layer cơ bản sau: Convolution, Pooling (Subsampling), ReLU. Bên cạnh đó còn có các layer phụ như Batch Normalization, Drop out. Phần tiếp theo sẽ trình bày chỉ tiết về các thành phần của CNN.1 Lớp tích chập (Convolution) Filter 1 Input = N Output -|¬+=>s s 4 3x3x3 4 L Filter 2 2 4 ° 3 6x6x3 3x3x3 4x4 Hình 2.3: Minh họa tích chập của một ảnh RGB và ma trận kernel (Nguôn: aiviet- nam.

Trước khi di vào layer Convolution, chúng ta di vào phép tích chập (Con- volution). Phép tích chập là phép tính dựa trên hai ma trận hai chiều cùng kích thước, bằng cách tính tổng của các tích giữa những vị trí tương ứng trên hai ma trận. Layer Convolution là layer quan trọng nhất trong mô hình mạng CNN. Layer dựa trên việc tính các giá trị tích chập để trích xuất ra các feature từ dữ liệu.

Với một ảnh đầu vào kích thước mxm, ta sẽ chọn ra một ma trận kernel nxn (thường nhỏ hơn ma trận input). Ta cho ma tran kernel trượt trên ma trận input, mỗi lần trượt ta thực hiện việc tính tích chập ta thu được một kết quả. Kết quả này là giá ?https://aivietnam.ai/wp-content/uploads/2019/07/chap9_zz_3. Bài toán nhận diện chữ viết trong hình ảnh và các kiến thức liên quan trị của một pixel trong ma trận output.

Khi trượt hết ma trận kernel trên ma trận input ta được ma trận output có kích thước nhỏ hơn hoặc bằng kích thước của ma trận input. Khi áp dụng phép tính Conv cho xử lý hình ảnh, Người ta nhận thấy rằng Conv sẽ giúp biến đổi các thông tin đầu vào thành các yêu tố đặc trưng (nó tương tự như bộ phát hiện nhằm phát hiện ra các đặc trưng như cạnh, hướng, .3 minh họa cho việc áp dụng phép tính Conv trên ảnh và cho ra kết quả là một feature map. Cụ thể hơn, Conv sẽ trích xuất đặc trưng của ảnh đầu vào qua các vùng ảnh nhỏ. Các vùng này được gọi là Local Receptive Field (LRF).

Tích chập sẽ tính toán trên các LRF chong lấp lên nhau. Độ chồng lắp này phụ thuộc vào hệ số trượt S (stride) của từng kiến trúc mạng cụ thể. Nếu sử dụng với hệ số trượt S = a, thì tương ứng LRF (bằng kích thước với kernel) sẽ dịch chuyển œ đơn vị pixel sau mỗi lần tích chập. Ảnh đầu vào sau khi thực hiện quá trình tích chập sẽ thu được feature map, số LRF ở ảnh đầu vào sẽ tương ứng với số nơ-ron ở feature map và kernel sẽ là trọng số liên kết mỗi LRF với một nơ-ron ở feature map.

Lớp conv có thể chứa một hoặc nhiều feature map. Nếu lớp conv có K feature map, thì ta nói lớp conv này có độ sâu là k. Để hình dung rõ hơn về quá trình này, sau đây sẽ minh họa quá trình trích xuất đặc trưng từ ảnh đầu vào cụ thể như sau: thực hiện xử lý tính giá trị đầu ra của một ảnh có kích thước W; x Hy x Dy (W và Hy lần lượt là chiều rộng và chiều cao của ảnh và D, là chiều sâu hay thực chất là giá trị tại 3 kênh màu tương ứng của ảnh RGB). khi đó, một Conv như một cửa số trượt (sliding window, còn được gọi là kernel, filter hay feature detector) với kích thước F x F - giả sử trong trường ta sử dung K filter.

Trong quá trình xử lý, mỗi filter sé được tính toán với tất cả các LRF trong hình và S = ơ.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu có tiêu đề Đánh giá kiến trúc Transformer cho nhận diện văn bản tiếng Việt trong ảnh cung cấp cái nhìn sâu sắc về việc áp dụng kiến trúc Transformer trong lĩnh vực nhận diện văn bản, đặc biệt là văn bản tiếng Việt trong hình ảnh. Bài viết phân tích hiệu quả của mô hình Transformer so với các phương pháp truyền thống, nhấn mạnh khả năng xử lý ngữ nghĩa và ngữ cảnh tốt hơn, từ đó nâng cao độ chính xác trong việc nhận diện văn bản.

Độc giả sẽ tìm thấy những lợi ích rõ ràng từ việc áp dụng công nghệ này, bao gồm khả năng cải thiện trải nghiệm người dùng trong các ứng dụng thực tế như nhận diện văn bản trong ảnh. Để mở rộng kiến thức về chủ đề này, bạn có thể tham khảo tài liệu Arbitrarily shaped text recognizer and translator for smart menu application, nơi cung cấp cái nhìn về cách nhận diện và dịch văn bản hình dạng tùy ý cho các ứng dụng thực đơn thông minh. Tài liệu này sẽ giúp bạn hiểu rõ hơn về các ứng dụng thực tiễn của công nghệ nhận diện văn bản trong bối cảnh hiện đại.