Transformer base text detection
Project description
VietOCR
Các bạn vui lòng cập nhật lên version mới nhất để không xảy ra lỗi.
Trong project này, mình cài đặt mô hình Transformer OCR nhận dạng chữ viết tay, chữ đánh máy cho Tiếng Việt. Kiến trúc mô hình là sự kết hợp tuyệt vời giữ mô hình CNN và Transformer (là mô hình nền tảng của BERT khá nổi tiếng). Mô hình TransformerOCR có rất nhiều ưu điểm so với kiến trúc của mô hình CRNN đã được mình cài đặt. Các bạn có thể đọc tại đây về kiến trúc và cách huấn luyện mô hình với các tập dữ liệu khác nhau.
Mô hình VietOCR có tính tổng quát cực tốt, thậm chí có độ chính xác khá cao trên một bộ dataset mới mặc dù mô hình chưa được huấn luyện bao giờ.
Cài Đặt
Để cài đặt các bạn gõ lệnh sau
pip install vietocr
Quick Start
Các bạn tham khảo notebook này để biết cách sử dụng nhé.
Cách tạo file train/test
File train/test có 2 cột, cột đầu tiên là tên file, cột thứ 2 là nhãn(không chứa kí tự \t), 2 cột này cách nhau bằng \t
20160518_0151_25432_1_tg_3_5.png để nghe phổ biến chủ trương của UBND tỉnh Phú Yên
20160421_0102_25464_2_tg_0_4.png môi trường lại đều đồng thanh
Tham khảo file mẫu tại đây
Model Zoo
Thư viện này cài đặt cả 2 kiểu seq model đó là attention seq2seq và transfomer. Seq2seq có tốc độ dự đoán rất nhanh và được dùng trong industry khá nhiều, tuy nhiên transformer lại chính xác hơn nhưng lúc dự đoán lại khá chậm. Do đó mình cung cấp cả 2 loại cho các bạn lựa chọn.
Mô hình này được huấn luyện trên tập dữ liệu gồm 10m ảnh, bao gồm nhiều loại ảnh khác nhau như ảnh tự phát sinh, chữ viết tay, các văn bản scan thực tế. Pretrain model được cung cấp sẵn.
Kết quả thử nghiệm trên tập 10m
Backbone | Config | Precision full sequence | time |
---|---|---|---|
VGG19-bn - Transformer | vgg_transformer | 0.8800 | 86ms @ 1080ti |
VGG19-bn - Seq2Seq | vgg_seq2seq | 0.8701 | 12ms @ 1080ti |
Thời gian dự đoán của mô hình vgg-transformer quá lâu so với mô hình seq2seq, trong khi đó không có sự khác biệt rõ ràng giữ độ chính xác của 2 loại kiến trúc này.
Dataset
Mình chỉ cung cấp tập dữ liệu mẫu khoảng 1m ảnh tự phát sinh. Các bạn có thể tải về tại đây.
License
Mình phát hành thư viện này dưới các điều khoản của Apache 2.0 license.
Liên hệ
Nếu bạn có bất kì vấn đề gì, vui lòng tạo issue hoặc liên hệ mình tại pbcquoc@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file vietocr-0.3.13.tar.gz
.
File metadata
- Download URL: vietocr-0.3.13.tar.gz
- Upload date:
- Size: 29.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f4e326297a63aa9f209b478aa858084882996a2d9ab88af6d1158471b59736c |
|
MD5 | b5a7ab8bbab805d1d3b90b52d161d434 |
|
BLAKE2b-256 | ba0b9bc9ac71738696be86457a73f4a6a373b2919ee2543aa2c7d3cc666bc5b3 |
File details
Details for the file vietocr-0.3.13-py3-none-any.whl
.
File metadata
- Download URL: vietocr-0.3.13-py3-none-any.whl
- Upload date:
- Size: 34.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07b3777e5176b0d733cb056b68bd817371605f4b3514795fbf91ad4e181b8ccf |
|
MD5 | 1f90c094b2aed03361fa8e67caac4801 |
|
BLAKE2b-256 | 838a84762197abf9b4c0a8ca0ebceda2c79adb5773a64578fd6d0776f93142ab |