Tải bản đầy đủ (.pdf) (55 trang)

LUẬN VĂN: NGHIÊN CỨU VỀ NHẬN DẠNG CHỮ IN TIẾNG VIỆT pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.59 MB, 55 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ





Bùi Thế Hân


NGHIÊN CỨU VỀ NHẬN DẠNG
CHỮ IN TIẾNG VIỆT







KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin










HÀ NỘI - 2009





ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ





Bùi Thế Hân


NGHIÊN CỨU VỀ NHẬN DẠNG
CHỮ IN TIẾNG VIỆT







KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin




Cán bộ hướng dẫn: TS. Lê Anh Cường





HÀ NỘI - 2009


Nghiên cứu nhận dạng chữ in tiếng việt Bùi Thế Hân
i
Lời cảm ơn
Lời đầu tiên em xin bày tỏ lòng biết ơn sâu sắc tới TS. Lê Anh Cường, người
đã không chỉ hướng dẫn em tận tình trong suốt năm học và thời gian làm luận văn.
Mà còn là người đã khơi dậy trong em lòng yêu nghề, yêu Công Nghệ Thông Tin.
Đồng thời Thầy cũng là người giúp em nhìn thấy con đường đi của riêng mình. Một
lần nữa xin được nói lời cảm ơn với Thầy.
Em xin bày tỏ lòng biết ơn tới các thầy, cô giáo trong Khoa Công nghệ thông
tin - Trường Đại học Công nghệ - ĐHQGHN. Các thầy cô đã dạy bảo, chỉ dẫn
chúng em và luôn tạo điều kiện tốt nhất cho chúng em học tập trong suốt quá trình
học đại học đặc biệt là trong thời gian làm khoá luận tốt nghiệp.
Tôi xin cảm ơn các bạn sinh viên lớp K50CB trường Đại học Công nghệ và
các bạn trong lớp KHMT, đã giúp đỡ tôi trong suốt quá trình học tập.
Cuối cùng con xin gửi tới bố mẹ và toàn thể gia đình lòng biết ơn và tình cảm
yêu thương.

Hà Nội, ngày 22 tháng 5 năm 2009
Bùi Thế Hân
Nghiên cứu nhận dạng chữ in tiếng việt Bùi Thế Hân

ii
Tóm tắt
Nhận dạng chữ in nói chung và nhận dạng chữ in tiếng Việt nói riêng đã và
đang là những bài toán thu hút nhiều sự quan tâm và nghiên cứu.
Bài toán nhận dạng chữ in tiếng Việt gồm ba công đoạn chủ yếu: Phân đoạn
ảnh, nhận dạng kí tự và hậu xử lý. Trong luận văn này tôi tập trung chủ yếu vào giai
đoạn Phân đoạn ảnh, nhằm đưa ra những cải tiến để đẩy nhanh tốc độ xử lý. Đồng
thời chúng tôi cũng sử dụng môdul nhận dạng để xây dựng thành một hệ thống hoàn
chỉnh.
Với bài toán nhận dạng chữ tiếng Việt có sự khó khăn do hệ thống dấu tiếng
Việt làm số kí tự cần nhận dạng tăng lên rất nhiều, đồng thời làm tăng khả năng
giao nhau giữa các dòng, các ký tự. Để giải quyết vấn đề đó, trong khóa luận này
chúng tôi sử dụng phương pháp tách dòng dựa vào khoảng trắng, thành phần liên
thông.
Trong phần thực nghiệm của luận văn, chúng tôi cũng thực nghiệm các văn
bản với nhiều cỡ chữ và font chữ khác nhau. Kết quả của việc phân đoạn ảnh và
nhận dạng là tương đối tốt, có thể chấp nhận được.
Từ khóa: Xác định góc nghiêng văn bản, Tách dòng văn bản, Thành phần liên
thông, Biểu đồ Histogram, Mạng Neural, Nhận dạng kí tự quang học, trích trọn đặc
trưng.

Nghiên cứu nhận dạng chữ in tiếng việt Bùi Thế Hân
iii

MỤC LỤC

Chương 1 Giới thiệu 1
1.1 Đặt vấn đề 1
1.2 Nội dung nghiên cứu của khóa luận 3
1.3 Cấu trúc khóa luận 3

Chương 2 Cơ sở lý thuyết cho phân đoạn ảnh 5
2.1 Khái niệm ảnh số 5
2.2 Nhị phân hóa 6
2.3 Biểu đồ sắc thái của hình ảnh (Histogram) 8
2.4 Thành phần liên thông 8
2.4.1 Khái niệm điểm lân cận 9
2.4.2 Thành phần liên thông: Liên thông bốn và liên thông tám 9
Chương 3 Phân đoạn ảnh cho nhận dạng văn bản
11
3.1 Tiền xử lý ảnh 11
3.1.1 Nhị phân hóa 11
3.1.2 Lọc nhiễu 11
3.1.3 Xoay lại ảnh 12
3.2 Tách đoạn 14
3.3 Tách dòng 14
3.3.1 Tách dòng dựa vào các đường kẻ ngang 14
3.3.2 Tách dòng dựa vào thành phần liên thông 15
3.3.3 Tách dòng dựa vào khoảng trắng giữa các dòng 16
3.4 Tách từ 17
3.4 Tách ký tự 18
Chương 4 Trích chọn đặc trưng 20
4.1 Khái niệm cơ bản 20
4.1.1 Đặc trưng ảnh – Image Features 20
4.1.2 Trích chọn đặc trưng – Feature Extraction 20
4.2 Vai trò của trích chọn đặc trưng 20
4.3 Một số phương pháp trích chọn đặc trưng 21
4.3.1 Phương pháp trích chọn đặc trưng GSC 21
Nghiên cứu nhận dạng chữ in tiếng việt Bùi Thế Hân
iv
4.3.1 Trích chọn đặc trưng theo hướng hình học 22

4.3.2 Trích chọn đặc trưng theo cấu trúc 25
4.3.3 Trích chọn đặc trưng theo tính lồi lõm 27
Chương 5: Phân lớp và mô hình học máy 30
5.1 Cấu trúc hoạt động của mạng neuron 30
5.1.1 Cấu trúc và hoạt động của một neuron 30
5.1.2 Cấu trúc và hoạt động của mạng neuron 31
5.1.3 Hàm truyền 33
5.2 Quá trình huấn luyện mạng và các thuật toán học mạng 34
5.2.1 Mạng neuron và bài toán phân loại mẫu 34
5.2.2 Đặc trưng của mạng neuron 34
5.2.3 Các phương pháp huấn luyện mạng 34
5.2.4 Mạng lan truyền ngược nhiều tầng (Back-propagation Neural Network) 35
5.3 Ứng dụng mô hình nhận dạng cho tiếng Việt 38
5.3.1 Khó khăn và giải pháp đề xuất cho nhận dạng kí tự 38
5.3.2 Phân nhóm kí tự 40
Chương 6 Thực nghiệm 42
6.1 Môi trường thực nghiệm 42
6.2 Thực nghiệm về phân đoạn ảnh 42
6.2.1 Tách dòng 42
6.2.3 Tách từ 43
6.2.4 Tách ký tự 43
6.2.5 Thực nghiệm nhận dạng 44
Chương 7: Kết Luận 45

Nghiên cứu nhận dạng chữ in tiếng việt Bùi Thế Hân
v
Danh mục hình vẽ
Hình 1.1 Sơ đồ hệ nhận dạng văn bản tiếng Việt. 2

Hình 2.1 Ví dụ về quá trình lấy mẫu 5


Hình 2.2: Ví dụ chuyển ảnh đa mức xám sang ảnh nhị phân 6

Hình 2.3 ví dụ về chuyển ảnh nhị phân 7

Hình 2.4 Minh họa biểu đồ Histogram ngang. 8

Hình 2.5a: Ví dụ lân cận bốn 9

Hình 2.5b: Ví dụ lân cận tám 9

Hình 2.6: Hai ví dụ về thành phần liên thông 4-connected 9

Hình 2.7: Hai ví dụ về thành phần liên thông 8 10

Hình 3.1 Ví dụ về nhiễu đốm 11

Hình 3.2 Ảnh sau khi áp dụng lọc trung vị. 12

Hình 3.3: Histogram của một văn bản không nghiêng. 13

Hình 3.4: Histogram của văn bản nghiêng 13

Hình 3.5 Ví dụ minh họa cắt đoạn 14

Hình 3.6: Các đường đặc trưng của một dòng văn bản 15

Hình 3.7: Biểu đồ phân cách của ngưỡng. 18

Hình 3.8: Các vị trí chính xác, vị trí cắt nhập nhằng. 19


Hình 5.1: Mố hình phi tuyến của một neuron 31

Hình 5.3 Mạng neuron hai lớp 36

Hình 5-4 : Hình ảnh kí tự được chia làm 3 phần. 40

Hinh 5-5:ảnh gốc 40

Hình 5-6: Ảnh cắt 41
Nghiên cứu nhận dạng chữ in tiếng việt Bùi Thế Hân
vi
Hình 6.1: Minh họa tách dòng văn bản 42
Hình 6.2: Minh họa cắt từ. 43
Nghiên cứu nhận dạng chữ in tiếng việt Bùi Thế Hân
vii
Danh mục bảng biểu
Bảng 4.1 Các luật về đặc trưng theo cấu trúc của điểm ảnh 25

