Ứng dụng nhận dạng quang sẽ hiển thị một giao diện người-máy bằng đồ họa đơn giản, đó là sẽ cho phép ta huấn luyện và sử dụng mạng nơron.
Như đã nói, chương trình này không trực tiếp đọc để nhận dạng các ký tự mà nó phải được huấn luyện từ các ký tự được đưa vào bằng việc vẽ trực tiếp bằng chuột, hoặc đưa vào dưới dạng ảnh được scan, trước khi nó có thể nhận dạng dữ liệu đầu vàọ Các file huấn luyện ký tự được lưu trữ trong quyển từ điển mẫụ
Dữ liệu ta đưa vào phải được tải mẫu trước khi chúng được nhận dạng. Ký tự (ảnh) được tải mẫu bằng cách; đưa ký tự (ảnh) vào trong một lưới nhỏ 5x7 pixel.
Khi ta tải mẫu ký tự (ảnh), một khung hình chữ nhật được vẽ quanh ký tự (ảnh). Khung này gọi là khung cắt xén. Mục đích của khung cắt xén là cắt ra khoảng trắng không cần thiết cho ký tự (ảnh). Vì vậy, ta có thể vẽ ký tự (lấy ảnh) ở vị trí bất kỳ trong khu vực vẽ, thì chương trình vẫn nhận dạng được ký tự (ảnh).
Theo cách phân chia trên thì mạng có 5x7=35 nơron đầu vàọ Số nơron đầu ra được chọn cho mạng nơron Kohonen được sử dụng trong chương trình này tương ứng với số ký tự (ảnh) có trong tập mẫụ Nếu có 26 ký tự (ảnh) trong tập mẫu, thì sẽ có 26 nơron đầu rạ Thử nghiệm chương trình với tập mẫu nhỏ (khoảng 150 mẫu) thì độ chính xác khoảng 80%.
* Huấn luyện mạng nơron: Mỗi kết nối nơron được gán một trọng số. Để xác định tổng số các kết nối, ta cần phải nhân số nơron đầu vào và số các nơron đầu rạ Nếu
một mạng nơron với 26 nơron đầu ra và 35 nơron đầu vào sẽ có kết quả là 910 trọng số kết nốị Quá trình huấn luyện là quá trình điều chỉnh các trọng số để thu được ma trận trọng số mà ta mong muốn.
Do đầu vào của mảng là 35 nơron nên các nơron này là nơron “thắng", nó được lưu giữ với số nguyên "tốt nhất" đó chính là số 1. Hình minh họa phía dướị
Hình 3.4: Biểu diễn ký tự e theo ma trận 5x7 pixcel.
Hình 3.5: Biểu diễn ký tự e theo ma trận 5x7 bởi các giá trị
Hình3.6: Biểu diễn ký tự e ở vector đầu vào
Ta bắt đầu khởi tạo ma trận trọng số bằng cách lựa chọn ngẫu nhiên. Sau khi khởi tạo ma trận thì quá trình luyện sẽ bắt đầụ Ban đầu, ma trận trong số được đánh giá để xác định xem những gì hiện tại của nó là sai số (lỗi) cấp. Sai số này được xác định bởi việc huấn luyện đầu vào như thế nào (các ký tự mà ta tạo ra) để đưa ra các nơron đầu rạ Nếu sai số tính toán ở mức dưới 10% thì quá trình đã hoàn thành.
Sau đây là một số kết quả thu được trong quá trình chạy thử nghiệm chương trình.
ạ Chọn vẽ trực tiếp, tải mẫu và gán ký tự cho mẫu (hình 3.7)
Hình 3.7 Vẽ và gán ký tự
Hình 3.8 Kết quả mạng nơron Kohonen nhận dạng ký tự e và ký tự c
f. Chọn ảnh, lấy chữ ký (hình 3.9)
Hình 3.10 Kết quả mạng nơron Kohonen nhận dạng chữ ký