Giter VIP home page Giter VIP logo

tabulo's Introduction

Tabulo


Tabulo is an open source toolkit for computer vision. Currently, we support table detection, but we are aiming for much more. It is built in Python, using Luminoth, TensorFlow and Sonnet.

Table of Contents

  1. Installation Instructions
  2. Avaiable API's
  3. Working with pretrained Models
  4. Runnning Tabulo
  5. Runnning Tabulo As Service
  6. Supported models
  7. Usage
  8. Working with datasets
  9. Training
  10. LICENSE

1. Installation Instructions

Tabulo currently supports Python 2.7 and 3.4โ€“3.6.

1.1 Pre-requisites

To use Tabulo, TensorFlow must be installed beforehand. If you want GPU support, you should install the GPU version of TensorFlow with pip install tensorflow-gpu, or else you can use the CPU version using pip install tensorflow.

We are using tesseract to extract data from table so you have to install tesseract also. Follow this link to install tessersact

1.2 Installing Tabulo

First, clone the repo on your machine and then install with pip:

git clone https://github.com/interviewBubble/Tabulo.git
cd tabulo
pip install -e .

1.3 Check that the installation worked

Simply run tabulo --help.

2. Avaiable API's

  • localhost:5000/api/fasterrcnn/predict/ - To detect table in the image
  • localhost:5000/api/fasterrcnn/extract/ - Extract table content from detected tables

3. Working with pretrained Models:

  • DOWNLOAD pretrained model from Google drive
  • Unzip and Copy downloaded luminoth folder inside luminoth/utils/pretrained_models folder
  • Hit this command to list all check points: tabulo checkpoint list
  • You will get output like this: Checkpoints
  • Now run server using this command: tabulo server web --checkpoint 6aac7a1e8a8e

4. Runnning Tabulo

4.1 Running Tabulo as Web Server:

Running Tabulo

4.2 Example of Table Detection with Faster R-CNN By Tabulo:

Example of Table Detection with Faster R-CNN By Tabulo

4.3 Example of Table Data Extraction with tesseract By Tabulo:

Example of Table Data Extraction with tesseract By Tabulo

5. Runnning Tabulo As Service:

5.1 Using Curl command

curl -X POST \
  http://localhost:5000/api/fasterrcnn/predict/ \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Postman-Token: 70478bd2-e1e8-442f-b0bf-ea5ecf7bf4d8' \
  -H 'cache-control: no-cache' \
  -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
  -F image=@/path/to/image/page_8-min.jpg

5.2 With PostMan

Header Section:

Table Detection using Postman

Data Section:

Table Detection using Postman

6. Supported models

Currently, we support the following models:

We also provide pre-trained checkpoints for the above models trained on popular datasets such as COCO and Pascal.

7. Usage

There is one main command line interface which you can use with the tabulo command. Whenever you are confused on how you are supposed to do something just type:

tabulo --help or tabulo <subcommand> --help

and a list of available options with descriptions will show up.

8. Working with datasets

DataSet to train your custom model.

9. Training

See Training your own model to learn how to train locally or in Google Cloud.

10. LICENSE

Released under the BSD 3-Clause.


References

tabulo's People

Contributors

the-black-knight-01 avatar stubbyb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.