- Ảnh và điểm ảnh:
Điểm ảnh được xem như là dấu hiệu hay cường độ sáng tại 1 toạ độ trong không gian của đối tượng và ảnh được xem như là 1 tập hợp các điểm ảnh.
31
- Mức xám, màu
Là số các giá trị có thể có của các điểm ảnh của ảnh Nắn chỉnh biến dạng
Ảnh thu nhận thường bị biến dạng do các thiết bị quang học và điện tử.
Hình 3. 1 Ảnh thu nhận và ảnh mong muốn
Để khắc phục người ta sử dụng các phép chiếu, các phép chiếu thường được xây dựng trên tập các điểm điều khiển.
- Khử nhiễu
Có 2 loại nhiễu cơ bản trong quá trình thu nhận ảnh
• Nhiều hệ thống: là nhiễu có quy luật có thể khử bằng các phép biến đổi • Nhiễu ngẫu nhiên: vết bẩn không rõ nguyên nhân ->khắc phục bằng các phép lọc
- Chỉnh mức xám:
Nhằm khắc phục tính không đồng đều của hệ thống gây ra. Thông thường có 2 hướng tiếp cận:
•Giảm số mức xám: Thực hiện bằng cách nhóm các mức xám gần nhau thành một bó. Trường hợp chỉ có 2 mức xám thì chính là chuyển về ảnh đen trắng.
•Tăng số mức xám: Thực hiện nội suy ra các mức xám trung gian bằng kỹ thuật nội suy. Kỹ thuật này nhằm tăng cường độ mịn cho ảnh
- Trích chọn đặc điểm
Các đặc điểm của đối tượng được trích chọn tuỳ theo mục đích nhận dạng trong quá trình xử lý ảnh. Có thể nêu ra một số đặc điểm của ảnh sau đây:
Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ, điểm uốn ... Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc thực hiện lọc vùng (zonal filtering). Các bộ vùng được gọi là “mặt nạ đặc điểm” (feature mask) thường là các khe hẹp với hình dạng khác nhau (chữ nhật, tam giác, cung tròn ...)
32
Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối tượng và do vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi nhận dạng đối tượng. Các đặc điểm này có thể được trích chọn nhờ toán tử gradient, toán tử la bàn, toán tử Laplace, toán tử “chéo không” (zero crossing) …..
Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối tượng ảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ giảm xuống.
Từ đó, việc xử lý trước hình ảnh loại bỏ nhiễu không mong muốn trong các đối tượng. Nó bao gồm một loạt các kí tự bị lem sang thang độ xám, chuyển đổi hình thái học, lập ngưỡng, tìm các cạnh của các ký tự, sao chép chúng ký tự trong nền trắng mới và cuối cùng chuyển đổi từ ảnh tỷ lệ xám sang ảnh nhị phân. Toàn bộ các bước của tiền xử lý hình ảnh được dựa trên các bước sau:
• Thu nhận ảnh
• Xử lý trước hình ảnh
• Nhận dạng ký tự bằng Công cụ Tesseract OCR
Hình 3.2:Mô hình công cụ Tesseract OCR nhận dạng văn bản hình ảnh 3.2. Xây dựng mô hình đề xuất
Nhận thấy bảng chữ cái la tinh tiếng Ba Na có cách bỏ dấu rất gần giống với bảng chữ cái la tinh tiếng Việt và hiện tại thư viện Tesseract chưa hỗ trợ nhận dạng tiếng dân
33
tộc Ba Na, nên tôi đề xuất sử dụng thư viện Tesseracr tiếng Việt để nhận sang tiếng Ba Na.
Hình 3. 3: Mô hình Tesseract tiếng Việt
Với mô hình Tesseract OCR tiếng Việt tuân theo từng bước truyền thống xử lý đường ống. Các bước đó là:
- Ngưỡng thích ứng (Adaptive Thresholding): Nó chuyển đổi hình ảnh thành ảnh
nhị phân.
- Phân tích thành phần được kết nối (connected component analysis): Nó được
sử dụng để trích xuất dàn ý nhân vật. Phương pháp này là rất hữu ích vì nó áp dụng OCR cho hình ảnh với văn bản trắng và đen lai lịch. Tesseract có lẽ là đầu tiên để cung cấp loại xử lý này.
34
Hình 3. 4: Tiến trình tạo ra các blobs
Ở giai đoạn này, các phác thảo được tập hợp lại với nhau, hoàn toàn bằng cách lồng vào nhau, thành các Blobs .
Các khối được tổ chức thành các dòng văn bản. Dòng và các khu vực được phân tích cho một số cao độ hoặc văn bản tỷ lệ. Văn bản được chia thành các từ sử dụng khoảng trắng xác định và mờ các khoảng trắng.
Hình 3. 5: Tiến trình nhận dạng ký tự
- Tiến hành nhận dạng hai lần:
• Trong lần nhận dạng từ đầu tiên (Recognize word (pass 1)), một nỗ lực
được thực hiện để lần lượt nhận ra từng từ. Mỗi từ đó là sự vượt qua thỏa đáng để thích nghi phân loại làm dữ liệu đào tạo. Sau đó, trình phân loại thích ứng có cơ hội để nhiều hơn nhận dạng chính xác văn bản từ dưới xuống trang.
• Trong lần nhận dạng từ thứ hai (Recognize word (pass 2)), sự thích nghi
trình phân loại chạy qua trang để nhận dạng những từ không đủ tốt được công nhận trong lần vượt qua đầu tiên. Một trận chung kết giai đoạn giải quyết các không gian mờ và kiểm tra các giả thuyết thay thế cho chiều cao x để định vị văn bản smallcap.
Sau khi đạt được kết quả của bước một nhận dạng văn bản hình ảnh tiếng Ba Na qua mô hình tesseract tiếng Việt. Ta phát hiện có rất nhiều kí tự bị thay đổi so với những
35
kí tự dữ liệu ban đầu theo một hướng logic. Tư đây, tôi đã sử dụng thuật toán Heuristic để thực hiện sửa lỗi những kí tự đó.
Hình 3. 6: Thuật toán heuristic sửa lỗi kí tự
Để đạt kết quả tốt nhất tôi đã kết hợp hai mô hình trên bằng cách tạo ra một bộ dữ liệu bảng chữ cái la tinh tiếng Ba Na với nhiều cỡ chữ, font chữ,…. Để training, cũng như tìm ra danh sách tập hợp các kí tự lỗi theo hướng logic. Tiếp theo đánh giá kết quả đạt được. Sau đó, sử dụng bộ dữ liệu thu thập được của đề tài chạy với mô hình.
36
Với mô hình đề xuất này, tôi phân chia bộ tập dữ liệu thu thập được với tỉ lệ training là 80%, testing là 20%.
TÓM TẮT CHƯƠNG 3
Dựa trên cơ sở lý thuyết đã trình bày ở chương 2. Qua chương 3, tôi sẽ tiến hành thu thập dữ liệu, xây dựng mô hình đề xuất để hiện thực mô hình đề tài.
37
CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ 4.1. Thực hiện xử lý hình ảnh trước
Trong quá trình thu thập dữ liệu chưa tốt nên dẫn đến có nhiều dữ liệu có chất lượng hình ảnh chưa tốt. Do vậy, tôi cần phải xử lý dữ liệu sang thang xám trước khi chuyển sang bước tiếp theo nhận dạng kí tự quang học.
Hình 4. 1: Kết quả đạt được sau khi xử lý hình ảnh
4.2. Thực hiện OCR
Việc thực hiện nhận diện kí tự quang học cho dữ liệu bao gồm trích xuất từ bảng chữ cái tiếng Ba Na, hình ảnh từ cuốn từ điển tiếng Bơhnar Kriêm do Sở Khoa học và Công nghệ (Ủy ban nhân dân tỉnh Bình Định) và Viện Ngôn ngữ học (Viện Khoa học xã hội Ba Na Nam) hợp tác thực hiện, sổ tay phương ngữ Tiếng Ba Na do Sở Giáo Dục và Đào Tạo Gia Lai biên soạn Y JIL-H’MER – ĐINH VĂN HẢI – ĐINH VĂN KHOA,….được bắt đầu từ tập dữ liệu đã được quét sẵn ra hình ảnh số, sau đó tôi đã tiến hành dùng công cụ Pytesseract để trích xuất thông tin ra văn bản số giúp xử lý sau này. Dưới đây là quy trình OCR trên cuốn từ điển:
38
Mục tiêu chính của bước này chính ra sinh ra văn bản số -file text (*.txt) từ tập hình ảnh có sẵn, tôi đã tiến hành các bước theo tuần tự sau:
Lần lượt đọc các ảnh (*.jpg), mỗi ảnh ứng với 1 trang trong cuốn từ điển. Thực hiện bước tiền xử lý lọc nhiễu (noise filtering).
Chuyển qua thực hiện nhận dạng cạnh (canny edge detection) giúp nâng cao khả năng trích xuất thông tin.
Thực hiện chỉnh độ nghiêng (skew correction) giúp tính góc trên hình ảnh sau cắt giúp hình ảnh thắng làm tăng hiệu suất cho việc nhận dạng kí tự.
Thực hiện phân đoạn vùng văn bản để cắt từng dòng từ hình ảnh, từ đó dùng Pytesseract để trích xuất thông tin từ hình ảnh ra file text.
Tiếp theo, dùng phương pháp suy nghiệm (heuristic) thực hiện bước sửa những kí tự bị lỗi lặp đi lặp theo hướng có logic.
39
4.3. Đặc điểm lỗi
Hiện tại ngôn ngữ tiếng Ba Na la tinh chưa được hỗ trợ nhận dạng trong Tesseract. Sau khi tôi tìm hiểu ngôn ngữ tiếng Ba Na la tinh thì tôi nhận thấy bảng chữ cái la tinh tiếng Ba Na khá tương đồng với bảng chữ cái la tinh tiếng Việt. Do đó, tôi đã sử dụng thư viện Tesseract tiếng Việt để nhận dạng ngôn ngữ tiếng Ba Na.
Sau khi tôi sử dụng thư viện Tesseract tiếng Việt để nhận dạng văn bản hình ảnh tiếng Ba Na thì tôi đã thống kê những kí tự bị lỗi, do những kí tự la tinh này khác kí tự la tinh tiếng Việt, như sau:
40
Hình 4. 5: Trực quan hóa trước và sau khi heuristic dữ liệu từ điển tiếng Ba Na
BẢNG KÍ TỰ BỊ LỖI THƯỜNG XUYÊN
Kí tự đúng Kí tự bị lỗi Kí tự đúng Kí tự bị lỗi Ă Ä, Â, Ã, Ấ ă ä, â, ã, ấ Ƀ È ĕ e, ẽ, ế, š C̆ C ê̆ Š Ĕ E, Ẽ, Ế ŏ ồ, õ, ö, ổ Ĭ I, Ï ô̆ ỗ 0 200 400 600 800 1000 1200 Sau h eu ris
tics ơ̆ ĕ i mĭ ơ ŏ ơ̆ ô̆ ơĭ ôĭ ĕ ê ŭ Ŭ ŭ Ŭ
279 116 34 53 156 210 568 89 2328135 159 16 120 9 175 2 Trước heuristicsð ẽ ¡ mĩ ợ ồ ố ỗ ơi ổi š Š ủ Ủ ũ Ũ
41 Ŏ Ồ, Õ, Ö, Ổ ơ ợ Ô̆ Ỗ ơ̆ ố, ỡ, ð, ớ Ơ Ợ i ¡ Ơ̆ Ố, Ỡ, Ớ ĭ ĩ, ï Ĭ Ĩ, Ï ŭ ủ, ũ, ù Ŭ Ủ, Ũ, Ù ư̆ ử, ữ, ừ
Ư̆ Ử, Ữ, Ừ ơĭ ơi
ôĭ ổi
Bảng 4. 1 Các kí tự bị lỗi thường xuyên 4.4. Thực nghiệm sửa lỗi ký tự
Sau khi thực hiện bước thống kế kê các lỗi kí tự thường xuyên bị lỗi lặp đi lặp lại theo một cấu trúc nhất định, tôi đã tập hợp lại một danh sách thay thế các lỗi này, như sau:
42
Hình 4. 7: Kết quả đạt được sau khi sửa lỗi kí tự 4.5. Đánh giá kết quả
Đối với đề tài nhận dạng văn bản hình ảnh thì độ chính xác của văn bản đầu ra là yếu tố quyết định hệ thống có đạt được kết quả mong muốn. Để đo độ chính xác này, ta sẽ so sánh văn bản dự đoán khác nhau bao nhiêu so với văn bản thực tế.
Sự khác nhau càng nhỏ, sự chính xác của văn bản dự đoán được càng lớn. Một giá trị thường được sử dụng để đo sự khác nhau giữa hai văn bản đó là Word Error Rate (WER).
WER là tỉ lệ lỗi giữa văn bản dự đoán và văn bản đúng, được đo trên số lượng từ bị thay đổi giữa hai văn bản (do bị xóa, thêm, chỉnh sửa) trong quá trình dự đoán.
Trong đó:
43 D: số lượng từ bị xoá
I: số lượng từ thêm vào C: số lượng từ chính xác
N: tổng số lượng từ (N = S + D + C)
44
Bảng 4. 2: Kết quả so sánh ocr thô và heuristic
Hình 4. 8: Biểu đồ trực quan hóa so sánh ocr thô và heuristic
0 20 40 60 80 100 120 140 160 SỐ TỪ ĐÚNG ĐỘ CHÍNH XÁC SỐ TỪ ĐÚNG ĐỘ CHÍNH XÁC Số lượng
kí tự OCR THÔ HEURISTIC
KẾT QUẢ SO SÁNH OCR THÔ VÀ HEURISTIC
Bảng chữ cái tiếng BaNa chữ in hoa (size 14 ) Bảng chữ cái tiếng BaNa (size 12)
Bảng chữ cái tiếng BaNa (size 14) Bảng chữ cái tiếng BaNa (size 16)
KẾT KẾT QUẢ SO SÁNH OCR THÔ VÀ HEURISTIC
STT DỮ LIỆU
Số lượng kí tự
OCR THÔ HEURISTIC
Số từ đúng Độ chính xác Số từ đúng Độ chính xác
1 Bảng chữ cái tiếng BaNa chữ in
hoa (size 14 ) 38 23 61% 26 68%
2 Bảng chữ cái tiếng BaNa (size 12) 38 25 66% 30 79%
3 Bảng chữ cái tiếng BaNa (size 14) 38 25 66% 31 82%
45
Hình 4. 9: Trực quan hóa kết quả test trên 4 tập dữ liệu
Từ hình 4.8 biểu đồ trục quan hóa kết quả test trên bốn tập dữ liệu. Tôi nhận thấy tập dữ liệu sử thi BaNa và tập dữ liệu từ điển Kriem BaNa đạt được độ chính xác trên 84%, còn hai tập dữ liệu còn lại là: dữ liệu Phong tục BaNa và dữ liệu Scan BaNa lần lượt đạt độ chính xác là: trên 65% và gần 50%.
4.6. Một số hạn chế của mô hình
• Kết quả đạt được còn phụ thuộc vào dữ liệu hình ảnh thu thập có chất lượng
chưa được tốt.
• Kết quả đạt được còn phụ thuộc vào dữ liệu hình ảnh thu thập có chất lượng
chưa được tốt.
• Size chữ quá nhỏ hay quá to cũng sẽ làm ảnh hưởng đến kết quả đầu ra
• Để nhận diện bảng chữ cái Bana được tốt còn phụ thuộc vào mô hình LSTM
trong OCR
• Kết quả nhận diện bảng chữ cái Bana in hoa chỉ đạt 68% là do kết quả đánh
giá WER
TÓM TẮT CHƯƠNG 4
Với chương 3, sau khi thực hiện mô hình đề tài, thì chương 4 này, tôi sẽ bắt đầu tiến hành thực nghiệm và đánh giá đề tài thông qua các bước:
- Thực hiện xử lý hình ảnh - Thực hiện OCR
- Nhận dạng đặc điểm các lỗi ký tự lặp đi lặp lại - Thực nghiệm sửa lỗi ký tự
- Đánh giá kết quả đạt được - Một số hạn chế của mô hình 84.31% 84.71% 49.76% 65.54% 15.69% 15.29% 50.24% 34.46% 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00%
FILE SỬ THI BANA FILE TỪ ĐIỂN Kriem BANA
FILE SCAN BANA FILE PHONG TỤC BANA KẾT QUẢ TEST TRÊN 4 TẬP DỮ LIỆU
46
CHƯƠNG 5: KẾT LUẬN VÀ KIẾN NGHỊ 5.1. Kết luận
Trong nghiên cứu đề tài này, tôi đã hiện thực được việc xây dựng một mô hình nhận dạng văn bản hình ảnh tiếng Ba Na thông qua việc áp dụng kĩ thuật Học Sâu (Deep Learning) kết hợp với thuật toán sửa những lỗi lặp đi lặp lại theo hướng logic. Dựa trên ý tưởng từ mô hình này, tôi áp dụng thêm nhiều phương pháp bổ trợ với sự sáng tạo cá nhân nhằm mang tính phù hợp và đạt hiệu quả tốt nhất cho việc nhận dạng và sửa lỗi chính tả trên cuốn từ điển tiếng Bơhnar Kriêm do Sở Khoa học và Công nghệ (Ủy ban nhân dân tỉnh Bình Định) và Viện Ngôn ngữ học (Viện Khoa học xã hội Ba Na Nam) hợp tác thực hiện, sổ tay phương ngữ Tiếng Ba Na do Sở Giáo Dục và Đào Tạo Gia Lai
biên soạn Y JIL-H’MER – ĐINH VĂN HẢI – ĐINH VĂN KHOA. Việc thực nghiệm
sửa lỗi trên chính cuốn từ điển này mang tính ứng dụng cao khi góp phần lưu giữ và bảo tồn văn bản số cho từ ngữ tiếng Ba Na cũng như góp phần làm nên một nghiên cứu hiện đại vào chính ngôn ngữ dân tộc thiểu số quốc gia. Thông quá đó giúp tôi thêm tự hào và hiểu sâu sắc hơn về sự phong phú của tiếng Ba Na. Tuy chưa đem lại hiệu suất tốt nhất trong thời gian thực hiện đề tài lần này, nhưng với những kết quả hiện có thì hướng tiếp cận này mang tính khả thi trong việc phát triển khả năng sửa lỗi nhằm giúp bảo tồn văn hóa dân tộc nước nhà.
5.2. Hướng mở rộng đề tài
Ngoài những công việc đã được hiện thực trong mô hình đề xuất, tôi tin rằng những hướng mở rộng sau sẽ đem lại những kết quả đầy hứa hẹn cho các nghiên cứu trong tương lai:
Mô hình sửa lỗi này có thể kết hợp thêm với mô hình ngôn ngữ và sửa lỗi tiếng Ba Na tự động để tạo ra nhiều trường hợp ứng viên nhằm tối ưu việc sửa lỗi chính tả cho tiếng Ba Na.
Mở rộng về tính ứng dụng thì sau khi sửa được bộ từ điển này, có thể lấy làm dữ liệu huấn luyện để sửa cho những bộ từ điển khác vì có tính tương đồng trong mặt ngữ