Doc Transformers
Document processing using transformers. This is still in developmental phase, currently supports only extraction of form data i.e (key - value pairs)
pip install -q doc-transformers
Pre-requisites
Please install the following seperately
sudo apt install tesseract-ocr
pip install -q detectron2 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu101/torch1.8/index.html
Implementation
# loads the pretrained dataset also
from doc_transformers import form_parser
# loads the image
image = form_parser.load_image(input_path_image)
# gets the bounding boxes, predictions, extracted words and image processed
bbox, preds, words, image = form_parser.process_image(image)
# returns image and extracted key-value pairs along with title as the output
im, df = form_parser.visualize_image(bbox, preds, words, image)
# process and returns k-v pairs by concatenating relevant strings.
df_main = form_parser.process_form(df)
Results
Input & Output
Table
- After saving to csv the result looks like the following
LABEL | TEXT |
---|---|
title | CREDIT CARD VOUCHER ANY RESTAURANT |
title | ANYWHERE |
key | DATE: |
value | 02/02/2014 |
key | TIME: |
value | 11:11 |
key | CARD |
key | TYPE: |
value | MC |
key | ACCT: |
value | XXXX XXXX XXXX |
value | 1111 |
key | TRANS |
key | KEY: |
value | HYU8789798234 |
key | AUTH |
key | CODE: |
value | 12345 |
key | EXP |
key | DATE: |
value | XX/XX |
key | CHECK: |
value | 1111 |
key | TABLE: |
value | 11/11 |
key | SERVER: |
value | 34 |
value | MONIKA |
key | Subtotal: |
value | $1969 |
value | .69 |
key | Gratuity: Total: |
- Please note that this is still in development phase and will be improved in the near future