You are on page 1of 2

Báo cáo kết quả

Ứng dụng CRNN đối với trường thông tin ID

I. Ý tưởng
1. Sinh ảnh để huấn luyện mô hình:
- Ta sẽ sinh ra tập ảnh tương tự với tập ảnh test nhằm mục đích huấn luyện mô hình
CRNN.
2. Xây dựng mô hình CRNN:
- Ta sẽ xây dựng mô hình CRNN, với chủ yếu là việc lựa chọn mô hình cho phần CNN
và RNN.

II. Phương pháp


1. Sinh ảnh để huấn luyện mô hình:
- Ta sử dụng thư viện TRDG - Text Recognition Data Generator cho việc sinh ảnh này.
- Dựa trên thực tế, dữ liệu sinh ra sẽ có định dạng:
+ Chữ số 0 ở đầu.
+ Font là Arial và Arial Bold.
+ Tỉ lệ chữ số 0 xuất hiện cao hơn so với các chữ số khác: ~26%, thống kê trên
244 ảnh test.
+ Nền ảnh được cắt từ thẻ căn cước công dân.
- Với mục đích tạo sự đa dạng cho tập ảnh, các điều kiện sau được thêm vào:
+ Làm mờ ảnh ở nhiều mức độ.
+ Khoảng cách giữa các chữ số từ 0 đến 4 pixel.
+ Nền ảnh có thêm lựa chọn: Gaussian noise, plain white, quasicrystal.
+ Xoay ảnh 1 góc nhỏ.
+ Chuyển dịch ảnh theo chiều dọc và chiều ngang.
+ Zoom ảnh với tỉ lệ 0.1.
- Tất cả ảnh đều ở dạng grayscale.
- Sau khi thử nghiệm nhiều lần, số lượng ảnh được sinh là 30 nghìn ảnh, trong đó có
24 nghìn ảnh train và 6 nghìn ảnh valid, đạt hiệu quả tốt nhất về độ chính xác và thời
gian huấn luyện mô hình.

Ví dụ ảnh được sinh


2. Xây dựng mô hình CRNN:
● Sau nhiều lần thử nghiệm, mô hình có kết quả tốt nhất bao gồm:
- Resnet 101 cộng thêm 1 lớp tích chập 3x3x256 ở phần CNN.
- 2 lớp LSTM bidirectional ở phần RNN.
- Hàm mất mát CTC loss.

III. Kết quả thực nghiệm


● Kết quả thực nghiệm ở trên 2 tập test: 1 tập có 223 ảnh và 1 tập có 26 ảnh. Tất cả
ảnh đều ở dạng grayscale.
1. Trên tập test 223:
- Kết quả đọc chính xác: 217/223 ảnh ~ 97.3%.
2. Trên tập test 26:
- Kết quả đọc chính xác: 26/26 ảnh - 100%.

● Kết luận:
- Kết quả khi sử dụng CRNN tuy không tốt bằng implement bằng CNN, tuy nhiên cũng
là rất cao.
- Đặc biệt, CRNN sẽ giải quyết được vấn đề về chữ số dính nhau, từ đó phù hợp với
nhiều bài toán trong tương lai.
- Cùng với đó là tốc độ chạy nhanh hơn nhiều so với việc sử dụng implement bằng
CNN.
- Tuy nhiên, là một mô hình end-to-end, ta sẽ gặp nhiều khó khăn hơn trong vấn đề
sửa lỗi và cải thiện kết quả.
- Mô hình cũng đòi hỏi một lượng ảnh dữ liệu lớn, dẫn đến việc thời gian huấn luyện
khá lâu.
- Trong bài toán này, dữ liệu ảnh của CRNN phức tạp hơn nhiều so với implement
bằng CNN, khi ta phải sinh ảnh 12 chữ số thay vì 1 chữ số.

You might also like