Tesseract - nyílt forrású OCR program a Google-től

Címkék

A Google Code Blog-ban olvasható egy bejelentés, miszerint a Google pár hónappal ezelőtt szép csendben nyílt forrásúvá tett egy karakterfelismerő programot (Optical Character Recognition - OCR). A Tesseract névre hallgató anyagot nem a Google fejlesztette. A fejlesztés a Hewlett-Packard Laboratories nevéhez fűződik, amely intézmény 1985-től 1995-ig dolgozott a szoftveren.

1995-ben a Tesseract benne volt a las vegas-i Nevada Egyetem által rendezett karakterfelismerési verseny első három helyezettje közt. Nem sokkal ezután a HP úgy döntött, hogy kiszáll az OCR üzletből, és a program ott porosodott a HP raktáraiban. Szerencsére néhány ember úgy gondolta, hogy nyílt forrású programként hasznos lehet. Az Information Science Research Institute segítségével nekiálltak a munkának. Ezután a Google-hez fordultak, hogy az néhány bug javításában a segítségükre legyen. A Google segített, majd a triviális bugok javítása után úgy döntöttek, hogy a Tesseract OCR megfelelően stabil ahhoz, hogy nyílt forrásúként újra kiadják.

Bővebben itt.

Hozzászólások

Vegre valami ezen a fronton!
A jelenlegi open "kinalat": Ocrad, GOCR nagyon tavol van a tenyleges alkalmazhatosagtol. (legalabbis ha az ember nem akar biomajom uzemmodba kapcsolni, es kezzel napokat/heteket tolteni javitgatassal)

>A fejlesztés a Hewlett-Packard Laboratories nevéhez fűződik, amely intézmény 1985-től 1995-ig dolgozott a szoftveren.

akkoriban álltak át a magyar fejlesztésű Recognitára, mert az minden szempontból jobb volt a sajátjuknál, ha jól emlékszem.
Eddig is voltak opensource ocr programok, mint a GNU Ocrad, vagy a Clara OCR illetve a Kookanak is van OCR funkciója. az biztos, hogy ezek képességei elmaradnak az azóra OmniPagere keresztelt Recognitától. kíváncsi vagyok, hogy ez a 10 éves kereskedelmi OCR miben jobb náluk. egy kicsit szkeptikus vagyok.

"a Kookanak is van OCR funkciója"

Hát persze. Feltéve, hogy van a gépeden egy ocrad vagy gocr, merthogy az is ezeket használja.

"kíváncsi vagyok, hogy ez a 10 éves kereskedelmi OCR miben jobb náluk"

Az omnipage nem free, úgyhogy például ebben.
Az ocrad, meg a gocr meg nem OCR programok, a szó valódi értelmében; csak amolyan "gumicsontok", hogy ha sok időd van legyen mivel kínlódnod addig is amíg rájössz, hogy ideje volna már valami érdemi OCR programot keríteni...

Amúgy érdekes, hogy jóformán minden "hétköznapi" feladatra vannak nagytudású opensource programok, viszont az OCR funkcióra valahogy csak ezek a szerénykék vannak. És még azt se lehet rájuk fogni, hogy legalább rohamvágtában fejlődnének...

---
If you have money, use Windows!
However, if you also have a brain, use Linux!

Nem nagyon vagyok otthon ezeknek a programoknak a belső működésében, valaki nálam hozzáértőbb világosítson már fel: az alap működési elv hasonló az ocr-ek és az érintőképernyős kézigépeken futó kézírásfelismerők között? Vagy utóbbi egész más megközelítés?

a recognita egyik fejlesztőjével beszélgettem a témáról a nyáron. az ocrnél az egyik legnehezebb feladat a jelek behatárolása. ez az érintőképernyőnél egyszerű, mert egy görbét kapsz, de egy írógépes szövegnél már nehezebb, mert az egy nem homogén pixelhalmaz. a recognitának több (3?) párhuzamosan működő algoritmusa van erre a feladatra, az elsődleges a betűk körvonalát próbálják megtalálni. ez írógépes/nyomott nyomdai szövegnél például nem megfelelő.

Laikusként gondolkodtam, hogy van nekünk egy nagyon jó raster->vector átalakítónk, a potrace, ami tapasztalatom szerint többek között a betűk vektoros körvonalának nagyon jó visszaadására is képes, nem lehet, hogy valahogy ennek a vektorozó motorjára kéne építeni? Bár úgy sejtem, hogy ez a dolog egyszerűbb oldala, utána még gondolom meg kell írni egy irtó bonyolult algoritmust, ami összehasonlítja egy "álltalános" betűképpel, és eldönti, hogy az adott vektor/vektorhalmaz milyen betű is. De javítsatok ki, ha marhaságon filózok, csak ötletelek.

Akinek egyaltalan lefordult, az adna egy rovid tippet, hogy pontosan hogyan tovabb? FreeBSD-n ne'mi reszeles (Linuxism javitas, include-hulyeseg javitas) utan lefordul. Minden meg is van. El is indul. De mar a tesztkep nem akarodzik menni; miutan feldob egy xterm alakot, abban felvillan (de nem elolvashato) egy uzenet, de semmi tobb; kiveve ezt az uzenetet a konzolon:

DAWG Table is too full, nodes = 2440, edges = 3052, moves 36

Futtatas termeszetesen a:

./tesseract phototest.tif proba.txt batch

paranccsal tortent, ahogy a "doksi" (khmmm) is irja.