1. Trang chủ
  2. » Công Nghệ Thông Tin

nhan-dang-chu-viet-tay

18 18 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 300,5 KB

Nội dung

BTL nhận dạng chữ viết tay

BỘ CÔNG NGHIỆP TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ======***====== Báo cáo tập lớn Nhập môn lý thuyết nhận dạng Đề tài: Nhận dạng chữ viết tay Giáo viên: Nhóm – Lớp : Thành viên: Hà nội, Năm 2018 LỜI MỞ ĐẦU Nhận dạng toán xuất cách lâu thu hút nhiều quan tâm, nghiên cứu Đặc biệt vài thập niên gần đây, thúc đẩy trình tin học hoá lĩnh vực, toán nhận dạng khơng dừng lại mức độ nghiên cứu mà trở thành lĩnh vực để áp dụng vào thực tế Các toán nhận dạng ứng dụng thực tế tập trung vào nhận dạng mẫu, nhận dạng tiếng nói nhận dạng chữ Trong số này, nhận dạng chữ toán quan tâm nhiều đạt nhiều thành tựu rực rỡ Các ứng dụng có ý nghĩa thực tế lớn kể đến như: nhận dạng chữ in dùng trình lưu sách báo thư viện, nhận dạng chữ viết tay dùng việc phân loại thư bưu điện, toán tiền nhà băng lập thư viện sách cho người mù (ứng dụng có nghĩa: scan sách bình thường, sau cho máy tính nhận dạng trả dạng tài liệu mà người mù đọc được) Xuất phát từ yêu cầu thực tế, cần có nghiên cứu vấn đề Chính chúng em chọn đề tài nhận dạng ký tự viết tay làm đề tài tập lớn với mong muốn phần áp dụng vào toán thực tế 3 Mục lục Chương TỔNG QUAN VỀ CHỮ VIẾT VÀ LÝ THUYẾT NHẬN DẠNG 1.1 Giới thiệu 1.2 Bài toán nhận dạng Chương 1.1 NHẬN DẠNG CHỮ VIẾT TAY Tiền xử lý 1.1.1 Lọc nhiễu 1.1.2 Nhị phân hóa ảnh 1.1.3 Xác định đường viền chữ 1.1.4 Tăng kích thước đường viền 1.1.5 Làm đầy chữ 1.1.6 Chuẩn hóa kích thước chữ 10 1.2 Trích chọn đặc trưng 11 1.3 Huấn luyện nhận dạng 11  Đối sánh mẫu 12  Một số thuật toán đối sánh mẫu .13 1.4 Hậu xử lý 18 1.5 Chữ viết sau nhận dạng 18 Chương TỔNG KẾT .18 Chương TỔNG QUAN VỀ CHỮ VIẾT VÀ LÝ THUYẾT NHẬN DẠNG 1.1 Giới thiệu Những năm gần đây, với phát triển lý thuyết nhận dạng, công nghệ xử lý ảnh, có nhiều nghiên cứu mang lại số kết cho toán nhận dạng chữ viết tay, từ mở hàng loạt ứng dụng thực tế đạt nhiều thành tựu lớn lao Đến thời điểm này, nhận dạng chữ in giải quyết, nhiên nhân dạng chữ viết tay nhiều khó khăn Khó khăn lớn nghiên cứu toán nhận dạng chữ viết tay biến thiên đa dạng cách viết người Cùng người viết đơi có nhiều khác biệt cách viết tùy thuộc vào ngữ cảnh, kiểu viết người thay đổi theo thói quen thời gian… Điều gây nhiều trở ngại việc trích chọn đặc trưng lựa chọn mơ hình nhận dạng 1.2 Bài tố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 5 Chương NHẬN DẠNG CHỮ VIẾT TAY 1.1 Tiền xử lý Giai đoạn góp phần làm tăng độ xác phân lớp hệ thống nhận dạng, nhiên làm cho tốc độ hệ thống nhận dạng chậm lại Vì vậy, tùy thuộc vào chất lượng ảnh quét văn cụ thể để chọn một vài chức khối Khối tiền xử lý gồm số chức năng: Lọc nhiễu, nhị phân hóa ảnh, xác định đường viền chữ, tăng kích thước đường viền, làm đầy chữ, chuẩn hóa kích thước chữ 1.1.1 Lọc nhiễu Nhiễu tập điểm sáng thừa ảnh Có loại nhiễu bản: Nhiễu hệ thống:là nhiễu có quy luật khử khử phép biến đổi miền tần số Nhiễu ngẫu nhiên dạng nhiễu xuất ngẫu nhiên theo phân bố Khử nhiễu vấn đề cần xử lý nhận dạng.Lọc nhiễu để khử nhiễu đốm (các nhiễu với kích thước nhỏ), sử dụng phương pháp lọc (Lọc trung bình, Lọc trung vị) Lọc trung bình san ảnh, làm mịn ảnh, loại bỏ thành phần nhiễu cộng theo nguyên lý sau:mỗi điểm ảnh thay trọng số hay trung bình trọng số điểm lân cận với mặt nạ Lọc trung vị sử dụng chủ yếu cho nhiễu xung,nguyên lý lọc trung vị điểm ảnh đầu vào thay trung vị điểm ảnh có chênh lệch lớn so với phần tử trung vị 6 Hình 1.2 Kết ảnh sau lọc nhiễu 1.1.2 Nhị phân hóa ảnh Nhị phân hóa ảnh kỹ thuật chuyển ảnh đa cấp xám sang ảnh nhị phân Trong tốn phân tích nâng cao chất lượng ảnh nào, cần thiết để xác định đối tượng quan trọng Nhị phân hóa ảnh chia thành phần: phần phần chữ Hầu hết phương pháp nhị phân hóa ảnh lựa chọn ngưỡng thích hợp theo cường độ sang ảnh sau tất giá trị độ sang lớn ngưỡng thành giá trị độ sang tất giá trị bé ngưỡng thành giá trị độ sáng khác 7 Hình 1.3 Nhị phân hóa ảnh 1.1.3 Xác định đường viền chữ Phát biên ảnh nhiệm vụ quan trọng xử lý ảnh Nhận dạng ảnh dùng máy tính liên quan tới việc nhận dạng phân loại đối tượng ảnh phát biên cơng cụ quan trọng Phát biên làm giảm cách đáng kể khối lượng liệu cần xử lý loại bỏ thông tin không cần thiết đảm bảo thuộc tính quan trọng cấu trúc ảnh Có nhiều kỹ thuật phát biên sử dụng, kỹ thuật thường làm việc cách có hiệu cao loại đường biên cụ thể Trong matlab hộ trợ cho ta hàm hữu ích giúp ta tìm biên ảnh cách nhanh chóng Hàm I3=edge(uint8(I2)); Hình 1.4 Tìm đường viền chữ 1.1.4 Tăng kích thước đường viền Trong thưc tế tìm biên ảnh nhiều ảnh có biên mờ nhỏ khó để ta nhận dạng chữ giải pháp đưa làm tăng đường viền chữ Trong matlab hỗ trợ cho hàm tăng đường viên: a=strel('square',2); I4=imdilate(I3,a); Hình 1.5 Tăng kích thước đường viền 1.1.5 Làm đầy chữ Chức áp dụng với ký tự bị đứt nét cách ngẫu nhiên Ảnh đứt nét gây nhiều khó khăn cho việc tách chữ , dễ nhầm lẫn phần liên thông ký tự thành ký tư riêng biệt, tạo sai lầm trình nhận dạng Ta dùng hàm imfill(I4,'holes'); matlab để làm đầy chữ , làm đầy nét đứt để nhận dạng chữ cách xác Hình 1.6 Làm đầy chữ 1.1.6 Chuẩn hóa kích thước chữ Việc chuẩn hóa kích thước ảnh dựa việc xác định trọng tâm ảnh, sau xác định khoảng cách lớn từ tâm ảnh đến cạnh, trên, dưới, trái, phải hình chữ nhật bao quanh ảnh Thơng qua khoảng cách lớn đó, xác định tỉ lệ co, dãn ảnh gốc so với kích thước xác định, từ hiệu chỉnh kích thước ảnh theo tỉ lệ co, dãn Như vậy, thuật tốn chuẩn hóa kích thước ảnh ln ln đảm bảo tính cân co, dãn ảnh khơng bị biến dạng bị lệch 10 Ta dùng vòng for duyện theo số chữ đếm dung hàm rectangle Matlap để tạo viền bao quanh for i=1:num rectangle('position',I7(:,i),'edgecolor','r'); end Hình 1.7 Chuẩn hóa kích thước ảnh chữ 1.2 Trích chọn đặc trưng Trích chọn đặc trưng đóng vai trò quan trọng hệ thống nhận dạng Trong trường hợp đơn giản nhất, ảnh đa cấp xám ảnh nhị phân sử dụng cho việc nhận dạng Tuy nhiên, hầu hết hệ nhận dạng để giảm độ phức tạp tăng độ xác thuật tốn phân lớp đòi hỏi đặc trưng trích chọn phải rút gọn lại nhỏ tốt phải đảm bảo thông tin ký tự Chữ viết mẫu đăc trưng , chữ có chiều cao chiều rộng khác nhau,gồm đường nét khác Trích chọn đặc trưng q trình rút trích đặc trưng đại diện cho chữ viêt tay Các đặc trưng đại diện phải có yêu cầu thuộc tính khả bảo tồn tính đặc thù để phân biệt chữ khác ảnh đồng thời phải có tính đọng hỗ trợ chặc chẽ q trình đối sánh, bị tác động nhiễu dễ tính tốn 1.3 Huấn luyện nhận dạng Có nhiều phương pháp khác áp dụng rộng rãi hệ thống nhận dạng chữ viết tay Các phương pháp tích hợp theo 11 hướng sau:Đối sánh mẫu, thống kê, cấu trúc, mạng nơ- ron, hay mơ hình SVM Đây giai đoạn quan trọng nhất, giai đoạn định độ xác hệ thống nhận dạng  Đố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 với để nhận dạng ký tự từ Nói chung toán tử đối sánh xác định mức độ giống hai vecto không gian đặc trưng Các kỹ thuật đối sánh nghiên cứu theo hướng sau: • Đối sánh trực tiếp: Một ký tự đầu vào ảnh đa cấp xám ảnh nhị phân so sánh trực tiếp với tập mẫu chuẩn lưu trữ Việc so sánh dựa theo độ đo tương đồng để nhận dạng.Các kỹ thuật đối sánh đơn giản việc so sánh – phức tạp phân tích định, phương pháp đối sánh trực tiếp đơn giản có sở tốn học vững kết nhận dạng nhạy cảm với nhiễu • Các mẫu biến dạng đối sánh mềm: Một phương pháp đối sánh khác sử dụng mẫu biến dạng, phép biến dạng ảnh dung để đối sánh ảnh chưa biết với sở liệu ảnh biết Ý tưởng đối sánh cách tối ưu mẫu chưa biết với tất mẫu mà mẫu co dãn lại không gian đặc trưng thành lập, vecto chưa đối sánh sử dụng quy hoạch động hàm biến dạng • Đối sánh giảm nhẹ: kỹ thuật đối sánh ảnh mức độ tượng trưng Kỹ thuật sử dụng hình dáng đặc trưng ảnh ký tự thứ nhất, vùng đối sánh nhận biết sau sở số vùng đối sánh đánh giá tốt, phần tử ảnh so sánh với vùng đối sánh này.Cơng việc đòi hỏi kỹ thuật tìm kiếm khơng gian chiều để tìm cực đại tồn cục số hàm  Một số thuật toán đối sánh mẫu  Thuật toán Brute Force Thuật toán Brute Force dạng thuật tốn tìm kiếm tuần tự, thử kiểm tra tất vị trí văn từ n – m + Sau 12 lần thử, thuật toán Brute Force dịch mẫu sang phải ký tự kiểm tra hết văn Thuật tốn Brute Force khơng cần công việc chuẩn bị mảng phụ cho q trình tìm kiếm Độ phức tạp tính tốn thuật toán O(n*m) Thuật toán xây dựng đơn giản, với văn lớn thuật tốn tỏ khơng hiệu  Thuật tốn Knuth-Morris-Pratt Thuật toán phát minh năm 1977 hai giáo sư ĐH Stanford, Hoa Kỳ (một số trường đại học xếp hàng số khoa học máy tính giới, với trường MIT, CMU Hoa Kỳ Cambrige Anh) Donal Knuth Vaughan Ronald Pratt Giáo sư Knuth (giải Turing năm 1971) tiếng với sách “Nghệ thuật lập trình” (The Art of Computer Programming), có đến tập Ba tập xuất Việt Nam, sách gối đầu giường cho lập trình viên nói riêng u thích lập trình máy tính nói chung tồn giới Thuật tốn có tên KMP, tức lấy tên viết ba người đồng phát minh nó, chữ “M” giáo sư J.H.Morris, giáo sư tiếng ngành khoa học máy tính Ý tưởng phương pháp sau: Trong q trình tìm kiếm vị trí mẫu P xâu gốc T, tìm thấy vị trí sai, ta chuyển sang vị trí tìm kiếm trình tìm kiếm tận dụng thơng tin từ q trình tìm kiếm trước để tránh việc phải xét lại trường hợp không cần thiết Thuật tốn Knuth-Morris-Pratt thuật tốn có độ phức tạp tuyến tính phát ra, dựa thuật toán Brute force với ý tưởng lợi dụng lại thông tin lần thử trước cho lần sau Trong thuật tốn Brute force dịch cửa sổ ký tự nên có đến m-1 ký tự cửa sổ ký tự cửa sổ vừa xét Trong có nhiều ký tự so sánh giống với mẫu lại nằm cửa sổ 13 dịch vị trí so sánh với mẫu Việc xử lý ký tự tính tốn trước lưu lại kết Nhờ lần thử sau dịch nhiều ký tự, giảm số ký tự phải so sánh lại Xét lần thử vị trí j, cửa sổ xét bao gồm ký tự y[j…j+m-1], giả sử khác biệt xảy hai ký tự x[i] y[j+i-1] Khi x[1…i] = y[j…i+j-1] = u a = x[i]  y[i+j] = b Với trường hợp này, dịch cửa sổ phải thỏa mãn v phần đầu xâu x khớp với phần đuôi xâu u văn Hơn ký tự c sau v mẫu phải khác với ký tự a Trong đoạn v thoả mãn tính chất ta quan tâm đến đoạn có độ dài lớn Thuật toán Knuth-Morris-Prath sử dụng mảng Next để lưu trữ độ dài lớn xâu v trường hợp xâu u=x[1…i-1] Mảng tính trước với chi phí thời gian O(m) Thuật tốn có chi phí thời gian O(m+n) với nhiều 2n-1 lần số lần so sánh kí tự q trình tìm kiếm  Thuật tốn Automat hữu hạn Trong thuật tốn này, q trình tìm kiếm đưa trình biến đổi trạng thái automat Hệ thống automat thuật toán DFA xây dựng dựa xâu mẫu Mỗi trạng thái (nút) automat lúc đại diện cho số ký tự khớp mẫu với văn Các ký tự văn làm thay đổi trạng thái Và đạt trạng cuối có nghĩa tìm vị trí xuất mẫu Thuật tốn có phần giống thuật tốn KnuthMorris-Pratt việc nhảy trạng thái trước gặp ký tự khơng khớp, thuật tốn DFA có đánh giá xác việc xác định vị trí nhảy dựa ký tự không khớp văn (trong thuật toán KMP lùi dựa vị trí khơng khớp) Ví dụ: Ta có xâu mẫu GCAGAGAG với hệ automat sau : Hình 1.1 : Sơ đồ automat Với ví dụ ta có: Nếu trạng thái gặp ký tự A văn chuyển sang trạng thái Nếu trạng 14 thái gặp ký tự C văn chuyển sang trạng thái Trạng thái trạng thái cuối cùng, đạt trạng thái có nghĩa tìm thấy xuất mẫu văn Trạng thái trạng thái mặc định (các liên kết không biểu thị trạng thái này), ví dụ nút gặp ký tự khác G chuyển trạng thái Việc xây dựng hệ automat đơn giản cài đặt ma trận kề Khi thuật tốn có thời gian xử lý O(n); thời gian nhớ để tạo hệ automat O(m*) (tùy cách cài đặt)  Thuật toán Boyer-Moore Thuật toán Boyer Moore thuật tốn tìm kiếm chuỗi có hiệu thực tiễn, dạng khác thuật toán thường cài đặt chương trình soạn thảo văn Các đặc điểm nó: - Thực việc so sánh từ phải sang trái - Giai đoạn tiền xử lý (preprocessing) có độ phức tạp thời gian không gian O(m + ) - Giai đoạn tìm kiếm có độ phức tạp O(m*n) - So sánh tối đa 3n kí tự trường hợp xấu mẫu khơng có chu kỳ (non periodic pattern) - Độ phức tạp O(m/n) trường hợp tốt Trong cài đặt ta dùng mảng bmGs để lưu cách dịch 1, mảng bmBc để lưu phép dịch thứ (ký tự khơng khớp) Thuật tốn qt kí tự mẫu (pattern) từ phải sang trái, phần tử cuối Trong trường hợp mis-match (hoặc trường hợp tìm 01 đoạn khớp với mẫu), dùng hàm tính toán trước để dịch cửa sổ sang bên phải Hai hàm dịch chuyển gọi good-suffix shift ( biết với tên phép dịch chuyển khớp) bad-character shift (hay phép dịch chuyển xuất hiện) Đối với mẫu x[0…m-1], ta dùng 01 biến số số i chạy từ cuối đầu, chuỗi y[0…n-1], ta dùng 01 biến j để chốt phía đầu Giả sử trình so sánh, ta gặp mismatch vị trí x[i] = a mẫu y[i+j] = b thử 15 khớp vị trí j Hình 1.2 Mis-match so sánh vị trí j Khi đó, x[i+1 m-1] = y[j+i+1…j+m-1] = u x[i] ≠ y[i+j] Bây ta xét trường hợp, hàm thực việc di chuyển nào: - Phép dịch chuyển good-suffix shift dịch cửa sổ sang bên phải gặp kí tự khác với x[i] trường hợp đoạn u lại xuất x Hình 1.3 Goodsuffix shift, trường hợp u lại xuất x - Nếu đoạn u không xuất lại x, mà có phần cuối (suffix) u khớp với phần đầu (prefix) x, ta dịch đoạn cho phần suffix dài v y[j+i+1…j+m-1] khớp với prefix x Hình 1.4 Good-suffix shift, trường hợp có suffix u xuất x Phép dịch chuyển bad-character shift khớp kí tự y[i+j] với kí tự (bên trái nhất) đoạn x[0…m-2] Hình 1.5 Bad-character shift - Nếu y[i+j] không xuất x, ta thấy khơng có xuất x y mà chứa y[i+j], ta đặt cửa sổ sau y[i+j], tức y[j+i+1] Hình 1.6 Thuật toán BoyerMoore chọn đoạn dịch chuyển dài hàm dịch chuyển good-suffix bad-character shift Hai hàm định nghĩa sau: Hàm good-suffix shift lưu bảng bmGs có kích thước m+1 Ta định nghĩa điều kiện sau: + Cs(i,s): với k mà i < k < m, s ≥ k x[k-s] = x[k] + Co(i,s): s < i x[i-s] ≠ x[i] Khi đó, với ≤ i < m: bmGs[i+1] = min{s>0: Cs(i,s) and Co(i,s) hold} Và định nghĩa bmGs[0] độ dài chu kỳ x Việc tính tốn bảng bmGs sử dụng bảng suff định nghĩa sau: Với ≤ i < m, suff[i] = max{k: x[i-k+1…i] = x[m-k…m1]} Hàm bad-character shift lưu bảng bmBc có kích thước Cho c ∑: bmBc[c] = min{i: ≤ i}  Thuật toán Karp-Rabin Thuật toán mang tên hai nhà khoa học phát minh Richard M.Karp (sinh năm 1931,người Mỹ) Michael O.Rabin (sinh năm 1931,người Đức) Tư tưởng phương pháp sử dụng 16 phương pháp băm (hashing) Tức xâu gán với giá trị hàm băm (hash function) Ví dụ, có xâu “hello” gán với giá trị 5, hai xâu gọi giá trị hàm băm nhau.Như vậy, thay việc phải đối sánh xâu T với mẫu P, ta cần so sánh giá trị hàm băm chúng đưa kết luận Trong thuật toán này, hàm băm phải thỏa mãn số tính chất phải dễ dàng tính chuỗi, đặc biệt cơng việc tính lại phải đơn giản để ảnh hưởng đến thời gian thực thuật toán Chẳng hạn hàm băm chọn là: hash(w[i…i+m-1]) = h = (w[i]*dm-1 + w[i+1]*dm-2 + … w[i+m-1]*d0) mod q Việc tính lại hàm băm sau dịch cửa sổ ký tự đơn giản sau: h = ((h – w[i]*dm-1)*d + w[i+m] Trong tốn ta chọn d = để tiện cho việc tính tốn a*2 tương đương a shl Và khơng ta chọn q = MaxLongint phép mod q khơng cần thiết phải thực tràn số tính tốn phép mod có tốc độ nhanh Thuật toán Karp-Rabin sử dụng hàm băm tính tốn nhanh, khơng phụ thuộc vào chiều dài chuỗi cần tìm kiếm; tiết kiệm nhớ khơng lưu trữ nhiều kết tìm kiếm trước đó; khơng sử dụng phương pháp nhận biết, loại trừ kết xấu cho bước 1.4 Hậu xử lý Đây công đoạn cuối trình nhận dạng, hiểu hậu xử lý bước ghép nối kỹ tự nhận dạng thành từ, câu, đoạn văn nhằm tái lại văn đồng thời phát lỗi nhận dạng sai kiểm tra tả dựa cấu trúc ngữ nghĩa từ câu hay đoạn văn bản, việc phát lỗi bước gióp phần đáng kể vào việc nâng cao chất lượng nhận dạng 17 Các đơn giản để kết nối thông tin ngữ cảnh tận dung từ điển để điều chỉnh lỗi hệ thống nhận dạng Ý tưởng dựa sở đánh vần kiểm tra đầu hệ thống nhận dạng cung cấp số khả cho đầu máy nhận dạng đầu không nằm từ điển Mơ hình ngơn ngữ thống kê N-Grams áp dụng thành cơng việc kiểm tra ta ơn công đoạn hậu xử lý hệ thống nhận dạng chữ viết hệ thống nhận dạng tiếng nói Trong mơ hình N-Grams từ phụ thuộc vào n từ trước, giả thiết quan trọng việc huấn luyện mơ hình làm giảm đáng kể độ phức tạp toán 1.5 Chữ viết sau nhận dạng Đầu vào ảnh có chứa chữ viết tay sau trình nhận dạng so sánh với mẫu sẵn có ta thu chữ viết theo mẫu chữ ta cho vào huấn luyện Chương TỔNG KẾT Từ ảnh ban đầu có chứa chữ viết tay sau q trình nhận dạng ta nhận biết chữ viết tay ảnh Tuy nhiên trình nhận dạng xảy nhiều nhiễu vài cố khiến cho nhận dạng sai, vấn đề cần cải thiện Hiện có nhiều kỹ thuật tiên tiến áp dụng cho toán nhận dạng chữ viết tay nhận dạng mạng Nơ- ron, phương pháp k láng giềng gần nhất, luật định Bayes, mơ hình SVM… Nhưng thực tế nhận dạng phương pháp đối sánh mấu (Template Matching) phương pháp nhận dạng dễ phương pháp , kết nhận dạng chưa tối ưu cần phải cải thiện nhiều 18 TÀI LIỆU THAM KHẢO - Giáo trình lý thuyết nhận dạng (GS.TS Đỗ Hồng Tốn) - Giáo trình xử lý ảnh - Ngồi bạn tham khảo trang mạng 123.doc, hay video Yotube

Ngày đăng: 02/04/2019, 23:18

w