Bảng 5-1. Một số hàm truyền 33

Bản 6.1 Kết quả thực nghiệm tách từ 43

Bảng 6.2 Kết quả thực nghiệm tách từ 43

Bảng 6.3 Kết quả thực nghiệm tách từ 44
Chương I: Giới thiệu Bùi Thế Hân
1
Chương 1
Giới thiệu

1.1 Đặt vấn đề
Nhận dạng kí tự quang học (OCR – Optical Character Recognition) là một bài
toán chuyển các hình ảnh của chữ viết tay hoặc chữ đánh máy (thường được quét
bằng máy scanner) thành các văn bản tài liệu. Do bài toán vẫn còn nhiều vấn đề
chưa được giải quyết một cách triệt để, như vấn đề về tốc độ xử lý, độ chính xác của
tách từ, hay độ chính xác của nhận dạng. Và vì vậy vẫn nhận được nhiều sự quan
tâm nghiên cứu, đặc biệt cho tiếng Việt. Nhận dạng văn bản được áp dụng trong quá
trình tự động hoá các công việc văn phòng như nhập liệu, lưu trữ văn bản, sách báo,
phân loại thư tín, …, những công việc đòi hỏi nhiều thời gian của con người.
Hiện nay cũng có rất nhiều bài báo đề cập đến bài toán nhận dạng kí tự quang
học, nhằm cải tiến các phương pháp phân đoạn ảnh, nhận dạng. Song vẫn chưa giải
quyết một cách triệt để những vấn đề khó khăn của bài toán thường gặp phải. Đặc
biệt là đối với việc nhận dạng các kí tự tiếng Việt, gặp rất nhiều khó khăn, do tính
riêng biệt của tiếng Việt: Số kí tự nhiều, các kí tự lại có dấu…Nên bài toán vẫn còn
thu hút được sự quan tâm, nghiên cứu nhằm giải quyết những vấn đề khó khăn của
bài toán một cách triệt để.
Một số hệ nhận nhận dạng văn bản đã và đang được áp dụng rất nhiều vào ứng
dụng như FineReader của hãng AABBYY, OmmiPage của hãng Scansoft được
dùng để nhận dạng các văn bản tiếng Anh,… VNDOCR của Viện công nghệ thông
tin cho các văn bản tiếng Việt.
Bài toán nhận dạng văn bản được thực hiện qua ba giai đoạn chính: Phân đoạn
ảnh, nhận dạng từ và hậu xử lý. Trong luận văn này chúng tôi đi sâu vào nghiên cứu
cải tiến công đoạn phân đoạn ảnh. Bên cạnh đó kết hợp với mô đun nhận dạng [3]
để xây dựng thành một hệ thống nhận dạng văn bản hoàn thiện. Bài toán mà chúng
tôi đang nghiên cứu được thực hiện qua các giai đoạn như mô tả trong hình I.1.1.
Chương I: Giới thiệu Bùi Thế Hân
2

Hình 1.1 Sơ đồ hệ nhận dạng văn bản tiếng Việt.
Đầu vào của hệ thống nhận dạng của chúng ta là một hình ảnh scan từ một văn

bản tiếng Việt. Đầu ra là một bản đã được nhận dạng, văn bản này có thể chỉnh sửa.
Để xử lý được điều này hệ thống nhận dạng của chúng ta sẽ trải qua giai đoạn sau
đây:
1. Phân đoạn ảnh: Giai đoạn này có nhiệm vụ loại bỏ nhiễu nhằm nâng
cao chất lượng hình ảnh đầu vào. Sau đó thực hiện việc tách đoạn, tách
dòng, tách từ, tách kí tự.
2. Bộ nhận dạng kí tự: Đầu vào của giai đoạn này là ảnh của một kí tự,
đầu ra là kí tự nhận dạng được. Thông thường trong phần này sử dụng
một thuật toán học máy hoặc một bộ đối sánh mẫu.
3. Bộ hậu xử lý: Tổng hợp các kí tự nhận dạng được và hiển thị lên cho
người dùng. Đồng thời trong phần này có nhiều nghiên cứu và hệ thống
đưa nhiệm vụ điều chỉnh nhận dạng sai dùng từ điển hoặc mô hình
ngôn ngữ.
Từ sơ đồ hình I.1.1 chúng ta cũng thấy rằng để xây dựng được hệ thống nhận
dạng thì có hai công đoạn quan trọng nhất: Phân đoạn ảnh và Xây dựng bộ nhận
Văn bản sau
khi scan

Bộ phân đoạn ảnh
Văn bản được
nhận dạng

Bộ nhận dạng

Bộ hậu xử lý
Chương I: Giới thiệu Bùi Thế Hân
3
dạng kí tự. Trong luận văn này chúng tôi đi vào nghiên cứu và cải tiến các phương
pháp nhằm nâng cao chất lượng của giai đoạn phân đoạn ảnh. Đồng thời chúng tôi
cũng sử dụng lại các bộ nhận dạng kí tự có sẵn, để xây dựng lên một hệ thống nhận

dạng văn bản hoàn chỉnh.
1.2 Nội dung nghiên cứu của khóa luận
Bài toán thực hiện trong khóa luận này là bài toán nhận dạng chữ in tiếng Việt
ứng dụng trong quá trình tự động hóa các công việc văn phòng. Bài toán này gồm 3
công đoạn chủ yếu. Nhưng trong khoá luận này tập trung chủ yếu vào việc nghiên
cứu cải tiến ứng dụng phân đoạn ảnh vào nhận dạng văn bản tiếng Việt: giải pháp
và các thực nghiệm. Đồng thời cũng nghiên cứu lý thuyết cơ bản về các hệ nhận
dạng đã được xây dựng và phát triển. Để xây dựng được một hệ thống nhận dạng
hoàn chỉnh chúng tôi đã thực hiện việc cài đặt các giải pháp đề xuất trong luận văn,
kết hợp với các bộ nhận dạng kí tự có sẵn.
Tách đoạn, tách dòng, tách từ và tách ký tự là bốn nội dung quan trọng của
quá trình phân đoạn ảnh. Độ chính xác của mỗi giai đoạn có thể làm ảnh hưởng đến
độ chính xác của giai đoạn khác, cũng như của toàn bộ hệ thống. Chúng tôi nghiên
cứu đánh giá một số phương pháp được sử dụng để thực hiện các nội dung đó, và áp
dụng nó vào bài toán nhận dạng văn bản chữ in tiếng Việt.
Trong giai đoạn nhận dang kí tự, trong luận văn này chúng tôi đề xuất sử dụng
mô hình mạng neuron cho việc nhận dạng.

1.3 Cấu trúc khóa luận
Các phần còn lại của khóa luận có cấu trúc như sau:
Chương 2 trình bày cơ sở lý thuyết của phân đoạn ảnh, bao gồm các khái niệm
cơ bản, các kỹ thuật cơ bản được sử dụng trong phân đoạn ảnh.
Chương 3 trình bày chi tiết về phân đoạn ảnh cho nhận dạng văn bản. Đồng
thời chúng tôi đưa ra những giải pháp nhằm cải tiến chất lượng cũng như tốc độ của
phân đoạn ảnh. bao gồm các thuật toán xác định góc nghiêng văn bản, các thuật
toán tách đoạn,tách dòng, tách từ và tách ký tự.
Chương I: Giới thiệu Bùi Thế Hân
4
Chương 4: Trình bày các phương pháp trích chọn đặc trưng cơ bản. Áp dụng
các phương pháp trích chọn đặc trưng cho tiếng Việt.

Chương 5: Trình các mô hình học máy và ứng dụng các mô này vào nhận
dạng tiếng Việt
Chương 6: trình bày về các kết quả thực nghiệm của quá trình thu thập cơ sở
dữ liệu, trong quá trình phân đoạn ảnh và kết quả thực nghiệm của hệ thống nhận
dạng sau khi đã ghép nối các thành phần lại với nhau.
Chương 7: Kết luận














Chương 2:Cơ sở lý thuyết cho phân đoạn ảnh Bùi Thế Hân
5
Chương 2
Cơ sở lý thuyết cho phân đoạn ảnh
Đầu vào hệ thống nhận dạng là một ảnh bất kì, nhưng phân đoạn ảnh thì thực
hiện hoàn toàn trên ảnh nhị phân. Đồng thời kết hợp với một số phương pháp để xử
lý theo nhưng yêu cầu của công việc.
2.1 Khái niệm ảnh số
Ảnh số được tạo nên từ hàng trăm ngàn cho đến hàng triệu ô vuông rất nhỏ-
được coi là những thành tố của bức ảnh và thường được biết dưới tên gọi là pixels.

Máy tính hay máy in sử dụng những ô vuông nhỏ này để hiển thị hay in ra bức ảnh.
Để làm được điều đó máy tính hay máy in chia màn hình, trang giấy thành một
mạng lưới chứa các ô vuông, sau đó sử dụng các giá trị chứa trong file ảnh để định
ra mầu sắc, độ sáng tối của từng pixel trong mạng lưới đó - ảnh số được hình thành.
Việc kiểm soát, định ra địa chỉ theo mạng lưới như trên được gọi là bit mapping và
ảnh số còn được gọi là ảnh bit-maps.




