Nghiên cứu nhận dạng chữ in viết tay rời rạc ứng dụng thuật toán lan truyền ngược

53 28 0
Nghiên cứu nhận dạng chữ in viết tay rời rạc ứng dụng thuật toán lan truyền ngược

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH ĐẶNG NGUYỄN HOÀNG HẢI NGHIÊN CỨU NHẬN DẠNG CHỮ IN VIẾT TAY RỜI RẠC ỨNG DỤNG THUẬT TOÁN LAN TRUYỀN NGƯỢC LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGHỆ AN, 3/2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH ĐẶNG NGUYỄN HOÀNG HẢI NGHIÊN CỨU NHẬN DẠNG CHỮ IN VIẾT TAY RỜI RẠC ỨNG DỤNG THUẬT TOÁN LAN TRUYỀN NGƯỢC Chuyên ngành: CÔNG NGHỆ THÔNG TIN Mã số: 60.48.02.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Người hướng dẫn khoa học: TS PHAN LÊ NA NGHỆ AN, 3/2017 LỜI CẢM ƠN Qua trình học tập làm việc suốt thời gian học, thực biết ơn giúp đỡ tận tình quý thầy bạn hỗ trợ tơi hồn thành luận văn “Nghiên cứu nhận dạng chữ in viết tay rời rạc ứng dụng thuật toán lan truyền ngược” Ngồi cố gắng thân, bên cạnh nhiệt tình giáo viên hướng dẫn TS Phan Lê Na góp phần hồn thành tốt luận văn, lần em xin cảm ơn thầy cô bạn, kính mong thầy bạn đóng góp thêm để chương trình hồn chỉnh Em xin chân thành cảm ơn ! Tác giả Đặng Nguyễn Hồng Hải LỜI CAM ĐOAN Tơi xin cam đoan đề tài “Nghiên cứu nhận dạng chữ in viết tay rời rạc ứng dụng thuật tốn lan truyền ngược” cơng trình nghiên cứu thân Các số liệu, kết thực nghiệm trình bày luận văn trung thực Những tài liệu sử dụng luận văn có nguồn gốc trích dẫn đầy đủ, thơng qua đồng ý giáo viên hướng dẫn Hội đồng cho bảo vệ Tác giả Đặng Nguyễn Hoàng Hải MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỞ ĐẦU 1 Lý chọn đề tài Lịch sử vấn đề Đối tượng phạm vi nghiên cứu Mục đích, nhiệm vụ nghiên cứu Phương pháp nghiên cứu Đóng góp Luận văn Cấu trúc Luận văn CHƯƠNG TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG CHỮ IN VIẾT TAY RỜI RẠC 1.1 Giới thiệu nhận dạng chữ viết tay 1.2 Tổng quan mô hình nhận dạng chữ viết tay 1.3 Các giai đoạn thực 1.3.1 Ảnh đầu vào 1.3.2 Tiền xử lý 1.3.2.1 Chuyển xám ảnh 1.3.2.2 Nhị phân hóa ảnh 1.3.2.3 Lọc nhiễu 1.3.2.4 Chỉnh nghiêng văn 1.3.3 Phân tích tìm ký tự xử lý 1.3.3.1 Tách dòng 1.3.3.2 Tách từ 10 1.3.3.3 Tách ký tự 10 1.3.3.4 Phát biên ký tự 11 1.3.3.5 Chuẩn hóa kích thước ký tự 11 1.3.4 Trích chọn đặc trưng 12 1.3.4.1 Một số đặc trưng mẫu 13 1.3.4.2 Các phương pháp trích chọn đặc trưng 14 1.3.5 Huấn luyện nhận dạng 17 1.3.6 Hậu xử lý 17 CHƯƠNG 18 CƠ SỞ LÝ THUYẾT MẠNG NEURAL NHÂN TẠO 18 2.1 Giới thiệu 18 2.2 Khái niệm 18 2.3 Mơ hình kiến trúc mạng Neural 19 2.3.1 Mơ hình mạng Neural 19 2.3.2 Kiến trúc mạng neural 21 2.4 Phương pháp học 23 2.4.1 Học có giám sát 23 2.4.2 Học khơng có giám sát 24 2.4.3 Học tăng cường 24 2.5 Kiến trúc mạng Perceptron 24 2.5.1 Mạng Perceptron lớp 24 2.5.2 Mạng Perceptron neuron 25 2.5.3 Mạng Perceptron nhiều neuron 26 2.5.4 Luật học Perceptron 26 2.5.5 Hạn chế mạng Perceptron lớp 28 2.6 Mạng Perceptron nhiều lớp thuật toán lan truyền ngược 28 2.6.1 Mạng Perceptron nhiều lớp 28 2.6.2 Kiến trúc mạng 29 2.6.3 Thuật toán lan truyền ngược (backpropagation) 29 2.6.4 Những hạn chế phương pháp lan truyền ngược 34 CHƯƠNG 35 ỨNG DỤNG MẠNG NEURAL TRONG NHẬN DẠNG CHỮ VIẾT TAY 35 3.1 Giới thiệu ngôn ngữ Matlab 35 3.2 Cài đặt thuật toán thiết kế chương trình Matlab 36 3.3 Giới thiệu chương trình 39 3.4 Hướng dẫn chạy chương trình 40 3.5 Kiểm tra, nhận xét kết thực nghiệm 41 3.5.1 Kiểm tra nhận dạng 41 3.5.2 Nhận xét 43 KẾT LUẬN 45 TÀI LIỆU THAM KHẢO 46 MỞ ĐẦU Lý chọn đề tài Trong thời đại công nghệ khoa học phát triển, đặc biệt lĩnh vực công nghệ thông tin Hầu công việc phải dựa vào công nghệ thông tin y tế, giáo dục, ngân hàng Trong tốn nhận dạng ứng dụng giúp người giải nhiều vấn đề nhận dạng vân tay, nhận dạng mặt người, nhận dạng giọng nói, nhận dạng chữ viết… Đối với toán nhận dạng chữ viết tay nhọc nhằn, hiệu chưa cao Do luận văn tơi “Nghiên cứu nhận dạng chữ in viết tay rời rạc ứng dụng thuật toán lan truyền ngược” Lịch sử vấn đề Nhận dạng chữ viết tay hay chữ đánh máy thường quét máy scanner để chuyển thành tài liệu văn nhằm mục đích điều chỉnh, lấy thơng tin theo ý Vấn đề đặt làm máy tính nhận dạng xác ảnh đầu vào, vấn đề cần giải Vì nhận dạng quan tâm nghiên cứu đặc biệt chữ viết tay Nhận dạng chữ viết hữu ích cơng việc văn phịng để thu thập tài liệu sách báo quan trọng, bưu điện thư tín dùng lưu địa liên lạc, mặt khác cịn giải vấn đề nhận dạng biển số xe hiệu việc quản lý xe… Từ ứng dụng thiết thực, hiệu mang tính kinh tế cao, mà nhà nghiên cứu không ngừng cải tiến nhằm tìm độ xác nhận dạng cao nhất, tối ưu Hiện nhận dạng chữ đánh máy gần giải tuyệt đối, độ xác cao (sản phẩm FineReader hãng ABBYY nhận dạng chữ in 20 ngơn ngữ khác nhau, OmmiPage hãng Scansoft nhận dạng văn tiếng Anh hay phần mềm nhận dạng chữ in Việt VnDOCR viện Công nghệ Thông tin Hà Nội nhận dạng văn ảnh tiếng Việt với độ xác 98% ) Tuy nhiên chữ viết tay thách thức lớn cho người nghiên cứu, cách viết người, chữ đẹp xấu, viết lệch chữ… Từ yếu tố cách viết đó, ảnh hưởng đến kết nhận dạng nhiều, tốn nhận dạng chữ viết thách thức Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: - Nghiên cứu số kỹ thuật lý thuyết xử lý ảnh - Các phương pháp rút trích đặc trưng nhận dạng mẫu - Phương pháp huấn luyện nhận dạng mẫu ứng dụng thuật toán lan truyền ngược cơng cụ lập trình Matlab Phạm vi nghiên cứu: - Nghiên cứu phương pháp, áp dụng thuật toán xử lý ảnh chữ viết tay rời rạc - Nghiên cứu lý thuyết nhận dạng ứng dụng thuật toán lan truyền ngược mạng Neural - Kiểm tra thực nghiệm nhận dạng chữ in viết tay rời rạc từ ảnh đầu vào đưa nhận xét, kết luận Mục đích, nhiệm vụ nghiên cứu Mục đích nghiên cứu: Tiếp cận phương pháp nhận dạng chữ in viết tay rời rạc ứng dụng thuật toán lan truyền ngược mạng Neural từ ảnh đầu vào nhằm số hóa tài liệu cách tự động nhanh chóng Nhiệm vụ nghiên cứu: Xây dựng ứng dụng nhận dạng chữ viết tay (offline) cụ thể qua bước xử lý ảnh chữ viết đầu vào, rút trích đặc trưng, huấn luyện nhận dạng mẫu ứng dụng thuật toán lan truyền ngược Phương pháp nghiên cứu Tìm kiếm tài liệu tham khảo website, thư viện, báo khoa học trợ giúp nhiệt tình giáo viên hướng dẫn, từ xây dựng mơ hình cho toán nhận dạng chữ in viết tay rời rạc Lựa chọn phương pháp phù hợp, tối ưu, đánh giá kết toán qua thực nghiệm rút kết luận Đóng góp Luận văn Trình tóm tắt phương pháp tốn nhận dạng chữ in viết tay rời rạc nhận xét, đánh giá độ xác q trình thực nghiệm Cấu trúc Luận văn Luận văn gồm có phần chương: Phần mở đầu Chương 1: Tổng quan toán nhận dạng chữ in viết tay rời rạc Trong chương nghiên cứu số phương pháp xử lý ảnh chữ in viết tay rời rạc, trích chọn đặc trưng ảnh ký tự, huấn luyện hậu xử lý Chương 2: Cơ sở lý thuyết mạng Neural nhân tạo Giới thiệu khái quát mạng Neural, tìm hiểu mơ hình kiến trúc mạng, phương pháp học thuật toán lan truyền ngược Chương 3: Ứng dụng thuật toán lan truyền ngược nhận dạng chữ in viết tay rời rạc Xây dựng chương trình demo nhận dạng chữ viết tay ngôn ngữ Matlab, nhận xét, đánh giá kết qua chương trình Phần kết luận 32 đặt:  j  E (n) E (n) e j (n) y j (n)   e j (n) f ' (u j (n)) wij (n) e j (n) y j (n) u j (n) Ta có: wij  . j (n).xi (n) (2.6.13) (2.6.14) Từ ta có cơng thức điều chỉnh trọng số: wij (n  1)  wij (n)  wij (n) (2.6.15) - Quá trình điều chỉnh trọng số xác định theo công thức từ công thức (2.6.1) đến (2.6.15), ta cần phải xác định vị trí neural thuộc lớp (lớp ẩn hay lớp xuất) Việc quan trọng việc tính tốn cho hệ số điều chỉnh trọng số Hình 2.6.3.2 Mơ hình tính tốn mạng neural đa tầng + Các trường hợp tính tốn mạng neural tổng qt sau:  Trường hợp 1: Nếu neural j nút xuất Ta có:  k   E (n) E (n) ek (n) y k (n)   ek (n) f k' (u k (n)) w jk (n) ek (n) y k (n) u k (n)  w jk  . k (n) y j (n) (2.6.16) (2.6.17)  Trường hợp 2: Nếu neural j nút ẩn Ta có:  j   E (n) E (n) y j (n) E (n) '   f (u j (n)) wij (n) y j (n) u j (n) y j (n) q Trong đó: E (n)   ek (n) k 1 (2.6.18) (2.6.19) 33 q  (  ek (n)) q e (n) E (n) k 1   ek k Khi đó:  y j (n) y j (n) y j (n) k 1 (2.6.20) ek (n) ek (n) u k (n)  y j (n) u k (n) y j (n) (2.6.21) ek (n) (t k (n)  y k (n)) (t k (n)  f k (u k (n)))     f k' (u k (n)) u k (n) u k (n) u k (n) (2.6.22) Ta có: u k (n)  m w jk ( n) y j ( n ) (2.6.23) j 0 m  u k (n)  y j (n)  ( w jk (n) y j (n)) j 0 y j (n)  w jk (n) q E (n)   ek (n) f k' (u k (n)) w jk (n) y j (n) k 1 Theo ta có:  k    E (n) y j (n) E (n) w jk (n)  e k (n) f k' (u k (n)) (2.6.24) (2.6.25) (2.6.26) q     k (n) w jk (n) (2.6.27) k 1 q Vậy:  j (n)  f (u j (n)) k (n) w jk (n) ' (2.6.28) k 1 + Từ công thức (2.6.16) đến (2.6.28) trình ta có cơng thức tổng quát sau: wij (n) =   j(n) x j (n) Với: wij (n) : Giá trị điều chỉnh trọng số  : Hệ số học x j (n) : Giá trị input neural xj(n) 34 Trong đó: ' + Nếu neural j nút xuất:  j  e j (n) f j (u j (n)) (2.6.29) q + Nếu neural j nút ẩn:  j (n)  f (u j (n)) k (n) w jk (n) ' (2.6.30) k 1 Từ cơng thức nêu ta tính tốn giá trị điều chỉnh trọng số cho trọng số tương ứng theo thuật toán lan truyền ngược 2.6.4 Những hạn chế phương pháp lan truyền ngược Ngoài thành công giải thuật học lan truyền ngược, cịn có số khía cạnh làm cho giải thuật trở nên chưa bảo đảm lúc tốt Khó khăn chủ yếu q trình huấn luyện lâu Có thể nhịp độ học động lực khơng tối ưu Sự sai sót việc huấn luyện nói chung xuất từ hai nguồn: mạng liệt cực tiểu địa phương Mạng liệt: xảy trọng số điều chỉnh tới giá trị lớn Tổng đầu vào đơn vị ẩn đơn vị đầu mà đạt giá trị cao (hoặc dương âm), qua hàm kích hoạt sigmoid, đơn vị có giá trị kích hoạt gần gần Giá trị hiệu chỉnh trọng số gần 0, q trình huấn luyện đến trạng thái dừng ảo Cực tiểu địa phương: bề mặt sai số mạng phức tạp đầy đồi thung lũng Bởi hạ độ dốc, mạng bị mắc bẫy cực tiểu địa phương có nhiều cực tiểu thấp gần bên cạnh Những phương pháp thống kê giúp để tránh bẫy này, chúng làm chậm Một phương án khác tăng thêm số lượng đơn vị ẩn Như làm việc không gian sai số nhiều chiều, nên hội gặp bẫy nhỏ Tuy nhiên việc tăng có giới hạn trên, vượt qua giới hạn này, hội mắc bẫy lại tăng lên 35 CHƯƠNG ỨNG DỤNG MẠNG NEURAL TRONG NHẬN DẠNG CHỮ VIẾT TAY Trong chương xây dựng chương trình demo nhận dạng chữ viết tay ngơn ngữ Matlab Từ đưa nhận xét, đánh giá kết áp dụng thuật tốn [5], [8] 3.1 Giới thiệu ngơn ngữ Matlab Matlab (Matrix Laboratory) Cleve Moler phát minh vào cuối thập niên 1970 Cleve Moler Giáo sư toán khoa học máy tính gần 20 năm trường Đại học Michigan, Stanford, New Mexico Matlab ngôn ngữ lập trình thực hành bậc cao sử dụng để giải tốn kỹ thuật Ngơn ngữ Matlab tích hợp việc tính tốn, thể kết quả, cho phép lập trình giao diện dễ sử dụng, với thư viện lập trình sẵn, cho phép người sử dụng thực dễ dàng Một số đặc trưng Matlab: - Cho phép lập trình tạo ứng dụng - Mơ mơ hình thực tế (đặc biệt vẽ đồ thị toán học) - Phân tích khảo sát hiển thị liệu - Phần mềm đồ họa mạnh - Cho phép phát triển, giao tiếp với số phần mềm khác C++, Fortran - Trong lập trình Matlab cho phép sử dụng hàm có sẵn thư viện, phép tính tốn số học thơng thường số ngơn ngữ lập trình khác - Matlab hệ thống tương giao, phần tử liệu mảng, liệu Matlab thể dạng ma trận Điểm mạnh Matlab cung cấp cho ứng dụng kỹ thuật phân tích, mơ phỏng, thiết kế mơ hình như: chạy thực nghiệm mạng neural, logic mờ,… 36 3.2 Cài đặt thuật toán thiết kế chương trình Matlab Chương trình cài đặt thực qua bước sau: * Chọn ảnh đầu vào Ảnh chữ in viết tay rời rạc thu từ máy scanner, máy ảnh hay thiết bị khác Quá trình chọn ảnh thể qua đoạn code sau: [filename path]= uigetfile ({'*.bmp';'*.jpg';'*.jpeg';'*.png';'*.*'}, 'Chon anh nhan dang') [full]=strcat (path, filename) [imagen]=imread(full); axes(handles.axes1); imshow(imagen); helpdlg('Anh duoc load cong Tiep tuc click chon "Huan luyen" ',… 'Load anh'); * Xử lý ảnh đầu vào Sau ảnh load vào hệ thống, bước thao tác xử lý ảnh đầu vào như: - Chuyển xám ảnh if size(imagen,3)==3 % RGB image imagen=rgb2gray(imagen); end - Chuyển ảnh nhị phân threshold = graythresh(imagen); imagen =~im2bw(imagen,threshold); - Khử nhiểu ảnh % Xoa tat ca cac doi tuong co it hon 30 diem anh imagen = bwareaopen(imagen,15); pause(1) * Phân tích tìm ký tự xử lý 37 - Tách dòng (xem mục 1.3.3.1) - Tách ký tự (xem mục 1.3.3.3) - Phát biên Iedge = edge(uint8(imagen)); imshow(~Iedge) - Chuẩn hóa kích thước ký tự n1=imgn(min(r):max(r),min(c):max(c)); BW2 = bwmorph(n1,'thin',Inf); imrotate(BW2,0); imshow(~BW2); z=imresize(BW2,[50 50]); * Trích chọn đặc trưng Sau ảnh ký tự chuẩn hóa kích thước 50x50, ta bắt đầu trích chọn đặt trưng Trong chương trình sử dụng phương pháp trích chọn đặc trưng Gradient (mục 1.3.4.2) qua giải thuật sau: - Kiểm tra ảnh ký tự đầu vào có kích thước tối thiểu 9x9, ảnh có kích thước nhỏ 9x9 thêm vào dòng cột gia tri cho đủ - Từ ảnh kích thước 50x50 ta chia ảnh thành vùng nhau, để chia vùng số dịng số cột phải bội số (3^n, n>=3), khơng thỏa điều kiện thêm vào dòng cột gia tri cho đủ gần với bội số 3^n Mỗi vùng vector đặc trưng %% Chia vùng dac trung 3x3 vùng zone_height=row/3 zone_width=column/3 % O day diem anh la m x n, vi the moi vung co chieu cao m/3, chieu rong n/3 zone11=image(1:zone_height,1:zone_width); zone12=image(1:zone_height,(zone_width+1):2*zone_width); zone13=image(1:zone_height,(2*zone_width+1):end); 38 zone21=image((zone_height+1):2*zone_height,1:zone_width); zone22=image((zone_height+1):2*zone_height,(zone_width+1):2* zone_width) zone23=image((zone_height+1):2*zone_height,(2*zone_width+1):end); zone31=image((2*zone_height+1):end,1:zone_width); zone32=image((2*zone_height+1):end,(zone_width+1):2*zone_width); zone33=image((2*zone_height+1):end,(2*zone_width+1):end); - Trong vùng có 12 giá trị đặc trưng Gradient (12 hướng) - Như cuối ta vector 9x12=108 đặc trưng features=[zone11_features;zone12_features;zone13_features;zone21_features; zone22_features;zone23_features;zone31_features;zone32_features; zone33_features]; * Huấn luyện mạng Tập mẫu gồm có 650 ảnh ký tự từ A đến Z, ký tự chữ có 25 mẫu khác Vector đặc trưng đầu vào 108 đặc trưng trích chọn ký tự, với 650 ký tự lưu sẵn file có tên input108.mat có kích thước 650x108 file đầu mong muốn có tên target650.mat có kích thước 650x26 Trong chương trình sử dụng thuật toán lan truyền ngược sai số (Back Proparation) Mạng sử dụng lớp: lớp đầu vào 108 đặc trưng tương ứng 108 neural, lớp ẩn (48 neural kiểm tra thực nghiệm chương trình có được) lớp đầu 26 neural tương ứng 26 ký tự Quá trình huấn luyên thực qua bước sau: Bước 1: Xây dựng cấu trúc mạng với mơ hình lớp (lớp đầu vào, lớp ẩn, lớp đầu ra) Bước 2: Khởi tạo giá trị trọng số ngẫu nhiên khoảng [-1, 1] Bước 3: Nạp file liệu tập mẫu đầu vào đầu mong muốn Bước 4: Tính giá trị lỗi lớp ra, kiểm tra lỗi có nhỏ ngưỡng không 39 đồng thời kiểm tra đầu mạng có trùng với đầu mong muốn khơng Nếu nhảy đến bước đồng thời tăng số mẫu nhận dạng lên 1, chưa hiệu chỉnh lại trọng số (nhảy bước 6) Bước 5: Tính tốn lỗi lan truyền ngược giá trị lỗi từ lớp lớp ẩn Bước 6: Tính lại trọng số liên kết từ lớp ẩn lớp Bước 7: Cộng thêm giá trị lỗi mẫu vào giá trị tổng lỗi tăng số mẫu chưa nhận dạng lên Bước 8: Kiểm tra học hết học mẫu tập mẫu chưa, chưa quay lại bước Bước 9: Kiểm tra số mẫu nhận dạng với số mẫu tập mẫu kết thúc Sau trình huấn luyện hoàn tất liệu lưu vào file có tên net.mat, để phục vụ cho q trình nhận dạng xuất ký tự * Nhận dạng Những ký tự trích chọn đặc trưng (mỗi ký tự có đặc trưng riêng), ta đưa vào mạng huấn luyện tập mẫu trước Nếu đầu thực chúng có giá trị trọng số tương đồng với độ lệch cho phép ký tự nhận dạng (phân lớp) ghi vào file output.txt 3.3 Giới thiệu chương trình Chương trình cài đặt ứng dụng Maplab 2016a Sau cài đặt thành công, chương trình mở với file có *.m (file chạy ứng dụng nhận dạng chữ viết tay rời rạc “DemoHWCR.m”) Giao diện chương trình Demo nhận dạng chữ viết tay rời thể hình 3.3.1 Chương trình có pushbutton lựa chọn: - Pushbutton 1: “Chọn ảnh đầu vào” - Pushbutton 2: “Huấn luyện” 40 - Pushbutton 3: “Xử lý – Nhận dạng ảnh” - Pushbutton 4: “Xuất ký tự” - Pushbutton 5: “Thốt” Hình 3.3.1 Giao diện chương trình Demo nhận dạng chữ viết tay rời rạc 3.4 Hướng dẫn chạy chương trình - Nút “Chọn ảnh đầu vào”: có chức chọn ảnh hiển thị hình Sau ảnh chọn thành cơng, hình thơng báo: “Ảnh load thành công Tiếp tục lick chọn “Huấn luyện”” - Nút “Huấn luyện”: Có chức huấn luyện mạng từ tập mẫu cho sẵn thử mục “training_set” Sau huấn luyện mạng thành công, giá trị lưu vào file net.mat Q trình huyến luyện thành cơng thông báo: “Mạng huấn luyện Tiếp tục click chọn “Xử lý – Nhận dạng ảnh”” 41 - Nút “Xử lý – Nhận dạng ảnh”: Có chức xử lý ảnh đầu vào đối sánh tập vector đặc trưng ký tự để nhận dạng - Nút “Xuất ký tự”: Sau nhận dạng chữ viết từ ảnh thành công, ta xuất ký tự nhận file out.txt theo hình 3.2.2.1 Hình 3.4.1 Kết nhận dạng file out.txt 3.5 Kiểm tra, nhận xét kết thực nghiệm 3.5.1 Kiểm tra nhận dạng Kiểm tra nhận dạng chữ in viết tay từ A đến Z: Sử dụng phương pháp trích chọn đặc trưng Gradient, với vector đầu vào 108 đặc trưng đưa vào mạng huấn luyện, số tầng ẩn kiểm tra cho chạy từ đến 60, tương ứng với số “epoch” (thuật ngữ “epoch” dùng để mơ tả q trình tất mẫu đầu vào tập huấn luyện đưa vào để huấn luyện mạng Vì số lượng “epoch” xác định số lần mạng huấn luyện hay số lần đưa tất liệu tập huấn luyện vào mạng Quá trình kiểm tra thể bảng 3.5.1.1 42 Bảng 3.5.1.1 Kiểm tra phân lớp ký tự từ A đến Z Mơ hình Neuron tầng ẩn Epochs Phân lớp (%) Mơ hình Neuron tầng ẩn Epochs Phân lớp (%) 108-11-26 108-12-26 108-13-26 108-14-26 108-15-26 108-16-26 108-17-26 108-18-26 108-19-26 108-20-26 108-21-26 108-22-26 108-23-26 108-24-26 108-25-26 108-26-26 108-27-26 108-28-26 108-29-26 108-30-26 108-31-26 108-32-26 108-33-26 108-34-26 108-35-26 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 54 57 98 108 86 64 93 80 148 125 105 15 142 81 108 108 105 91 13 76 140 111 100 124 81 42.31 42.31 46.15 69.23 69.23 53.85 69.23 46.15 76.92 73.08 73.08 15.38 65.38 57.69 69.23 69.23 50 69.23 7.69 76.92 73.08 65.38 65.38 57.69 61.54 108-36-26 108-37-26 108-38-26 108-39-26 108-40-26 108-41-26 108-42-26 108-43-26 108-44-26 108-45-26 108-46-26 108-47-26 108-48-26 108-49-26 108-50-26 108-51-26 108-52-26 108-53-26 108-54-26 108-55-26 108-56-26 108-57-26 108-58-26 108-59-26 108-60-26 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 50 114 106 98 153 140 79 77 89 98 103 150 174 83 103 87 153 79 95 105 86 81 87 178 98 34.62 76.92 65.38 61.54 73.08 73.08 61.54 53.85 50 53.85 61.54 61.54 92.31 73.08 69.23 42.31 69.23 46.15 65.38 61.54 50 57.69 53.85 57.69 69.23 Qua bảng số liệu kiểm tra, mạng huấn luyện đạt phân lớp tốt 92,31%, neuron tầng ẩn 48, “epoch” = 174 Kiểm tra ngẫu nhiên 10 ảnh chữ in viết tay rời rạc: Được viết ứng dụng Paint thể qua bảng 3.5.1.2 Bảng 3.5.1.2 Kiểm tra kết nhận dạng ngẫu nhiên STT Ảnh đầu vào Kết nhận dạng ABCDEFGHI U LMN O PRTUVWXYZ Chính xác (%) 92,31 43 TNI YEU CAC BAN CHUNNG TRINH PASCAL TRURNG DAI HDC VINH NGNN NGU LAP TRINH UAVA MNN TRI TUE NHAN TAN 91,67 94,12 87,50 89,47 87,50 PHUNNG PHAP HUAN LUYEN MANG 94,44 NEURAL NHAN TAN DAI HMC TIENGIANG 93,33 TIVI SAMSUNG 100 10 VIET NAM MEN YEU 100 Kết kiểm tra: - Độ xác cao 100% với ảnh chữ “TIVI SAMUNG” “VIET NAM MEN YEU” - Độ xác thấp 87,50% với ảnh chữ “TRUONG DAI HOC VINH” “MON TRI TUE NHAN TAO” - Trung bình kiểm tra 10 ảnh chữ đạt tỷ lệ xác 93% Trong ký tự phân lớp dễ sai ký tự “J” “O” xét theo phân lớp ký tự chúng đạt mức 50% Theo thực nghiệm ký tự “J” phân lớp vào lớp ký tự “U” “O” vào lớp ký tự “N” Điều đặc trưng ký tự có giống 3.5.2 Nhận xét - Quá trình nhận dạng chữ in viết tay rời rạc (offline) có độ xác chưa cao 44 nhiều vấn đề liên quan như: phức tạp liệu đầu vào, giá trị chọn lựa độ lệch, lỗi ngưỡng, số neuron lớp,… chưa chọn lựa xác - Chương trình nhận dạng chữ khơng dấu, tính xác chưa hồn toàn tuyệt đối - Với kiểu chữ sát nhau, nét đè chồng nhau… Dẫn đến việc phân tích ký tự chưa xác, trích chọn đặc trưng sai Do kết nhận dạng sai Chương trình nhận dạng chữ in viết tay rời rạc ứng dụng thuật toán lan truyền ngược chạy thực nghiệm 10 mẫu cho kết nhận dạng 93%, tỷ lệ tương đối chấp nhận đạt kết tốt so với nhiều thuật toán nhận dạng khác 45 KẾT LUẬN Đề tài “Nghiên cứu nhận dạng chữ in viết tay rời rạc ứng dụng thuật toán lan truyền ngược” đạt kết sau: - Nghiên cứu phương pháp xử lý ảnh chữ in viết tay rời rạc - Nghiên cứu sở lý thuyết mạng Neural ứng dụng toán nhận dạng chữ viết tay - Xây dựng chương trình demo nhận dạng chữ in viết tay ngôn ngữ Matlab với chức năng: chọn ảnh, xử lý ảnh, nhận dạng ảnh chữ viết tay, xuất kết chữ viết tay nhận dạng - Kết thực nghiệm nhận dạng ngẫu nhiên 10 ảnh mẫu chữ in viết tay rời rạc đạt tỷ lệ 93% - Ứng dụng thực tế: Chương trình mức Demo - Hướng phát triển: Cải thiện hệ thống nhận dạng cho kết tốt Mở rộng chương trình nhận dạng chữ viết tay có dấu 46 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Lê Hoài Bắc, Lê Hoàng Thái (2001), “Neural Network & Genetic Algorithm in Application to Handwritten Character Recognition”, Tạp chí Tin học Điều khiển học, Tập 17, số 4, tr 57-65 [2] Hoàng Kiếm, Nguyễn Hồng Sơn, Đào Minh Sơn (2001), “Ứng dụng mạng nơron nhân tạo hệ thống xử lý biểu mẫu tự động”, Kỷ yếu hội nghị kỷ niệm 25 năm thành lập Viện Công nghệ Thông tin, tr 560-567 [3] Võ Đức Khánh, Hoàng Văn Kiếm (2008), Giáo trình xử lý ảnh số, Nhà xuất Đại học Quốc gia Thành phố Hồ Chí Minh [4] 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 Tiếng Anh [5] Martin T Hagan, Howard B Demuth, Mark Hudson Beale (2009), Neural Network Toolbox™ User’s Guide, 2nd [6] J C Simon and O Baret (1992), “Cursive Words Recognition”, From Pixels Features III: Frontiers in Handwriting Recognition, S.Impedovo and J.C.Simon (eds.), pp 241-260 [7] L F C Pessoa, P Maragos (2000), “Neural Networks with Hybrid Morphological/ Rank/Linear Nodes: A Unifying Framework with Applications to Handwritten Character Recognition”, Pattern Recognition, vol.33, pp 945960 [8] R C Gonzalez, R E Woods, S L Eddins (2004), “Digital Image Processing Using MATLAB”, Pearson Prentice Hall ... BÀI TOÁN NHẬN DẠNG CHỮ IN VIẾT TAY RỜI RẠC 1.1 Giới thiệu nhận dạng chữ viết tay Nhận dạng chữ viết tay nhiều người nghiên cứu lĩnh vực công nghệ Nhận dạng chữ viết tay có hai dạng: nhận dạng. .. giọng nói, nhận dạng chữ viết? ?? Đối với toán nhận dạng chữ viết tay nhọc nhằn, hiệu chưa cao Do luận văn tơi ? ?Nghiên cứu nhận dạng chữ in viết tay rời rạc ứng dụng thuật toán lan truyền ngược? ?? Lịch... pháp học thuật toán lan truyền ngược Chương 3: Ứng dụng thuật toán lan truyền ngược nhận dạng chữ in viết tay rời rạc Xây dựng chương trình demo nhận dạng chữ viết tay ngôn ngữ Matlab, nhận xét,

Ngày đăng: 10/02/2021, 21:58

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan