Một số thuật toán nhận dạng chữ

Một phần của tài liệu Nâng cao chất lượng hệ thống nhập điểm tự động theo Form (Trang 30 - 39)

Nhận dạng chữ sau khi đã tách khỏi từ là giai đoạn quan trọng nhất và cũng là mục đích của các hệ nhận dạng chữ viết. Mỗi loại chữ có những đặc điểm riêng nên các kỹ thuật áp dụng cũng khác nhau.

a) Kỹ thuật đối sánh mẫu

Chữ in thường rõ nét và chất lượng khá tốt sau khi quét. Trong nhận dạng chữ in, người ta thường dùng một số kỹ thuật:

- Kỹ thuật đối sánh từng điểm - xuất phát từ tâm. - Kỹ thuật đối sánh các dãy cắt dọc và cắt ngang. - Kỹ thuật nhận dạng theo hình chiếu...

 Kỹ thuật đối sánh từng điểm xuất phát từ tâm

Chữ sau khi được tách khỏi từ, tâm nó được tính toán và tọa độ được xác định. Chữ được đối sánh với chữ chuẩn (nhận dạng chữ viết là bài toán học có mẫu) từng điểm một, từ tâm ra biên. Các hình vành khăn lồng nhau có trọng tâm tạo thành lớp các điểm ảnh có cùng trọng số. Khoảng cách giữa 2 điểm ảnh x và x' được tính:

