Tải bản đầy đủ (.pptx) (24 trang)

xây dựng chương trình tự động cập nhật điểm vào csdl từ file ảnh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.02 MB, 24 trang )

TRƯỜNG ĐẠI HỌC HÀNG HẢI - KHOA CÔNG NGHỆ THÔNG TIN

XÂY DỰNG CHƯƠNG TRÌNH TỰ ĐỘNG CẬP NHẬT ĐiỂM VÀO CSDL TỪ FILE ẢNH


Nội dung trình bày
1.

Đặt vấn đề.

2.

Giải pháp.

3.

Mô hình chung của chương trình.

4.

Giới thiệu chung về dữ liệu đầu vào.

5.

Phân tách vùng chứa dữ liệu – Tách dòng và tách kí tự.

6.

Mạng nơron.

7.



Sản phẩm demo chương trình.


1. Đặt vấn đề


Hiện nay, công việc của giáo vụ khoa đã được đơn giản hóa rất nhiều nhờ vào việc sử dụng phần mềm quản lý
điểm.



Tuy nhiên, một vấn đề làm mất không ít thời gian của giáo vụ đó là nhập điểm thi từ phiếu thi vào trong cơ sở dữ
liệu – Hệ thống quản lý điểm.



Đối với những khoa có số lượng sinh viên đông thì đây thực sự là một công việc căng thẳng và mệt nhọc, đôi khi gây
ra nhầm lẫn.


2. Giải pháp


Xây dựng chương trình cho phép tự động cập nhật điểm thi của sinh viên thông qua việc nhận dạng điểm viết tay
offline trên phiếu thi.



Trong chương trình này, giáo vụ chỉ cần quét phiếm điểm thi thông qua máy quét. Căn cứ vào bức ảnh thu được,

chương trình sẽ tự phân tích, nhận dạng mã sinh viên, điểm thi tương ứng với từng sinh viên và tự động cập nhật và
cơ sở dữ liệu.


3. Mô hình chung


3. Mô hình chung…


Thu thập dữ liệu: Trong module này cho phép người dùng sử dụng máy scan để nhận dữ liệu đầu vào của chương
trình. Người dùng sẽ scan phiếu điểm thi thành một file ảnh, file ảnh này sẽ được coi như là dữ liệu input của chương
trình.



Tiền xử lý dữ liệu: Trong module này, các thuật toán, giải thuật nâng cao chất lượng ảnh đầu vào sẽ được thiết kế và
thực hiện tại đây, nhằm loại bỏ những thông tin không cần thiết ra khỏi dữ liệu đầu vào, đặc biệt là nhiễu.



Tách vùng chứa dữ liệu: Nhận biết và tách vùng chứa thông tin cần thiết ra khỏi bức ảnh gốc, bao gồm: Mã sinh viên
và điểm Z.



Tách hàng trên vùng chứa dữ liệu: Thực hiện việc phân tách dữ liệu của file ảnh đầu vào thành các dòng khác nhau.




Tách riêng biệt các kí tự trên : Thực hiện việc phân tách dữ liệu trên một dòng thành các kí tự riêng biệt, để thuận
tiện cho việc trích rút đặc trưng ở các module sau.


3. Mô hình chung…


Trích rút đặc trưng: Thực hiện việc trích rút các đặc trưng cơ bản nhất của các kí tự mà đã được tách ra từ module
trước đó.



Tạo và huấn luyện mạng nơron: Thực hiện việc tạo mới một mạng và huấn luyện mạng trên những mẫu chữ mới
thích hợp với từng khoa.



Sử dụng mạng nơron để nhận dạng kí tự: Những đặc trưng của từng kí tự mà ta thu được từ module trước đó sẽ
được sử dụng dùng như là dữ liệu đầu vào của một mạng noron. Mạng noron sẽ căn cứ vào các đặc tính đó để đưa
ra các kí tự số tương ứng.



Cập nhật CSDL: Sau khi nhận dạng xong, chương trình sẽ cập nhật điểm vào cơ sở dữ liệu – Hệ thống quản lý điểm.


4. Giới thiệu chung về dữ liệu đầu vào.
(Theo niên chế)



4. Giới thiệu chung về dữ liệu đầu vào.
(Theo tín chỉ)


4. Giới thiệu chung về dữ liệu đầu vào.
(Theo tín chỉ)


4. Giới thiệu chung về dữ liệu đầu vào.
(Theo tín chỉ)


5. Phân tách vùng chứa dữ liệu.
Tách dòng và tách ký tự.


Phân tách vùng chứa dữ liệu.



Trong quá trình nhập điểm, thông tin quan trọng cần được lấy đó là vùng ảnh chứa mã số sinh viên và vùng ảnh
chứa điểm Z.



Khi lấy được vùng ảnh chứa mã số sinh viên và vùng ảnh chứa điểm Z, ta thực hiện việc tách ra thành các dòng
khác nhau.




Mỗi một dòng sẽ là mã sinh viên của từng sinh viên và căn cứ vào mã sinh viên này ta có thể cập nhật điểm mà
được lấy ra từ vùng ảnh chứa điểm z vào trong cơ sở dữ liệu.







6. Mạng nơron.


Trong đề tài này, tôi sử dụng mạng Neuron để thực hiện việc nhận biết chữ viết tay. Việc sử dụng mạng Neuron có
nhiều tiện dụng và hiệu quả hơn các phương pháp khác.



