Nhận dạng chữ viết là 1 vấn đề tương đối rộng, trong báo cáo tôi xin trình bày phương pháp nhận dạng một số chữ viết tay trên ảnh đen trắng.Ta cần giải quyết 2 vấn đề sau :Vấn đề 1: tách ký tự ra khỏi ảnh gốc.Vấn đề 2: dựa vào các thông tin đã có để nhận dạng ký tự đó.Vấn đề 2 được giải quyết bằng cách sử dụng mạng Noron để nhận định ký tự trong ảnh gốc, trong đề tài mạng Noron được dùng là mạng Haming.
Báo cáo môn học xử lý ảnh GVHD: 4// Đào Thanh Tĩnh CHỦ ĐỀ : Sử dụng mạng Noron – Hamming trong nhận dạng chữ viết tay. I. Mở đầu : Nhận dạng chữ viết là 1 vấn đề tương đối rộng, trong báo cáo tôi xin trình bày phương pháp nhận dạng một số chữ viết tay trên ảnh đen trắng. Ta cần giải quyết 2 vấn đề sau : - Vấn đề 1: tách ký tự ra khỏi ảnh gốc. - Vấn đề 2: dựa vào các thông tin đã có để nhận dạng ký tự đó. Vấn đề 2 được giải quyết bằng cách sử dụng mạng Noron để nhận định ký tự trong ảnh gốc, trong đề tài mạng Noron được dùng là mạng Haming. II. Nội dung Mạng Hamming có 2 lớp là lớp truyền thẳng và lớp hồi quy, đầu vào của mỗi Noron là các dữ liệu dạng nhị phân ( chỉ mang giá trị 1 hoặc -1). 1. Mô hình mạng Dưới đây là mô hình một mạng Hamming chuẩn: Mạng Hamming gồm có 2 lớp: • Lớp 1 (Lớp truyền thẳng) : Hàm truyền là hàm tuyến tính a 1 = purelin ( W 1 p + b 1 ) = W 1 p + b 1 trong đó mỗi phần tử của vector bias b 1 bằng R ( R là số phần tử hay số chiều của vector vào), để đảm bảo giá trị ra của lớp 1 không âm. W 1 p = ||W 1 || ||p|| cos θ lớn nhất khi θ = 0, khi đó vecto nguyên mẫu và vecto vào gần nhau nhất và tương ứng với khoảng cách Hamming là nhỏ nhất ( khoảng cách Hamming được định nghĩa là số thành phần khác nhau của 2 vector). • Lớp 2 (Lớp hồi quy) : Nguyễn Việt Hùng – Tin học 1 1 Báo cáo môn học xử lý ảnh GVHD: 4// Đào Thanh Tĩnh Lớp hồi quy của mạng Hamming được coi như là một lớp thi đấu. Đầu vào của lớp này chính là đầu ra của lớp 1. Sau đó các noron thi đấu với nhau để tìm ra noron thắng cuộc là noron gần với đầu vào nhất. Các phương trình mô tả sự thi đấu là: a 2 (0)=a 1 (khởi tạo) a 2 (k+1) = poslin(W 2 a 2 (k)); W 2 là ma trận có các phần tử trên đường chéo chính bằng 1 các phần tử còn lại bằng – ε, với 0 < ε < 1/(S -1). S là số noron trong lớp hồi quy F(x)= poslin(n) = 2. Huấn luyện mạng Mạng Hamming học dựa trên nguyên tắc học không giám sát. a. Lớp truyền thẳng: Tiến hành 2 công việc: huấn luyện để tìm ra các nguyên mẫu đại diện cho các nhóm; huấn luyện để có được đầu ra cho lớp truyền thẳng. 1) Huấn luyện để tìm nguyên mẫu đại diện cho các nhóm: Ta áp dụng luật instar : a= hardlim(Wp + b ); W(0) được khởi tạo ngẫu nhiên Tại bước thứ k: W(k)= W(k-1) + ∝ a(k) (p(k) – W(k-1)) Trong đó : p : thông tin ảnh mẫu W : Vector trọng số đại diện cho nhóm mẫu Lặp quá trình trên cho đến khi W hội tụ ta sẽ thu được trọng số đại diện cho cả nhóm mẫu đưa vào. Mô tả chất lượng của luật instar : Do một instar chỉ dùng cho một lớp mẫu, tức là các vecto mẫu vào nhìn chung sai khác it nên đảm bảo tính hội tụ cho instar. • Khi α = 0 thì W(k) = W(k-1) vector trọng số không dịch chuyển; điều này dẫn đến khi ta cho α→0 thì hệ thống sẽ lâu đạt được trạng thái ổn Nguyễn Việt Hùng – Tin học 1 2 Báo cáo môn học xử lý ảnh GVHD: 4// Đào Thanh Tĩnh định, song khi đạt được trạng thái ổn định thì vector trọng số sẽ có ổn định sát quanh giá trị trung tâm. • Khi α = 1 thì W(k) = p(k) trùng với vector đầu vào. Như vậy hệ thống nhanh đạt giá trị ổn định nhưng giá trị này dễ bị dao động khi nó tiếp nhận một đầu vào mới của lớp mẫu, dẫn đến khi ta cần nhận dạng một đầu vào thì dễ xảy ra nhầm lẫn. 2) Huấn luyện tìm đầu ra cho lớp truyền thẳng : Tính đầu ra của lớp 1: a 1 = W 1 p + b || a 1 || là số vector nguyên mẫu đã thu được (chính là số nhóm mẫu ký tự) b. Lớp hồi quy: a 2 (0)=a 1 (khởi tạo) Tại bước thứ k : a 2 (k+1) = poslin(W 2 a 2 (k)); Thuật toán dừng khi vector đầu ra hội tụ. Kkhi đó thành phần max của a 2 sẽ cho tương ứng vector nguyên mẫu gần với vector cần nhận dạng nhất và đó là kết quả nhận dạng ta thu được. Chứng minh tính hội tụ của a 2 : Ta thấy với mỗi thành phần của a 2 trong phép biến đổi trên: a 2 i (k+1) = poslin ( a 2 i (k) - ε ) với điều kiện 0 < ε < 1/(S -1) thì sau mỗi bước giá trị a 2 i lại bị giảm đi các thành phần sẽ giảm đến khi nào chỉ còn một giá trị lớn nhất lớn hơn 0 và các phần tử còn lại đều bằng 0. Như vậy khi đó a 2 hội tụ. 3. Các bước tiến hành xây dựng chương trình : a. Huấn luyện : - Đưa vào lần lượt từng họ mẫu của từng ký tự - Với mỗi ảnh mẫu : tách ký tự ra khỏi ảnh, chuẩn hoá kích thước ảnh ký tự vừa tách, biến đổi dữ liệu ảnh về dạng dữ liệu nhị phân để làm dữ liệu đầu vào cho mạng. - Huấn luyện trong lớp 1 để tìm ra vector nguyên mẫu. - Lưu vector nguyên mẫu ra file để sử dụng lại b. Nhận dạng : - Vẽ ký tự cần nhận dạng lên 1 ảnh - Biến đổi ảnh vừa vẽ về dạng ảnh đen trắng - Tách ký tự ra khỏi ảnh gốc Nguyễn Việt Hùng – Tin học 1 3 Báo cáo môn học xử lý ảnh GVHD: 4// Đào Thanh Tĩnh - Chuẩn hoá kích thước ảnh ký tự vừa tách. - Đọc thông tin của ảnh vào mảng - Biến đổi thông tin về dạng nhị phân. - Đưa mảng thông tin vào mạng và tiến hành thi đấu. - Kết quả nhận được là 1 vector gần với 1vector nguyên mẫu nào đó nhất. Vector nguyên mẫu đó chính là đại diện của ký tự nhận dạng được. - Đưa ra kết luận ký tự nhận dạng được. 4. Một số kết quả thực nghiệm khi chạy chương trình : - Kết quả nhận dạng tương đối tốt. - Trong chương trình tôi cho nhận dạng các ký tự : A,B,C,E,K,Z. Mỗi ký tự cho chương trình học thông qua 8 – 10 mẫu. - Với các ảnh đầu vào chứa các ký tự tương đối giống với các mẫu thì chương trình nhận dạng tốt. - Qua thử nghiệm chương trình thấy rằng trong lớp thi đấu a 2 luôn hội đúng với lý thuyết, cụ thể là khi a 2 hội tụ vẫn chỉ còn 1 thành phần a 2 [i] > 0. Điểm tồn tại : - Trong 1 số trường hợp chương trình còn nhận nhầm ký tự. Qua thử nghiệm thấy rằng chữ cái B dễ nhầm với E, C dễ nhầm với K. - Khi số ký tự cần nhận dạng còn ít thì khả năng nhầm lẫn nhỏ nhưng khi tăng số lượng ký tự cần nhận dạng thì khả năng nhầm lẫn giữa các ký tự cũng tăng lên. Nguyễn Việt Hùng – Tin học 1 4 . lượng của luật instar : Do một instar chỉ dùng cho một lớp mẫu, tức là các vecto mẫu vào nhìn chung sai khác it nên đảm bảo tính hội tụ cho instar. • Khi α = 0 thì W(k) = W(k-1) vector trọng