- DIST(x,x') = 0 nếu x  x' wx  x' với wx là trọng số của lớp x - Khoảng cách giữa 2 ký tự X và X' : DIST(X,X') = x X xX , ' ' DIST(x,x')

- Nếu DIST(X,X') <  thì ký tự X được coi là X',  là giá trị ngưỡng định trước.

Thuật toán trên thực hiện khá nhanh, song nếu chất lượng quét tồi, các điểm chữ bị mất nhiều, trọng tâm bị lệch do đó sẽ ảnh hưởng đến chất lượng nhận dạng.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

 Kỹ thuật nhận dạng dựa vào đối sánh các điểm cắt dọc và cắt ngang Kỹ thuật này nhằm khắc phục một số nhược điểm của kỹ thuật trên. Giả sử chữ cô lập có kích thước WChar và HChar. Chúng ta duyệt theo chiều ngang để tìm số điểm cắt theo chiều ngang.

Gọi Hi là số điểm cắt ngang của dòng thữ i. Như vậy H1. H2,..., HWChar sẽ là dãy các điểm cắt ngang. Tương tự như vậy, gọi Vi là số điểm cắt dọc tại cột thứ i. Như vậy V1. V2,..., VHChar sẽ là dãy các điểm cắt dọc. Bỏ qua các điểm 0 ở đầu và cuối 2 dãy, ta có 2 dãy con H = H1, H2,..., Hni và V1, V2 ,..., Vni sẽ là dãy các điểm cắt dọc như chỉ ra trong hình 1.13 với chữ P:

Hình 1.13: Chữ P

Khi đó quy tắc nhận dạng X' được xem là X nếu: Hx'  Hx hoặc Hx 

Hx' và Vx'  Vx hoặc Vx Vx'. Nhìn chung, kỹ thuật này tương đối đơn giản, tốc độ cao và kết quả nhận dạng không phụ thuộc vào việc mất các điểm ở biên chữ. Tuy nhiên, kỹ thuật này đòi hỏi font phải chuẩn.

 Kỹ thuật nhận dạng dựa vào hình chiếu

Kỹ thuật này là cải tiến của kỹ thuật trên, nhằm áp dụng cho nhiều kiểu font. Giả sử mẫu nhận dạng có kích thước nn. Gọi i là véctơ bậc n gồm các phần tử 0 và 1 tương ứng với hàng i (hay cột i). Gọi (i) là tổng số các phần tử 1 trong véctơ i và (i) là số giao điểm của i với ảnh mẫu. Khi đó một hàng hay một cột được gọi là dài nếu: (i) = 1

(i)   - , với  là độ rộng của ký tự và  là ngưỡng cho trước (*).

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

ý nghĩa của hàng hay cột dài là chúng thể hiện chiều ngang hay chiều cao của kí tự. Đặt  i* = i  i+1. Nếu thoả mãn các điều kiện (*) , tức là:

(i*) = 1

(i*)  - 

khi đó ta có thể viết (i *) = 1. Để trích ra các đặc trưng của mẫu, ảnh được duyệt theo chiều ngang hay đứng như phương pháp trên. Tuy nhiên, ở đây ta có: Hi = (i*) và Vi = (i*).

Tiếp đó, nếu trong các chuỗi H và V nếu Hi = Hi+1 hoặc Vi = Vi+1 thì phần tử Hi+1 hoặc Vi+1 bị xóa khỏi chuỗi. Cuối cùng ta thu được các chuỗi H' và V' đặc trưng cho ký tự. Ví dụ:

H = 0001112222211111111110 thì H' = 012110 V = 01112111133322222111111000 thì V' = 0123210

Quá trình nhận dạng trở thành so sánh các cặp H' và V'. Kỹ thuật này có ưu điểm là có thể áp dụng cho nhiều font. Song nếu chất lượng quét tồi, ảnh có nhiều răng cưa giả thì chuỗi đặc trưng sẽ lệch nhiều so với chuỗi chuẩn. Ngoài các kỹ thuật kể trên còn có một số kỹ thuật khác như thống kê giao điểm, đồ thị đối sánh

b) Thuật toán nhận dạng chữ dựa vào cấu trúc

Khác với kỹ thuật trên dựa vào lý thuyết ra quyết định trên cơ sở không gian dấu hiệu, kỹ thuật này dựa vào cấu trúc chữ. Theo kỹ thuật này, mỗi ký tự nhận dạng được biểu diễn bởi một xâu hay tổng quát hơn bởi một đồ thị của các dạng nguyên thủy và mối quan hệ giữa chúng. Như đã nêu trong phần nhận dạng cấu trúc, quá trình nhận dạng là quá trình phân tích cú pháp hay đối sánh đồ thị. Một văn bản coi như một dạng phức tạp cấu thành từ các dạng trung gian. Các dạng trung gian lại có thể coi được cấu tạo từ các dạng con (là ký tự). Cuối cùng, mỗi ký tự được cấu thành từ các dạng nguyên thủy. Quá trình nhận dạng có thể biểu diễn theo sơ đồ sau:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 1.14: Quá trình nhận dạng theo cấu trúc Kỹ thuật nhận dạng này bao gồm 3 công đoạn: (adsbygoogle = window.adsbygoogle || []).push({});

- Phân hoạch ký tự-biểu diễn dạng: phân hoạch tập nhận dạng thành N tập đơn theo như lý thuyết phân hoạch không gian.

- Trích chọn các các đặc trưng: Văn bản sau khi được sử lý sơ bộ sẽ qua phần trích chọn các đặc trưng mà ở đây là các điểm kết thúc, chạc ba.

- Nhận dạng dấu: Nhận dạng dấu là công đoạn quan trọng, nhất là trong nhận dạng chữ Việt. Dòng dấu thường nhỏ hơn và khó nhận dạng hơn.

 Phân hoạch ký tự - biểu diễn dạng Gọi là tập các đối tượng nhận dạng:

 = {A, B, C,..., Z}

Mục tiêu của phương pháp là phân hoạch tập  thành N tập đơn nhất i

sao cho:

i j =  với i <> j, i = 1, 2,..., N (là số ký tự nhận dạng)

i = 

Bằng cách sử dụng một loạt các quy tắc, các dấu hiệu, ví dụ như : - l: là số chu trình (loop )

- j: số điểm nối (Junctions point: ngã 3, ngã tư) - e: số điểm ngoặt (turning point)

- f: số điểm kết thúc (end point) - t: hướng (trên, dưới, phải trái)

Ta phân hoạch tập đối tượng đã cho thành các tập con. áp dụng tiếp các quy tắc, dấu hiệu này, ta lại phân tiếp các tập con thành các tập nhỏ hơn. Ví dụ với tập đã cho, dùng quy tắc e (số điểm ngoặt) ta phân thành 3 tập nhỏ:

Dạng nguyên

thủy Dạng con Dạng trung

gian

Dạng nguyên thủy

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

1 = {A D O P Q R}, 2 = {B} 3 = {C E F,...} tương ứng với số điểm ngoặt khác nhau.

Nếu chưa đủ độ tin cậy, ta dùng thêm hướng t để phân tiếp. Ví dụ, dùng thêm t cho tập 1 ta thu được 5 tập nhỏ:

11 = {A R}, 12 = { D }, 13 = { O }, 14 = { Q }, 15 = { P }.

Nếu các tập thu được chưa phải là đơn nhất, ta áp dụng thêm các quy tắc khác như j để làm mịn nó. Với tập 11, áp dụng quy tắc j ta chia nó thành 2 tập {A} và {R} vì chữ A có 2 điểm nối (chạc 3) mà chữ R chỉ có một. Cuối cùng ta có một phân hoạch không gian theo yêu cầu và chuyển sang bước trích chọn đặc trưng.

 Trích chọn các đặc trưng

Các đặc trưng của ký tự cần trích chọn bao gồm các điểm kết thúc, các chạc ba. Điểm kết thúc chỉ có duy nhất 1 trong các 8 láng giềng là đen (a,b). Điểm chạc ba thỏa mãn các điều kiện c,d,e.

(a) (b) (c) (d) (e)

Hình 1.15 : Điểm kết thúc và chạc ba

Các ký tự nhận dạng được làm mảnh sẽ được duyệt theo dòng để tìm kiếm các cột đen trên ảnh, sau đó quá trình duyệt lại được bắt đầu từ điểm vừa tìm ra bằng cách lần theo cạnh. Để tăng độ chính xác, người ta còn kết hợp phương pháp này với phương pháp thống kê giao điểm.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

c) Nhận dạng chữ dựa vào mạng nơron

