Hoot!

An Optical Character Recognition System

What?

“Hoot!” is an optical character recognition system – a program that converts images into text, so that they can be more easily manipulated by other computer programs

It was created by a group of class of 2011 Computer Science majors at Carleton College for their senior integrative exercise.

How?

Hoot!

Our OCR system is implemented in Python, using the OpenCV, SRILM, PIL and NumPy libraries.

In a nutshell, our program is designed around a pipeline of abstract base classes whose actual implementations can be changed and swapped out easily. The data, beginning as a raw image, flows through the pipeline, eventually being returned as text. Briefly:

You can learn more about how it works from our PowerPoint presentation about Hoot!.

Who?

Daniel Ehrenberg is a Computer Science and Math major from Rochester, NY, who plans to work in the Bay Area as a programmer after graduation.

Paul Carpenter is a townie Computer Science and CAMS major, who enjoys French, the so-called word whom and other pretentious things.

Aaron McCarty is a Computer Science major from Seattle, WA. He has certain interests which would be fun to share here.

Travis Raines is a Computer Science major from Lynchburg, VA. He likes Russian, ballroom dance, and graphs.

Eric Brenner is a Computer Science major from Plymouth, MN. His interests outside of CS include diving, running and musical composition.

Later?

Our OCR system is not very high-quality. It has low recognition accuracy in several situations. As a first step, we should improve our testing infrastructure to get a very good idea of the quality of various stages of recognition against realistic workloads. This data will help inform improvements to the algorithms, and it can help us set existing tuning parameters.

There are several specific improvements to algorithms which we have in mind. These are detailed in our presentation.