Receipts information extract app là ứng dụng cho phép người dùng chụp hoặc tải ảnh các hóa đơn từ điện thoại để rút trích thông tin từ những hóa đơn này. Thông tin được rút trích bao gồm: tên cửa hàng (seller), địa chỉ cửa hàng (address), thời gian mua hàng (timestamp) và tổng giá trị (total cost) của hóa đơn.
Công nghệ sử dụng:
− Client: Flutter (Dart)
− Server: Flask (Python)
89
5.3.2 Phân tích và thiết kế 5.3.2.1. Thiết kế use-case
90
5.3.2.2. Thiết kế user-flow
Hình 5-4: Sơ đồ tổng quan user-flow của ứng dụng
5.3.2.3. Thiết kế kiến trúc
91 5.3.2.4. Màn hình kết quả (a) (b) (c) (d) (e) (f)
Hình 5-6: Ảnh giao diện của ứng dụng. (a) Màn hình chính chứa thông tin lịch sử; (b) Màn hình chụp ảnh; (c) Màn hình xác nhận ảnh để rút trích thông tin; (d) Màn hình phóng lớn ảnh; (e) Màn hình thông tin sau khi rút trích (có thông tin thời gian rút trích); (f) Màn hình thông tin hóa đơn đã rút trích (có thông tin ngày thực hiện).
92
5.3.2.5. Hướng dẫn cài đặt (a) Server
Chạy các lệnh sau ở server:
pip install Flask
pip install Flask-Cors
git clone https://github.com/open-mmlab/mmdetection
git checkout a7a16afbf2a4bdb4d023094da73d325cb864838b
pip install torch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2
cd mmdetection
pip install -r requirements.txt
pip install -v -e .
pip install mmcv-full -f
https://download.openmmlab.com/mmcv/dist/cu101/torch1.7.0/index.html
cd ..
git clone https://github.com/pbcquoc/vietocr
pip install einops
pip install gdown
gdown --id '1-lsthl2jfpJ04dIkbWttpb6obyJRQTqX'
gdown --id '1-qDt1-lz2Q0pwKQgoOOypZ8bZWGCPO1A'
93 mkdir history
Tải file demo.py (Link:
https://github.com/BaoChauTranLe/kltn_demo/blob/master/demo.py) lên server, sửa
các thông tin về đường link của server (và port nếu cần) sau đó chạy bằng lệnh:
python demo.py
(b)Client
Clone project từ https://github.com/BaoChauTranLe/kltn_demo, thay đổi thông số url trong file kltn\lib\server_connection\server_connection.dart thành IP và port của server. Sau đó, run project.
94
Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
6.1. Kết luận
6.1.1 Kết quả đạt được
− Cái nhìn tổng quan về bài toán phát hiện đối tượng, lịch sử phát triển của nó, cụ thể là phát hiện đối tượng trong ảnh hóa đơn.
− Xây dựng bộ dữ liệu 2,147 ảnh hóa đơn với mục đích nghiên cứu bài toán đang giải quyết.
− Thực nghiệm phương pháp Faster R-CNN, YOLOv3, YOLOF cho bước phát hiện đối tượng.
− Thực nghiệm phương pháp AttentionOCR, TransformerOCR cho bước nhận diện ký tự quang học.
− Đề xuất sử dụng Precise Roi Pooling[6] thay cho Roi Pooling giúp tăng kết quả ở giai đoạn phát hiện thông tin.
− Xây dựng ứng dụng minh họa rút trích thông tin từ hóa đơn.
− Có 1 bài báo được chấp nhận đăng tại hội nghị 2022 IEEE 9th International Conference on Communications and Electronics (IEEE ICCE 2022).
6.1.2 Hạn chế
− Kết quả rút trích được dù đã có cải thiện nhưng vẫn còn nhiều sai sót, cần nhiều cải thiện.
− Một số phương pháp chưa thể thực nghiệm được do hạn chế về mặt thiết bị.
6.2. Hướng phát triển
− Tiếp tục mở rộng bộ dữ liệu.
− Tìm hiểu và thực nghiệm các phương pháp mới để cải thiện kết quả rút trích thông tin hóa đơn.
95
− Tìm hiểu các cách để cải thiện kết quả dựa trên các phương pháp cũ.
96
TÀI LIỆU THAM KHẢO
[1] Ba, J. L., Kiros, J. R., & Hinton, G. E. (2016). Layer normalization. arXiv preprint arXiv:1607.06450.
[2] Chen, Q., Wang, Y., Yang, T., Zhang, X., Cheng, J., & Sun, J. (2021). You only look one-level feature. In Proceedings of the IEEE/CVF Conference on
Computer Vision and Pattern Recognition (pp. 13039-13048).
[3] Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2018). Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint
arXiv:1810.04805.
[4]Girshick, R., Donahue, J., Darrell, T., & Malik, J. (2014). Rich feature hierarchies for accurate object detection and semantic segmentation.
In Proceedings of the IEEE conference on computer vision and pattern
recognition (pp. 580-587).
[5]Girshick, R. (2015). Fast r-cnn. In Proceedings of the IEEE international
conference on computer vision (pp. 1440-1448).
[6]Jiang, B., Luo, R., Mao, J., Xiao, T., & Jiang, Y. (2018). Acquisition of localization confidence for accurate object detection. In Proceedings of the
European conference on computer vision (ECCV) (pp. 784-799).
[7]He, K., Gkioxari, G., Dollár, P., & Girshick, R. (2017). Mask r-cnn.
In Proceedings of the IEEE international conference on computer vision (pp.
2961-2969).
[8] Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural computation, 9(8), 1735-1780.
[9] Huang, Z., Chen, K., He, J., Bai, X., Karatzas, D., Lu, S., & Jawahar, C. V. (2019, September). Icdar2019 competition on scanned receipt ocr and information extraction. In 2019 International Conference on Document Analysis and Recognition (ICDAR) (pp. 1516-1520). IEEE.
97
[10] Lin, T. Y., Dollár, P., Girshick, R., He, K., Hariharan, B., & Belongie, S. (2017). Feature pyramid networks for object detection. In Proceedings of the
IEEE conference on computer vision and pattern recognition (pp. 2117-2125).
[11] Lin, T. Y., Goyal, P., Girshick, R., He, K., & Dollár, P. (2017). Focal loss for dense object detection. In Proceedings of the IEEE international
conference on computer vision (pp. 2980-2988).
[12] Lin, T. Y., Maire, M., Belongie, S., Hays, J., Perona, P., Ramanan, D., ... & Zitnick, C. L. (2014, September). Microsoft coco: Common objects in context.
In European conference on computer vision (pp. 740-755). Springer, Cham.
[13] Parmar, N., Vaswani, A., Uszkoreit, J., Kaiser, L., Shazeer, N., Ku, A., & Tran, D. (2018, July). Image transformer. In International Conference on Machine Learning (pp. 4055-4064). PMLR.
[14] Park, S., Shin, S., Lee, B., Lee, J., Surh, J., Seo, M., & Lee, H. (2019, September). CORD: a consolidated receipt dataset for post-OCR parsing. In
Workshop on Document Intelligence at NeurIPS 2019.
[15] Patel, S., & Bhatt, D. (2020). Abstractive Information Extraction from Scanned Invoices (AIESI) using End-to-end Sequential Approach. arXiv preprint arXiv:2009.05728.
[16] Redmon, J., Divvala, S., Girshick, R., & Farhadi, A. (2016). You only look once: Unified, real-time object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 779-788).
[17] Redmon, J., & Farhadi, A. (2017). YOLO9000: better, faster, stronger. In
Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 7263-7271).
[18] Redmon, J., & Farhadi, A. (2018). Yolov3: An incremental improvement.
arXiv preprint arXiv:1804.02767.
[19] Ren, S., He, K., Girshick, R., & Sun, J. (2015). Faster r-cnn: Towards real- time object detection with region proposal networks. Advances in neural information processing systems, 28.
98
[20] Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., ... & Polosukhin, I. (2017). Attention is all you need. Advances in neural
information processing systems, 30.
[21] Vu, X. S., Bui, Q. A., Nguyen, N. V., Nguyen, T. T. H., & Vu, T. (2021, August). Mc-ocr challenge: Mobile-captured image document recognition for vietnamese receipts. In 2021 RIVF International Conference on Computing
and Communication Technologies (RIVF) (pp. 1-6). IEEE.
[22] Xu, Y., Li, M., Cui, L., Huang, S., Wei, F., & Zhou, M. (2020, August). Layoutlm: Pre-training of text and layout for document image understanding. In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (pp. 1192-1200).
[23] Yu, F., & Koltun, V. (2015). Multi-scale context aggregation by dilated convolutions. arXiv preprint arXiv:1511.07122.
[24] Yu, W., Lu, N., Qi, X., Gong, P., & Xiao, R. (2021, January). PICK: processing key information extraction from documents using improved graph learning-convolutional networks. In 2020 25th International Conference on Pattern Recognition (ICPR) (pp. 4363-4370). IEEE.
[25] Zou, Z., Shi, Z., Guo, Y., & Ye, J. (2019). Object detection in 20 years: A survey. arXiv preprint arXiv:1905.05055.
99
PHỤ LỤC A – BÀI BÁO
Bài báo khoa học được chấp nhận đăng tại Hội nghị khoa học 2022 IEEE 9th International Conference on Communications and Electronics (ICCE 2022)
104