Hình 2.1 Ví dụ về quá trình lấy mẫu.
Chương 2:Cơ sở lý thuyết cho phân đoạn ảnh Bùi Thế Hân
6
Một bức ảnh số a[m, n] gồm có m hàng và n cột, phần giao giữa một hàng và
một cột được gọi là điểm ảnh (Pixel). Giá trị mỗi điểm ảnh được gán cho một số
nguyên biểu diễn màu sắc tại điểm ảnh đó.
2.2 Nhị phân hóa
Ảnh nhị phân là ảnh số mà trong đó giá trị mỗi điểm ảnh có thể nhận một
trong hai giá trị 0 hoặc 1.
Quá trình phân đoạn ảnh yêu cầu ảnh đầu vào phải là ảnh nhị phân, trong khi
đó ảnh đầu vào của hệ thống là một ảnh đa mức xám, chính vì vậy mà cần phải thực
chuyển ảnh đa mức xám sang ảnh nhị phân để thực hiên phân đoạn (hình II.2.2 ).

Hình 2.2: Ví dụ chuyển ảnh đa mức xám sang ảnh nhị phân.
Quá trình này được thực hiện nhờ vào hàm phân ngưỡng:
Dest(x, y) = 1 if Source(x, y) >= T
0 if Source(x, y) < T
Trong đó, Source(x,y) là giá trị điểm ảnh ở vị trí (x,y) của ảnh nguồn,
Dest(x,y) là giá trị điểm ảnh tương ứng ở vị trí (x,y) của ảnh đích. T là giá trị
ngưỡng. Tuy nhiên, giá trị cụ thể của ngưỡng lại phụ thuộc vào từng ảnh, vùng ảnh

đầu vào đang xét, không thể lấy cố định. Ví dụ như trên hình II.2.3, thể hiện ảnh đã
được nhị phân hóa với ngưỡng thấp, ngưỡng cao
Chương 2:Cơ sở lý thuyết cho phân đoạn ảnh Bùi Thế Hân
7

Hình 2.3 ví dụ về chuyển ảnh nhị phân.

Để xác định giá trị của ngưỡng hiện nay có rất nhiều phương pháp được sử
dụng:
1. Chọn ngưỡng theo phân phối xác suất mức xám.
2. Chọn ngưỡn cố định.
3. Thuật toán Isodata (Iterative self-organizing data analysis technique)
4. Thuật toán Background-symmetry
5. Thuật toán Triangle (thuật toán tam giác)

Tùy vào điều kiện và mục đích chúng ta có thể sử dụng một phương pháp xác
định ngưỡng thích hợp. Vì mỗi phương pháp đều có những ưu điểm và nhược điểm
riêng của mình. Trong luận văn này chúng tôi sử dụng phương pháp chọn ngưỡng
theo phân phối mức xám.
Phương pháp chọn ngưỡng theo phân phối mức xám: là thiết lập ngưỡng sao
cho số lượng các điểm đen đạt một ngưỡng chấp nhận được. Ví dụ, chúng ta có thể
biết rằng các kí tự chiếm 25% diện tích của một trang văn bản thông thường. Vì thế
Chương 2:Cơ sở lý thuyết cho phân đoạn ảnh Bùi Thế Hân
8
chúng ta có thể thiết lập ngưỡng sao cho số lượng điểm đen còn lại chiếm ¼ trang
văn bản.
Phương pháp này có ưu điểm là tiết kiệm được tính toán, kết quả của phép
chọn chấp nhận được trong bài toán nhận dạng của chúng ta.
2.3 Biểu đồ sắc thái của hình ảnh (Histogram)
Histogram là một dạng biểu đồ với trục hoành là độ sáng và trục tung là số

lượng điểm ảnh ở những độ sáng tương ứng. Hoặc nói dễ hiểu hơn Histogram là 1
biểu đồ trong đó cột đứng tượng trưng cho số điểm ảnh còn cột ngang tượng trưng
cho dãy sắc độ chuyển từ đen (bên trái) sang trắng (bên phải).
Chúng ta có thể nhìn vào Histogram để đánh giá về sắc thái và mức độ tương
phản của một hình. Trong hầu hết các ứng dụng đồ hoạ chuyên nghiệp đều cung cấp
cho ta công cụ này. Và trong phần review của các máy ảnh số sau này cũng thường
có phần hiển thị histogram.
Hiện nay có hai loại Histogram phổ biến là: Histogram theo chiều ngang và
Histogram theo chieu doc.

