Vì lý do đó, luận văn này sẽ tập trung nghiên cứu một số phương pháp phân lớp mẫu và trích chọn đặc trưng nhằm lựa chọn được mộtphương pháp thích hợp cho việc nhận dạng chữ Việt in chất
Trang 1TRƯƠNG TUẤN TOÀN
NGHIÊN CỨU PHƯƠNG PHÁP NHẬN DẠNG
CHỮ VIỆT IN CHẤT LƯỢNG THẤP
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên 2014
Trang 2TRƯƠNG TUẤN TOÀN
NGHIÊN CỨU PHƯƠNG PHÁP NHẬN DẠNG CHỮ VIỆT
IN CHẤT LƯỢNG THẤP
Chuyên ngành: Khoa học máy tính
Mã số:60 48 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS NGUYỄN THỊ THANH TÂN
Thái Nguyên 2014
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan rằng bản luận văn này là tự thân nghiên cứu và hoànthành dưới sự hướng dẫn khoa học của TS Nguyễn Thị Thanh Tân Nếu có gì
vi phạm tôi xin hoàn toàn chịu trách nhiệm
Thái Nguyên, ngày tháng năm 2014
Trương Tuấn Toàn
Trang 4L Ờ I C Ả M Ơ N
Em xin bày tỏ lòng biết ơn sâu sắc tới TS Nguyễn Thị Thanh Tân, cô đã
hướng dẫn, chỉ dạy tận tình để em hoàn thành luận văn này
Em xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Côngnghệ thông tin và truyền thông – Đại học Thái Nguyên, các thầy cô giáo tạiviện CNTT Hà Nội đã truyền thụ kiến thức cho em trong suốt quá trình họctập vừa qua
Cuối cùng xin cảm ơn gia đình, cảm ơn các bạn đã cùng chia sẻ, giúp
đỡ, động viên trong suốt quá trình học tập cũng như trong thời gian thực
hiện luận văn
Thái Nguyên, ngày tháng năm 2014
Trương Tuấn Toàn
Trang 5M Ụ C L Ụ C
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
HÌNH VẼ v
BẢNG vi
MỞ ĐẦU 1
CHƯƠNG 1 - TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG CHỮ VIỆT 4
1.1 Qui trình chung của một hệ nhận dạng chữ 4
1.1.1 Phân lớp mẫu 4
1.1.2 Nhận dạng văn bản 11
1.2 Chữ Việt và các đặc trưng của chữ Việt 14
1.2.1 Bảng chữ cái tiếng Việt 14
1.2.2 Các nguyên âm trong tiếng Việt 14
1.2.3 Cấu trúc thanh điệu 15
1.3 Những tồn tại trong nhận dạng văn bản chất lượng thấp 16
1.3.1 Chữ bị dính, nhòe 17
1.3.2 Văn bản bị đứt hoặc mất nét 18
1.3.3 Văn bản bị nhiễu 19
1.3.4 Văn bản được in với các kiểu font chữ đặc biệt 20
1.3.5 Cỡ chữ quá lớn hoặc quá nhỏ 21
1.4 Kết luận 22
CHƯƠNG 2 - MỘT SỐ VẤN ĐỀ TRONG NHẬN DẠNG KÝ TỰ CHẤT LƯỢNG THẤP 23
2.1 Trích chọn đặc trưng 24
2.1.1 Các đặc trưng sử dụng trong huấn luyện mô hình 26
2.1.2 Các đặc trưng sử dụng trong quá trình nhận dạng 28
2.2 Nhận dạng ký tự dựa vào đặc tr ưng trích chọn 29
Trang 62.2.1 Phân cụm tập đặc trưng 30
2.2.2 Thuật toán phân lớp ký tự 44
2.3 Kết luận 50
CHƯƠNG 3 - THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 51
3.1 Bài toán 51
3.2 Cài đặt chương trình thử nghiệm 51
3.3 Đánh giá thực nghiệm 60
3.3.1 Độ đo đánh giá 60
3.3.2 Dữ liệu thực nghiệm 61
3.3.3 Kết quả thực nghiệm 62
3.4 Kết luận 65
KẾT LUẬN 67
I TÓM TẮT CÁC KẾT QUẢ ĐẠT ĐƯỢC CỦA LUẬN VĂN 67
II NHỮNG VẤN ĐỀ CHƯA ĐƯỢC GIẢI QUYẾT BỞI LUẬN VĂN 67
III HƯỚNG PHÁT TRIỂN 68
DANH MỤC TÀI LIỆU THAM KHẢO 69
Trang 7HÌNH VẼ
Hình 1.1: Qui trình chung của một hệ thống nhận dạng chữ 11
Hình 1.2: Trường hợp văn bản in đậm 17
Hình 1.3: Một số hình ảnh bị biến dạng của các ký tự 18
Hình 1.4: Hình ảnh các ký tự tiếng Việt bị nhập nhằng phần dấu 18
Hình 1.5: Trường hợp văn bản bị đứt và mất nét 19
Hình 1.6: Hình ảnh của ký tự bị biến dạng do lỗi đứt nét 19
Hình 1.7: Một số dạng nhiễu thường gặp trên văn bản 20
Hình 1.8: Văn bản bị các nhiễu đánh dấu 20
Hình 1.9: Văn bản bị nhiễu do bị chồng chữ ký/con dấu 20
Hình 1.10: Văn bản đ ược in với kiểu font chữ đặc biệt 21
Hình 2 1: Các đặc trưng để huấn luyện mô hình 27
Hình 2.2: Trích chọn các đặc trưng để nhận dạng 29
Hình 2.3: Đặc trưng của một dòng ảnh 29
Hình 2.4: Một cấu trúc cây K-D 33
Hình 2.5: Cấu trúc dữ liệu lưu các đặc trưng đầu vào 34
Hình 2.6: Cấu trúc dữ liệu cây K -D 35
Hình 2.7: Cấu trúc CLUSTER 36
Hình 2.8: Cấu trúc DIM_DESC mô tả mỗi chiề u của cây K-D 37
Hình 2.9: Một số mẫu đại diện cho lớp kí tự ‘ộ’ 44
Hình 2.10: Thuật toán phân lớp ký tự 46
Hình 2.11: Kết quả thực hiện của thuật toán 49
Hình 3.1: Quy trình thực hiện của chương trình thử nghiệm 52
Hình 3.2: Các tập dữ liệu thử nghiệm 62
Trang 8B Ả NG
Bảng 1.1: Cấu trúc thanh điệu trong tiếng Việt 16Bảng 3.1: Các lớp ký tự huấn luyện thuật toán 53Bảng 3.2: Kết quả thực nghiệm 63
Trang 9MỞ ĐẦU
1 Tính cấp thiết của luận văn
Nhận dạng chữ là quá trình chuyển đổi từ dạng hình ảnh của một haynhiều trang ảnh chứa các thông tin văn bản thành tệp văn bản thực sự có thểsoạn thảo được trên máy tính Khi đề cập đến bài toán nhận dạng chữ, người
ta thường phân biệt hai loại là chữ in (optical character) và chữ viết tay
(handwritten character) [2], [6], [7], [9] Các kết quả ứng dụng của bài toánnhận dạng chữ in đã và đang được sử dụng rộng rãi trong qui trình tự độnghóa các hoạt động văn phòng, mang lại lợi ích thực sự cho con người
Ngày nay cùng với sự phát triển về mặt lý thuyết, công nghệ, có rấtnhiều hướng đi cho việc giải quyết bài toán này như: Hiện tại có rất nhiều
phương pháp phân lớp sử dụng trong nhận dạng chữ như: phân loại Bayes,
K-láng giềng gần nhất (k-NN), mạng Neural (ANNs), mô hình Markov ẩn
(HMM),… Những phương pháp này đã cho kết quả chấp nhận được và có nhiềuứng dụng trong thực tế
Trên thế giới hiện nay có nhiều chương trình nhận dạng chữ viết (chữ in
và viết tay), như các hệ OMNIPAGE, READ-WRITE, WORD-SCAN, ỞViệt Nam cũng có một số hệ như WORC của công ty 3C, VIET-IN của công
ty SEATIC, VNDOCR của Viện Công Nghệ Thông Tin, Image Scon củaTrung Tâm Tự Động Hóa Thiết Kế, hệ WINGIS của công ty DolfSoft [2]
Đối với bài toán nhận dạng văn bản tiếng Việt, có thể nói cho đến thờiđiểm hiện tại, việc nhận dạng các văn chữ in bản chất lượng thấp vẫn là một
vấn đề thách thức Vì lý do đó, luận văn này sẽ tập trung nghiên cứu một số
phương pháp phân lớp mẫu và trích chọn đặc trưng nhằm lựa chọn được mộtphương pháp thích hợp cho việc nhận dạng chữ Việt in chất lượng thấp, thử
Trang 10nghiệm xây dựng chương trình nhận dạng ký tự chữ Việt một văn bản mà
trong văn bản đó xuất hiện nhiều ký tự bị dính, biến dạng, bị đứt hay mất
nét với mong muốn sẽ làm ra một sản phẩm nhận dạng văn bản chữ intiếng Việt chất lượng thấp hoàn chỉnh trong tương lai
2 Mục tiêu của luận văn
Luận văn tập trung nghiên cứu một số phương pháp phân lớp mẫu vàtrích chọn đặc trưng nhằm lựa chọn được một phương pháp thích hợp choviệc nhận dạng các ảnh chữ cái và chữ số tiếng Việt chất lượng thấp
Ảnh chất lượng thấp ở đây bao gồm các ảnh kí tự bị lỗi do nhiễu, do bịđứt nét, bị thiếu hoặc thừa ra một phần nào đó do dính vào kí tự bên cạnh, do
các thành phần của kí tự bị dính với nhau chẳng hạn như phần mũ, dấu dínhvới phần chữ đối với kí tự tiếng Việt
3 Bố cục của luận văn
Các nội dung trình bày trong luận văn được chia thành 3 chương:
Chương I: Tổng quan về bài toán nhận dạng chữ Việt.
Chương này trình bày tổng quan về các vấn đề liên quan đến nhận dạng,các đặc trưng của chữ Việt và chữ Việt chất lượng thấp, những vấn đề tồn tại
trong bài toán nhận dạng ảnh văn bản chất lượng thấp, đưa ra mô hình chungcủa hệ thống nhận dạng, các hướng tiếp cận nhận dạng, các yếu tố ảnh hưởng
đến hệ thống nhận dạng
Chương II: Một số vấn đề trong nhận dạng ký tự chất lượng thấp
Chương này trình bày những khái niệm cơ bản về ảnh ký tự chất lượng
thấp, một số hướng tiếp cận trong phân lớp và trích chọn đặc trưng ký tự vàlựa chọn một phương pháp nhận dạng ảnh ký tự chất lượng thấp
Chương III: Thực nghiệm và đánh giá kết quả
Trang 11Chương này mô tả chi tiết quá trình thử nghiệp phân lớp và một sốphương pháp trích chọn đặc trưng, đồng thời đưa ra đánh giá hiệu quả của quá
trình nhận dạng
Phần kết luận
Phần này sẽ nêu lên các vấn đề đã giải quyết được, chưa giải quyết được
và hướng phát triển trong tương lai của luận văn
Trang 12CH ƯƠ NG 1 - TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG
-CHỮ VIỆT
1.1 Qui trình chung của một hệ nhận dạng chữ
Qui trình chung của một hệ thống nhận dạng chữ thường gồm hai giai
đoạn là: Phân lớp mẫu và nhận dạng văn bản [2]
1.1.1 Phân lớp mẫu
Phân lớp (sắp lớp) mẫu là giai đoạn quyết định trong quá trình nhậndạng Hai kiểu phân lớp điển hình thường được sử dụng là: phân lớp cóthầy (học có thầy) và phân lớp không có thầy (học không có thầy) Cácvấn đề thường được đặt ra trong bước phân lớp là:
• Độ chính xác: Độ tin tưởng của một luật phân lớp được thể bởi tỷ
lệ phân lớp đúng Nhìn chung, độ chính xác được đo bởi tập dữ liệu học
và độ chính xác được đo bởi tập dữ liệu thử nghiệm là khác nhau Đây
không phải là một điều bất thường, đặc biệt trong các ứng dụng học máy,
đối với tập dữ liệu học thì có thể đúng hoàn toàn, nhưng trên tập dữ liệu
thử nghiệm có khi kết quả lại rất tồi tệ Khi nói đến độ chính xác của mộtthuật toán phân lớp thì thường là nói đến độ chính xác trên tập dữ liệu thửnghiệm Kinh nghiệm thực tế cho thấy, độ chính xác của một thuật toánphân lớp phụ thuộc khá nhiều vào tập dữ liệu học (cả về mặt số lượng lẫnchất lượng) nói một cách khác là v iệc trích chọn đặc trưng của các mẫu có
ảnh hưởng lớn tới độ chính xác của quá trình phân lớp
• Tốc độ phân lớp: Đây là yếu tố đặc biệt quan trọng đối với các hệ
thống có tính thời gian thực, chẳng hạn như nhận dạng chữ viết tay trựctuyến (online),
• Tính dễ hiểu: Thuật toán phân lớp đơn giản, dễ cài đặt và hiệu quả.
Trang 13• Thời gian học: Nhất là trong một môi trường thường xuyên thay
đổi, cần phải học một luật phân lớp một cách nhanh chóng hoặc hiệu
chỉnh một luật đã có trong thời gian thực Để học nhanh , nhiều khi ta chỉcần sử dụng một số lượng nhỏ các mẫu huấn luyện để thiết lập các luậtphân lớp
Tổng quan về các phương pháp phân lớp kí tự đã được đề cập Về cơbản, có thể chia thành ba hướng tiếp cận chính: Phân lớp ký tự dựa trên
đối sánh mẫu, phân lớp ký tự dựa trên phân tích cấu trúc chữ và phân lớp
ký tự dựa trên các kỹ thuật học máy
1.1.1.1 Hướng tiếp cận đối sánh mẫu
Quá trình phân lớp kí tự được tiến hành dựa trên việc đối sánh mỗi đối
tượng đầu vào với lần lượt từng mẫu (prototypes) đã được lưu trữ n hằm
tìm ra một lớp mẫu phù hợp nhất với đối tượng đó Các kỹ thuật đối sánh
mẫu điển hình gồm đối sánh trực tiếp, đối sánh mềm (deformable templates and elastic matching) và đối sánh trên tập đặc trưng (so khớp
tập đặc trưng)
Với kỹ thuật đối sánh trực tiếp, mỗi kí tự đầu vào sẽ được so sánh trực
tiếp với một tập mẫu chuẩn đã được lưu trữ dựa trên một số độ đo cụ thể,chẳng hạn như các độ đo khoảng cách (Euclide, Manhattan, Jaccard), độ
tương tự (similarity measure), v.v Mặc dù các kỹ thuật đối sánh trực tiếp
là trực quan và có một nền tảng toán học vững chắc, tuy nhiên lại rất nhạycảm với nhiễu
Ý tưởng của phương pháp đối sánh mềm là đối sánh mỗi ảnh đầu vào
với tất cả các biến dạng có thể có của tập mẫu một cách tối ưu dựa trên
phương pháp qui hoạch động và các phép biến dạng ảnh Vấn đề gặp phải
của phương pháp đối sánh mềm là thời gian và tốc độ thực thi
Trang 14Đối với Phương pháp đối sánh tập đặc trưng còn được gọi là phương
pháp đối sánh không chặt (relaxation matching - RM), mỗi ảnh đầu vào sẽđược biểu diễn bằng một tập các đặc trưng Trong quá trình phân lớp, mỗi
tập đặc trưng đầu vào sẽ được đối sánh với lần lượt các tập đặc trưngmẫu Các kỹ thuật này khắc phục được các vấn đề thời gian và tốc độ
nhưng hiệu quả của thuật toán phân lớp phụ thuộc nhiều vào tập đặc trưngđược trích chọn
1.1.1.2 Hướng tiếp cận phân tích cấu trúc
Hướng tiếp cận này xuất phát từ ý tưởng biểu diễn một mẫu phức tạp
bằng các mẫu đơn giản hơn dựa trên hình dạng của đối tượng Các mẫu
này được sử dụng để mô tả và phân lớp các kí tự tro ng hệ thống OCR Haiphương pháp điển hình trong hướng tiếp cận này là phân tích cú pháp văn
phạm (grammatical) và đồ thị (graphical)
Các phương pháp phân tích văn phạm thường bắt đầu bằng việc tạo
một số luật để sinh ra một kí tự từ tập các nét cơ bản th ông qua các vănphạm hình thức Các phương pháp này có thể kết hợp các đặc trưng tô pôvới bất kỳ kiểu đặc trưng nào theo một số luật cú pháp và ngữ nghĩa Cáccông cụ hình thức chẳng hạn như lý thuyết ngôn ngữ cho phép mô tả cáccấu trúc và trích chọn thô ng tin ngữ cảnh về người viết bằng cách sử dụngcác kiểu văn phạm khác nhau Trong các phương pháp văn phạm, việchuấn luyện được thực hiện bằng cách mô tả mỗi kí tự bởi một văn phạm
G Trong quá trình nhận dạng, mỗi chuỗi, cây hoặc đồ thị của các đơn vịviết bất kỳ (kí tự, từ, câu) được phân tích để quyết định xem nó thuộc vào
văn phạm mẫu nào Các phương pháp phân tích dưới lên (bottom -up) hoặc
trên xuống (top-down) được sử dụng cho việc phân tích cú pháp Phương
pháp phân tích văn phạm có thể áp dụng cho các mức kí tự, từ và câu Ở
Trang 15mức kí tự, ngôn ngữ mô tả hình ảnh (PDL) được sử dụng để mô hình hóamỗi kí tự bằng tập các nét và các mối quan hệ giữa chúng Quá trình phânlớp sẽ tìm kiếm lớp mẫu phù hợp nhất cho mỗi đối tượng đầu vào dựa trêncác mô tả đã được lưu trữ Ở mức từ, các thống kê bi -gram và tri-gram
được sử dụng để tạo ra các văn phạm sinh từ (word) Việc mô tả từ và câu
sử dụng các tri thức dựa trên các luật ngôn ngữ Các phương pháp vănphạm cũng được sử dụng trong công đoạn hậu xử lý để tăng độ chính xácnhận dạng
Với phương pháp đồ thị , các đơn vị viết (kí tự/từ) được thể hiện bởi
các cây hoặc đồ thị Trong quá trình huấn luyện, một đồ thị hoặc cây sẽ
được tạo ra để biểu diễn các nét cơ bản tương ứng với mỗi lớp mẫu Quá
trình nhận dạng sẽ gán mỗi đồ thị chưa biết cho một trong các lớp mẫudựa trên các độ đo cụ thể
1.1.1.3 Hướng tiếp cận dựa trên học máy
Các phương pháp học máy được ứng dụng phổ biến trong phân
lớp/nhận dạng mẫu Lợi điểm của các phương pháp học máy là không yêucầu phải đầu tư quá nhiều thời gian và công sức cho việc xây dựng tậpmẫu như các hướng tiếp cận cấu trúc hay văn phạm Ngoài ra, các phươngpháp học máy còn cải thiện đáng kể độ chính xác nhận dạng do đã đượchuấn luyện với một tập mẫu học lớn Các phương pháp học máy điển hình
được áp dụng trong bài toán nhận dạng chữ là các phương pháp thống kê ,
mạng nơron nhân tạo (ANN), các phương pháp hàm nhân, và kết hợp nhiều phương pháp phân lớp.
Các phương pháp thống kê : Lý thuyết quyết định thống kê thường
liên quan tới các hà m quyết định thống kê và tập các tiêu chuẩn tối ưu,
Trang 16cực đại hóa xác xuất của mẫu quan sát được bởi mô hình của một lớp mẫu
cụ thể Các kỹ thuật thống kê chủ yếu dựa trên ba giả thiết cơ bản sau:i) Phân bố của tập đặc trưng là phân bố Gaussian hoặc phân bố c huẩn.ii) Có các biến thống kê đầy đủ cho mỗi lớp
iii)Với mỗi ảnh I cho trước sẽ trích chọn được một tập các đặc trưng
{f i |i=1,n}, đại diện cho các lớp mẫu riêng biệt
Các kỹ thuật điển hình trong phân lớp thống kê gồm có: Phân lớp cótham số, phân lớp không tham số và phân lớp dựa trên các mô hìnhMarkov ẩn
Các phương pháp phân lớp không tham số thường được sử dụng để
phân tách các lớp mẫu khác nhau theo các siêu phẳng trong một không
gian cho trước Phương pháp k-láng giềng gần nhất (k-nn) là phương pháp
phân lớp không tham số được sử dụng phổ biến nhất trong bài toán nhậndạng
Trong trường hợp biết trước thông tin về các kí tự trong tập dữ liệu
huấn luyện, có thể xây dựng được một mô hình tham số cho mỗi kí tự.Khi các tham số của mô hình đã được xác định, các kí tự sẽ được phân lớptheo một số luật quyết định (MLE, Bayes)
Mô hình Markov ẩn được ứng dụng phổ biến nhất trong bài toán nhậndạng chữ viết tay trực tuyến (online-handwritting) Mô hình này được
định nghĩa là một tiến trình ngẫu nhiên đư ợc sinh ra bởi hai cơ chế có liên
quan mật thiết với nhau: một xích Markov có hữu hạn trạng thái và mộttập các hàm ngẫu nhiên, trong đó mỗi hàm được liên kết với một trạngthái Tại mỗi thời điểm, một quan sát được sinh ra bởi hàm ngẫu nhiên
tương ứng với trạng thái đang xét Xích Markov sau đó sẽ thay đổi các
Trang 17trạng thái theo các xác suất chuyển của chúng Các mô hình MD -HMM
(model discriminant HMM) thường được sử dụng cho bài toán phân lớp kí
tự Trong đó mô hình này, mỗi HMM sẽ được xây dựng cho một lớp mẫu
kí tự trong quá trình huấn luyện Các trạng thái thể hiện các trọng tâm củacụm trong không gian đặc trưng Nhiệm vụ của quá trình phân lớp là xác
định mô hình đã sinh ra chuỗi quan sát đầu vào
Mô hình mạng nơron: Mạng nơron nhân tạo (Artificial Neur al
Network) là một mô hình tính toán mô phỏng theo hoạt động của bộ não
và nơron sinh học của con người
Cấu trúc của một mô hình mạng nơron bao gồm nhiều nút (đơn vị xử
lý, nơron) được nối với nhau bởi các liên kết nơron Mỗi liên kết kèmtheo một trọng số nào đó, đặc trưng cho đặc tính kích hoạt/ức chế các
nơron Có thể xem các trọng số như là thành phần để lưu giữ thông tin dài
hạn trong mạng nơron Nhiệm vụ của quá trình huấn luyện mạng là cậpnhật các trọng số khi có thêm các thông tin về các mẫu học, hay nói mộtcách khác là các trọng số được điều chỉnh sao cho dáng điệu vào ra của nó
mô phỏng hoàn toàn phù hợp với tập mẫu đang xét
Các mô hình mạng MLP (multilayer layer perceptron), RBF (radialbasis function), HONN (higher-order neural network), Kohonen, mạngxoắn (convolutional neural network) đã được đã được ứng dụng rộng rãitrong bài toán phân lớp mẫu nói chung và phân lớp kí tự nói riêng Trongquá trình huấn luyện mạng, mỗi mẫu huấn luyện được cung cấp dưới dạngcặp vector: {(x = x1, , xp), (t = t1, ,tq)}, với x là vector đặc trưng p chiều
được trích chọn từ mẫu đầu vào, các phần tử x 1 , , x p thường có giá trị ∈
[-1,1] hoặc ∈ [0,1] và t là giá trị mục tiêu tương ứng của mẫu đó, các
trọng số liên kết thường được hiệu chỉnh nhằm cực tiểu hó a sai số bình
Trang 18phương trung bình trên các mẫu huấn luyện Sau khi mạng được huấn
huấn thành công, các tri thức tích l uỹ được trong quá luyện mạng (các matrận trọng số, các tham số tự do, v.v) sẽ được cập nhật vào cơ sở tri thức
để sử dụng trong quá trình nhận dạng
Các phương pháp phân lớp sử dụng hàm nhân: Các phương pháp
phân lớp sử dụng hàm nhân bao gồm SVM (support vector machine),KPCA (kernel principal component analysis), KFD (kernel Fisher
discriminant analysis), v.v đã được ứng dụng phổ biến và thu được những
kết quả đáng kể trong bài toán nhận dạng mẫu nói chung
SVM là một kỹ thuật phân lớp nhị phân dựa trên lý thuyết cực tiểuhoá rủi ro theo cấu trúc (Structural Risk Minimization) của Vapnik vớicác hàm phân biệt là sự kết hợp có trọng số của các hàm nhân trên toàn bộtập mẫu huấn luyện Việc huấn luyện SVM dựa trên ý tưởng tìm siêuphẳng tối ưu trong không gian đặc trưng để cực đại khoảng cách giữa hailớp mẫu huấn luyện trong bài toán phân lớp nhị phân
Các thuật toán huấn luyện SVM thường d ựa trên ý tưởng phân tích bàitoán qui hoạch toàn phương (quadratic programming -QP) ban đầu thànhdãy các bài toán QP nhỏ hơn Sau khi huấn luyện, các mẫu có trọng sốkhác 0 sẽ được gọi là các vector hỗ trợ (support vector -SV) Đối với bàitoán phân nhiều lớp, các SVM nhị phân sẽ được kết hợp theo các chiến
lược one-vs-one hoặc one-vs-all Ưu điểm của SVM là khả năng phân lớp
với độ chính xác cao Tuy nhiên, tốc độ phân lớp của SVM bị đánh giá làchậm hơn so với các phương pháp phân lớp khác
Trong quá trình phân lớp, SVM phải duyệt qua tất cả các SV để sosánh với mẫu cần nhận dạng, khi số SV tăng lên thì tốc độ phân lớp sẽgiảm xuống tương ứng Vì lý do đó, vấn đề giảm thiểu số SV nhằm tăng
Trang 19tốc độ phân lớp thường được đặt ra đối với phương pháp này Tuy vậy,việc giảm số lượng các SV có thể bị trả giá bởi độ chính xác phân lớp.
1.1.2 Nhận dạng văn bản
Các bước cần thực hiện trong giai đoạn này được thể hiện cụ thể trên
hình 1.1, bao gồm 7 bước xử lý cơ bản, bao gồm: Thu nhận và lưu trữ
ảnh, tiền xử lý, phân tích trang văn bản, nhận dạng, hậu xử lý, lưu văn
bản
Hình 1 1: Qui trình chung của một hệ thống nhận dạng chữ
1 Thu nhận và lưu trữ ảnh: Đây là công đoạn đầu tiên trong một
quá trình nhận dạng ảnh Trong một hệ thống nhận dạng, ảnh thường đượcthu nhận qua scanner, sau đó được lưu trữ dưới các định dạng file (∗.pcx,
Trang 20∗.bmp, ∗.jpg, ∗.tif, ∗.gif, ∗.png, ) Nhìn chung việc lựa chọn định dạng
file lưu trữ sẽ tuỳ thuộc vào các văn bản đầu vào cần nhận dạng và các
yêu cầu cụ thể của từng hệ thống
2 Tiền xử lý ảnh: Đây là công đoạn sử dụng các kỹ thuật xử lý ảnh để
nâng cao chất lượng ảnh đầu vào Nhìn chung, chất lượng của ảnh đầu vào sẽ
ảnh hưởng nhiều đến chất lượng nhận dạng Vì vậy, tiền xử lý ảnh là mộtbước không thể thiếu được trong một hệ thống nhận dạng hay xử lý ảnh Các
kỹ thuật thường được sử dụng trong quá trình tiền xử lý là: Phân ngưỡng, cănchỉnh độ lệch trang văn bản, lọc nhiễu, nối nét đứt trên ảnh ,
3 Phân đoạn ảnh: đây là một trong những công đoạn quan trọng
nhất trọng nhất của quá trình nhận dạng và có ảnh hưởng lớn đến kết quảnhận dạng Hai cách tiếp cận phổ biến được lựa chọn trong quá trình phân
đoạn ảnh là:
•Cách tiếp cận trên xuống (top-down): Toàn bộ ảnh văn bản cần
phân đoạn được coi là một khối lớn, sau đó khối này được phân thành các
khối nhỏ hơn, các khối nhỏ này lại tiếp tục được phân thành các khối nhỏ
hơn nữa cho đến khi thu được các kí tự hoặc không thể phân nhỏ hơnđược nữa Nhìn chung, với cách tiếp cận này, phương pháp thường dùng
để phân đoạn ảnh là sử dụng các biểu đồ tần suất ngang và dọc Tuy
nhiên, do biểu đồ tần suất bị ảnh hưởng nhiều bởi độ nghiêng trang vănbản nên trước khi xử lý phân đoạn, ta thường phải căn chỉnh độ lệch của
trang văn bản
•Cách tiếp cận dưới lên (bottom -up): Quá trình phân đoạn bắt đầubằng việc xác định những thành phần nhỏ nhất, sau đó gộp chúng lạithành những thành phần lớn hơn, cho đến khi thu được tất cả các khối
trong trang văn bản
Trang 214 Nhận dạng: Đây chính là thao tác gán nhãn cho đối tượng dựa
trên những tri thức đã học được , nói cách khác đây là thao tác tìm kiếmmột lớp mẫu phù hợp nhất với đối tượng đầu vào
5 Học mẫu mới: Do tập mẫu huấn luyện không thể bao quát được
toàn bộ các mẫu trong thực tế nên trong quá trình nhận dạng có thể sẽ gặpnhững mẫu mới mới mà hệ t hống không thể nhận dạng chính xác được
Khi đó việc học thêm những mẫu này sẽ góp phần làm tăng chất lượng
của hệ thống nhận dạng
6 Hậu xử lý: Đây là một trong những công đoạn cuối cùng của quá
trình nhận dạng Trong nhận dạng chữ, có thể hiểu hậu xử lý là bước ghépnối các kí tự đã nhận dạng được thành các từ, các câu, các đoạn văn nhằmtái hiện lại văn bản đồng thời phát hiện ra các lỗi nhận dạng bằng cáchkiểm tra chính tả dựa trên cấu trúc và ngữ nghĩa của câu, đoạn văn Việcphát hiện ra các lỗi, các sai sót trong nhận dạng ở bước này đã góp phần
đáng kể vào việc nâng cao kết quả nhận dạng Đặc biệt đối với các ảnhvăn bản đầu vào không tốt (chẳng hạn: Bản in bị mờ, bị đứt nét do photo
nhiều lần, ) hoặc các văn bản in chứa nhiều thông tin hỗn hợp (chẳnghạn: Trong văn bản có cả số lẫn chữ và các kí hiệu), điều này rất dễ gâynhầm lẫn trong nhận dạng Thậm chí có những trường hợp nhập nhằng chỉ
có thể giải quyết được bằng ngữ cảnh bằng cách phân tích ngữ cảnh củacâu, chẳng hạn như trường hợp nh ập nhằng giữa từ “lO” với số “10”
7 Lưu văn bản: Sau khi văn bản cần nhận dạng đã được tái tạo về
dạng nguyên bản sẽ được lưu lại ở các định dạng file được hệ thống hỗtrợ, chẳng hạn như file dạng (.doc, rtf, xls, )
Trang 221.2 Chữ Việt và các đặc trưng của ch ữ Việt
Chữ Quốc Ngữ là hệ thống chữ là hệ thống chữ viết chính thức hiệnnay của tiếng Việt Hệ thống này được xây dựng dựa trên chữ cái Latinhthêm các chữ ghép và 9 dấu phụ - 4 dấu tạo ra các âm mới, và năm dấucòn lại dành cho thể hiện thanh điệu của t ừ Hai loại dấu phụ có thể đượcviết cùng trên một chữ cái nguyên âm
1.2.1 Bảng chữ cái tiếng Việt
Bảng chữ cái tiếng Việt có 29 chữ cái, theo thứ tự:
A Ă Â B C D Đ E Ê G H I K L M N O Ô Ơ P Q R S T U Ư V X Y
a ă â b c d đ e ê g h i k l m n o ô ơ p q r s t u ư v x y
Ngoài ra, có 9 chữ ghép đôi và 1 chữ ghép ba
CH GH GI KH NG NGH NH PH TH TR
Trước đây, các chữ ghép này được coi như một chữ cái độc lập và có
thể được tìm thấy trong từ điển cũ Ngày nay chúng không được coi làchữ cái độc lập mà là chữ ghép; ví dụ trong việc xếp thứ tự, "CH" nằmgiữa "CA" và "CO" trong các từ điển hiện đại Các chữ cái "F", "J", "W"
và "Z" không có trong bảng chữ cái tiếng Việt, nhưng có thể bắt gặp trongcác từ vay mượn từ tiếng nước ngoài "W" thỉnh thoảng được dùng trongviết tắt thay "Ư"
1.2.2 Các nguyên âm trong tiếng Việt
Ngoài các nguyên âm đơn, trong tiếng Việt còn có nguyên âm đôi và
nguyên âm ba Một nguyên âm có thể biểu thị cho vài cách phát âm khácnhau, tùy theo nó nằm trong nguyên âm đơn, đôi hay ba; và nhiều khi cáccách viết nguyên âm khác nhau tượng trưng cho cùng một cách phát âm
Trang 23 Các nguyên âm đơn: a ă â e ê i o ô ơ u ư y.
Các nguyên âm đôi: ui, ôi, oi, ơi, ây, ai, ay, ưi, ia, ya, iê, yê, ưa, ươ,
iu, êu, eo, ơu, âu, ao, au, o ưu, ua, uơ
Các nguyên âm ba: iêu, yêu, ươi, uôi, ươu
1.2.3 Cấu trúc thanh điệu
Tiếng Việt là ngôn ngữ thanh điệu, nghĩa là nghĩa của một từ phụthuộc vào thanh điệu của từ đó Có sáu thanh điệu; trong đó thanh ngangkhông ghi dấu phụ, còn các thanh khác có dấu phụ ghi tại nguyên âm(Bảng 1.1)
Trang 24Bảng 1.1: Cấu trúc thanh điệu trong tiếng Việt
Chất lượng của ảnh đầu vào là yếu tố quyết định tới độ chính xác của
một hệ thống nhận dạng Hầu hết các hệ thống nhận dạng chữ hiện đang
được thương mại hóa trên thị trường đều cho độ chính xác cao trên những
ảnh đầu vào có chất lượng tốt Tuy nhiên, độ chính xác này thường không
được đảm bảo trong trường hợp ngược lại Ngay cả khi văn bản được i n
thông thường, dễ dàng nhận dạng mặt chữ và định dạng, vẫn có rất nhiều
lỗi sinh ra do ảnh đầu vào có chất lượng thấp hay nói một cách khác là do
những lỗi về mặt hình ảnh (imaging defect) Những lỗi này thường bao
gồm các kí tự bị dính, bị nhiễu, in quá đậm, các kí tự bị mờ, đứt hoặc mất
nét Ngoài ra các nhiễu vệt và các đường baseline cong cũng là những
nguyên nhân gây ảnh hưởng đến chất lượng nhận dạng Các lỗi hình ảnh
Trang 25thường sinh ra trong quá trình in ấn (printing process) hoặc quá trình thu
nhận hình ảnh (scanning process) Các băng mực máy in quá đậm có thểtạo ra các kí tự bị nhòe hoặc có vết bẩn, trong khi các băng mực bị mòn sẽsinh ra các bản in mờ nhạt Việc sao chụp (photocopy) các văn bản nhiềulần sẽ làm mất dần các thông tin làm cho các kí tự t rên đó bị đứt, gẫy vàmất nét Ở bước thu nhận hình ảnh, các phần mềm điều khiển thiết bị quét
thường cho phép người dùng hiệu chỉnh ngưỡng độ sáng thông qua chứcnăng điều khiển độ sáng (brightness control) Việc lựa chọn giá trịngưỡng này ảnh hưởng trực tiếp tới độ chính xác của hệ thống OCR bởi vì
nếu chọn ngưỡng thấp sẽ làm cho các kí tự bị đứt, mất nét (brokencharacters), nếu chọn ngưỡng cao sẽ làm cho các kí tự bị dính (touchingcharacters) Giá trị ngưỡng này đôi khi cũng bất thường do các nhi ễunhiệt hoặc nhiễu điện, bản thân độ nhạy cảm (sensitivity) cũng có thể rấtkhác nhau giữa các phần tử cảm ứng của máy quét do sự không hoàn hảocủa qui trình sản xuất Do đó, các kí tự giống hệt nhau trên các phần khác
nhau trên trang văn bản có thể có hình ảnh nhị phân khác nhau [2], [8]
1.3.1 Chữ bị dính, nhòe
Tách kí tự (character segmentation) là quá trình xác định vị trí của các kí
tự riêng biệt trong một từ Khi các kí tự bị dính nhau hoặc bị nhòe do chữ
được quá đậm, các hệ thống OCR cần phải áp dụng những kỹ thuật đặc biệt
để phân tách chúng
Hình 1.2: Trường hợp văn bản in đậm
Thậm chí đối với những kí tự có thể phân tách một cách dễ dàng, việc in
quá đậm cũng có thể làm biến dạng hình ảnh của chúng, làm cho việc nhận
Trang 26dạng chúng rất khó khăn Với kiểu in đậm, hình dạng của các kí tự hoa
thường có xu hướng tương tự nhau và giống như các hình khối (xem Hình
1.3) Điều này gây khó khăn cho việc phân tách và nhận dạng chúng
Hình 1.3: Một số hình ảnh bị biến dạng của các ký tự
Ngoài ra, đối với các văn bản chất lượng thấp , đã qua nhiều bước tiền
xử lý, hình ảnh của các ký tự tiếng Việt có thể bị biến dạng do phần dấu
bị nhòe, bị dính vào các thành phần khác của chữ và rất khó để phân biệt(xem Hình 1.4)
Hình 1.4: Hình ảnh các ký tự tiếng Việt bị nhập nhằng phần dấu 1.3.2 Văn bản bị đứt hoặc mất nét
Thực tế cho thấy là các kí tự bị đứt/mất nét gây ra nhiều lỗi hơn các kí tự
in đậm hoặc mờ Đây có thể là hệ quả của một thực tế là thông thường sẽ có
nhiều điểm trắng hơn điểm đen cho dù là trong trong các vùng văn bản củatrang ảnh Như vậy, việc chuyển từ một điểm đen sang điểm trắng sẽ mấtnhiều thông tin hơn là trường hợp ngược lại Các nguyên nhân điển hình gây
Trang 27ra sự đứt/mất nét kí tự thường là do băng mực máy in bị mòn, các văn bảncần nhận dạng đã qua sao chụp nhiều lần hoặc ảnh được quét với độ phân giảithấp (xem Hình 1.5).
Hình 1.5: Trường hợp văn bản bị đứt và mất nét
Hình ảnh của các ký tự thu được từ các văn bản này có thể bị thiếu hoặcmất đi những đặc trưng quan trọng giúp nhận biết được ký tự (xem Hình 1.6 )
Hình 1.6: Hình ảnh của ký tự bị biến dạng do lỗi đứt nét
Nhìn chung, thách thức đối với một thuật toán phân lớp kí tự hiện vẫn là
trường hợp chỉ còn lại một vài điểm ảnh của một kí tự, thậm chí không đủ đểcon người nhận biết kí tự đó một cách riêng biệt Khi có quá nhiều kí tự bị đứt
nét có thể làm hỏng cả đoạn văn bản Các hệ thống nhận dạng rất khó xử lýnhững trường hợp như vậy, và có thể sinh ra những kết quả sai lệch hoàntoàn Trong những trường hợp đứt nét phức tạp, việc xác định mảnh nàothuộc vào kí tự nào là một công việc rất khó đối với một hệ thống OCR
1.3.3 Văn bản bị nhiễu
Các dạng nhiễu đặc biệt là nhiễu dạng vệt rất dễ gây nhầm lẫn cho các hệthống OCR Nhiễu thường sinh ra do chất lượng in thấp hoặc do giấy inkhông tốt (chẳng hạn giấy báo) Mặc dù nhiễu thường bắt nguồn từ các trang
văn bản cần nhận dạng, nhưng chúng cũng có thể được sinh ra bởi các đốm
bụi trên trục lăn của máy quét, bởi các vết hằn từ mặt kia của trang văn bản(xem Hình 1.7)
Trang 28Hình 1.7: Một số dạng nhiễu thường gặp trên văn bản
Bên cạnh những nhiễu liên quan đến chất lượng in ấn và chất lượng máyquét, còn có rất nhiều dạng nhiễu có thể xuất hiện trên văn bản gốc cần nhậndạng Chẳng hạn như các dạng nhiễu do người đọc cố tình khoanh tròn hoặcgạch chân vào các vùng văn bản (xem Hình 1.8 )
Hình 1.8: Văn bản bị các nhiễu đánh dấu
Đặc biệt với các văn bản ở dạng công văn, biên bản hoặc quyết định,thường xuất hiện các loại nhiễu do con dấu hoặc chữ kí bị chờm lên các vùngvăn bản cần nhận dạng (xem Hình 1.9) Những nhiễu dạng này hiện vẫn là
vấn đề khó đối với bài toán nhận dạng
Hình 1.9: Văn bản bị nhiễu do bị chồng chữ ký/con dấu
1.3.4 Văn bản được in với các kiểu font chữ đặ c biệt
Các hệ thống nhận dạng thường được huấn luyện để nhận dạng các kí tựcủa các kiểu font chữ thông thường chẳng hạn đối với tiếng Việt có các fontchữ Unicode thường dùng như Arial, Courier, Tahoma, Times New Roman
Trang 29và Verdana Do các kí tự của font chữ VnTime không khác biệt nhiều so vớicác kí tự của font chữ Times, một hệ thống OCR có khả năng nhận dạng các
kí tự của font chữ VnTime một cách dễ dàng mà không cần phải đư ợc huấnluyện với font chữ này
Tuy nhiên khi văn bản được in với font chữ đặc biệt chẳng hạn như
.VnGothic (xem Hình 1.7) Đây là font chữ khác hẳn với các loại font chữtrên, hệ thống nhận dạng có thể sẽ bị thất bại hoàn toàn nếu nó không đượchuấn luyện trước với kiểu font chữ này
Hình 1.10: Văn bản được in với kiểu font chữ đặc biệt
1.3.5 Cỡ chữ quá lớn hoặc quá nhỏ
Cỡ chữ quá lớn về bản chất là không khó để nhận dạng Tuy nhiên các
hệ thống OCR thường được tối ưu cho các cỡ chữ thông thường Để đốiphó với các các kí tự có kích cỡ quá lớn, c ác hệ thống OCR có thể chuẩnhóa chúng, tức là giảm kích thước của chúng tới kích thước chuẩn trướckhi cố gắng nhận dạng chúng Tuy nhiên, quá trình xử lý này có thể làmbiến dạng hình ảnh của kí tự Điều này có thể gây ra các lỗi nhập nhằngcho thuật toán phân lớp kí tự
Ngược lại, đối với những văn bản được in với cỡ chữ quá bé, rất nhiều
chi tiết quan trọng của kí tự có thể bị mất đi khi được quét với độ phân giải 30
DPI Trong trường hợp này, việc quét văn bản với độ phân giải cao hơn có thể
khắc phục được vấn đề trên Tuy nhiên, điều này lại có thể gây ra hiện tượng
Trang 30nhòe và dính nét kí tự gây khó khăn cho các hệ thống nhận dạng trong việcphân tách các kí tự
1.4 Kết luận
Trong chương này, luận văn đã đề cập đến các bước cơ bản của một quá
trình nhận dạng chữ với 6 bước cơ bản, bao gồm thu nhận ảnh, tiền xử lý,phân trang văn bản, nhận dạng, hậu xử lý, lưu văn bản Bên cạnh đó, để định
hướng nghiên cứu, luận văn đã tìm hiểu kỹ hơn về hệ thống chữ viết trong
tiếng Việt, những nguyên nhân làm giảm chất lượng của một văn bản đầu vàocần nhận dạng và những vấn đề còn tồn tại hay nói một cách khác là nhữngvấn đề mà các hệ thống OCR chưa giải quyết tốt trong trường hợp ảnh vănbản đầu vào chất lượng thấp
Trên cơ sở đó, trong chương tiếp theo, luận văn sẽ tìm hi ểu sâu hơn về
các kỹ thuật phân lớp và trích chọn đặc trưng đã và đang được ứng dụng chocác hệ thống nhận dạng chữ nói chung và chữ Việt nói riêng
Trang 31CH ƯƠ NG 2 - MỘT SỐ VẤN ĐỀ TRONG NHẬN DẠNG KÝ
-TỰ CHẤT LƯỢNG THẤP
Phân lớp mẫu và trích chọn đặc trưng là hai bước xử lý chính trong nhậndạng ảnh ký tự Trích chọn đặc trưng là việc tìm và chọn ra các đặc trưng
đặc thù của mỗi ảnh Đặc trưng ảnh là các đặc điểm nguyên thủy hay các
thuộc tính phân biệt nổi bật có trong một ảnh Các đặc trưng này có thể là
đặc trưng mang tính tự nhiên (theo nghĩa con người có thể cảm nhận được
trực tiếp từ ảnh mẫu) hoặc nhân tạo (theo nghĩa đặc trưng được con ngườitạo ra thông qua quá trình tính toán, thao tác trên đối tượng ảnh) Nếu vaitrò của trích chọn đặc trưng là ánh xạ các mẫu đầu vào thành các điểm
trong không gian đặc trưng thì mục đích của việc phân lớp là gán mỗi điểm
trong không gian bởi một nhãn lớp hoặc các trọng số thành phần cho cáclớp đã định nghĩa trước
Trong bài toán OCR, mục đích của việc phân lớp kí tự nhằm xác địnhcác nhãn (mã-code) của lớp mẫu kí tự tương ứng cho mỗi đối tượng đầu
vào chưa biết Dựa trên việc phân tách các mẫu kí tự hoặc các từ các ảnhvăn bản, việc nhận dạng trở thành gán mỗi mẫu kí tự hoặc từ vào một lớp
đã được định nghĩa Một thủ tục nhận dạng kí tự hoàn chỉnh thường bao
gồm các bước tiền xử lý, trích chọn đặc trưng và phân lớp Với việc ánh xạmẫu đầu vào thành một điểm trong không gian đặc trưng thông qua việctrích chọn đặc trưng, bài toán trở thành một trong những vấn đề phân lớptruyền thống Để tích hợp các kết quả phân lớp với các thông tin ngữ cảnhchẳng hạn như các đặc tính hình học (geometric) hoặc ngôn ngữ(linguistic), kết quả của việc phân lớp thường được kỳ vọng là các trọng sốthành phần (trọng số, độ tương tự hoặc độ sai khác) của mẫu đầu vào hơn
Trang 32là một nhãn lớp duy nhất Hầu hết các phương pháp phân lớp đều có đầu rahoặc là một nhãn lớp hoặc là các trọng số thành phần.
Trong chương này, trước tiên luận văn sẽ tập trung khảo sát một sốhướng tiếp cận chính trong trích chọn đặc trưng và phân lớp ký tự Trên có sở
đó, sẽ tiến hành lựa chọn một mô hình phân lớp ký tự có khả năng thích nghi
và giải quyết tốt bài toán nhận dạng trong trường hợp ảnh ký tự đầu vào chất
lượng thấp
2.1 Trích chọn đặc trưng
Mục tiêu của việc trích chọ n đặc trưng là lựa chọn được những đặc tínhquan trọng, thường được gọi bằng một thuật ngữ chung đó là các đặc trưng(feature) của đối tượng cần nhận dạng Những tiêu chuẩn cơ bản đối với mộtthuật toán trích chọn đặc trưng là không nhạy cảm với nhiễu, kiểu font chữ,
kích thước, độ nghiêng, độ dịch chuyển và các thay đổi khác của kí tự Về cơ
bản, có thể chia thành ba hướng tiếp cận chính:
• Trích chọn các đặc trưng thống kê : Những phương pháp trích
chọn đặc trưng thống kê điển hình đã và đang được ứng dụng p hổ biến trong
các hệ thống nhận dạng chữ gồm phương pháp chia lưới (zoning), phương
pháp chiếu (projection, profile), phương pháp giao điểm (crossing) và khoảng cách (distance) Nhìn chung, các phương pháp trong hướng tiếp cận này có
khả năng giải quyết các vấn đề nhiễu, kích cỡ và một số thay đổi nhỏ trên ảnh
kí tự nhưng lại nhạy cảm với độ dịch chuyển và độ nghiêng của ảnh
• Trích chọn các đặc trưng cấu trúc : Các đặc trưng cấu trúc
thường được trích chọn dựa trên các tính chất tôpô và hình học của kí tự,
chẳng hạn như các điểm chạc, điểm mút, điểm uốn, các điểm cực trị (cực đại, cực tiểu), các đường baseline, ascenders, descenders, các nét cơ bản, v.v.
Hướng tiếp cận này có khả năng giải quyết tốt các vấn đề nghiêng, xoay và
Trang 33kích cỡ khác nhau trên ảnh đầu vào nhưng cần phải có tri thức tốt về các lớp
kí tự mẫu, điều đó đồng nghĩa với việc phải đầu tư công sức rất lớn cho việcnghiên cứu và xây dựng tập mẫu huấn luyện thuật toán
Trích chọn đặc trưng dựa vào các phép biến đổi toàn cục : Các
phương pháp biến đổi toàn cục thường sử dụng trong trích chọn đặc trưng bao
gồm biến đổi Cosine rời rạc (DCT), biến đổi Fourier (FT)/Fourier nhanh (FFT), biến đổi Wavelet/Wavelet Harr, khai triển Karhunent-Loeve, các
phương pháp moment Các phương pháp này có khả năng bất biến với các
phép quay, dịch chuyển nhưng không giải quyết được các trường hợp ảnh kí
tự chất lượng thấp Hơn nữa, việc đảm bảo tính bất biến có thể gây ra sự nhậpnhằng trong quá trình phân lớp kí tự
Phương pháp trích chọn đặc trưng ở đây dựa trên tập các đường biên đãđược làm trơn của kí tự Đây là các đặc trưng ở mức trung gian so với các
kiểu đặc trưng trên, các đặc trưng này không bị ảnh hưởng bởi các thay đổinhỏ của kí tự như kiểu đặc trưng thứ nhất đồng thời cũng không quá nhạycảm nhiễu như kiểu đặc trưng thứ hai Bên cạnh đó, để tăng khả năng thích
nghi được với các lỗi biến dạng của ảnh đầu vào chất lượng thấp, luận văn đã
áp kỹ thuật chia nhỏ các đặc trưng đã được lựa chọn bởi Johnson và cộng sự[9] Ý tưởng chính của phương pháp này là cho phép sử dụng 2 tập trưng khácnhau cho hai quá trình huấn luyện và nhận dạng Cụ thể, trong quá trình huấnluyện, mỗi đặc trưng được trích chọn tương ứng với một cạnh trên đa giác xấp
xỉ đường biên của các mẫu họ c, trong khi đó các đặc trưng cần nhận dạng là
các đoạn nhỏ, có kích thước bằng nhau được trích chọn từ đường biên của
mỗi ảnh đầu vào
Trang 34Mỗi đường biên (outline) được định nghĩa là một chu trình khép kínchứa các điểm biên kề nhau trong cùng một vùng liên t hông Trong đó, thôngtin về mỗi điểm biên được thể hiện như sau:
Vị trí điểm biên (xpos, ypos)
Hướng của điểm biên (edgeDir): Được xác định theo mã chaincode với
bốn hướng trên, dưới, trái, phải
Điểm biên liền trước
Điểm biên liền sau
Việc làm trơn các đường biên bằng phương pháp xấp xỉ đa giác trong đómỗi đường biên sẽ được xấp xỉ bằng một tập các đoạn thẳng là các cạnh củamột đa giác nhằm mục đích tăng tốc độ xử lý và tránh sự nhập nhằng trongquá trình trích chọn các đặc trưng nhận dạng đối tượng Phương pháp xấp xỉ
đa giác trên đường biên được thực hiện đơn giản bằng cách duyệt lần lượt cácđường biên của kí tự để xác định một dãy các điểm biên chứa các đặc tính đãđược xác định Sau đó tiến hành tính độ sâu của mặt lõm của mỗi cặp điểm kề
nhau và loại đi các mặt lõm có độ sâu nhỏ hơn một ngưỡng đã cho
2.1.1 Các đặc trưng sử dụng trong huấn luyện mô hình
Mỗi đặc trưng dùng trong quá trình huấn luyện là một đoạn thẳng trên đa
giác xấp xỉ đường biên của mẫu học, được định nghĩa bằng bốn tham số {X P ,
Y P ,P , L P } (xem Hình 2.1)
Trang 35Hình 2.1: Các đặc trưng để huấn luyện mô hình
Trong đó X P , Y P là tọa độ điểm trọng tâm của đặc trưng; P là góc của
đặc trưng, được chuẩn hóa trong miền giá trị [0, 1], với giá trị 0 tương ứng với
00, giá trị 1 tương ứng với 3600; L P là chiều dài của đặc trưng, được xác địnhbằng tổng số điểm biên trên đó Việc trích chọn đặc trưng được thực hiện trêntất cả các đường biên của mỗi mẫu huấn luyện (training sample) Hướ ng của
các đặc trưng được xác định theo tám hướng liên thông của một góc quay,tương ứng với các góc 00 450, 900 ,…, 3600, được xác định bằng cách xuất
phát từ hướng đông (00), xoay ngược chiều kim đông hồ đến khi thu được một
vòng tròn đầy đủ Chiều dài c ủa một đặc trưng được xác định bằng tổng số
điểm biên thuộc vào đặc trưng đó Ví dụ trên Hình 2.1 cho thấy, một mẫu kí
tự ‘ê’ được thể hiện bằng 3 đường biên tương ứng với phần mũ, biên trong vàbiên ngoài Trong đó xác định được 7 đặc trưng ở phần mũ, 14 đặc trưng ở
biên ngoài và 6 đặc trưng ở biên trong Toàn bộ các đặc trưng trích chọn được
từ tập mẫu học sẽ được sử dụng trong quá trình huấn luyện mô hình để tạo ratập mẫu (template) sử dụng cho quá trình nhận dạng
Trang 362.1.2 Các đặc trưng sử dụng trong quá trình nhận dạng
Mỗi đặc trưng được dùng trong quá trình nhận dạng là một phần chianhỏ từ một đoạn thẳng trên đa giác xấp xỉ đường biên của kí tự Khác với đặc
trưng được dùng trong quá trình huấn luyện, tất cả các đặc trưng được trích
chọn từ một đối tượng đầu vào cần nhận dạng đều có cùng chiều dài nên để
thể hiện mỗi đặc trưng chỉ cần sử dụng ba tham số: {X, Y,}, trong đó X và Y
là tọa độ điểm trọng tâm của đặc trưng; là góc của đặc trưng
Hình 2.2 (a) thể hiện tập các đặc trưng nhận dạng trích chọn được từ ảnh
đầu vào của mẫu kí tự “â ” Trong đó các đoạn nhỏ, đậm được sử dụng nhưcác đặc trưng để nhận dạng Tất cả các đặc trưng này đều có cùng chiều dài
(được xác định bằng một hằng số FEATLEN) Tọa độ điểm trọng tâm X, Y của
các đặc trưng dùng trong quá trình huấn luyện và các đặc trưng dùng trong
quá trình nhận dạng cần phải được chuẩn hóa theo hệ tọa độ được sử dụngtrong quá trình đối sánh Hệ tọa độ này thường được lựa chọn sao cho tất cảcác kí tự trong đó sẽ được chuẩn hóa về cùng một kích thước Điều này giúpcho quá trình phân lớp kí tự không bị ảnh hưởng bởi sự thay đổi kích thướccủa các kí tự Ở đây Luận văn sử dụng kỹ thuật chuẩn hóa theo dòng, trong đótất cả các kí tự trên một dòng sẽ được chuẩn hóa với cùng một hệ số theo cả
hai hướng X và Y Hệ số chuẩn hóa được lựa chọn sao cho chiều cao X-Height
của một dòng phải là hằng số
Trang 37Hình 2.2: Trích chọn các đặc trưng để nhận dạng
Chiều cao của một dòng được xác định là khoảng cách từ đường
Baseline đến đường Mean Line (xem Hình 2.3) Đường Baseline của một
dòng sau đó cũng được chuyển đổi sao cho vị trí của đường baseline đối với
tất cả các kí tự trên một dòng là một hằng số
Hình 2.3: Đặc trưng của một dòng ảnh
Độ dài của một đặc trưng nhận dạng FEATLEN ở đây được chọn bằng
1/10 giá trị của chiều cao X-Height (theo kinh nghiệm thực tế) Với mỗi ảnh
đầu vào cần nhận dạng thường có từ 50 đến 125 đặc trưng
2.2 Nhận dạng ký tự dựa vào đặc trưng trích chọn.
Nhận dạng ký tự thực hiện theo cơ chế của thuật toán đối sánh mẫu.Trong quá trình phân lớp, các đặc trưng nhỏ sẽ được đối sánh theo cơ chếnhiều-một với các đặc trư ng lớn Điều này cho phép thuật toán có khả năng
Trang 38phân lớp được các ảnh đầu vào bị nhiễu, đứt nét hoặc biến dạng một cách dễràng mà không cần phải huấn luyện thuật toán với các kiểu mẫu xấu đó Từ
đó giảm được đáng kể số lượng mẫu cần thiết để huấn luyện m ô hình có nghĩa
là giảm được đáng kể thời gian và công sức cho công việc xây dựng tập mẫu
như các cách tiếp cận truyền thống Tuy nhiên, phương pháp này có nhượcđiểm là tốc độ phân lớp khá chậm do thực hiện cơ chế đối sánh 2 chiều giữa 2
tập đặc trưng Để khắc phục điều đó, luận văn lựa chọn giải pháp phân cụmtoàn bộ tập đặc trưng trích chọn được từ tập mẫu huấn luyện trên mỗi lớp kí
tự để tạo ra các đặc trưng đại diện đại diện cho chúng Trong quá trình phânlớp, các đặc trưng của đối tượng cần nhận dạng sẽ được đối sánh với các đặc
trưng đại diện thay vì phải đối sánh với tất cả các trưng của toàn bộ tập mẫu
học Điều này không chỉ cải thiện đáng kể tốc độ phân lớp mà còn làm tăngkhả năng tổng quát hóa của thuật toán Các thuật toán phân cụm tập đặc trưng
và phân lớp ký tự sẽ được trình bày lần lượt trong các phần 2.2.1 và 2.2.2 sau đây
2.2.1 Phân cụm tập đặc trưng
Phân cụm là quá trình phân tách (partitioning) hoặc nhóm (grouping)một tập mẫu (pattern) cho trước thành các cụm (cluster) riêng biệt Việc phâncụm hiện đã được ứng dụng trong rất nhiều lĩnh vực, chẳng hạn như trongthống kê (statistic), khai phá dữ liệu (data mining), nhận dạng mẫu (patternrecognition), mạng nơron(NN), trí tuệ nhân tạo [12]
Trong phần này, luận văn sẽ lựa chọn một thuật toán phân cụm tập đặc
trưng theo hướng tiếp cận kiến trúc trong đó cấu trúc cây tìm kiếm nhị phân
đa chiều K-D Tree được sử dụng để tăng tốc độ tìm kiếm các láng giềng gần
nhất cũng như cải tiến tốc độ của quá trình phân cụm
Trang 392.2.1.1 Cây K-D (cây K chiều)
Một cây K-D (K-D tree) là một cấu trúc dữ liệu để lưu trữ một tập hữuhạn các điểm từ không gian k chiều (k- dimension) Cấu trúc này đã được lựachọn và kiểm nghiệm bởi J.Bentley [10], với các tính chất cơ bản như sau:
Là một cây tìm kiếm nhị phân đa chiều
Cho một tập N mẫu E = {E1, E2, …, EN}, trong đó mỗi mẫu Ei ∈
Domain × Range, với và là hai không gian đa
chiều Nếu tập mẫu E được thể hiện bởi một cấu trúc cây K-D thì mỗi mẫu Eitrong đó phải được lưu trữ như một nút trên cây
Mỗi nút trên cây được thể hi ện bởi các trường thông tin cơ bản nhưsau: {domain_vector, range_vector, discriminator, left, right}, trong đó
domain_vector là một vector kd chiều; range_vector là một vector kr chiều;discriminator là một số nguyên nằm trong khoảng từ 0 đến k-1; left, right lần
lượt là các cây con bên trái và bên phải của nút
Domain_vector là thành phần chỉ số của nút Nó chia một không gian
(space) thành hai không gian con theo một siêu phẳng phân tách (splittinghyperplane) của nút Tất cả các điểm trong không gian con “bên trái” đượcthể hiện bởi cây con left Tất cả các điểm trong không gian con “bên phải”
được thể hiện bởi cây con right
Siêu phẳng phân tách là một mặt phẳng đi qua domain_vector và
vuông góc với hướng được xác định bởi giá trị discriminator
Gọi i là một giá trị của trường discriminator, một điểm sẽ nằm ở bên
trái của một domain_vector nếu và chỉ nếu thành phần thứ i của nó nhỏ hơnthành phần thứ i của domain_vector Tương tự, một điểm nằm ở bên phải củamột domain_vector nếu và chỉ nếu thành phần th ứ i của nó lớn hơn thành