What's new? | Help | Directory | Sign in
Google
             
Search
for
Updated Mar 20, 2008 by tmbdev
ContributingToOcropus  
Project Ideas for OCRopus

General Comments

Our goal is to support many languages, scripts, and platforms. That's a huge task, and no single company or research group can accomplish it. We're therefore hoping for user contributions in a number of areas:

In terms of code specifically for improving OCR and supporting new languages, there are several areas where you can contribute:

Even if you can't contribute in terms of coding, you can still help us out:

.

.

.

.

.

Possible Projects

Here's a list of possible projects for OCRopus. These can be done as student projects, summer projects, collaborative projects between research labs, joint research grant applications, or other means. They have varying degrees of difficulty.

Before you start off on a project, please send a message to the OCRopus mailing list to make sure that there is no duplication of effort.

Integration of Other OCR Software

There are a number of open source OCR packages for various languages. One example is hOCR, a Hebrew OCR package. These packages could be integrated into OCRopus for supporting additional languages, scripts, as well as provide additional space/time/performance tradeoffs.

Language Modeling

Integration of Open Source Language Modeling Tools

There are a number of open source language modeling toolkits that are potentially useful for OCRopus, including:

Generally, the output from those toolkits needs to be converted into an OpenFST transducer for use in OCRopus.

Creation of Language Models for Specific Languages

In order to apply OCRopus to different languages, we need language models (a generalization of the dictionaries used in other OCR systems). Language models come in several varieties: n-graph, n-gram, dictionary, plus back-off between those models.

Character and Line Recognizers

Segmentation-Free Scanning Recognizer

Segmentation free recognizers scan a recognizer like an MLP across an input line image and for each location estimate a posterior probability. A useful project would be to write a segmentation-free recognizer for OCRopus, based on the existing MLP and dynamic programming code.

HMM-based Recognizer

HMM recognizers treat the OCR problem similar to a speech recognition problem, with vertical slices through the input image taking the place of spectra. HMM-based recognizers are useful for low-resolution inputs. We have an HMM-based recognizers that needs to be integrated into OCRopus, trained, and tested.

Word Shape Recognizer

Word shape recognition attempts to perform OCR not by recognizing individual characters, but by recognizing the shape of entire words at once. A word-shaped recognizer for OCRopus would be useful for degraded inputs, as well as scripts that are difficult to recognize via segmentation.

Adaptation to Handwriting

The OCRopus system is derived from a handwriting recognition system. To restore that functionality requires some programming, training on handwriting data, and testing the system.

Integration with Other Projects

Integration with gscan2pdf

http://gscan2pdf.sourceforge.net/

gscan2pdf scans pages and converts them into PDF files. Integration of OCRopus would allow gscan2pdf to generate searchable text.

Integration with GnomeScan / LibAccroc

http://live.gnome.org/GnomeScan

http://live.gnome.org/LibAccroc

These are the standard tools for OCR integration into Gnome.

Integration with Accessibility Tools

http://www.seeingwithsound.com/

Provide a desktop reader, integration with handheld cameras.

Integration with Gnome Desktop Search

Tracker and Beagle are two Gnome desktop search engines. Right now, there are some document types they cannot index (some PDFs, TIFF scans, etc.). By integrating OCRopus into these, they would be able to index image-based documents as well.

Direct Recognition of DjVu Documents

DjVu documents are highly compressed images using token-based compression. Being able to run OCRopus on DjVu documents has two advantages: first, it opens up another image format, and second, it has the potential for speeding up OCR by having to recognize each cluster only once.

Cell Phone-Based Scanning

Supporting high quality server-based scanning from a cell phone.

(We already have camera-based imaging software that we could contribute if someone wants to tackle this seriously.)

Python Bindings

High quality Python bindings to permit OCRopus toolboxes to be used as Python libraries.

OCRopus GUI

Develop a stand-alone GUI for OCRopus-based OCR, including layout correction.

.

.

.

.

.


Comment by trevorlblum, Sep 27, 2007

Hello,

I am an Intel MAC OS X user, (ex Unix/Windows programmer) and have a friend who wants OCROpus on Debian. If a MAC port were feasible, using COCOA, I might then be able to do the Debian port.

I would be interested in your thoughts.

Cheers, Trevor trevorblum@optusnet.com.au

Comment by trevorlblum, Sep 27, 2007

Hello,

I am an Intel MAC OS X user, (ex Unix/Windows programmer) and have a friend who wants OCROpus on Debian. If a MAC port were feasible, using COCOA, I might then be able to do the Debian port.

I would be interested in your thoughts.

Cheers, Trevor trevorblum@optusnet.com.au

Comment by babelworx, Jan 26, 2008

Hi! Just wanted to point out that ocropus is available on the openSUSE build service:

Go to http://software.opensuse.org/search and look for ocropus (it's available for a number of different distributions and architectures - not just openSUSE)

Alternatively, with a build service account, you can log in to: https://build.opensuse.org/project/show?project=home:jnweiger

Comment by naesten, Feb 25, 2008

How exactly would COCOA be useful to ocropus?

Comment by powerpdn, Oct 03, 2008

To make a GUI, perhaps.


Sign in to add a comment