Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
727,5 KB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG ******************** Bài Tập Lớn Môn Học: Môn Kĩ Thuật Đồ Họa Đề Tài : Nghiên Cứu Ứng Dụng Nhận Dạng Chữ Viết Tay Giảng Viên Hướng Dẫn : Trịnh Thị Vân Anh Lớp : L10CQCN5-B Thực Hiện : nhóm Trần Thị Tuyền Dương Thị Yến Mai Thị Thủy Đinh Vũ Trang Phạm Minh Tuấn Phạm Quang Trung Nguyễn Văn Tun Ngơ Trí Tuệ Phạm Đăng Tùng 10.Lê Minh Vương 11.Nguyễn Đức Vịnh 12.Đặng Quang Toàn Hà Nội, ngày 26 tháng năm2011 Lời Mở Đầu Nhận dạng chữ tay lĩnh vực riêng nhận dạng chữ viết quan tâm nghiên cứu ứng dụng từ nhiều năm Về mặt lý thuyết, chưa có phương pháp hồn chỉnh cho tốn tính phức tạp, biến dạng liệu đầu vào Nhận dạng chữ viết tay với mức độ ràng buộc khác cách viết, kiểu chữ…, phục vụ cho ứng dụng xử lý chứng từ, hóa đơn, phiếu ghi, viết tay chương trình… Nhận dạng chữ viết tay vấn đề thách thức nhà nghiên cứu toán chưa thể giải trọn vẹn hồn tồn phụ thuộc vào người viết biến đổi đa dạng cách viết tình trạng sức khỏe, tinh thần người viết Mục tiêu tập nhằm giới thiệu cách tiếp cận toán nhận dạng chữ viết tay với số ràng buộc, nhằm bước đưa vào ứng dụng thực tiễn Mặc dù cố gắng, song thời gian có hạn hạn chế kiến thức nên tập cịn thiếu sót, mong tiếp tục nhận bảo Cơ ý kiến đóng góp bạn sinh viên để tập hoàn thiện Chúng em xin chân thành cảm ơn! Chương I : Lý Thuyết Xử Lý Ảnh Và Một Số Thuật Toán Tiền Xử Lý Ảnh I Lọc mịn ảnh: Lọc mịn ảnh lọc thông thấp, giá trị điểm ảnh trung bình trọng số điểm ảnh lân cận, hay giá trị điểm ảnh kết trình xoắn (convole) điểm ảnh lân cận với nhân Nhân có kích thước tuỳ ý 3x3, 5x5, kích thước nhân lớn nhiều điểm lân cận ảnh hưởng vào điểm ảnh kết Ví dụ số nhân lọc mịn ảnh sau: 1 1 1 1 1 1 1 1 1 1 1 1 II Nhị phân ảnh: Nhị phân ảnh mức xám tìm giá trị ngưỡng cho điểm ảnh có giá trị lớn ngưỡng gọi trắng(nền) điểm ảnh có giá trị nhỏ ngưỡng gọi đen (đối tượng) Tiêu chuẩn xác định ngưỡng thường sử dụng sử dụng sai số bình phương trung bình giá trị mẫu v mức tái thiết r(v) (ký hiệu MSE) Theo Otsu , giá trị ngưỡng xác định sau : [ µ T ϖ (v1) − µ (v1) = arg max v1 ϖ (v1) − ϖ (v1) * [ ] ] Trong : ϖ (v1) = v1 ∫ p(v)dv v0 v1 µ (v1) = ∫ vp(v) dv v0 Với p(v) ước lượng từ histogram : µ T = µ (v2 = vmax) v =v v : giá trị cần tìm III) Tách Liên Thông : Quét ảnh từ trái sang phải từ xuống dưới, pixel đen liên thông với gán chung nhãn, gặp liên thơng nhãn gán : Để minh họa ta có hình biểu diễn sau : P P P .L? Hình a: lân cận “?” P= dòng trước; L=lân cận trái ۰۰۰۰ .۰۰۰ ۰۰۰ ۰۰۰۰ ۰۰۰۰ ۰۰۰۰۰ ۰۰۰۰۰ ۰۰۰۰۰۰.۰ ۰۰ ۰۰ .۰۰ ۰۰ ۰۰ 1111 222 1 2 2 1 1 2 2 1 ? ۰۰ ۰۰۰۰۰۰.۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ Hình b : Ảnh Ban Đầu Hình c : Tiến trình gán nhãn 1111 222 111 .2222 1111 22222 11111 111111 44 33 .44 33 44 1111 111 111 1111 1111.11111 11111 111111.2 33 22 33 22 33 Hình d : Sau quét đầy đủ Hình e : Kế sau IV) Chỉnh Nghiêng : Biến đổi tuyến tính tọa độ điểm ảnh 0 Gx G y a( x,y)= tan G ,G kết xoắn điểm ảnh với nhân Sx, Sy x -1 -2 -1 −1 y -1 -2 -1 Sx α : giá trị trung bình góc nghiêng điểm ảnh xét Ta có : Sy ' x = x + tg (α ) x y y=y ' V Chuẩn kích thước: Chuẩn kích thước ảnh kí tự kích thước cố định phóng sát bốn biên ảnh Phóng ảnh thực phép biến đổi sau: f x y ( x, y ) = f , s s s x y Với (x, y) toạ độ điểm ảnh sau phóng sx ,sy tỷ lệ phóng theo trục x y tương ứng, fx(x,y) giá trị điểm ảnh kết ứng với giá trị toạ độ (x, y) VI Lấp khoảng trống ảnh phép đóng morphology: Sau phóng ảnh, ảnh bị rời rạc, cưa biên.Để khắc phục tình trạng ta dùng phép đóng để lấp khoảng trống làm đầy ảnh Giả sử A, B hai tập thuộc Z , phép đóng A B, ký hiệu A ۰ B định nghĩa: A ۰ B = (A ⊕ B) Θ B Tức phép đóng phép thực phép mở thực phép đóng lên kết vừa có Phép đóng có tác dụng làm đầy khoảng nhỏ (tuỳ thuộc vào thành phần cấu trúc B) thường xảy đường biên Thành phần cấu trúc thường sử dụng thành phần cấu trúc đối xứng có gốc (0, 0) tâm hình: 1 1 Nhưng ảnh quét với độ phân giải 300 dpi, chữ có bụng viết nghiêng thực phóng với thành phần cấu trúc trên, tức thực phép giãn thực phép co, phép giãn làm cho phần bụng bị dính lại với với hướng ngang đứng giãn điểm ảnh Để hạn chế điều ta sử dụng thành phần cấu trúc không đối xứng thực phép đóng lần thành phần cấu trúc này, thực phép giãn cần giãn phía: 1 0 0 0 0 1 Các thành phần cấu trúc không đối xứng VII) Lấy đường biên làm trơn đường biên: Phát biên: Biên ảnh thiết lập cách nhân chập ảnh với phần tử có cấu trúc: 1 1 Duyệt đường biên : Đường biên kí tự duyệt theo cách sau: Bước 1: quét ảnh đến gặp điểm ảnh đen Gọi pixel Bước 2: Lặp Nếu “ điểm ảnh thời đen ” “dị ngược” Ngược lại “sang phải” Đến gặp “pixel 1” Mã hoá hướng điểm biên: Sau duyệt đường biên, ta tiến hành mã hoá hướng điểm đường biêntheo hướng sau : Quy ước : Làm trơn đường biên : Duyệt theo đường biên, hai điểm liên tiếp đường biên có hiệu số hướng lớnhơn hiệ u chỉnh để hiệu số hướng Theo mã hướng Freeman, hiệu số hướng điểm liên tiếp đường biên định nghĩa : Goi ci mã hướng điểm biên xét p,c i +1 i mã hướng điểm p Đặt d = c đường biên i +1 - ci Dabs=|d| |d| ≤ Và dabs=8-|d| |d|>4 Ta có trường hợp sau: a dabs ≤ : Điểm biên trơn i +1 b dabs=2 c dabs=2 c chẵn, c i +1 i c lẻ , c i i +1 chẵn : bỏ lẻ : Bỏ p i +1 p i +1 thay hướng thay hướng p i p sau: i hình: d dabs=3, c chẵn, c e dabs=3, c lẻ, c i +1 i i i +1 lẻ : chẵn: Minh hoạ ảnh kí tự sau q trình tiền xử lý Ảnh ban đầu Ảnh qua tiền xử lý Chương II: Rút đặc trưng kí tự I) Chia ơ: Ảnh sau tiền xử lý chia thành ô vuông nhỏ 8x8.Gom kích thước 8x8 thành 16x16 phủ lên theo hướng ngang dọc Trong ô 16x16 ta chia làm vùng A,B,C,D : II) Véc tơ đặc trưng: Đặt trọng số vùng A,B,C,D tương ứng 4,3,2,1 Gọi x j x j loại đặc trưng, tính cho 16x16 sau: x ( A) j (B) (C ) (D) = xj + xj + xj + xj Với ô 16x16 ta rút đặc trưng Ảnh kí tự mô tả: X=( x1 , x2 , x3 , x4 , , xn ) Với n = k*4, ka tổng số Ô 16x16 xếp chồng lên x j ( j =1,2,3,4), x j tính trên: x : số điểm biên có hướng (hay 180 ) x : số điểm biên có hướng 45 (hay −135 ) x : số điểm biên có hướng 90 (hay −90 ) x : số điểm biên cớ hướng 135 (hay − 45 ) 0 0 0 Chương III : Các Mơ Hình Nhận Dạng Và Phân Lớp I) Một số khái niệm nhận dạng 1) Một biểu diễn giá đỡ (cái mang) thông tin, thường biểu diễn dạng sau: X= ( x1 , x2 , x3 , , xn ) Mỗi xi biểu diễn kết phép đo Tập hợp biểu diễn xác định X gọi khơng gian biểu diễn Ví dụ khơng gian vectơ Giải thích biểu diễn nghĩa cho kết chẳng hạn tên Giả sử: ta có tập hợp tên là: Ω = (ϖ ,ϖ , ,ϖ p ) Không gian giải thích tập thoả mãn luật, thao tác Một định danh ánh xạ khơng gian biểu diễn vào khơng gian giải thích ε :X →Ω ε : ( x1 , x2 , , xn) → Ω Mục đích nhận dạng thực ánh xạ tìm thuật tốn để thực tồn X Một thuật tốn gọi toán tử nhận dạng 2) Tập mẫu nhận dạng : Dữ liệu cho toán nhận dạng thường biểu diễn qua tập mẫu học T với T = { ( xq,ϖ )} tập cặp (dữ liệu - tên) 3) Độ đồng dạng dị dạng: Là hai số thường dùng để xây dựng quan hệ gần thứ tự cặp đặc biệt khoảng cách hai đối tượng số dị dạng thoả mãn tiên đề: - p(x, y) ≥ , p(x, x)=0 - p(x, y)= p(y, x) - p(x, z) ≤ p(x, y)+ p(y, z) 4) Khoảng cách đối tượng : Các hàm đặc trưng quan sát dẫn đến quan hệ gần thứ tự đối tượng X khái niệm Ai, nghĩa với i, j thiết lập quan hệ : (X, Ai) ≤ (X, Aj) Quan hệ thường thiết lập nhờ khoảng cách đối tượng, ký hiệu: D(X, A) Nếu muốn phân lớp định danh X dùng thơng tin Giả sử Ci lớp phân hoạch tương ứng với khái niệm đại diện Ai ; X gán vào Ci D(X, Ai) nhỏ II) Một sộ thuật toán phân lớp : 1) Xếp lớp khoảng cách cực tiểu : Giả thiết lớp mẫu biểu diễn vectơ đơn (hoặc trung bình) m j = x∈∑ x j=1,2, ,M nj ϖ j Trong n j số vectơ mẫu từ lớp ϖ j , M số lớp cần phân biệt tổng xác định từ vectơ này, cách xác định lớp vectơ mẫu x chưa biết định cho lớp đơn điệu gần Dùng khoảng cách Euclid để xác định độ gần giảm tính tốn j=1,2, ,M D j ( x) =|| x − m j || ; 1/ Trong ||a||= (a T a) dạng Euclid Sau ta định x cho lớp ϖ j Dj(x) khoảng cách ngắn Đó khoảng cách ngắn dùng biểu diễn Ta dễ dàng nhìn thấy tương đương với việc đánh giá hàm số T T j=1,2 ,M d j ( x) = x m j − m j m j Và định x cho lớp ϖ j , dj(x) cho giá trị số lớn 2) Thuật toán hàm thế: Phương pháp nhận dạng theo hàm ứng dụng nhiều thực tiễn Việc sử dụng hàm được xuất phát từ nghĩa điện trường điện từ: Trong khơng gian có điện tích q A xung quanh có điện trường theo phía Tại điểm M khơng gian ta gây q là: q ϕ (M ) = a r a : số q: độ lớn điện tích q r: khoảng cách từ M tới q Các dạng hàm thường dùng thuật toán nhận dạng: ' ϕ ( s, s ) = e ϕ ( s, s ' ) = pα ( s , s ') α c +c p ( s, s ' ) Ở ϕ , C1, C2 số cho trước α p (S, S’) khoảng cách S S’ ( α =0, 1, ) Cách tính lớp: ϕ (S , K j) = m j ∑ ϕ (S , S ) st∈k j t mj: số mẫu Kj St: mẫu thuộc Kj Ta có luật định: S ∈ k j ϕ ( S , k j ) = arg max ϕ ( S , K ) Chú ý : Việc tính lớp, bổ sung trọng số mẫu γ (St) : ϕ (S , K j) = ∑ ϕ (S , S t ) γ (S t ) m j st∈k j Nhận xét: Nếu chọn p hàm khoảng cách Euclid giải thuật hàm gần giống với cách xếp lớp theo khoảng cách cực tiểu Phương pháp LDA (Linear Discriminant Analysis): Phương pháp LDA cho trường hợp phân biệt lớp, LDA tìm phương chiếu mà phân biệt tốt mẫu thuộc hai lớp khác tập mẫu Giả sử ta có tập gồm n mẫu học X bao gồm vectơ cột d chiều: d xi = ( xi , xi , , xi ) i = n Trong n1 mẫu thuộc lớp C1 nằm tập X1, n2 mẫu thuộc lớp C2 nằm tập X2 Giả sử ta có vectơ d chiều w, tích vơ hướng y=wTx biểu diễn hình chiếu vectơ x lên phương w Ta tìm phương chiếu w nhằm tối ưu hố độ phân biệt mẫu thuộc lớp C1 C2 Điều tương đương với việc giảm số chiều vectơ đặc trưng xuống chiều Ta gọi mi, i=1, trị trung bình mẫu tương ứng với lớp C1 C2 x mi = x∑ ni ∈x1 Và * m i tương ứng trung bình mẫu chiếu lên phương w: * m = ∑y= S * i = n ∑w T T x=w m ni x∈X Y1 Trong y hình chiếu x lên w Yi tập hình chiếu x ∈ Xi lên w * * Ta xem | m1 − m2 |là độ đo cho tính phân biệt hai tập Y1và Y2 Tuy nhiên để có phân biệt tốt hai tập chiếu lên phương w,ta cần có độ sai khác hai trị trung bình lớn so với độ lệch chuẩn nội tập ( xem độ rộng đám mây mẫu).Thay sử dụng phương sai tập ta sử dụng độ đo khác, gọi độ rải (scatter) cho hình chiếu mẫu thuộc lớp Ci sau: i i y∈ ∑(y − m ) * i 2 Y1 Phương pháp LDA tìm giá trị w để cực đại hóa hàm tiêu chuẩn sau đây: * * m1 − m2 J(w) = 2 * + * s1 s Để thấy J(w) hàm theo w ta định nghĩa ma trận SB Sw sau y∈ ( ) ( ) Sw = ∑ ∑ ( x − m ) ( x − m1) i =1 x∈ S T X1 = (m1 − m2) (m1− m2) T B SW gọi ma trận rải nội lớp (within-class scatter matrix) SB gọi ma trận rải liên hợp (between-class scatter matrix) Ta có: T T * = ∑ ( w x − w mi )2 s1 x∈X = ∑ w ( x − m ) ( x − mi) T T x∈ X1 i w Nên : 2 T s1* + s*2 = w sw w Tương tự ta có : T (m1*− m*2) = w S B w Do : T w S w J(w)= T B w Sw w Để xác định w cho J(w) cực đại ta cho đạo hàm riêng J(w) theo w kết ta được: S B w = λ Sw w Với λ trị riêng, giải tốn tìm trị riêng ta có: −1 W= S w (m1 − m2) Đây kết tìm phương pháp LDA trường hợp có lớp Sau tìm w, vectơ x cần nhận dạng xử lý sau: lấy x trừ trung bình mẫu học chiếu lên phương w ta giá trị vơ hướng, tính khoảng cách từ giá trị vô hướng m i lớp chia cho độ lệch chuẩn σ * ta độ đo i khoảng cách từ x đến cụm ứng với lớp * ( x − m) w − m1 i=1 d1 = * σ x gán vào lớp ứng với cụm gần Để phân biệt n lớp ta xây dựng n phân loại lớp theo phương pháp nêu Mỗi phân loại phân biệt lớp với n-1 lớp lại Nếu vectơ đầu vào xếp vào hai lớp ta sử dụng khoảng cách di nêu để định thuộc vào lớp Nếu vectơ khơng xếp vào lớp coi không nhận dạng 4) Phân lớp mạng notron: a) Giới thiệu : Minh họa mạng notron Mạng nơron tổng quát có cấu trúc phân lớp,gồm lớp: Lớp nhập: nhận giá trị bên vào Lớp xuất : lớp cuối cùng, xuất kết Lớp ẩn : lớp cịn lại (có thể khơng có) Quá trình nhận dạng mạng trìnhánh xạ mẫu x từ không gian đặc trưng vào khơng gian lớp b Hoạt động: Chỉ hai trạng thái: trạng thái ánh xạ trạng thái học * Trạng thái ánh xạ : Như nói, trạng thái ánh xạ, vectơ đầu vào x ánh xạ thành vectơ kết z Quá trình thực sau: Đầu tiên vectơ mẫu x đưa vào lớp nhập Mỗi nơron lớp nhập mang giá trị thành phần x Các nút nhập khơng tính tốn mà gửi trực tiếp giá trị đến nơron lớp Tại nơron lớp tiếp theo, thao tác giống thực Đầu tiên tính tổng trọng hóa tất giá trị gửi tới Sau hàm truyền áp dụng tổng trọng hóa giá trị xuất nút Hàm truyền có tácdụng nén giá trị tổng trọng hóa vào miền giới hạn Giá trị truyền cho nơron lớp Cứ thông tin lan truyền lớp xuất mạng * Trạng thái học : Xét mạng MLP có lớp ẩn với thuật toán lan truyền ngược Thuật toán lan truyền ngược thuật toán hữu hiệu cho trình học MLP.Thuật tốn cập nhật trọng số dựa hàm lỗi E kết xuất mạng với giá trị đích Mục đích việc học có giám sát MLP cực tiểu hóa hàm lỗi Kỹ thuật để cực tiểu hóa hàm lỗi phương pháp giảm gradient Mặc dù phương pháp dẫn đến cực tiểu cục bộ,nhưng áp dụng rộng rãi tính đơn giản nó.Thực tế cho thấy hầu hết trường hợp phương pháp giảm gradient cho kết chấp nhận Quá trình học mạng MLP theo thuật toán lan truyền ngược lặp lặp lại thao tác sau: - Lan truyền tiến : tính kết xuất y mạng với mẫu x - Lan truyền ngược : tính sai số kết xuất y giá trị đích t lan truyền ngược sai số lại để cập nhật trọng số cho mạng Quá trình học dừng mạng đạt độ lỗi nhỏ định Để thay đổi trọng số mạng nhằm cực tiểu ta áp dụng phương pháp giảm Gradient theo bước sau : + Chọn ngẫu nhiên điểm x0 khơng gian trọng số + Tính độ dốc hàm lỗi + x Di chuyển điểm x theo hướng dốc hàm lỗi Quá trình tính độ dốc di chuyển điểm x0 lặp lặp lại trị làm cho hàm lỗi cực tiểu Ta có cơng thức cập nhật trọng số theo phương pháp giảm gradient: ∂E w (t + 1) = w (t ) − ε ∂ ij ij w (t ) ij + Trọng số nút xuất : Trong : p=(z-t)z(1-z) ∂v yj = ∂ bj t: số lần cập nhật trọng số ε : hệ số học W : trọng số mạng E: Hàm lỗi *) Quy tắc tính đạo hàm lỗi : + Ta có hàm lỗi sai số trung bình bình phương sử dụng là: N K ( − ) ∑∑ t z E= n=1 k =1 kn kn N K x tiến tới giá E: Hàm lỗi + Trọng số nút ẩn: Trong : + Hàm truyền sử dụng hàm logistic: Mục đích ánh xạ mẫu Q trình lan truyền tiến Đồ thị hàm logistic Chương IV : Minh Họa Chương Trình Nhận Dạng Kí Tự Viết Tay I) Giới thiệu : Chương trình nhận dạng kí tự viết tay bước đầu thử nghiệm xây dựng nhận dạng cho lớp kí tự : Lớp kí tự chữ cái: A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, d, e, f, g, h, i, j, k, l, m, n, q, r, s, t, v, x, y Lớp kí tự số : 0, 1, 2, 3, 4, 5, 6, 7, 8, II) Thực chương trình: Ta có quy trình xử lí sau: Ảnh đầu vào → lọc ảnh → nhị phân hóa → tách liên thơng chữ → chỉnh nghiêng → chuẩn hóa kích thước → tìm biên → rút đặc trưng đường biên → qua phân lớp → định lớp ảnh nhận dạng → xuất kết theo định dạng trật tự kí tự hàng Như - Trong trình tiền xử lý, ảnh kí tự chuẩn hóa kích thước chuẩn chọn 80x56 - Sau xác định biên mã hóa đường biên, véctơ đặc trưng kí tự xác định lý thuyết nói phần xác định đặc trưng kí tự, từ ta có : - Mạng noron thiết kế để nhận dạng mạng lớp : lớp vào lớp Với giải thuật lan truyền ngược giảm Gradient, chọn ε = 0.08 - Véctơ X=(x1, x2, xn) trình huấn luyện nhận dạng chuẩn hóa cho ||X||=1 , nghĩa thành phần véctơ X tính lại sau: Thử nghiệm mạng : - Mạng thứ thử nghiệm 2366 mẫu học lớp kí tự chữ - Mạng thứ hai thử nghiệm 1000 mẫu học kí tự số - Mạng thứ luyện sau 30.000 học kì - Mạng thứ hai luyện sau 10.000 học kì Kết quả: Sau thời gian học mạng thứ mạng thứ hai phân biệt gần hoàn toàn mẫu học, đặc biệt khả tổng quát mạng cao III) Minh Họa Số Kết Quả: + Nhận dạng kí tự số : Ảnh viết mouse: Kết Quả : + Nhận dạng kí tự chữ: Ảnh viết mouse : Kết : Như vậy, tìm hiểu sơ qua chế nhận dạng kí tự viết tay ( bao gồm chữ số) Trên toàn nội dung tập nhóm mà nhóm chúng em làm xong Do kiến thức cịn hạn chế nên khơng thể tránh khỏi thiếu xót Mong giáo hướng dẫn thêm để chúng em hồn thành tốt tập nhóm