Hình 2.4 Minh họa biểu đồ Histogram ngang.



2.4 Thành phần liên thông
Chương 2:Cơ sở lý thuyết cho phân đoạn ảnh Bùi Thế Hân
9
2.4.1 Khái niệm điểm lân cận
Cho một điểm P với tọa độ (x, y), khi đó bốn điểm
(x + 1, y); (x – 1, y), (x, y + 1), (x, y – 1)
được gọi là lân cận bốn (hình 2.3a) của điểm P, và các điểm
(x - 1, y - 1); (x – 1, y + 1); (x + 1, y - 1); (x + 1, y + 1)}
Tám điểm đến được gọi là lân cận 8 (hình II.1.5b) của điểm P.


Hình 2.5a: Ví dụ lân cận bốn

Hình 2.5b: Ví dụ lân cận tám



2.4.2 Thành phần liên thông: Liên thông bốn và liên thông tám
Hai điểm , được gọi là liên thông bốn với nhau nếu có một trong hai
điều kiện:
 là lận cận bốn với của (hoặc là lân cận bốn với
 Tồn tại điểm mà là lân cận bốn của và là lân cận bốn của
.


Hình 2.6: Hai ví dụ về thành phần liên thông 4-connected.
Chương 2:Cơ sở lý thuyết cho phân đoạn ảnh Bùi Thế Hân
10

Hai điểm , được gọi là liên thông tám với nhau nếu có một trong hai
điều kiện:
 là lận cận tám với của (hoặc là lân cận bốn với
 Tồn tại điểm mà là lân cận tám của và là lân cận tám của
.

Hình 2.7: Hai ví dụ về thành phần liên thông 8



Chương 3: Phân đoạn ảnh cho nhận dạng văn bản Bùi Thế Hân
11

Chương 3
Phân đoạn ảnh cho nhận dạng văn bản
3.1 Tiền xử lý ảnh
Đầu vào của quá trình xử lý ảnh là các ảnh gốc ban đầu, thu được qua scanner.
Do cách ảnh ban đầu thường có chất lượng thấp do ảnh hưởng của nhiễu, do bị

nghiêng, có thể bị đứt nét nên để tăng chất lượng nhận dạng ta cần phải có một quá
trình tiền xử lý ảnh để nâng cao chất lượng ảnh đầu vào trước khi đưa vào nhận
dạng.
3.1.1 Nhị phân hóa
Đầu vào ban đầu của hệ nhận dạng là một ảnh đa mức xám. Mà phân đoạn ảnh
chúng ta xử lý trên ảnh nhị phân, chính vì vậy chúng ta phải thực hiện chuyển về
ảnh nhị phân.
Phương pháp mà chúng tôi sử dụng để chuyển sang ảnh nhị phân là xác định
dựa vào ngưỡng. Ngưỡng được xác định dựa trên phân phối mức xám của ảnh đã
được trình bày ở trên.
3.1.2 Lọc nhiễu
Trong nhận dạng nói chung và trong nhận dạng chữ viết nói riêng, nhiễu
thường gặp và có nhiều ảnh hưởng đến kết quả nhận dạng là nhiễu đốm và nhiễu
vạch. Hiện nay, chất lượng máy quét rất tốt vì thế nhiễu vạch đã giảm nhiều, tuy
nhiên nhiễu đốm thì vẫn thường thấy.

Hình 3.1 Ví dụ về nhiễu đốm
Chương 3: Phân đoạn ảnh cho nhận dạng văn bản Bùi Thế Hân
12
Trong khóa luận này chúng tôi chỉ giới hạn ở việc xử lý các nhiễu đốm, việc
loại bỏ các nhiễu đốm được thực hiện bằng cách áp dụng bộ lọc trung vị (median
filter).
Lọc trung vị: Cho I là ảnh, với mỗi điểm P trong ảnh ta lấy cửa sổ W(P), sau
đó lấy trung vị và gán điểm P.

Hình 3.2 Ảnh sau khi áp dụng lọc trung vị.
3.1.3 Xoay lại ảnh
Ảnh đầu vào của chúng ta là ảnh scan lên rất dễ bị xoay. Chính vì vậy việc
xoay lại ảnh hay khử độ nghiêng của ảnh là rất cần thiết, cho việc xử lý sau này.
Công việc xoay văn bản gồm 2 giai đoạn chính là:

 Xác định góc nghiêng.
 Xoay lại ảnh theo góc nghiêng đã xác định.
Hiện nay thì có ba phương pháp thường được xử dụng để xác định góc
nghiêng của ảnh là: Sử dụng Histogram, phương pháp láng giềng gần nhất, phương
pháp sử dụng biến đổi Hough.
Phương pháp sử dụng biến đổi Hough rất hữu ích cho việc dò tìm đường thẳng
trong trang văn bản vì thế rất thích hợp cho việc xác định góc nghiêng của trang văn
bản gồm các thành phần là các dòng văn bản. Biến đổi Hough cần rất nhiều tính
toán do phải thao tác trên từng điểm ảnh riêng lẻ. Mặc dùng hiện phương pháp này
được rất nhiều người nghiên cứu và cải tiến. Tuy vậy tốc độ xử lý của phương pháp
này là tương đối chậm, so với các phương pháp khác.
Phương pháp láng giềng gần nhất: Phương pháp này được phát triển dựa trên
nhận xét: trong một trang văn bản, khoảng cách giữa các kí tự trong một từ và giữa
các kí tự của từ trên cùng một dòng là nhỏ hơn khoảng cách giữa hai dòng văn bản,
vì thế đối với mỗi kí tự, láng giềng gần nhất của nó sẽ là các kí tự liền kề trên cùng
một dòng văn bản. Phương pháp này có tốc độ nhanh hơn phương pháp biến đổi
Hough tuy vậy thì nó vẫn châm hơn phương pháp sử dụng Histogram. Và một điểm
khá quan trọng là nó khó có thể áp dụng cho tiếng Việt, vì: với những chữ có 3
Chương 3: Phân đoạn ảnh cho nhận dạng văn bản Bùi Thế Hân
13
thành phần gồm thân, mũ và dấu hỏi. Khi đó, láng giềng gần nhất của mỗi phần sẽ
là một trong hai thành phần còn lại chứ không phải là kí tự liền kề với nó
Phương pháp sử dụng Histogram được phát triển dựa trên nhận xét: khi văn
bản không bị nghiêng thì các điểm đen tập trung chủ yếu ở các đường thuộc dòng
văn bản, các tại các đường không thuộc dòng văn bản, số điểm đen là rất ít. Trong
khi đó đối với văn bản nghiêng thì số điểm đen lại được phân bố khá đồng đều ở cả
các đường thuộc dòng văn bản, và các đường không thuộc dòng văn bản.

Hình 3.3: Histogram của một văn bản không nghiêng.


Hình 3.4: Histogram của văn bản nghiêng.
Thuật toán xác định Histogram để xác định góc nghiêng:
Mô tả thuật toán:
 h là chiều cao của ảnh (tính theo điểm ảnh).
 entireBlackPoints là số điểm đen tích lũy, sau khi duyệt hết toàn bộ bức
ảnh.
 avgPointLine là số điểm đen trung bình tại một đường nằm ngang của
ảnh
 lineBlackPoint là số điểm đen tích lũy của một dòng.

 Delta là phương sai của điểm đen trên một đường nằm ngang với số điểm
đen trung bình.
Chương 3: Phân đoạn ảnh cho nhận dạng văn bản Bùi Thế Hân
14


Ta thấy rằng góc lệch của văn bản thường chỉ nằm trong khoảng [-25, 25] độ.
Chính vì vậy ta quay ảnh tại các góc trong khoảng [-25,25] với bước nhảy góc là
stepAngle, và tính giá trị Delta tại mỗi lần quay, góc quay mà tại đó giá trị lớn nhất
của theta, sẽ ứng với góc nghiêng của văn bản.
3.2 Tách đoạn
Khi quan sát ảnh quét ta dễ nhận ra, mỗi văn bản sẽ được chia thành các đoạn
khác nhau. Mỗi đoạn này có những đặc trưng khá tương đồng về cỡ chữ, font chữ.
Chính sự tương đồng đó sẽ tạo điều kiện thuận lợi, giảm bớt sự phức tạp trong giai
đoạn xử lý phía sau.

Hình 3.5 Ví dụ minh họa cắt đoạn
Để tách thành các đoạn (hay các vùng ảnh) chúng ta sử dụng 2 đặc trưng:
Khoảng cách trắng giữa các đoạn sẽ lớn hơn khoảng trắng giữa các dòng, lùi đầu
dòng của dòng kế tiếp.

3.3 Tách dòng
3.3.1 Tách dòng dựa vào các đường kẻ ngang
Chương 3: Phân đoạn ảnh cho nhận dạng văn bản Bùi Thế Hân
15
Ta nhận thấy, với mỗi dòng văn bản chúng ta có thể chia làm 3 vùng dựa vào
bốn đường cơ bản là : Top_Line, Bottom_Line, X_Line, Base_Line.

Hình 3.6: Các đường đặc trưng của một dòng văn bản.
Bước 1:Ý tưởng chính của phương pháp này là dựa trên nhận xét các điểm đen
tập trung chủ yếu trong khoảng đường Base_line và X_Line. Các đường này thì có
số điểm đên lớn hơn số điểm đên trung bình chính vì vậy chúng ta có thể xác định
được hai đường Base_Line và X_Line.
Bước 2:Sau khi xác định được Base_Line và X_Line chúng ta tiến hành xác
định miền liên thông.
Bước 3:tiếp theo là ta duyệt tất cả các miền liên thông. Nếu miền liên thông
nào có diện tích về dòng nào nhiều hơn, thì thuộc về dòng đó.
Nhận xét: Tuy nhiên phương pháp này sẽ gây ra lỗi nếu có xuất hiện các
dòng ngắn. Khi đó vì số ký tự trong dòng này quá ít, nên trong khoảng từ base-line
đến x-line, số điểm đen trên mỗi đường vẫn nhỏ hơn giá trị trung bình. Có thể khắc
phục lỗi này bằng cách gọi đệ qui với các vùng chứa các dòng ngắn.
Phương pháp cũng sẽ gây lỗi nếu gặp dòng toàn chữ in hoa (không tồn tại 4
đường đặc trưng như trên), và khó áp dụng đối với văn bản tiếng việt vì tiếng việt
có thêm các dấu nên nhiều trường hợp giá trị x-line tìm được lại chính là top line,
kết quả sẽ không chính xác nữa. Sau khi xác định được x-line, base-line cũng khó
phân tách các dòng, nếu chúng khá liền nhau (hoặc dính vào nhau).
3.3.2 Tách dòng dựa vào thành phần liên thông
Ý tưởng của phương pháp này là tìm tất cả các thành phần liên thông trong
ảnh và sắp xếp theo thứ tự tăng dần của tung độ của điểm trên nhất. Sau đó dựa vào
sự tương quan giữa tung độ của điểm trên nhất, tung độ của điểm dưới nhất của mỗi
thành phần liên thông để gộp các thành phần này vào một dòng văn bản.

Nhận xét:
Chương 3: Phân đoạn ảnh cho nhận dạng văn bản Bùi Thế Hân
16
Ưu điểm của phương pháp này ta có thể tách được các dòng mà giữa chúng có
phần giao với nhau (không dính) và đường cắt giữa 2 dòng sẽ được đi theo một
đường cong, chứ không phải là một đường thẳng như những cách khác.
Nhược điểm: Phương pháp này chạy tương đối chậm, do thời gian tính toán
thành phần liên thông. Và phải duyệt lại thành phần liên thông nhiều lần.
3.3.3 Tách dòng dựa vào khoảng trắng giữa các dòng
Trong đề tài này chúng tôi đề xuất một phương pháp tách dòng đó là tách
dòng dựa vào khoảng trắng và kết hợp Histogram ngang.
Ý tưởng của phương pháp này đó là dựa vào khoảng trắng giữa các dòng với
nhau. Khoảng trắng giữa các dòng chính là nơi ta đặt nhát cát để tách các dòng với
nhau.
Phương pháp này có ưu điểm là tốc độ rất nhanh. Nhưng nhược điểm của
phương pháp này là do sự xuất hiện của nhiễu. Nhiễu có thể làm mất khoảng trắng
giữa các dòng, dẫn dến hiện tượng tách sai dòng (Một dòng thành hai hoặc ba
dòng). Để giải quyết được nhược điểm của phương pháp này tôi đã kết hợp phương
pháp này với Histogram ngang cho các trường hợp nghi ngờ tách hai dòng hay ba
dòng. Histogram ngang dựa trên đặc điểm các điểm đen chỉ phân bố chủ yếu tại các
đường thuộc các dòng, tại khoảng giữa các dòng thì rất ít. Ta tìm Histogram ngang
của văn bản và xác định một ngưỡng threshold nào đó, đối với các đường mà trên
đó số điểm đen < threshold thì sẽ được chọn làm phân cách giữa các dòng.
Các bước thực hiện:
Bước 1: Xác định khoảng trắng giữa các dòng và chọn làm vạch phân cách
hay là vị trí cắt các dòng. Quá trình được lặp lại cho đến khi hoàn tất công việc tách
dòng trong đoạn. Chiều cao của mỗi dòng phài > minHeightLine (tránh trường hợp
tách các dấu thành một dòng)
Bước 2: Xác định độ cao trung bình của các dòng trong một đoạn(
avgHeightLine ). Thực nghiệm ta thấy ValueHistogram được tính:

valueHistogram=avgHeightLine x 1,2
Bước 3: Kiểm tra độ cao của các dòng đã tách. Nếu dòng nào có độ cao >
valueHistogram, thì thực hiện bước 4,5.

×