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 = ơ.