Luận án nghiên cứu các phương pháp nhận dạng chữ viết tay đang được áp dụng rộng rãi trong các hệ thống nhận dạng chữ viết trong và ngoài nước, kế thừa và triển khai ứng dụng vào việc nhận dạng chữ viết tay tiếng Việt. Đề xuất các giải pháp hiệu quả cho việc nhận dạng chữ Việt viết tay rời rạc; phương pháp trích chọn đặc trưng nhằm tăng độ chính xác nhận dạng chữ viết tay.
BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM VIỆN CÔNG NGHỆ THÔNG TIN [ \ PHẠM ANH PHƯƠNG NGHIÊN CỨU ỨNG DỤNG PHƯƠNG PHÁP MÁY VÉC TƠ TỰA TRONG NHẬN DẠNG CHỮ VIỆT VIẾT TAY RỜI RẠC Chuyên ngành: BẢO ĐẢM TOÁN HỌC CHO MÁY TÍNH VÀ HỆ THỐNG TÍNH TỐN Mã số: 62 46 35 01 TÓM TẮT LUẬN ÁN TIẾN SĨ HÀ NỘI – 2010 Cơng trình hồn thành tại: Viện Cơng nghệ Thông tin – Viện Khoa học Công nghệ Việt Nam Người hướng dẫn khoa học: PGS.TS Ngô Quốc Tạo PGS.TS Lương Chi Mai Phản biện 1: PGS.TS Hồ Sĩ Đàm Phản biện 2: PGS.TS Nguyễn Thiện Luận Phản biện 3: PGS.TS Huỳnh Quyết Thắng Luận án bảo vệ trước Hội đồng chấm luận án cấp Nhà nước họp tại: Hội trường Viện Công nghệ Thông tin Hà Nội vào lúc 16 00 ngày 04 tháng năm 2010 Có thể tìm hiểu luận án tại: Thư viện Quốc gia, Thư viện Viện Công nghệ Thông tin Hà Nội TÀI LIỆU THAM KHẢO [10] Bùi Minh Trí (2006), “Quy hoạch tốn học”, Nhà xuất Khoa học kỹ thuật, Hà nội [11] Christopher J C Burges (1998), “A Tutorial on Support Vector Machines for Pattern Recognition”, Data Mining and Knowledge Discovery, ISSN:1384-5810, Vol 2, No 2, pp 121-167 [12] C J C Burges (1996), “Simplified support vector decision rules”, Proc 13th International Conference on Machine Learning, San Mateo, CA, pp 71–77 [13] J Platt (1999), “Fast Training of Support Vector Machines Using Sequential Minimal Optimization”, In Advences in Kernel Methods - Support Vector Learning, Cambridge, M.A, MIT Press, pp 185-208 [14] Osuma E., Freund R., Girosi F (1997), “An Improved Training Algorithm for Support Vector Machines”, Proc IEEE NNSP ’97, pp 276-285 [15] Nguyễn Thị Thanh Tân, Lương Chi Mai (2006), “Phương pháp nhận dạng từ viết tay dựa mơ hình mạng nơ ron kết hợp với thống kê từ vựng”, Tạp chí Tin học Điều khiển học, Tập 22, số 2, tr 141-154 PHẦN MỞ ĐẦU Tính cấp thiết đề tài Đến thời điểm này, giới Việt Nam, toán nhận dạng chữ viết tay vấn đề thách thức lớn nhà nghiên cứu Tình hình nghiên cứu giới: Từ năm 1990 đến nay, hệ thống nhận dạng thời gian thực xây dựng phát triển sở phương pháp luận phân lớp lĩnh vực học máy kết hợp với kỹ thuật xử lý ảnh cách hiệu Một số phương pháp học máy tiên tiến mạng nơ ron, mơ hình Markov ẩn, SVM, nhà nghiên cứu nước áp dụng để phát triển ứng dụng lĩnh vực nhận dạng chữ Tình hình nghiên cứu nước: Trong năm gần đây, lĩnh vực nhận dạng chữ viết tay nhiều nhà nghiên cứu nước đặc biệt quan tâm Một số nhóm nghiên cứu điển hình như: GS.TSKH Hồng Kiếm cộng (2001) Đại Học Quốc Gia TPHCM cài đặt thử nghiệm hệ thống nhận dạng chữ số chữ viết tay rời rạc phiếu xuất nhập cảnh, tác giả Lê Hoài Bắc Lê Hoàng Thái (2001) nghiên cứu toán nhận dạng chữ viết tay dựa mạng nơ ron giải thuật di truyền, nhóm nghiên cứu phòng Nhận dạng Cơng nghệ Tri thức Viện Công nghệ Thông tin với nhiều cơng trình nghiên cứu nhận dạng chữ viết tay dựa mơ hình Markov ẩn, mạng nơ ron SVM, nhóm nghiên cứu TS Nguyễn Việt Hà cộng (2005) Đại Học Quốc Gia Hà Nội nghiên cứu đề xuất giải pháp mô hình liên mạng nơ ron nhận dạng ký tự viết tay tiếng Việt, Mặc dù nước có nhiều kết nghiên cứu nhận dạng chữ viết tay, nhiên kết chủ yếu tập trung vào việc nhận dạng chữ số chữ hệ La Tinh, cơng trình nghiên cứu đề xuất giải pháp cho việc nhận dạng chữ viết tay tiếng Việt Mục tiêu luận án Nghiên cứu phương pháp nhận dạng chữ viết tay áp dụng rộng rãi hệ thống nhận dạng chữ viết nước Trên sở nghiên cứu này, kế thừa triển khai ứng dụng vào việc nhận dạng chữ viết tay tiếng Việt Nghiên cứu đề xuất giải pháp hiệu cho việc nhận dạng chữ Việt viết tay rời rạc Nghiên cứu đề xuất phương pháp trích chọn đặc trưng nhằm tăng độ xác nhận dạng chữ viết tay Nghiên cứu cải tiến tốc độ nhận dạng chữ Việt viết tay rời rạc Xây dựng sở liệu chữ viết tay tiếng Việt phục vụ cho nghiên cứu thực nghiệm Phạm vi phương pháp nghiên cứu Luận án giới hạn phạm vi nghiên cứu khuôn khổ chữ Việt in viết tay rời rạc Chữ viết tay rời rạc hiểu ký tự viết tay tách biệt, phần dấu phần chữ phải tách rời Phương pháp nghiên cứu luận án dựa sở khảo sát, kế thừa kết Từ xây dựng, phát triển, cải tiến thuật toán kiểm chứng thực nghiệm Các đóng góp luận án Nghiên cứu xây dựng thuật toán nhận dạng chữ viết tay rời rạc theo phương pháp phân lớp SVM với chiến lược đối (OVO) đối phần lại (OVR) Phân tích, đánh giá ưu nhược điểm kỹ thuật phân lớp SVM nhận dạng chữ viết tay rời rạc thông qua kết thực nghiệm tập liệu chuẩn USPS, MNIST liệu chữ viết tay tiếng Việt Đề xuất giải pháp hiệu cho toán nhận dạng chữ Việt viết tay rời rạc áp dụng phương pháp phân lớp SVM Đề xuất phép biến đổi ảnh hai chiều thành chuỗi đặc trưng hiệu cho toán nhận dạng chữ viết tay rời rạc chứng minh tính chuỗi đặc trưng theo phép biến đổi Cải tiến tốc độ nhận dạng chữ Việt viết tay rời rạc cách áp dụng kỹ thuật giảm số chiều vectơ đặc trưng đầu vào giảm số vectơ tựa máy phân lớp SVM nhị phân Xây dựng sở liệu chữ viết tay tiếng Việt với 100000 mẫu ký tự chữ viết tay rời rạc gán nhãn Bố cục luận án Luận án phân thành ba chương với cấu trúc sau: Chương giới thiệu tổng quan lĩnh vực nhận dạng chữ viết tay, giai đoạn hệ nhận dạng chữ viết tay cuối phần tổng hợp phương pháp nhận dạng áp dụng rộng rãi lĩnh vực nhận dạng chữ viết tay Chương tập trung nghiên cứu triển khai ứng dụng nhận dạng chữ viết tay rời rạc sở phân lớp SVM Chương tiếp tục nghiên cứu phát triển, đề xuất giải pháp hiệu cho việc nhận dạng chữ Việt viết tay rời rạc Cuối phần kết luận hướng phát triển luận án CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG CHỮ VIẾT TAY 1.1 GIỚI THIỆU Nhận dạng chữ lĩnh vực nhiều nhà nghiên cứu quan tâm lĩnh vực đạt nhiều thành tựu lớn lao mặt lý thuyết lẫn ứng dụng thực tế Lĩnh vực nhận dạng chữ chia làm hai loại: Nhận dạng chữ in nhận dạng chữ viết tay Đến thời điểm này, công nghệ nhận dạng chữ in đạt giải pháp tốt để ứng dụng vào sản phẩm thương mại Tuy nhiên, nhận dạng chữ viết tay vấn đề thách thức lớn nhà nghiên cứu Nhận dạng chữ viết tay phân làm hai loại: nhận dạng chữ viết tay on-line nhận dạng chữ viết tay off-line 1.2 CÁC GIAI ĐOẠN CƠ BẢN CỦA MỘT HỆ NHẬN DẠNG CHỮ VIẾT Một hệ nhận dạng chữ viết bao gồm năm giai đoạn sau (Hình 1.1) Ảnh văn quét vào Tiền xử lý Tách chữ Trích chọn đặc trưng Định hướng tập trung nghiên cứu luận án Huấn luyện Nhận dạng Hậu xử lý Văn nhận dạng Hình 1.1 Sơ đồ tổng quát hệ thống nhận dạng chữ viết tay Luận án tập trung nghiên cứu ba giai đoạn chính: trích chọn đặc trưng, huấn luyện phân lớp nhận dạng 1.3 CÁC PHƯƠNG PHÁP TRÍCH CHỌN ĐẶC TRƯNG 1.3.1 Biến đổi toàn cục khai triển chuỗi Một tín hiệu liên tục thường chứa nhiều thơng tin sử dụng để làm đặc trưng cho mục đích phân lớp Các đặc trưng trích chọn cách xấp xỉ tín hiệu liên tục thành tín hiệu rời rạc Một cách để biểu diễn tín hiệu sử dụng tổ hợp tuyến tính dãy hàm đơn giản Các hệ số tổ hợp tuyến tính cung cấp tri thức giải mã vừa đủ, chẳng hạn phép biến đổi khai triển chuỗi Một số biến dạng khác phép dịch chuyển phép quay bất biến phép biến đổi toàn cục khai triển chuỗi 1.3.2 Đặc trưng thống kê Các đặc trưng thống kê ảnh văn bảo toàn kiểu biến đổi đa dạng hình dáng chữ Mặc dù kiểu đặc trưng xây dựng lại ảnh gốc, sử dụng để thu nhỏ số chiều tập đặc trưng nhằm tăng tốc độ giảm thiểu độ phức tạp tính tốn 1.3.3 Đặc trưng hình học hình thái Các tính chất cục tồn cục ký tự biểu diễn đặc trưng hình học hình thái Các đặc trưng giải mã số tri thức cấu trúc đối tượng ảnh cung cấp tri thức để phát đối tượng 1.4 CÁC PHƯƠNG PHÁP NHẬN DẠNG CHỮ VIẾT TAY 1.4.1 Đối sánh mẫu Kỹ thuật nhận dạng chữ đơn giản dựa sở đối sánh nguyên mẫu (prototype) để nhận dạng ký tự từ Nói chung, tốn tử đối sánh xác định mức độ giống hai vectơ (nhóm điểm, hình dạng, độ cong ) không gian đặc trưng 1.4.2 Phương pháp tiếp cận cấu trúc Cách tiếp cận theo cấu trúc dựa vào việc mô tả đối tượng nhờ số khái niệm biểu diễn đối tượng sở ngôn ngữ tự nhiên Một số dạng nguyên thuỷ thường dùng để mô tả đối tượng đoạn thẳng, cung,… Mỗi đối tượng mô tả kết hợp dạng nguyên thuỷ Các quy tắc kết hợp dạng nguyên thuỷ xây dựng giống việc nghiên cứu văn phạm ngơn ngữ, q trình nhận dạng q trình phân tích cú pháp Phương pháp giải toán nhận dạng chữ cách tổng quát Tuy nhiên, nhiều vấn đề liên quan đến nhận dạng cú pháp chưa giải 1.4.3 Các phương pháp thống kê Hầu hết kỹ thuật thống kê dựa sở ba giả thuyết sau: Phân bố tập đặc trưng phân bố Gauss trường hợp xấu phân bố Có số liệu thống kê đầy đủ dùng cho lớp Cho tập ảnh {I}, tập ảnh trích chọn tập đặc trưng {fi}∈F, i∈{1, ,n} mà tập đặc trưng đại diện cho lớp mẫu riêng biệt 1.4.4 Các phương pháp học máy tiên tiến 1.4.4.1 Mơ hình Markov ẩn HMM áp dụng tốt việc nhận dạng chữ viết tay on-line, đặc biệt nhận dạng chữ viết tay mức từ 1.4.4.2 Mạng nơ ron Mạng nơ ron tỏ phù hợp với toán đối sánh, phân loại mẫu, xấp xỉ hàm, tối ưu hoá, lượng tử hoá vectơ phân hoạch không gian liệu Áp dụng mạng nơ ron vào hệ thống nhận dạng đạt độ xác phân lớp cao, so sánh với hướng tiếp cận phân lớp khác tiếp cận cấu trúc, thống kê, … 1.4.4.3 Máy vectơ tựa Trong năm gần đây, SVM biết đến hướng tiếp cận phân lớp hiệu áp dụng rộng rãi nhiều ứng dụng thực tế Ưu điểm SVM khả phân lớp với độ xác cao, điều đảm bảo tính chất siêu phẳng tối ưu cách sử dụng hàm nhân (kernel) Tuy nhiên, tốc độ phân lớp SVM bị đánh giá chậm so với phương pháp phân lớp khác 1.4.5 Kết hợp phương pháp nhận dạng Các phương pháp phân lớp đề cập áp dụng hệ nhận dạng chữ viết tay Mỗi kỹ thuật phân lớp có ưu điểm nhược điểm riêng Vấn đề đặt phương pháp kết hợp với theo cách để nâng cao hiệu nhận dạng hay khơng? Nhiều cơng trình nghiên cứu kiến trúc phân lớp theo ý tưởng kết hợp kỹ thuật phân lớp nêu 1.5 NGHIÊN CỨU HIỆN THỜI VỀ NHẬN DẠNG CHỮ VIẾT TAY 1.5.1 Các nghiên cứu nhận dạng chữ viết tay giới Kể từ năm 1999, Flatt đề xuất thuật toán SMO để giải toán tối ưu kỹ thuật phân lớp SVM nhà nghiên cứu tập trung áp dụng phương pháp phân lớp SVM vào ứng dụng nhận dạng chữ viết tay kết hợp SVM với phương pháp truyền thống khác mạng nơ ron, 1.5.2 Các nghiên cứu nhận dạng chữ viết tay tiếng Việt Trong năm gần đây, vấn đề nhận dạng chữ viết tay nhiều nhà nghiên cứu nước đặc biệt quan tâm hai mặt lý thuyết lẫn triển khai ứng dụng Tuy nhiên kết nghiên cứu lý thuyết chủ yếu tập trung vào nhận dạng chữ số chữ tiếng Việt khơng dấu Chỉ số cơng trình nghiên cứu đề xuất giải pháp cụ thể cho việc nhận dạng chữ viết tay tiếng Việt 1.6 KẾT LUẬN Chương giới thiệu tổng quan lĩnh vực nhận dạng chữ viết Trong năm gần đây, phương pháp phân lớp SVM giới nghiên cứu đặc biệt quan tâm xây dựng tảng toán học chặt chẽ áp dụng thành công số lĩnh vực nhận dạng khai phá liệu Chương luận án tập trung nghiên cứu sâu phương pháp phân lớp SVM tro ng ứng dụng phương nhận dạng chữ viết tay rời rạc CHƯƠNG 2: NHẬN DẠNG CHỮ VIẾT TAY RỜI RẠC VỚI PHƯƠNG PHÁP MÁY VECTƠ TỰA 2.1 PHƯƠNG PHÁP MÁY VECTƠ TỰA Phương pháp phân lớp SVM gốc thiết kế để giải toán phân lớp nhị phân Bài toán phân lớp nhị phân phát biểu sau: Cho tập liệu huấn luyện gồm l mẫu {(x1,y1), ,(xl,yl)} xi∈RD yi∈{±1}, ∀i∈{1, , l} Tìm hàm tuyến tính f(x) = wT.x + b để tách tập liệu huấn luyện thành hai lớp 2.1.1 SVM tuyến tính Hình 2.2 Siêu phẳng tách tuyến tính Ý tưởng SVM tìm siêu phẳng phân cách cho khoảng cách lề hai lớp mẫu huấn luyện đạt cực đại Mục tiêu SVM tìm siêu phẳng phân cách với khoảng cách lề cực đại: f * = arg max δ f f (2.4) tức tìm siêu phẳng H: wT.x+b=0 hai siêu phẳng H1:wT.x+b=+1, H2:wT.x+b=-1 song song với H cho khoảng cách H1 H2 đạt cực đại (Hình 2.2) | wT x + b | = nên Khoảng cách điểm nằm H1 H2 tới H || w ||2 w2 khoảng cách H1 H2 Vì vậy, tìm siêu phẳng với khoảng cách || w ||2 lề cực đại cách cực tiểu ||w||2 = wT.w Từ đó, tốn tìm siêu phẳng tối ưu phát biểu lại sau: w T w (2.8) w ,b cho yi(wT.xi + b) ≥ 1, i=1, ,l (2.9) Kết việc giải toán (2.8) thu mẫu nằm H1 H2 Các mẫu gọi vectơ tựa, có mẫu tham gia vào việc xác định siêu phẳng tối ưu, mẫu khác loại bỏ Hình 2.4 Phân lớp mềm Để nới lỏng điều kiện phân lớp, thêm vào biến trễ khơng âm ξi≥0 (Hình 2.4) cho: (2.10) yi(wT.xi + b) ≥ - ξi, i=1, ,l ξi ≥ 0, ∀i (2.11) Bài bốn tìm siêu phẳng tối ưu phát biểu lại sau: l T w w + C ∑ ξi (2.15) w ,b i =1 (2.16) cho yi(wT.xi + b) ≥ - ξi, i=1, ,l ξi ≥ 0, i=1, ,l (2.17) Phương pháp giải tốn tối ưu lồi có ràng buộc trình bày tóm tắt sau: Định nghĩa 2.4 [9]: Cho toán tối ưu với tập lồi Ω ⊆ RD f ( w), w ∈ Ω gi(w) ≤ 0, i=1, ,k hi(w) = 0, i=1, ,m Hàm Lagrange tổng quát gắn với toán hàm có dạng cho (2.18) (2.19) (2.20) k m i =1 i =1 L( w,α ,β )=f(w) − ∑ α i gi ( w) + ∑ βi hi ( w) (2.21) Định nghĩa 2.5 [9]: Bài toán Lagrange đối ngẫu tốn gốc (2.18) tốn có dạng max θ(α,β) (2.22) (2.23) cho α ≥ θ(α,β) = infD L( w,α ,β ) w∈R Việc giải toán tối ưu (2.15) tương đương với việc giải toán đối ngẫu sau đây: l l max ∑ α i − ∑ yi y j α i α j xi x j α i , j =1 i =1 l cho ∑yα i =1 i i =0 (2.35) (2.36) ≤ αi ≤ C, i = 1, ,l (2.37) 2.1.2 SVM phi tuyến Với tập liệu không khả tách tuyến tính, ánh xạ chúng sang khơng gian khác với số chiều cao cho không gian tập liệu khả tách tuyến tính (Hình 2.5) Như vậy, hàm mục tiêu LD viết lại: l l LD = ∑ α i − ∑ yi y j α i α j Φ ( xi ).Φ ( x j ) (2.42) i , j =1 i =1 Hình 2.5 Ánh xạ liệu vào không gian đặc trưng Định nghĩa 2.6 [10]: Cho ánh xạ Φ từ không gian X vào không gian đặc trưng F ∀x,y∈X, hàm nhân K có dạng (2.43) K(x,y) = Φ(x).Φ(y) Định lý 2.2 [10]: (Định lý Mercer) Để đảm bảo cho hàm liên tục đối xứng K(x,y) khơng gian L2(C) có khai triển ∞ K ( x, y ) = ∑ ak zk ( x) zk ( y ) (2.44) k =1 với hệ số ak >0 (tức K(x,y) tích vơ hướng khơng gian đặc trưng), điều kiện cần đủ (2.45) ∫ ∫ K ( x, y) g ( x) g ( y)dxdy ≥ CC với g∈L2(C) (C tập compact RD) Return label; Trong đó, BinarySVM(x,i,j) hàm xếp x vào hai lớp i j 2.3 KẾT QUẢ THỰC NGHIỆM Các kết thực nghiệm cài đặt chạy thử nghiệm môi trường Window XP, máy PC Pentium tốc độ 2.4 Ghz với dung lượng nhớ RAM 1Gb 2.3.1 Chuẩn bị liệu thực nghiệm 2.3.1.1 Các liệu chuẩn USPS MNIST Bộ liệu USPS bao gồm 7291 mẫu dùng để huấn luyện 2007 mẫu khác để nhận dạng, mẫu ảnh đa cấp xám kích thước 16×16 Bộ liệu MNIST bao gồm 60.000 mẫu huấn luyện 10.000 mẫu khác để nhận dạng, mẫu ảnh kích thước 28×28 2.3.1.2 Dữ liệu chữ viết tay tiếng Việt Tác giả xây dựng liệu chữ viết tay tiếng Việt (VietData) phục vụ cho việc thực nghiệm bao gồm 89 lớp chữ in hoa, lớp chọn 200 mẫu, liệu VietData có tổng cộng 17800 mẫu 2.3.2 Kết thực nghiệm liệu chuẩn USPS MNIST Đầu tiên luận án thử nghiệm hiệu Thuật toán 2.1 liệu chuẩn USPS MNIST với chiến lược OVO OVR Mơ hình SVM sử dụng với hàm nhân Gauss tham số C = 10 (tham số hàm phạt), Cache = 1000 (kích thước vùng nhớ để lưu trữ vectơ tựa) Bảng 2.1.Kết thực nghiệm tập USPS với hàm nhân RBF(σ =0.05) Chiến Số vectơ Thời gian huấn Thời gian Độ lược tựa luyện Test xác OVR 7874 195 giây 15 giây 95,3% OVO 13952 82 giây 25 giây 95,3% Bảng 2.2 Kết thực nghiệm tập MNIST với hàm nhân RBF(σ =0.08) Chiến Số vectơ Thời gian huấn Thời gian Độ lược tựa luyện Test xác OVR 8542 > ~ phút 96,1% OVO 31280 ~ ~ phút 97,2% Các kết thực nghiệm Bảng 2.1 2.2 cho thấy chiến lược OVO OVR có ưu điểm nhược điểm riêng Tác giả tiếp tục thử nghiệm huấn luyện nhận dạng theo mơ hình phân lớp SVM với hàm nhân tham số khác Bảng 2.3 kết thực nghiệm tập liệu USPS sử dụng hàm nhân khác với tham số C=10, Cache=1000 Kết thực nghiệm Bảng 2.3 cho thấy sử dụng hàm nhân có độ biến thiên đa dạng cho độ xác phân lớp cao Bảng 2.3 Kết thực nghiệm với hàm nhân khác tập USPS Huấn luyện Test Hàm Kernel Thời gian Số mẫu phân Thời gian Độ lớp sai xác Tuyến tính phút 322/7291 giây 90.0% Đa thức bậc 2 phút 424/7291 20 giây 92.7% phút 1/7291 50 giây 95.3% RBF (σ=0.05) 10 Phần thử nghiệm huấn luyện mơ hình SVM tập liệu USPS với tham số C=10, Cache=1000, hàm nhân Gauss với giá trị σ khác (Bảng 2.4) Bảng 2.4 Kết huấn luyện với hàm nhân Gauss Số mẫu học Số vectơ tựa Số mẫu phân lớp sai σ 0.5 7291 43767 3788/7291 0.05 7291 12454 1/7291 0.01 7291 4423 9/7291 Kết Bảng 2.4 cho thấy chất lượng mơ hình huấn luyện SVM phụ thuộc vào việc lựa chọn giá trị tham số σ Tiếp tục thử nghiệm huấn luyện mơ hình SVM với kích thước Cache khác với C=10, hàm nhân RBF (σ=0.05) tập liệu USPS (Bảng 2.5) Bảng 2.5 Kết huấn luyện với kích thước cache khác Cache Số mẫu học Số vectơ tựa Số mẫu phân lớp sai 1000 7291 12454 1/7291 300 7291 11151 48/7291 100 7291 4486 590/7291 Bảng 2.5 cho thấy chất lượng thuật tốn huấn luyện SVM phụ thuộc vào khơng gian nhớ máy tính Cuối cùng, tác giả so sánh kết nhận dạng theo phương pháp phân lớp SVM so với phương pháp sử dụng mơ hình mạng nơ ron lớp (144 nơ ron lớp vào, 72+36 nơ ron lớp ẩn, 10 nơ ron lớp ra) [15] liệu chuẩn MNIST (Bảng 2.6) Bảng 2.6 So sánh kết nhận dạng SVM với mơ hình mạng nơ ron Các thông số Mạng nơ ron SVM Số mẫu học 60.000 60.000 Thời gian học ~ 24 ~ Số mẫu test 10.000 10.000 Thời gian test ~ phút ~ phút Tỷ lệ test lỗi (%) 4.6 2.8 Kết Bảng 2.6 cho thấy kết nhận dạng theo mơ hình SVM có độ xác cao so với mơ hình mạng nơ ron, nhiên tốc độ nhận dạng SVM lại chậm 2.3.3 Kết thực nghiệm liệu chữ viết tay tiếng Việt Việc thực nghiệm liệu chữ viết tay tiếng Việt tiến hành theo phương thức thẩm định chéo (Cross-Validation) Bộ liệu VietData chia thành k phần (ở k chọn =10), sau sử dụng k-1 phần để huấn luyện phần lại để nhận dạng, q trình lặp lặp lại k lần Các kết thực nghiệm thể Bảng 2.7 Kết thực nghiệm Bảng 2.7 cho thấy tốc độ phân lớp SVM toán phân đa lớp chậm, đáp ứng hệ thống nhận dạng thời gian thực Vì vậy, cần phải có giải pháp phù hợp để tăng tốc độ độ xác phân lớp liệu chữ viết tay tiếng Việt 11 Bảng 2.7 Thực nghiệm tập liệu chữ viết tay tiếng Việt Chiến Thời gian Thời gian Độ xác lược huấn luyện Test OVR ~ 49 phút ~ phút 82.7% OVO ~ 16 phút ~ phút 83.6% 2.4 KẾT LUẬN Chương nghiên cứu triển khai ứng dụng, xây dựng thuật toán nhận dạng chữ viết tay rời rạc sở phân lớp SVM với hai chiến lược OVO OVR Các kết nghiên cứu luận án liên quan đến Chương tác giả cơng bố cơng trình [1,2,3] CHƯƠNG 3: NÂNG CAO HIỆU QUẢ NHẬN DẠNG CHỮ VIỆT VIẾT TAY RỜI RẠC 3.1 ĐẶT VẤN ĐỀ Khi sử dụng SVM để giải toán vấp phải số vấn đề sau: Để đảm bảo độ xác cho hệ thống nhận dạng, lớp phải có số lượng mẫu đủ lớn để huấn luyện Bùng nổ số lớp (99 lớp) Nếu sử dụng chiến lược OVO cho tốn phân lớp hệ thống phải xây dựng 4851 máy phân lớp SVM nhị phân Điều làm cho hệ thống huấn luyện nhận dạng chậm, khó đáp ứng cho ứng dụng thời gian thực, chí không đủ không gian nhớ để huấn luyện số vectơ tựa sinh lớn nhiều lần so với tổng số lượng mẫu tham gia huấn luyện Bộ ký tự tiếng Việt có nhiều ký tự với hình dáng giống nhau, khác chút phần dấu Do khó để phân biệt chữ viết tay, điều dẫn đến độ xác hệ thống nhận dạng không cao 3.2 GIẢI PHÁP NHẬN DẠNG CHỮ VIỆT VIẾT TAY RỜI RẠC Phần trình bày chi tiết giải pháp nhận dạng chữ Việt viết tay rời rạc Trên sở thành phần liên thông ảnh, phân tập ký tự tiếng Việt thành ba nhóm tách ký tự có dấu thành phần rời Sau xây dựng máy phân lớp SVM để nhận dạng cho phần chữ phần dấu, cuối ghép nối kết nhận dạng phần chữ dấu để có kết nhận dạng cuối (Hình 3.1) 3.2.1 Tiền xử lý Ảnh quét vào thường hay bị nhiễu, loại nhiễu phổ biến nhiễu đốm nhiễu vệt Để khử nhiễu đốm, sử dụng lọc trung bình lọc trung vị hiệu nhất, nhiễu vệt sử dụng phương pháp khử vùng liên thông nhỏ tỏ hữu hiệu Để thuận tiện cho việc xử lý sau này, ảnh đầu vào biến đổi từ ảnh đa cấp xám thành ảnh nhị phân 12 Hình 3.1 Kiến trúc hệ nhận dạng chữ viết tay tiếng Việt Chuẩn hóa ảnh theo vùng liên thơng Chuẩn hóa ảnh nhằm mục đích tạo điều kiện thuận tiện cho công đoạn tách ảnh thành phần chữ dấu (a) (b) Hình 3.3 Chuẩn hóa ảnh: (a) Ảnh gốc, (b) Xác định vùng liên thông đánh thứ tự vùng liên thông Bước 1: Xác định vùng liên thơng ảnh (Hình 3.3) Bước 2: Sắp xếp vùng liên thông theo thứ tự từ xuống (Hình 3.3b) Bước 3: - Nếu ảnh có vùng liên thơng: Chuẩn hóa ảnh kích thước 16×16 (Hình 3.4a) - Nếu ảnh có vùng liên thơng: Gọi S(i) diện tích vùng liên thơng thứ i Nếu S(1)>S(2) dấu phần liên thơng dấu nặng (.) cần chuẩn hóa vùng liên thơng kích thước 16×16 Ngược lại: Tách ảnh thành phần: phần chữ phần dấu Chuẩn hóa phần chữ kích thước 16×16 phần dấu kích thước 8×8 (Hình 3.4b) - Nếu ảnh có vùng liên thơng: 13 Nếu S(3) = Min{S(i)} dấu phần liên thơng dấu nặng (.) Do cần chuẩn hóa thành phần liên thơng kích thước 8×8 thành phần liên thơng kích thước 16×16 Ngược lại: Tách ảnh thành phần từ vùng liên thơng Chuẩn hóa vùng liên thơng kích thước 8×8 chuẩn hóa vùng liên thơng kích thước 16×16 (Hình 3.4c) (a) (b) (c) Hình 3.4 Chuẩn hóa kích thước vùng liên thơng 3.2.2 Phân nhóm sơ Dựa vào số thành phần liên thông để tách ký tự tiếng Việt thành nhóm: Nhóm 1: Nhóm có vùng liên thơng {A, B, C, D, Đ, E, G, H, I, K, L, M, N, O, P, Q, R, S, T, U, V, X, Y, Ơ, Ư} Nhóm 2: Nhóm có vùng liên thông {Ă, Â, À, Ả, Ã, Á, Ạ, Ê, È, Ẻ, Ẽ, É, Ẹ, Ì, Ỉ, Ĩ, Í, Ị, Ơ, Ị, Ỏ, Õ, Ĩ, Ọ, Ờ, Ở, Ỡ, Ớ, Ợ, Ù, Ủ, Ũ, Ú, Ụ, Ừ, Ử, Ữ, Ứ, Ự, Ỳ, Ỷ, Ỹ, Ý, Ỵ} Nhóm 3: Nhóm có vùng liên thơng { Ằ, Ẳ, Ẵ, Ắ, Ặ, Ầ, Ẩ, Ẫ, Ấ, Ậ, Ề, Ể, Ễ, Ế, Ệ, Ồ, Ổ, Ỗ, Ố, Ộ} Việc phân nhóm sơ khắc phục bùng nổ số phân lớp nhị phân, giúp cho việc giải toán nhận dạng chữ Việt viết tay rời rạc thực máy tính cá nhân tăng tốc độ nhận dạng 3.2.3 Huấn luyện máy phân lớp SVM Với việc phân nhóm sơ trên, cần xây dựng huấn luyện ba máy phân lớp SVM Các máy phân lớp SVM nhị phân sử dụng hàm nhân Gauss với tham số σ = 0.01 để huấn luyện phân lớp nhận dạng SVM 1: Máy phân lớp nhóm ký tự có vùng liên thơng {A, B, C, D, Đ, E, G, H, I, K, L, M, N, O, P, Q, R, S, T, U, V, X, Y, Ơ, Ư} SVM 2: ký tự có dấu phần chữ nguyên âm, máy phân lớp nguyên âm {A, E, I, O, U, Y} SVM 3: phân lớp dấu {/, \, ?, ~, ^, ∨} (sắc, huyền, hỏi, ngã, dấu ơ, dấu ă) Đối với SVM 1, có nhiều ký tự có hình dạng giống nên phải sử dụng chiến lược OVO để tăng độ xác phân lớp, chấp nhận hy sinh mặt tốc độ Còn SVM SVM 3, khác biệt lớp tương đối lớn nên cần sử dụng chiến lược OVR đảm bảo độ xác phân lớp đồng thời tăng tốc độ nhận dạng 14 3.2.4 Thuật toán nhận dạng chữ Việt viết tay rời rạc Thuật toán sau kế thừa Thuật toán 2.1 để mở rộng phát triển thuật toán nhận dạng chữ Việt viết tay rời rạc Trong SVMClassify(x,N,Model) hàm xếp x vào N lớp với mơ hình huấn luyện Model theo Thuật toán 2.1 Thuật toán 3.1: // Thuật toán nhận dạng chữ Việt viết tay rời rạc Input: - Mẫu x; - Các mơ hình huấn luyện {SVM1, SVM2, SVM3}; Output: label; // Nhãn lớp mẫu x Method k = RegionNum(x); Case k of 1: label = SVMClassify(x,25,SVM1); 2: x1 = ConnectedRegion(1); x2 = ConnectedRegion(2); if (size(x1)>size(x2)) { Marklabel = LabelNum(“.”); Charlabel = SVMClassify(x1,6,SVM2);} else { Marklabel = SVMClassify(x1,6,SVM3); Charlabel = SVMClassify(x2,6,SVM2);} label = Combine(Charlabel,Marklabel); 3: x1 = ConnectedRegion(1); x2 = ConnectedRegion(2); x3 = ConnectedRegion(3); if (size(x2)>size(x3)) { Marklabel1 = LabelNum(“.”); Marklabel2 = SVMClassify(x1,6,SVM3); Charlabel = SVMClassify(x2,6,SVM2);} else { Marklabel1 = SVMClassify(x1,6,SVM3); Marklabel2 = SVMClassify(x2,6,SVM3); Charlabel = SVMClassify(x3,6,SVM2);} label = Combine(Charlabel,Marklabel1,Marklabel2); EndCase; Return label; 3.2.5 Kết thực nghiệm Tác giả tiếp tục xây dựng tập liệu phục vụ cho việc huấn luyện máy phân lớp SVM, lớp sử dụng 180 mẫu: TrainData1: Tập dấu tiếng Việt {/, \, ?, ~, ^, ∨}, với 1080 mẫu TrainData2: Tập nguyên âm tiếng Việt {A, E, I, O, U, Y}, với 1080 mẫu TrainData3: Tập chữ tiếng Việt không dấu {A, B, C, D, Đ, E, G, H, I, K, L, M, N, O, P, Q, R, S, T, U, V, X, Y, Ơ, Ư}, với 4500 mẫu Bảng 3.1 So sánh kết nhận dạng hai thuật toán tập liệu VietData Thuật toán Thời gian Test Độ xác Thuật tốn 2.1 ~ phút 82.7% Thuật toán 3.1 ~ phút 91.4% 15 Sau huấn luyện máy phân lớp, tác giả tiến hành thực nghiệm so sánh hiệu nhận dạng hai thuật toán tập liệu VietData xây dựng Chương Bộ liệu VietData chia thành mười phần, Bảng 3.1 kết trung bình 10 lần test Thuật tốn 3.1 thẩm định chéo Thuật toán 2.1 Kết so sánh Bảng 3.1 cho thấy hiệu nhận dạng liệu chữ viết tay tiếng Việt Thuật toán 3.1 tốt Thuật toán 2.1 hai mặt: tốc độ độ xác phân lớp 3.3 CẢI TIẾN ĐỘ CHÍNH XÁC NHẬN DẠNG 3.3.1 Kết hợp đặc trưng thống kê Phân vùng (Zoning) Hình 3.5 Trích chọn đặc trưng trọng số vùng Với ảnh kích thước 16×16, chọn N=8, có 8×8 = 64 đặc trưng Biểu đồ chiếu (Projection histograms) Hình 3.6.Trích chọn biểu đồ chiếu ngang, dọc đường chéo Với ảnh kích thước 16×16, chọn 16 ngang + 16 dọc + 2×31 chéo = 94 đặc trưng Chu tuyến (Contour Profile) Hình 3.7 Trích chọn khối bên ngồi chữ Với ảnh kích thước 16×16, có 16 trái + 16 phải + 16 + 16 = 64 đặc trưng 16 Lai ghép đặc trưng Trong phần thực nghiệm, tác giả thử nghiệm kết hợp ba đặc trưng (ZPC Zones, Projection histograms Contour profiles) để nâng cao độ xác hệ thống nhận dạng 3.3.2 Biến đổi ảnh hai chiều thành dãy đặc trưng Hình 3.8 Q trình trích chọn đặc trưng Từ ảnh nhị phân kích thước 2n×2n (Hình 3.8), trình biến đổi ảnh hai chiều thành dãy đặc trưng thực theo thuật toán sau: Thuật toán 3.2: TransformFeature Input Ma trận vuông (A,n) cấp 2n; Output Tập đặc trưng {F1, F2, , F2 ×2 }; Method Khởi tạo: Queue = ∅; i = 1; Fi= Tổng điểm đen toàn ma trận (A,n); PUSH((A,n), Queue); while Queue ≠∅ { POP(Queue, (A,n)); if (n>1) { n = n DIV 2; Chia ảnh thành phần: A1, A2, A3, A4; for (j=1; i ≤ 4; j++) PUSH((Aj,n), Queue); } // Gọi S, S1, S2, S3, S4 tổng điểm đen tương ứng với khối A, A1, A2, A3, A4; Fi+1 = S1 + S2; Fi+2 = S2 + S3; Fi+3 = S4; i = i + 3; } Return; n n Mệnh đề (tính đặc trưng theo phép biến đổi TransformFeature): Cho ma trận vuông A cấp 2n, n ngun dương Theo thuật tốn TransformFeature dãy đặc trưng thu ma trận A Chứng minh: Dùng phương pháp quy nạp 17 Ta chứng minh mệnh đề với n=1 Thật vậy, giả sử x1, x2, x3, x4 bốn phần tử ma trận vuông cấp Theo phương pháp biến đổi ảnh thành dãy đặc trưng trên, ta có hệ phương trình: 1 ⎧ x1 + x2 + x3 + x4 = S ⎪ x +x = S1 + S2 1 ⎪ ⎨ x2 + x3 = S + S3 ⎪ ⎪⎩ x4 = S 0 1 = ≠ hệ phương trình có nghiệm Vậy với n=1, theo thuật tốn TransformFeature dãy đặc trưng thu ma trận A Giả sử mệnh đề với n=k Ta chứng minh mệnh đề với n=k+1 Rõ ràng ma trận vuông cấp 2k+1 có kích thước gấp lần ma trận vuông cấp 2k Ta chứng minh phần tư ma trận vuông A cấp 2k+1 có dãy đặc trưng thu ma trận vng A có dãy đặc trưng thu theo thuật toán TransformFeature Thật vậy, giả sử ma trận vuông A cấp 2k+1 chia thành khối A1, A2, A3, A4 kích thước 2k có tổng điểm đen tương ứng S1, S2, S3, S4 Với cách chia thành khối ma trận A có nghiệm X1=S1, X2=S2, X3=S3, X4=S4 tương ứng với phần tử A1, A2, A3, A4 Mà khối Ai, i=1 có dãy đặc trưng theo thuật tốn TransformFeature nên dãy đặc trưng ma trận A theo thuật toán TransformFeature Trong thực nghiệm, với phần chữ kích thước 16×16, có: + + 4×3 + 4×4×3 + 4×4×4×3 = 256 đặc trưng, với phần dấu kích thước 8×8, có tất 64 đặc trưng 3.3.3 Kết thực nghiệm tập liệu chuẩn MNIST Phần cài đặt thử nghiệm hiệu loại đặc trưng khác tập liệu MNIST theo Thuật toán 2.1 với chiến lược OVO, chọn hàm nhân RBF(σ = 0.05) (xem Bảng 3.2) Bảng 3.2 Kết nhận dạng tập liệu MNIST với loại đặc trưng Đặc trưng Số đặc trưng Độ xác Ma trận ảnh 16×16 256 97.2% Zone 2×2 64 97.9% Projection 94 97.0% Contour Profile 64 95.5% TransformFeature 256 98.2% ZPC 222 98.4% Kết Bảng 3.2 Hình 3.10 cho thấy việc sử dụng tập đặc trưng lai ghép ZPC đặc trưng TransformFeature đạt độ xác phân lớp cao so với đặc trưng khác 18 Hình 3.10 So sánh hiệu phân lớp loại đặc trưng tập liệu MNIST 3.3.4 Kết thực nghiệm tập liệu chữ viết tay tiếng Việt Trong thực nghiệm nhận dạng chữ viết tay tiếng Việt, luận án cài đặt thử nghiệm hai loại đặc trưng: Kết hợp đặc trưng thống kê (ZPC - Zones, Projection histograms Contour profiles): Với phần chữ, chọn kích thước ảnh 16×16, vectơ đầu vào có tất : 64 + 94 + 64 = 222 đặc trưng, phần dấu với kích thước ảnh 8×8 vectơ đầu vào có 16 + 46 +32 = 94 đặc trưng Đặc trưng TransformFeature: Với phần chữ, chọn kích thước ảnh 16×16, vectơ đầu vào có 256 đặc trưng, phần dấu với kích thước ảnh 8×8 vectơ đầu vào có tất 64 đặc trưng Để so sánh hiệu nhận dạng tập đặc trưng đề xuất liệu chữ viết tay tiếng Việt, liệu VietData chia thành 10 phần Bảng 3.3 kết trung bình 10 lần test Thuật toán 3.1 Bảng 3.3 So sánh hiệu sử dụng tập đặc trưng khác tập liệu VietData Đặc trưng Số đặc trưng Độ xác Ma trận ảnh16×16 256 91.4% TransformFeature 256 92.5% ZPC 222 92.8% Kết Bảng 3.3 Hình 3.11 cho thấy việc áp dụng tập đặc trưng ZPC TransformFeature góp phần nâng cao độ xác phân lớp liệu chữ viết tay tiếng Việt Hình 3.11 Hiệu phân lớp loại đặc trưng tập liệu VietData 19 3.4 CẢI TIẾN TỐC ĐỘ NHẬN DẠNG Trong phần này, luận án tập trung cải tiến tốc độ nhận dạng cách rút gọn số chiều vectơ đặc trưng đầu vào áp dụng phương pháp tập thu gọn [9] để giảm thiểu tối đa số vectơ tựa máy phân lớp SVM nhị phân nhằm cải tiến tốc độ nhận dạng 3.4.1 Rút gọn số chiều vectơ đặc trưng Phần tìm cách rút gọn số chiều tập đặc trưng ZPC Đối với đặc trưng biểu đồ chiếu chu tuyến, thay lấy tồn đặc trưng, dòng, cột hai đường chéo ảnh, lấy xen kẻ đặc trưng để giảm nửa đặc trưng vectơ đầu vào (Hình 3.12) Như ảnh kích thước 16×16, vectơ đầu vào lại 64 + 48 + 32 = 144 đặc trưng, ảnh kích thước 8×8, vectơ đầu vào lại 16 + 24 + 16 = 56 đặc trưng Hình 3.12 Lấy xen kẻ đặc trưng Việc rút gọn số chiều vectơ đặc trưng làm tăng tốc độ phân lớp giai đoạn nhận dạng Việc làm làm mát thông tin biểu diễn ảnh, điều ảnh hưởng đến độ xác phân lớp giai đoạn nhận dạng Tuy nhiên, độ xác phân lớp tồn hệ thống cải thiện nhờ vào giai đoạn hậu xử lý 3.4.2 Cải tiến tốc độ máy phân lớp SVM Phần áp dụng phương pháp tập thu gọn theo hướng tiếp cận Burges (1996) [12] nhằm tăng tốc độ nhận dạng máy phân lớp SVM nhị phân Quá trình thu gọn vectơ tựa thực cách lựa chọn hai vectơ tựa gần lớp thay chúng vectơ có tập vectơ thu gọn tương đương với tập vectơ tựa ban đầu 3.3.2.1 Phương pháp tập thu gọn Đối với toán phân lớp nhị phân, luật định SVM cho công thức: ⎛ N SV ⎞ y = sign ⎜ ∑ α i K ( x, xi ) + b ⎟ (3.1) ⎝ i =1 ⎠ αi trọng số vectơ tựa xi, x vectơ đầu vào cần phân lớp, K(x,xi) hàm nhân không gian đặc trưng, b độ lệch siêu phẳng so với gốc tọa độ NSV số vectơ tựa Ý tưởng phương pháp tập thu gọn tìm số nhỏ NZ