Sau khi đã tách được từng ký tự ra khỏi ảnh, các dữ liệu đó sẽ được đưa vào mơ hình CNN đươc xây dựng bằng thư viện Tensorflow và chạy nền dưới Keras để huấn luyện và kiểm tra. Kết quả thu được rất tốt với hiệu suất nhận dạng đúng toàn bộ các captcha ngẫu nhiên trong tập kiểm tra .
2. Các bước thực nghiệm trên bộ dữ liệu Dataset-2
Do bộ dữ liệu Dataset-2 có cấu trúc gồm 2 loại dữ liệu khác nhau như hình 3.13. Nên bước đầu tiên, cần tìm cách để phân loại được 2 loại dữ liệu này để có phương án tiền xử lý hợp lý với mỗi loại.
Trong bước này, bằng cách dựa trên biểu đồ hình ảnh. Hình ảnh làm nhiễu bằng điểm chấm chứa rất nhiều điểm màu đen thuần túy (giá trị 0) trong đó, vì vậy cần tìm giá trị ngưỡng cho số điểm ảnh đen sẽ có hiệu quả phân loại. Ta sẽ phân loại được ảnh nhiễu chấm là loại 1, ảnh nhiễu gạch là loại 2.
Hình 3.13: 2 kiểu dữ liệu trong bộ dữ liệu Dataset-2
Sau khi phân loại được dữ liệu cần thực hiện tách từng kí tự trong captcha ra để nhận dạng bằng mơ hình CNN.
Đầu tiên sau khi phân loại dữ liệu trong bộ dữ liệu Dataset-2 cần phải khử nhiễu đối với từng loại captcha. Các bộ lọc khác nhau hoạt động tốt hơn trên các loại ảnh khác nhau. Sau khi thử nghiệm các bộ lọc khác nhau với 2 loại dữ liệu captcha phương án hợp lý nhất là sử dụng bộ lọc trung vị cho dữ liệu loại 1 và bộ lọc Gaussian cho dữ liệu loại 2. Cả 2 bộ lọc này sẽ làm mịn ảnh để thực hiện bước tiền xử lý tiếp theo. Kết quả thu được như hình 3.14: