- Bài toán đặt ra là chuyển những hình ảnh chữ viết tay tiếng Việt thành dữ liệu lưu trong tệp văn bản (text). Đại khái, input là một hình ảnh chứa một câu văn và output là những đoạn text xuất hiện trong hình ảnh đó.
- Cách tiếp cận ở đây là sử dụng thuật toán deep learning để giải quyết. Cụ thể, chúng ta sẽ cần một CNNs để trích xuất các đặc trưng của ảnh, và bởi vì đầu ra là chuỗi, nên ta nghĩ ngay đến cần RNN để xử lý. Ngoài ra còn cần sử dụng CTC network để tính loss trong quá trình huấn luyện và thu được output theo thời gian.
(Đảm bảo rằng bạn đã thiết lập môi trường để chạy python và git)
- Clone từ GitHub: (bản cuối cùng ở branch2)
git clone https://github.com/tandat17z/HUST_ML_HandwritingRecognition.git
- Tới thư mục làm việc của project. Ví dụ:
cd D:\HUST_ML_HandwritingRecognition
- Install các thư viện cần trong project:
pip install -r requirements.txt
- Dữ liệu để train (test) là một foldler chứa 2 folder con là img và label.
- Trong đó:
- img là tập các file hình ảnh về chữ viết tay (trên 1 dòng)
- label là tập các file txt chứa nội dung về hình ảnh tương ứng. (các file trong img và label tương ứng cần có tên giống nhau)
- Tham khảo: train_data
-
Training:
python main.py --dstrain {train_folder} --dsval {val_folder} --savedir {save_folder} --nepochs {num}
- Để biết chi tiết các cấu hình khi train, ta có thể sử dụng lệnh sau:
python main.py -h
- Quá trình training: link_train
- Để biết chi tiết các cấu hình khi train, ta có thể sử dụng lệnh sau:
-
Predict:
- Tham khảo tại predict.ipynb.
- Kết quả: