Giới thiệu đề tài• Chữ viết • Chữ viết tay • Chữ in • Giới hạn thực hiện • Nhận dạng các ký tự viết tay đơn lẻ : các con số • Đầu vào là các ảnh .png của các ký tự tạo bởi chương trình v
Trang 1Đề tài
Nhận dạng chữ viết
Nhóm :
Phạm Phương Bắc 20080176
Nguyễn Duy Hưởng 20081337
Lê Quốc Trung 20082778
Nguyễn Tuấn Vinh 20083174
Phạm Tuấn Việt 20083152
Giảng viên hướng dẫn:
PGS Lê Thanh Hương
Trang 2Giới thiệu đề tài
• Chữ viết
• Chữ viết tay
• Chữ in
• Giới hạn thực hiện
• Nhận dạng các ký tự viết tay đơn lẻ : các con số
• Đầu vào là các ảnh png của các ký tự tạo bởi chương trình vẽ của máy tính
• Đầu ra là các ký tự tương ứng ở dạng Unicode
Trang 3Giới thiệu về mạng nơron sử dụng
trong đề tài
• Mạng Perceptron 3 tầng
• Đầu vào 150
• Nơron đầu ra 16
• Nơron lớp ẩn : 250
• Giải thuật học lan truyền ngược có giám sát
• D_train={ảnh của ký tự, mã dạng Unicode}
• Hàm mục tiêu F: X->{0,1,2,3,4,5,6,7,8,9}
• X : tập các ảnh của ký tự
Trang 4Tập mẫu cho quá trình huấn luyện và
kiểm tra
• Tập các ảnh của từng ký tự đơn lẻ
• Số lượng : 55 ảnh/ký tự (55 người viết khác
nhau)
• Phân chia
• 40 ảnh đầu cho huấn luyện => 400 mẫu huấn luyện
• 15 ảnh sau cho kiểm tra => 150 mẫu kiểm tra
• Link down :
http://www.ee.surrey.ac.uk/CVSSP/demos/chars 74k/
Trang 5Một vài ảnh trong tập mẫu
Trang 6Mô hình phân tích ảnh đầu vào
Trang 7Thuật toán phân tích ảnh đầu vào
• Cắt biên
• Ánh xạ đều ảnh sau khi cắt vào ma trận pixel 10x15
• Ánh xạ ma trận pixel sang ma trận các số (0,1)
•Chuyển ma trận (0,1) thành vector 150 chiều
Trang 8Mô hình huấn luyện
Trang 9Thuật toán huấn luyện
• Khởi tạo trọng số, tốc độ học, số lần học (epochs)
• Tính toán tạo ra tập vector đầu vào
• Với mỗi vector đầu vào tính giá trị đầu ra của mạng
• Tính độ lệch giữa đầu ra mong đợi với kết quả tính toán của mạng, tính lỗi và thực hiện điều chỉnh lại trọng số
• Tính lỗi tổng của các vector trong bộ huấn luyện
• Tính lỗi trung bình rồi so sánh với ngưỡng, nếu nhỏ hơn dừng huấn luyện, nếu lớn hơn chạy các vòng huấn luyện tiếp theo
• Các mẫu được đưa vào một cách ngẫu nhiên
Trang 10Thuật toán huấn luyện
i+1
i
k
k+1
i+2
Wịi
In put
Nơron thứ i
Xj
Xj+1
Xj+2
Wj(i+1)
wjk
Wj(k+1)
Tính toán lại trọng số
Tính toán lại trọng số
wj(i+2)
k
1
k
2
i
Out
1
j
Out
2
1
i
Out
2
2
i
Out
3
k Out
3
1
k
Out
( 1)
D
E T and
l epochs
Trang 11Công thức
- Lan truyền tiến các tín hiệu đầu vào qua mạng cho đến khi nhận được các giá trị đầu ra của mang (ở tầng đâu ra)
- Tính toán lỗi đầu ra của mạng và tín hiệu lỗi của mỗi nơ ron ở tầng đầu ra
- Công thức tính lỗi trung bình
1
j
1 ( )
1
2
n
k Q
i
(1)
(2)
(3)
1
| |
D
D
Trang 12Công thức
• Hàm hoạt động : Hàm lưỡng cực
• Công thức chỉnh lại trọng số và tính toán các tín hiệu lỗi cho các tầng phía trước
1
w Out
1 '( 1 )
j
2
f t
e
(6)
(7)
(8)
Trang 13Kết quả
• Bảng dưới đây là kết quả chạy thử nghiệm với 400 mẫu cho quá trình huấn luyện và 150
mẫu cho việc kiểm thử Kết quả được chạy trên máy tính có CPU Intel Core 2 duo T6400 2.0 GHz.
• Các mẫu thử được đưa vào một cách ngẫu nhiên
Trang 14Kết quả
True False Epochs Training time Learning rate
Trang 15Kết quả
True False Epochs Training time Learning rate
Trang 16Tài liệu tham khảo
• Nhập môn xử lý ảnh số-Lương Mạnh Bá, Nguyễn Thanh Thủy
• Slide học máy Ts Nguyễn Nhật Quang
• Codeproject : Unicode OCR http
://www.codeproject.com/KB/recipes/UnicodeOC R.aspx
• Các bài báo
Trang 17KẾT THÚC