All Projects → kaylode → vietnamese-ocr-toolbox

kaylode / vietnamese-ocr-toolbox

Licence: Apache-2.0 license
A toolbox for Vietnamese Optical Character Recognition.

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to vietnamese-ocr-toolbox

Adelaidet
AdelaiDet is an open source toolbox for multiple instance-level detection and recognition tasks.
Stars: ✭ 2,565 (+9765.38%)
Mutual labels:  ocr, text-detection
East
A tensorflow implementation of EAST text detector
Stars: ✭ 2,804 (+10684.62%)
Mutual labels:  ocr, text-detection
Text Detection
Text detection with mainly MSER and SWT
Stars: ✭ 167 (+542.31%)
Mutual labels:  ocr, text-detection
Tedeval
TedEval: A Fair Evaluation Metric for Scene Text Detectors
Stars: ✭ 143 (+450%)
Mutual labels:  ocr, text-detection
doctr
docTR (Document Text Recognition) - a seamless, high-performing & accessible library for OCR-related tasks powered by Deep Learning.
Stars: ✭ 1,409 (+5319.23%)
Mutual labels:  ocr, text-detection
East icpr
Forked from argman/EAST for the ICPR MTWI 2018 CHALLENGE
Stars: ✭ 154 (+492.31%)
Mutual labels:  ocr, text-detection
Ocr.pytorch
A pure pytorch implemented ocr project including text detection and recognition
Stars: ✭ 196 (+653.85%)
Mutual labels:  ocr, text-detection
Keras Ctpn
keras复现场景文本检测网络CPTN: 《Detecting Text in Natural Image with Connectionist Text Proposal Network》;欢迎试用,关注,并反馈问题...
Stars: ✭ 89 (+242.31%)
Mutual labels:  ocr, text-detection
pytorch.ctpn
pytorch, ctpn ,text detection ,ocr,文本检测
Stars: ✭ 123 (+373.08%)
Mutual labels:  ocr, text-detection
align iranian national id card
A program to align rotated id cards and extract user data from it.
Stars: ✭ 48 (+84.62%)
Mutual labels:  ocr, idcard-ocr
Craft keras
Keras implementation of Character Region Awareness for Text Detection (CRAFT)
Stars: ✭ 143 (+450%)
Mutual labels:  ocr, text-detection
saram
Get OCR in txt form from an image or pdf extension supporting multiple files from directory using pytesseract with auto rotation for wrong orientation. PYPI:
Stars: ✭ 51 (+96.15%)
Mutual labels:  ocr, character-recognition
Craft Remade
Implementation of CRAFT Text Detection
Stars: ✭ 127 (+388.46%)
Mutual labels:  ocr, text-detection
Craft Pytorch
Official implementation of Character Region Awareness for Text Detection (CRAFT)
Stars: ✭ 2,220 (+8438.46%)
Mutual labels:  ocr, text-detection
Differentiablebinarization
DB (Real-time Scene Text Detection with Differentiable Binarization) implementation in Keras and Tensorflow
Stars: ✭ 106 (+307.69%)
Mutual labels:  ocr, text-detection
Awesome Deep Text Detection Recognition
A curated list of resources for text detection/recognition (optical character recognition ) with deep learning methods.
Stars: ✭ 2,282 (+8676.92%)
Mutual labels:  ocr, text-detection
Image Text Localization Recognition
A general list of resources to image text localization and recognition 场景文本位置感知与识别的论文资源与实现合集 シーンテキストの位置認識と識別のための論文リソースの要約
Stars: ✭ 788 (+2930.77%)
Mutual labels:  ocr, text-detection
Ctpn
Detecting Text in Natural Image with Connectionist Text Proposal Network (ECCV'16)
Stars: ✭ 1,220 (+4592.31%)
Mutual labels:  ocr, text-detection
Handwritten-Names-Recognition
The goal of this project is to solve the task of name transcription from handwriting images implementing a NN approach.
Stars: ✭ 54 (+107.69%)
Mutual labels:  ocr, character-recognition
memento
Organize your meme image cluster in a better format using OCR from the meme to sort them using tesseract along with editing memes by segmenting them using OpenCV within a directory
Stars: ✭ 70 (+169.23%)
Mutual labels:  ocr, character-recognition

An OCR Toolbox for Vietnamese Documents

CodeFactor

This toolbox provides a pipeline to do OCR in Vietnamese documents (such as receipts, personal id, licenses,...). The project also support flexibility for adaptation.

📑 More infomation:

  • Report: link
  • Youtube: Youtube

Invoice (from SROIE19 dataset)

Alt text

Personal ID (image from internet)

Alt text

Pipeline in detail:

  1. Use Canny Edge Detector and then detect contours.
  2. Extract receipt from image and normalize.
  3. Use Pixel Agreation Network (PAN) to detect text regions from extracted receipt, then crop these regions.
  4. Use VietOCR to extract texts from regions, then perform word correction.
  5. Retrieve information

Notebooks

  • Notebook for training PAN: Notebook

  • Notebook for training Transformer OCR: Notebook

  • Notebook for training PhoBERT: Notebook

  • Notebook for inference: Notebook

Pipeline

Main Pipeline

Alt Text

Process Flow Block

Alt Text

There are two stages (can also run in second stage only):

  • The first stage is to detect and rectify document in the image, then forward through the "process flow" to find the best orientation of the document.
  • The second stage is to forward the rotated image through the entire "process flow" normally to retrieve information

Datasets

screen screen screen
screen screen screen

Pretrained weights

  • Pretrained PAN weights on SROIE19:
Model Image Size Weights [email protected] Pixel accuracy IOU
PAN (baseline) 640 x 640 link 0.71 0.95 0.91
PAN (rotation) 640 x 640 link 0.66 0.93 0.88
  • Pretrained OCR weights on MCOCR2021:
Model Weights Accuracy (full seq) Accuracy (per char)
Transformer OCR link 0.890 0.981
  • Pretrained PhoBERT weights on MCOCR2021:
Model Weights Accuracy (train) Accuracy (val)
PhoBERT link 0.978 0.924

Inference

  • Install dependencies pip install -r requirements.txt

  • Full pipeline:

python run.py --input=<input image> --output=<output folder>
  • Extra Parameters:
    • --debug: whether to save output of each step
    • --find_best_rotation: whether to find best rotation first
    • --do_retrieve: whether to retrieve information (based on class defined in config) or ocr only

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].