Mạng nơron nhân tạo (Artificial Neural Network gọi tắt là ANN) bao gồm: các nút (đơn vị xử lý, nơron) được nối với nhau bởi các liên kết nơron. Mỗi liên kết kèm theo một trọng số nào đó, đặc trưng cho tính kích hoạt hay ức chế giữa các nơron. Có thể xem các trọng số là phương tiện để lưu giữ thông tin dài hạn trong mạng nơron và nhiệm vụ của quá trình huấn luyện (học) mạng là cập nhật các trọng số khi có thêm các thông tin về các mẫu học, hay nói một cách khác, các trọng số được điều chỉnh sao cho dữ liệu đầu vào mà nó mô phỏng hoàn toàn phù hợp với môi trường đang xét. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 1.16: Cấu trúc mạng nơron

Hướng tiếp cận nhận dạng kí tự bằng mạng Back Propagation gồm có 3 tầng, số phần tử nơron trên mỗi tầng phụ thuộc vào người dùng lựa chọn. Thông thường, có một tầng input, một tầng output và một tầng hidden.

Trên tầng input có 35 phần tử nơron. Có nghĩa là mỗi một ảnh được nhận dạng bởi 35 điểm ảnh đặc trưng. Kích thước của ảnh phụ thuộc vào chiều cao và độ rộng của kí tự. Cuối cùng, tất cả các ảnh cần nhận dạng được trích rút đặc trưng và đưa về kích thước chuẩn: 75.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Số nơron trên tầng hidden tùy thuộc vào lựa chọn của người dùng. Nó có thể lấy giá trị từ 10 đến 1000 hoặc nhiều hơn. Nhưng để lấy được kết quả tốt nhất chúng ta phải thực hiện phương pháp thử và sửa sai.

Trên tầng output có 10 phần tử nơron. Mỗi một nơron tương ứng với các số từ 0 đến 9. * Lƣợc đồ huấn luyện mạng Bắt đầu Tạo mạng Khởi tạo các trọng số Tiền xử lý ảnh

Lấy mẫu đầu tiên

Phân tích mẫu

Tổng lỗi = 0

Huấn luyện mạng

Tính toán lỗi

Cộng giá trị lỗi cho mỗi nơron rồi cộng vào

tổng lỗi

Nễu mẫu kế tiếp sẵn sàng S MSE <= Threshold Số lần lặp = Max Epoch S Cập nhật trọng số S Đ Kết thúc Đ Đ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

- B1: Tạo mạng nơron tương ứng với các thông số đầu vào.

- B2: Giá trị các trọng số được khởi tạo ngẫu nhiên.

- B3: Sau khi xây dựng được mạng, chúng ta phải xử lý ảnh đầu vào. Ở

đề tài này bao gồm: Loại bỏ nhiễu và chuyển đổi sang ảnh nhị phân.

- B4: Lấy mẫu đầu tiên.

- B5: Phân tích mẫu đầu vào và phân tách mẫu này thành các mảng tuyến tính.

- B6: Thiết lập tổng số lỗi = 0

- B7: Huấn luyện mẫu đó.

- B8: Tính toán lỗi sau khi huấn luyện.

- B9: Cộng giá trị lỗi cho mỗi nơron rồi cộng vào tổng lỗi. - B10: Nếu mẫu kế tiếp sẵn sang thì load tiếp và lặp lại bước 6.

- B11: Nếu không còn mẫu nào nữa thì tính toán MSE (Mean

Square Error).

- B12: Nếu MSE <= Threshold thì dừng lại.

- B13: Nếu MSE > Threshold thì kiểm tra số lần lặp có thể. - B14: Nếu số lần lặp <> Maximum Epoch thì lặp lại bước 4.

- B15: Nếu số lần lặp = Maximum thì dừng lại. (adsbygoogle = window.adsbygoogle || []).push({});

* Thuật toán BackPropagation

BackPropagation là một phương pháp phổ biến được dùng để huấn luyện mạng nơron làm thế nào để thực hiện mục đích. Trong đề tài này tôi sử dụng cách huấn luyện có giám sát.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Lược đồ thuật toán BackPropagation

Bắt đầu

Khởi tạo trọng số

Tính tổng trọng số của tín hiệu vào ở các tầng

Tính thông tin lỗi

Cập nhật trọng số

Kết thúc

Hình 1.18: Lược đồ thuật toán BackPropagation - Khởi tạo trọng số:

+ Giá trị của trọng số liên kết giữa các nơron được khởi tạo ngẫu nhiên

- Feed Fordward:

+ Mỗi nơron trên mỗi tầng được tính tổng trọng số của các tín hiệu vào + Sử dụng hàm activation để tính giá trị ra từ nơron

- Back Propagation của lỗi: + Thông tin lỗi được tính

+ Ta sử dụng giá trị này để tính toán thông tin lỗi trên mỗi nơron còn lại - Cập nhật giá trị trọng số:

Chúng ta sử dụng thông tin lỗi trên mỗi node để tính toán và cập nhật lại giá trị mới cho trọng số liên kết giữa các nơron

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Chƣơng 2

MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƢỢNG NHẬN DẠNG FORM ĐIỂM

Một phần của tài liệu Nâng cao chất lượng hệ thống nhập điểm tự động theo Form (Trang 30 - 39)