OCRopus / ocropy updates

732 views
Skip to first unread message

Tom

unread,
Dec 16, 2014, 5:26:52 PM12/16/14
to ocr...@googlegroups.com
I joined Google this year. Google permits me to spend time on the OCRopus project and contribute. As part of this, I moved the project to Github, because it's easier to maintain there.

I just pushed out a new update of ocropy. This includes mainly faster/smaller saving of models, as well as a C++ implementation of the LSTM network. The C++ LSTM implementation is a pretty straightforward port of the Python version and runs much faster. The C++ classes have been wrapped as Python classes and are callable from Python. There are two new top-level drivers, ocropus-ltrain and ocropus-lpred, for the C++ implementation. The C++ implementation appears to be numerically close to the Python implementation and yield good recognizers when trained, but it requires more testing.

As before, this is research-level software with minimal documentation (do look at the iPython Notebooks, the .ipynb files, since they contain significant information). Feel free to contribute patches, documentation, etc. using the usual Github mechanisms of merge requests. I'll try to incorporate them as time permits.

Tom

Chris Pietsch

unread,
Dec 16, 2014, 5:42:29 PM12/16/14
to ocr...@googlegroups.com
Cool, Tom!

I guess this is your GitHub repository: https://github.com/tmbdev/ocropy

Cheers!

81+ yrsold

unread,
Dec 17, 2014, 8:36:34 AM12/17/14
to ocr...@googlegroups.com, Shree Devi Kumar
Tom,
I am really happy - you have resumed ocropus project again. Trust this time I hope Ocropus Project will support for Indic lang(Indian languages) this time.
With warmest regards,
sriranga(81+yrs)

Tom

unread,
Dec 17, 2014, 2:40:11 PM12/17/14
to ocr...@googlegroups.com, shree...@gmail.com
With the new recognizer, it should be pretty easy to train. We've trained it for other scripts purely from generated data and gotten pretty good results.

I'll try to create some more documentation and some simpler training scripts.

Tom

Shibamouli Lahiri

unread,
Dec 23, 2014, 9:40:17 PM12/23/14
to ocr...@googlegroups.com
Hi Tom,

Thanks much for the update. I'm new to Ocropus, and I had a question on running rtrain.

Do you know (or have an estimate of) how many lines of text does the program take (to train) before it starts giving reasonable results? I'm wondering because since it's neural network based, I'd hazard a guess that it'd take more than a few thousand lines?

More details:  I'm working on gathering labeled data for Bengali (Bangla) OCR, and needed an estimate of lines that I'll need to transcribe as a starter.

Regards,
Shibamouli

Tom

unread,
Jan 5, 2015, 12:20:42 PM1/5/15
to ocr...@googlegroups.com
Actually, it takes surprisingly little data: after a few thousand lines of text, you already get pretty readable results for Latin text.  

You can train on simulated data as well with good results: a tool for generating training data artificially is included (but probably requires a bit of adaptation for other scripts).

Tom

Shibamouli Lahiri

unread,
Jan 5, 2015, 12:47:19 PM1/5/15
to ocr...@googlegroups.com
Thank you very much Tom for the information. I'll take a look into the simulation tool.

Happy New Year,
Shibamouli

Everest

unread,
Jul 8, 2015, 3:25:01 PM7/8/15
to ocr...@googlegroups.com
Hello Tom,
      Does the C++LSTM implements ocropus-gpseg as well? I kind of need that function in my work currently. Thank you very much!

Laurent Denoue

unread,
Jun 10, 2016, 1:27:32 PM6/10/16
to ocropus
Tom,
I noticed the en-default.pynn.gz file is huge, 80Mb, 350Mb uncompressed.
I thought neural networks were just small sets of weights. Why are the models so big?

Laurent
Reply all
Reply to author
Forward
0 new messages