Khi sử dụng phương pháp này chúng ta không phải lưu trữ lượng mẫu nhiều, và cũng có thể nhận dạng được những
mẫu mà chưa có trong cơ sở dữ liệu.



Vấn đề quan trọng là xây dựng mạng neuron sao cho có hiệu quả cao nhất trong việc nhận dạng và huấn luyện.
Điều này tùy thuộc vào việc lựa chọn kiến trúc của mạng, phương pháp huấn luyện, các tham số đầu vào của mạng,
các hàm kích thích trên từng lớp…


6.1. Kiến trúc mạng nơron.



6.2. Lược đồ huấn luyện mạng.
1.

Tạo mạng neuron tương ứng với các thông số đầu vào

2.

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

3.

Loại bỏ nhiễu và chuyển đổi sang ảnh nhị phân.

4.

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

5.

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.

6.

Thiết lập tổng số lỗi =0.

7.

Huấn luyện mẫu đó.

8.


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

9.

Cộng giá trị lỗi cho mỗi neuron rồi cộng vào tổng lỗi.

10.

Nếu mẫu kế tiếp sẵn sang thì load tiếp và lặp lại bước 6.

11.

Nếu không còn mẫu nào nữa thì tính toán MSE (Mean Square Error).

12.

Nếu MSE <= Threshold thì dừng lại

13.

Nếu MSE > Threshold thì kiểm tra số lần lặp có thể.

14.

Nếu số lần lặp <> Maximum Epoch thì lặp lại bước 4.

15.

Nếu số lần lặp = Maximum thì dừng lại.



6.3. Lược đồ nhận dạng và cập nhật CSDL.

1.

Chọn file ảnh cần nhận dạng.

2.

Lựa chọn mạng đã huấn luyện.

3.

Phân tích ảnh đầu vào, xác định vùng chứa dữ liệu trong ảnh.

4.

Dựa trên dữ liệu ảnh lấy được từ vùng chứa dữ liệu, tách lấy dòng đầu tiên.

5.

Tách riêng từng kí tự trên dòng.

6.

Lấy các giá trị đặc trưng của các kí tự vừa tách được.

7.


Đưa vào mạng và tính toán đầu ra.

8.

Ánh xạ đầu ra thành các giá trị tương ứng (0->9).

9.

Cập nhật vào CSDL (Hệ thống quản lý điểm).

10.

Kiểm tra xem còn kí tự nào trên hàng hiện tại không? Nếu còn thì chuyển
về bước 6, nếu không còn thì chuyển sang bước kết tiếp.

11.

Kiểm tra xem còn dòng nào không? Nếu còn thì chuyển về bước 5, nếu
không còn thì kết thúc quá trình nhận dạng.


Tài liệu tham khảo
[1]. Réjean Plamondon and Sargur N. Srihari: “On-Line and Off-Line Handwriting Recognition: A Comprehensive Survey”. Fellow, IEEE (Vol 22, No.1, January 2000)

[2]. Markus Feldbach and Klaus D.Tonnies. “A new segmentation Algorithm for Handwritten Word Recognition”. (1999)

[3]. M. Blumenstein and B. Verma. “Segmentation of off-line cursive handwriting using linear programming”. (1999)

[4]. U.-V. Marti and H. Bunke. “Text Line Segmentation and word recognition in a system for general writer Independent Handwriting Recognition”. (February 5, 2001)


[5]. Yan Xi, Youbin Chen, Qingmin Liao, Leung Winghong Fung Shunming. “Character Line Segmentation Based on Feature Clustering”. (IEEE 2007)

[6]. E.Kavallieratos, N.Antoniades, N.Fakotakis and G.Kokkinakis. “Extraction and Recognition of Handwritten Alphanumeric Character From Application Forms”.

[7]. Nafiz Arica, Student Member, IEEE and Fatos T.Yarman-Vural, Senior Member, IEEE. “An overview of Character Recognition Focused On Off-Line Handwriting”. (2001)

[8]. Dimauro, G.; Impedovo, S.; Pirlo, G.; and Salzo, A.; Automatic Bankcheck processing: A New Engineered System. International Journal of Pattern Recognition and Artificial
Intelligence. 11(4) 467-504 (1997)
[9]. Shridar, M.; Badredlin; Recognition of Isolated and Simple Connected Handwritten Numerals, Pattern Recignition, 19(1) pg.1, (1986)

[10]. Markus Feldbach and Klaus D.Tonnies. “A new segmentation Algorithm for Handwritten Word Recognition”. (1999)

[11]. R. Fenrich and K. Krishnamoorthy, “Segmenting diverse quality handwritten digit strings in near real-time” Procedings of the 4th Advanced Technology Conf. 523-537, (1990)


Tài liệu tham khảo

[12]. N. W. Strathy, C. Y. Suen and A. Kryzak, “Segmentation of handwritten digits using contour features” Second Int. Conf. Document Anal. Recognition 577-580 (October 1993)

[13]. Lu, Y. Shridhar, “Character Segmentation in Handwriiten Words - An Overview, Pattern recognition”. 29(1) pp. 77 (1996)

[14]. Sparks, P. Nagendraprasad, M. Gupta, A.; “An algorithm for segmenting handwritten numeral strings” presented at the Second International Conference on Automation,
Robotics, and Computer Vision, Singapore, 1992.

[15]. Nagendraprasad, M.Wang, P. Gupta, A. Liu, “A neural net based system for recognition of unconstrained handwritten numerals” presented at the Second International
Conference on Automation, Robotics and Computer Vision, Singapore, 1992


Xin cảm ơn hội đồng.




×