Bước 1: Bắt đầu từ đỉnh của dịng hiện thời và bên trái của kí tự Bước 2: Quét đến bên phải của kí tự cùng một giá trị y
− Nếu phát hiện điểm đen thì đánh dấu y và thay đổi lại giới hạn trên − Nếu không xét điểm tiếp theo
− Nếu khơng tìm thấy điểm đen nào tăng y và khởi động lại x, xét đường thẳng ngang tiếp theo
Bước 3: Bắt đầu từ giới hạn dưới của dịng và bên trái của kí tự Bước 4: Quét tới bên phải của kí tự trên một giá trị y
- Nếu phát hiện điểm đen, đánh dấu y là giới hạn dưới của kí tự
- Nếu không phát hiện điểm đen giảm y và khởi động lại x xét đường thẳng
67 Sau khi tách dịng, tách ký tự, tìm giới hạn ký tự chúng tội đề xuất thuật toán 3.13 để ánh xạ vào ma trận trong mạng nơ ron, hình 3.8.
Hình 3.8. Q trình tìm giới hạn kí tự
Sau q trình tìm giới hạn kí tự chúng tơi đề xuất thuật tốn 3.13 để ánh xạ vào ma trận, hình 3.9.
Thuật tốn 3.13. Ánh xạ vào ma trận
Bước 1: Đối với chiều rộng:
− Khởi tạo với x phần tử tương ứng
− Ánh xạ điểm đầu (0,y) và điểm cuối (C_rong,y) của ảnh kí tự tương ứng với giá trị đầu (0,y) và giá trị cuối (y’,y) của ma trận
− Chia nhỏ chiều rộng thành x giá trị tương ứng
Bước 2: Đối với chiều cao:
− Khởi tạo với x’ phần tử tương ứng
− Ánh xạ điểm đầu (x,0) và điểm cuối (x,C_cao) của ảnh kí tự tương ứng với giá trị đầu (x,0) và giá trị cuối (x,x’) của ma trận
− Chia nhỏ chiều cao thành x giá trị tương ứng Để đưa giá trị vào mạng nơ ron, chúng ta cầnchuyển ma trận điểm ảnh sang ma trận giá trị.
Hình 3.9. Q trình chia lưới kí tự
Sau đã ánh xạ vào ma trận trong mạng nơ ron chúng tơi đề xuất tiếp thuật tốn 3.14 để chuyển ma trận thành điểm ảnh, hình 3.10.
68
Thuật tốn 3.14. Chuyển ma trận điểm ảnh sang ma trận giá trị
Bước 1: Bắt đầu từ phần tử (0,0)
Bước 2: Tăng x giữ nguyên giá trị y cho tới khi bằng chiều rộng của ma trận
− Ánh xạ mỗi phần tử tới một phần tử của mảng tuyến tính + Nếu là điểm đen thì nhận giá trị bằng 1
+ Ngược lại nhận giá trị bằng 0
− Nếu x = chiều rộng thì khởi động lại x và tăng y Lặp lại cho tới khi (x,y)=( C_Rong, C_Cao)
Hình 3.10. Quá trình ánh xạ từ ma trận điểm sang ma trận giá trị
Sau khi chuyển ma trận điểm ảnh sang ma trận giá trị chúng tơi đề xuất thuật tốn 3.15 để huấn luyện mạng nơ ron.
Thuật toán 3.15. Huấn luyện mạng nơ ron
Bước 1: Xây dựng mạng tương ứng với mơ hình tham số
Bước 2: Khởi tạo giá trị trọng số với giá trị ngẫu nhiên. Nạp file huấn luyện
(cả ảnh đầu vào và ảnh đầu ra mong muốn)
Bước 3: Phân tích ảnh và ánh xạ tất cả kí tự tìm thấy vào các mảng một chiều
Bước 4: Đọc giá trị đầu ra mong muốn từ file và chuyển đổi từng kí tự tới giá
trị nhị phân Unicode và lưu trữ riêng biệt
Bước 5: Với mỗi kí tự:
− Tính tốn giá trị đầu ra của mạng Feed ForWard
− So sánh với giá trị đầu ra mong muốn tương ứng với từng kí tự và tính tốn lỗi
− Truyền ngược giá trị từ đầu và với mỗi liên kết điều chỉnh trọng số liên kết
69
Bước 7: Tính tốn trung bình lỗi cho tất cả các kí tự
Bước 8: Lặp lại từ bước 6 đến 8 cho tới khi đạt số đưa vào của số lần lặp tối
đa
− Với phạm vi lỗi đạt đến ngưỡng. Nếu như vậy thì bỏ lặp lại − Ngược lại tiếp tục lặp lại
Sau khi huấn luyên mạng nơ ron chúng tơi đề xuất thuật tốn 3.16 để nhận dạng ảnh ký tự.
Thuật tốn 3.16. Nhận dạng ảnh kí tự
Bước 1: Nạp file ảnh
Bước 2: Phân tích ảnh cho các dịng kí tự Bước 3: Với mỗi dịng tách các kí tự liên tiếp
− Phân tích và xử lý ảnh kí tự cho việc ánh xạ vào một vectơ đầu vào − Đưa giá trị vector đầu vào cho mạng nơ ron và tính tốn giá trị đầu ra
− Chuyển đổi mã Unicode đầu ra từ nhị phân tới kí tự tương ứng và trả ra dưới dạng textbox vi lỗi đạt đến ngưỡng.
Hậu xử lý dữ liệu
Giai đoạn này làm nhiệm vụ chuyển đổi giá trị Unicode sang dạng ký tự
tương ứng. Đây là giai đoạn sau cùng, giai đoạn này làm nhiệm vụ chuyển đổi giá trị sang dạng ký tự tương ứng và sắp xếp lại các ký tự dưới dạng văn bản theo dạng văn bản ban đầu.
3.4. Kết luận chương
Chương này đã mơ tả chi tiết phương pháp phân tích ảnh CCCD để tách các trường thông tin yêu cầu. Đối với mặt trước dựa vào việc tìm trường Số CCCD chỉ chứa số mầu đỏ, cịn ở mặt sau dựa vào phân tích cấu trúc bảng. Sau khi tiền xử lý dữ liệu đưa và hệ thống mạng nơron huấn luyện tìm ký tự trích xuất thông tin. Trong chương tiếp theo sẽ mô tả quá trình cài đặt và đánh giá kết quả thực nghiệm của giải pháp đưa ra trên tập ảnh CCCD thu thập được.
CHƯƠNG IV: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN
Trong chương này chúng tôi sẽ mô tả một cách chi tiết q trình cài đặt thử nghiệm thuật tốn, cũng như đánh giá các kết quả đạt được trên các bộ dữ liệu khác nhau. Dựa trên nội dung chi tiết về quy trình cũng như phương pháp, thuật tốn đã trình bày ở chương 1,2 và 3 trong chương 4 này tiến hành xây dựng, cài đặt chương trình thử nghiệm. Sau khi thử nghiệm sẽ đưa ra nhận xét, so sánh và đánh giá kết quả nhận dạng ký tự rút trích thơng tin từ động từ thẻ CCCD.
4.1. Xây dựng bộ dữ liệu
Chúng tôi xây dựng tập dữ liệu A có 100 ảnh CCCD được chụp hoặc quét hai mặt trước sau với độ phân giải 1024 dpi, kiểu ảnh màu. Các mẫu CCCD được lấy từ nhiều tỉnh thành khác nhau.Trong tập dữ liệu 100 ảnh CCCD gồm có 29 ảnh thẻ CCCD là nữ, 71 ảnh thẻ CCCD là nam, số ảnh thẻ CCCD được chụp từ máy chụp ảnh là 15 ảnh, số ảnh thẻ CCCD chụp từ điện thoại di động là 20 ảnh, số ảnh thẻ CCCD được quét từ máy quét là 65 ảnh.
Trong tập dữ liệu A gồm có 100 ảnh thẻ CCCD được chia thành hai tâp dữ liệu nhỏ tập gồm có tập A1 là 74 ảnh chuẩn, chụp, hoặc quét đúng kích thước, dữ liệu trong các ảnh đầy đủ. Tập A2 gồm có 26 ảnh là những ảnh chụp, quét không đúng chuẩn, khơng đúng kích thước, bị lem mực, mất màu sắc, bị mờ...vv.
Trong tập dữ liệu A1 (74 ảnh) chúng tơi chia ra gồm có 10 ảnh chụp bằng
máy ảnh, 15 ảnh chụp bằng diện thoại di động, 49 ảnh quét bằng máy. Trong tập A1 chúng tôi tiếp tục phân ra làm hai tập dữ liệu nhỏ là tập dữ liệu ảnh CCCD nam là 50 ảnh và tập dữ liệu ảnh CCCD nữ là 24 ảnh. Trong 50 ảnh CCCD nam gồm có 10 ảnh chụp bằng máy ảnh, 15 ảnh chụp bằng diện thoại di động, 20 ảnh quét bằng máy, trong 24 ảnh nữ có có 4 ảnh chụp bằng máy ảnh, 5 ảnh chụp bằng diện thoại di động, 15 ảnh quét bằng máy.
Trong tập dữ liệu A2 (26 ảnh) chúng tôi tiếp tục phân ra làm hai tập dữ liệu
71 ảnh. Trong 21 ảnh CCCD nam gồm có 3 ảnh chụp bằng máy ảnh, 5 ảnh chụp bằng diện thoại di động, 13 ảnh quét bằng máy, trong 5 ảnh nữ có có 1 ảnh chụp bằng máy ảnh, 1 ảnh chụp bằng diện thoại di động, 3 ảnh quét bằng máy. Khi chụp bị mờ là 5 ảnh, số ảnh bị nhòe là 18 ảnh, số ảnh bị cong vênh là 1 ảnh , số ảnh bị biến dạng là 2 ảnh. Các trường thơng tin tập A2 có thể bị lệch so với dòng chuẩn hoặc đè lên phần tiêu đề đã được in trước.
+ Nét chữ không đều nhau giữa các CCCD, trong cùng một CCCD có thể có chữ quá đậm hoặc quá mờ.
+ CCCD có thể bị ố, mờ, gãy, cong, biến dạng…
+ Ở mặt trước CCCD, trong một số trường hợp hoa văn nền khá rõ nét trong khi nét chữ lại quá mờ, khó có thể phân biệt đâu là nét chữ đâu là hoa văn nền, các dòng số CCCD, họ và tên, nơi trường trú...vv bị in lệch dịng như hình 4.1.
Hình 4.1 Ảnh mặt trước CCCD bị nhòe
+ Ở mặt sau CCCD trong khá nhiều trường hợp đặc điểm nhận dạng chữ quá nhỏ, bị mờ, bị lem mực, chữ viết dính liền khơng có khoảng cách, chữ in các dịng khơng đều, phần Ngày cấp hay bị in lệnh dịng.như hình 4.2.
72
Hình 4.2. Ảnh mặt sau CCCD bị nhịe
Hình 4.2. ảnh CCCD chụp bị mờ, khơng rõ, mất màu, vùng đặt điểm nhận dạng in lệch dòng.
+ Trong vùng dữ liệu, tập dữ liệu A2 có các vùng dữ liệu khác nhau như :Vùng quê quán có 23 ảnh chiếm hai dòng 3 ành chiếm một dòng. Nơi cư trú 26/26 ảnh chiếm hai dịng. Đặt điểm nhận dạng có 4 ảnh một dịng 22 ảnh hai dịng. Vùng số CCCD có 14/26 ảnh bị in lệnh dịng.Vùng Họ và tên có 13/26 ảnh bị in lệnh dịng. Vùng Ngày sinh có 6/26 ảnh bị in lệnh dịng. Vùng Giới tính có 5/26 ảnh bị in lệnh dịng. Vùng Quốc tịch có 3/26 ảnh bị in lệnh dịng. Vùng Quê quán có 9/26 ảnh bị in lệnh dịng. Vùng Nơi cư trú có 20/26 ảnh bị in lệnh dịng. Vùng Ngày hết hạn có 4/26 ảnh bị in lệnh dịng. Vùng Đặt điểm nhận dạng có 14/26 ảnh bị in lệnh dịng. Vùng ngày cấp có 3/26 ảnh thẻ có bị in lệnh dịng.
Mặc dù CCCD được in theo mẫu chung nhưng vẫn có sự khác nhau giữa các đơn vị cấp về kích thước kiểu chữ, vị trí tương đối giữa các trường thơng tin có sự khác nhau.
73
4.2. Mơi trường thực nghiệm
Sau khi xây dựng bộ dữ liệu chúng tơi tiến hành cài đặt các thuật tốn đã xây dựng ở chương 3. Các thuật toán được cài đặt bằng ngôn ngữ lập trình Python 3a 2016, trên máy có cấu hình như bảng 4.1.
Bảng 4.1. Cấu hình máy tính
Thành phần Cấu hình
Loại máy tính Lenovo
Hệ điều hành Windows 10.
Kiến trúc Hệ điều hành 64-bit.
Vi xử lý Intel core I3
RAM 4 GB RAM.
Ổ cứng 256GB
Graphics adapter Card đồ họa hỗ trợ xử lý ảnh 128-bit
Chúng tôi xây dựng một ứng dụng để thử nghiệm trên tập dữ liệu A (gồm 100 ảnh CCCD) chụp đầy đủ mặt trước CCCD và mặt sau CCCD. Mỗi dữ liệu chúng tôi thử nghiệm 10 lần. Giao diện chương trình thực nghiệm như hình 4.3.
74
Hình 4.3. Giao diện chương trình thực nghiệm
Để chương trình đạt kết quả tốt chúng tơi u cầu dữ liệu đầu vào được định dạng.
+ Kích thước ảnh dài 85,6mm dài 53,89mm độ phân dãy màu 1024 dpi
+ Ảnh chụp là ảnh màu chụp thẳng, rõ, đầy đủ dữ liệu, không q mờ, khơng cong, vênh, móp, méo.
Tập tin đầu vào ảnh thẻ CCCD chụp hoặc quét trên máy hai mặt, mặt trước và
mặt sau.
Dữ liệu xuất ra tập tin ảnh và tập tin văn bản.
+ Tập tin ảnh gồm: Ảnh chân dung, ngón trỏ phải, ngón trỏ trái
+ Tập tin văn bản gồm có: số CCCD, Họ và tên, ngày tháng năm sinh, giới
tính, quốc tịch, quê quán, nơi thường trú, đặc điểm nhân dạng của người được cấp thẻ ngày, tháng, năm cấp thẻ CCCD, ngày hết hạn.
75
4.3. Thời gian thực nghiệm
Chương trình thực nghiệm 100 ảnh CCCD, mỗi ảnh CCCD thực nghiệm 10 lần. Thời gian trung bình xử lý xong hai mặt trước và sau một ảnh CCCD là 575mms/ảnh. Thời gian trung bình xử lý ảnh mặt trước thẻ CCCD là 325mms/ảnh, thời gian trung bình xử lý ảnh mặt sau thẻ CCCD là 250mms/ảnh.Tốc độ thời gian xử lý nhanh hay chậm của chương trình phụ thuộc vào cấu hình máy tính và định dạng hình ảnh ban đẩu.
4.4. Kết quả thực nghiệm
Kết quả thực nghiệm chương trình trên tập dữ liệu A 100 ảnh CCCD cho kết quả nhận diện vùng ảnh như bảng 4.2. Bảng 4.2. Kết quả trích vùng của ảnh CCCD STT Vùng dữ liệu Số vùng ảnh trích được Số vùng ảnh khơng trích được Tỉ lệ 1 Ảnh chân dung 100 0 100% 2 Số CCCD 100 0 100% 3 Họ và Tên 100 0 100% 4 Ngày sinh 100 0 100% 5 Giới tính 100 0 100% 6 Quốc tịch 100 0 100% 7 Quê quán 100 0 100% 8 Nơi cư trú 100 0 100% 9 Thời hạn sử dụng 100 0 100% 10 Đặc điểm nhận dạng 100 0 100% 11 Ngón trỏ phải 100 0 100% 12 Ngón trỏ trái 100 0 100% 13 Ngày cấp thẻ 100 0 100% Trung bình 100%
76
4.4.1. Kết quả trên tập dữ liệu A1
Trong tập dữ liệu A1 (74 ảnh) chuẩn, chụp, hoặc quét đúng kích thước, dữ liệu trong các ảnh đầy đủ. Tất cả các vùng dữ liệu trên tập A1 kết quả đều đạt 100%, kết quả thực nghiệm như bảng 4.3.
Bảng 4.3. Kết quả thực nghiệm trên tập dữ liệu A1
STT Tên vùng Kết quả vùng ảnh đúng Kết quả vùng ảnh sai Kết quả nhận dạng dữ liệu đúng Kết quả nhận dạng dữ liệu sai 1 Số CCCD 100% 0 100% 0 2 Họ và Tên 100% 0 100% 0 3 Ngày sinh 100% 0 100% 0 4 Giới tính 100% 0 100% 0 5 Quốc tịch 100% 0 100% 0 6 Quê quán 100% 0 100% 0 7 Nơi cư trú 100% 0 100% 0 8 Thời hạn S/D 100% 0 100% 0 9 ĐĐnhận dạng 100% 0 100% 0 10 Ngày cấp thẻ 100% 0 100% 0
4.4.2. Kết quả trên tập dữ liệu A2
Tập dữ liệu A2 có 26 ảnh khi chụp bị mờ (5 ảnh), số ảnh bị nhòe (18 ảnh), số ảnh bị cong vênh (1 ảnh) , số ảnh bị biến dạng (2 ảnh). Kết quả thực nghiệm trích xuất trong tin như bảng 4.4.
Trong tập dữ liệu A2 chúng tôi nhận thấy trong 26 ảnh CCCD chụp không đúng chuẩn như đã phân tích có kết quả nhận đượcnhư sau:
Dữ liệu ảnh CCCD chụp bằng máy ảnh 5 ảnh đúng 100%, dữ liệu ảnh CCCD chụp bằng điện thoại di động 5 ảnh đúng 100%, dữ liệu ảnh CCCD bằng máy quét 16 ảnh đúng 100%, dữ liệu ảnh CCCD là nam 21 ảnh đúng 100%, dữ liệu
77 ảnh CCCD là nữ 5 ảnh đúng 100%. Kết quả nhận diện vùng ảnh đạt 100% có 10/10 vùng nhận diện đúng. Kết quả nhận dạng dữ liệu đúng 9/10 đạt 100% chỉ có 1 vủng nhận diện bị sai một kí tự duy nhất, đó là vùng đặt điểm nhận dạng do ảnh chụp bị quá mờ, chữ viết bị dính liền như hình 4.4.
Bảng 4.4. Kết quả thực nghiệm trên tập dữ liệu A2
STT Tên vùng Kết quả vùng ảnh Kết quả vùng ảnh sai Kết quả nhận dạng dữ liệu đúng Kết quả nhận dạng dữ liệu sai 1 Số CCCD 100% 0 100% 0 2 Họ và Tên 100% 0 100% 0 3 Ngày sinh 100% 0 100% 0 4 Giới tính 100% 0 100% 0 5 Quốc tịch 100% 0 100% 0 6 Quê quán 100% 0 100% 0 7 Nơi cư trú 100% 0 100% 0 8 Thời hạn SD 100% 0 100% 0 9 ĐĐ nhận dạng 100% 0 99,8% 0,2% 10 Ngày cấp thẻ 100% 0 100% 0
Kết quả xử lý dữ liệu tính trung bình trên tập A 100 ảnh CCCD gồm có kết quả trung tập ảnh A1 và kết quả trung bình tập ảnh A2 là TB=(A1 + A2)/2. Dữ liệu đạt kết quả chính xác trên 99,9%.
4.5. Đánh giá 4.5.1. Ưu điểm 4.5.1. Ưu điểm
Phương pháp đề xuất trong luận văn có độ chính xác trên 99,9%. Trong đó, các trường chính xác 100% là trường số CCCD, Họ và tên, ngày tháng năm sinh, giới tính, quốc tịch, quê quán, nơi thường trú, ngày, tháng, năm cấp thẻ CCCD, ngày hết hạn. Trường đặc điểm nhận dạng có độ chính xác thấp nhất
78 (trên 99,8%) bởi vì trường này thường bị mờ, lem mực, do chữ nhỏ một số ký tự không rõ ràng.
Thời gian xử lý rất nhanh, thời gian trung bình xử lý hai mặt trước và mặt sau là 575mms/ ảnh CCCD.
4.5.2. Khuyết điểm
Trong 100 ảnh thực nghiệm chỉ có 2 ảnh bị sai ở trường đặc điểm nhận