Font chữ Ảnh chữ Giả khung Giả khung ngang Histogr am giả khung ngang Giả khung dọc Histogra m giả khung dọc Mã ngang Mã dọc
491hann60b_0_1 LLSU LLMU
475HanNomA_0
_0 LLMU LLMU
490NomNaTong
_0_1 LLMU LLMU
Ở bảng trên ta thấy chuỗi mã dọc của các font chữ trong bảng đều là LLMU nhưng histogram lấy từ giả khung dọc trên mỗi chữ khác nhau khá nhiều. Tương tự vậy, hai chữ 475HanNomA_0_0 và 490NomNaTong_0_1 có mã ngang là LLMU nhưng histogram ngàng lấy từ giả khung của chúng lại khác nhau rất nhiều. Điều này cho thấy nếu chỉ dựa vào chuỗi mã để nhận dạng thì độ chính xác chưa cao. Với cách nhận dạng theo String Edit-distance [8], kết quả thực nghiệm theo K-fold cross validation trên 3 bộ font Hán nôm A, Hán nôm B và Nôm na tông, mỗi bộ lấy hai kiểu chữ (chữ thường và chữ đậm), tổng số mẫu thử là 2970 chữ chia thành 6
tập sau: HanNomA_0_0; HanNomA_0_1; HanNomB_0_0;
HanNomB_0_1; NomNaTong_0_0; NomNaTong_0_1. Qua 6 lần thử nghiệm với cách thử lấy 5 bộ font huấn luyện, 1 bộ font còn lại để nhận dạng, kết quả nhận dạng đúng trung bình đạt 66%, độ nhiễu nhạn dạng khá lớn (có chữ đưa vào nhận dạng, kết quả đưa ra là một tập 12 chữ khác nhau, trong đó có 1 chữ đúng).
Từ thực trạng đó tác giả luận văn đưa ra sáng kiến lấy thêm một đặc trưng nữa bằng cách chia histogram ra thành lưới 10x10. Với histogram dọc, trên mỗi cột từ 1 đến 10 của ô lưới tìm bin có chiều cao cao nhất, chiếu theo chiều ngang của dòng từ 1 đến 10 trên ô lưới, nếu nó cao đến dòng nào thì gán giá trị cho nó bằng chỉ số của dòng đó, kết thúc ta có thêm chuỗi mã thể hiện 10 nét viết chính theo chiều dọc của chữ.
Hình 4.21. Mô tả chia lưới trên histogram dọc
Tương tự trên ta cũng chia lưới 10x10 cho histogram ngang. Tìm các bin dài nhất trên mỗi hàng (từ 1 đến 10) của lưới, chiếu theo các cột từ 1 đến 10 của lưới để tìm độ dài và gán nhãn dài cho bin dài nhất trên mỗi dàng lưới đó, kết thúc ta thu được thêm một đặc trưng thể hiện 10 nét viết chính theo chiều ngang của chữ.
Hình 4.22. Mô tả chia lưới trên histogram ngang
Qua thực nghiệm với cùng cách nhận dạng theo String Edit- distance [8], cùng mô hình k-fold cross validation với K=6 trên cùng bộ dữ liêu thử nghiệm mô tả trên, kết quả nhận dạng cải tiến rõ rệt, xác suất nhận đúng trung bình tăng từ 66% lên 76%, độ nhiễu giảm đáng kể.
Ví dụ 1: Lấy đặc chưng của chữ theo giả khung:
Lấy H-histogram và V- histogram của giả khung. Sau khi phân đoạn H-histogram cảu giả khung ta thu được chuỗi LU
Trọng số LU được tính 1*4 + 1*0 = 4
Sau khi phân đoạn V-histogram của giả khung ta thu được chuỗi LLMU
Số điểm ảnh tương đối được tính ra 3.658536 Chuỗi mã phần bố nét ngang là 5000320008 Chuỗi mã phần bố nét dọc là 0000800000 Vậy chuỗi mã hoàn chỉnh thu được là:
3.658536 4 10 LU LLMU 0000800000 5000320008
Ví dụ 2: Lấy đặc chưng của chữ theo khung xương:
Lấy H-histogram và V- histogram của khung xương. Sau khi phân đoạn H-histogram của khung xương ta thu được chuỗi M
Trọng số M được tính 1*2 = 2
Sau khi phân đoạn V-histogram của giả khung ta thu được chuỗi MLM
Trọng số MLM được tính 1*4 + 2*2 = 8 Số điểm ảnh tương đối được tính ra 3.390244 Chuỗi mã phần bố nét ngang là 6000400008 Chuỗi mã phần bố nét dọc là 0000080000 Vậy chuỗi mã hoàn chỉnh thu được là: 3.3902442 8 M MLM 0000080000 6000400008
Quy trình lấy đặc trưng của chữ trên giả khung
- Xử lý theo khung xương