Digitaalikameralla kuvatun tekstin tunnistaminen OCR-ohjelmalla Mika Kallioja 19.7.2001
Työn tarkoitus Työn tarkoituksena oli määrittää digitaalikameran soveltuvuus OCR-ohjelmassa (Optical Character Recognition) käytettävien kuvien ottamiseen. Samalla suoritettiin vertailua skanneriin, ja yritettiin määrittää raja tunnistusprosentille, jonka yläpuolella automaattisen tekstintunnistuksen käyttäminen on kannattavaa. Käytetty laitteisto Lasertulostin Brother Digitaalikamera Skanneri Skannaus- ja tunnistuskone HL-1270N, 1200 600 dpi Canon EOS D30 UMAX Astra 1200s Hewlett Packard Kayak XU OCR-ohjelmana toimi OmniPage Pro 10.0, ja skannaamiseen käytettiin Vistascania ja Adobe Photoshop 5.0:aa. Testiarkit Testiarkit olivat kooltaan A4 (210*297 mm). Tekstin fontiksi valittiin Arial, koska se se on melko yksinkertainen ja suoraviivainen. Fontin koon vaikutusta tunnistusprosenttiin tutkittiin pistekokojen 14, 12, 10 ja 8 avulla. Kontrastin vaikutusta tutkittasessa käytettiin pistekokoja 16, 14, 12, 10 ja 8. Arkeissa oli myös kokoa 6x8 ruutua oleva taulukko, mutta tunnistusprosenttia Iaskettaessa se jätettiin tuloksista pois erittäin huonon menestyksen vuoksi. Kontrastia pienennettiin paperin taustaväriä muuttamalla. Taustaväreinä käytettiin valkoista sekä harmaan tasoja 25%, 40%, 50% ja 80%. Esimerkit testiarkeista liitteissä 1 ja 2. Ensimmäisessä fontin kokona 12 pistettä ja toisessa kontrastina 75%. Kokeiden suorittaminen Kuvat otettiin digitaalikameralla normaalissa sisävalaistuksessa, eikä valaistusolosuhteisiin kiinnitetty sen enempää huomiota, sillä kamerassa oli salama. Kamera yritettiin kohdistaa ja tarkentaa mahdollisimman hyvin, vaikkakin se oli säädetty täysin automaattiseksi. Kameralla otetut kuvat olivat n. 1,3Mb:n kokoisia, ja ne tallennettiin JPEG-formaattiin. Kuvat siirrettiin tunnistuskoneeseen FTP-palvelimen kautta. Tunnistusohjelmassa alkuperäisen dokumentin asetteluksi valittiin single column ja tunnistetulle dokumentille 2
remove formatting. Tunnistetut dokumentit tailennettiin Word-tiedostoiksi, jonka jälkeen ne tulostettiin ja virheelliset merkit laskettiin käsin. Näin toimittiin myös skannattujen kuvien kanssa. Fontin kokoa vaihdeltaessa skannaus suoritettiin ohjelman OCR-asetusten avulla ja kuva tailennettiin JPEG-formaattiin, kun taas kontrastia muutettaessa arkit oli pakko skannata mustavalkoisina kuvina, jolloin tallennusformaattina oli TIFF. Tulokset Tutkittaessa fontin koon vaikutusta tunnistusprosenttiin paperidokumentti sisälsi 262 sanaa ja 2162 merkkiä. Tunnistettujen merkkien määrät ja tunnistusprosentit digitaalikameralla otetusta ja skannatusta kuvasta on esitetty taulukoissa 1 ja 2. Taulukko 1 Tulokset digitaalikameralla. Fontti Sanoja Merkkejä Vääriä Tunnistus-% Arial 14 264 2163 5 99,8 Arial 12 263 2125 133 93,8 Arial 10 263 2088 279 87,1 Arial 8 288 1983 525 75, 7 14 pisteen fontilla kirjoitetun tekstin ohjelma siis tunnisti digitaalikameran kuvasta miltei täysin. Fonttikoon 12 tunnistusprosentti 93,8 oli periaatteessa vielä varsin hyvä, koska teksti oli kohtuullisen hyvin luettavissa. Fonttikoolla 10 tunnistusprosentti laski jo alle 90:n, jolloin tekstiä pystyi vielä ymmärtämään, mutta sen korjaaminen tekstinkäsittelyohjelmassa olisi jo sangen rasittavaa ja veisi varmasti kauemmin kuin koko tekstin uudelleenkirjoittaminen. Pienimmän fontin tunnistusprosentti oli jo niin alhainen, ettei tekstissä tuntunut olevan paljoakaan järkeä. Taulukko 2 Tulokset skannerilla. Fontti Sanoja Merkkejä Vääriä Tunnistus-% Arial 14 266 2172 6 99,7 Arial 12 263 2165 1 100,0 Arial 10 263 2164 0 100,0 Arial 8 263 2164 1 100,0 Skannatuista kuvista ohjelma siis tunnisti tekstin melkein täydellisesti. Fontin koon vaikutus tunnistusprosenttiin on esitetty graafiseti kuvassa 1. 3
Kuva 1 Fontin koon vaikutus tunnistusprosenttiin. Kontrastin vaikutusta tutkittaessa testiarkissa oli 323 sanaa ja 3275 merkkiä. Tunnistettujen merkkien määrät ja tunnistusprosentit on esitetty taulukoissa 3 ja 4. Tuloksista on siis jätetty testiarkissa olleen taulukon aiheuttamat virheet huomioimatta. Lähes mustalle taustalle kirjoitettua tekstiä ohjelma ei tunnistanut kummassakaan tapauksessa ollenkaan, ja antoi tulokseksi alkuperäisen kuvan. Tämän vuoksi tulosten käsittely rajataan neljään vaaleimpaan arkkiin. Taulukko 3 Tulokset digitaalikameralla. Kontrasti (%) Sanoja Merkkejä Vääriä Tunnistus-% 100 321 3176 404 87,7 75 322 3170 473 85,6 60 325 3198 513 84,3 50 321 3220 700 78,6 20 0 0 3275 0,0 Testiarkissa oli siis käytetty suurimmaksi osaksi pientä fonttikokoa, mikä selittää huonohkon tunnistusprosentin digitaalikameran kuvasta täydelläkin kontrastilla. Kontrastin heikentämisellä ei näyttänyt olevan suurtakaan vaikutusta ennen 50%:n sävyeroa, jolloin tunnistusprosentti laski selvästi eniten ja tekstistä ei enää ymmärtänyt juuri mitään. Valkoiseltakin paperilta tunnistettua tekstiä oli aika vaikea lukea, ja uudelleenkirjoittaminen olisi varmasti pelkkää virheiden korjaamista helpompaa. 4
Taulukko 4 Tulokset skannerilla. Kontrasti (%) Sanoja Merkkejä Vääriä Tunnistus-% 100 321 3271 5 99,8 75 323 3272 11 99,7 60 232 3268 31 99,1 50 327 3308 200 93,9 20 0 0 3275 0,0 Skannerilla saaduista kuvista ohjelma tunnisti tekstin lähes kokonaan vielä 60% sävyeroon asti, ja 50% kontrastin 200 virhettä on vielä kohtalaisen nopeaa ja helppoa korjata. Kuten digitaalikamerankin tapauksessa, tunnistusprosentti laski eniten 50%:n kohdalla. Kontrastin vaikutus tunnistusprosenttiin on esitetty graafisesti kuvassa 2. Kuva 2 Kontrastin vaikutus tunnistusprosenttiin. Johtopäätökset Saatujen tulosten perusteella voidaan helposti todeta, ettei automaattinen tekstintunnistus toimi tarpeeksi hyvin digitaalikameralla otettujen kuvien kanssa. Ainoastaan 14 pisteen kokoista Arial-fonttia ohjelma tunnisti hyvin. 12 pisteen kokoisella fontilla kirjoitetusta dokumentista saatu teksti oli vielä luettavaa, mutta virheitä tuli jo häiritsevä määrä. Tästä pienemmillä fonteilla teksti olikin jo vaikeaselkoista tai mahdotonta ymmärtää. 5
Kontrastin heikentäminen alkuperäisen tekstin ja paperin välillä laski luonnollisesti tunnistusprosenttia. Toisaalta testiarkissa oli käytetty kohtalaisen pientä fonttia, joten ohjelma ei tunnistanut digitaalikameran kuvasta valkoiseltakaan taustalta kuin 88% merkeistä, kun taas skannatusta kuvasta tunnistusprosentti oli lähes 100. Lähellä maksimia kontrastin heikentämisellä oli paljon pienempi vaikutus tunnistusprosenttiin kuin kontrastin ollessa 50%:n luokkaa. Tämä havaittiin sekä kameran että skannerin kuvilla. Kameralla tunnistusprosentti laski tällöin jo alle 80:n. Skannatusta kuvasta ohjelma tunnisti tekstin vielä 50%:n kontrastillakin varsin hyvin, mutta tuskinpa niin huonoa kontrastia mistään dokumentista edes löytyy. Digitaalikameran käyttö ei siis kannata ellei fontin koko ole kohtalaisen suuri, selkeälläkin fontilla vähintään 12-14 pistettä. Tunnistusohjelma kuitenkin toimii hyvin pienemmilläkin fonteilla, jos kuvat ovat skannattuja. Saatujen tulosten perusteella hieman yli 90 olevaa tunnistusprosenttia voitaisiin pitää rajana sille, että tunnistetun tekstin korjaaminen vielä olisi helpompaa ja nopeampaa kuin sen uudelleenkirjoittaminen. Toisaalta jos suuri tunnistusprosentti on aiheutunut käytetyn fontin suuresta koosta jolloin tekstin määrä ei ole suuri, saattaa olla nopeampaa kirjoittaa teksti itse uudestaan. Tunnistusprosentin ollessa 85:n paikkeilla tekstin kokonaisidea vielä lukiessa selviää, mutta lukeminen on hidasta ja rasittavaa. Tunnistusprosentin laskiessa 75:een lukija voi korkeintaan tunnistaa tekstistä muutaman sanan mittaisia pätkiä. Alunperin oli tarkoitus myös tutkia valaistuksen, värikontrastin ja kameran kohdistustarkkuuden vaikutusta tunnistusprosenttiin, mutta koska tunnistaminen ei onnistunut tarpeeksi hyvin edes helpoissa tapauksissa, nämä jätettiin tekemättä. 6
Liite 1 Arial-fontin koon vaikutus OCR-ohjelman tunnistusprosenttiin MTV3 osaa jotkut asiat pelottavan hyvin. Tv-yhtiö osaa synnyttää kuumaa hypeä ohjelmiensa ympärille. Alkaneen, laihan uutiskesän mediapaukku on ollut Suuri seikkailu. Ohjelmaan on päässyt helposti mukaan, vaikkei olisi televisiota vaivautunut edes aukaisemaan. Päivästä päivään iltapäivälehdet vatvovat seikkailijoiden edesottamuksia. Ja viikkolehdet yhtyivät kuoroon saman tien. Miltä tuntuu, kun putosit? Miltä tuntuu, kun olet jatkossa? Mites nyt suu pannaan, kun kapteeni paljastui pahoinpitelijäksi? Kestääkö hermot? Palaako pinna? Haluatko lähettää terveisiä? Eiköhän tästä saa helposti kaavittua ainakin aukeaman kasaan. Monimediakonsepti osoittautui vielä monimediaisemmaksi kuin etukäteen oli annettu ymmärtää. MTV3 osaa jotkut asiat pelottavan huonosti. Ohjelmien sisällöistä yhtiö ei tunnu tajuavan höhhäsen pöläystä. Tai itse asiassa vieläkin surullisempaa. Ohjelmakonseptien kopioimisesta yhtiö ei tunnu tajuavan höhhäsen pöläystä. Tosi-tv on ollut jo parin vuoden ajan kova juttu maailmalla. Tiiseriksi omalle seikkailulleen Maikkari lähetti ylituotettua ja ylidramaattista jenkkinäkemystä aiheesta keväällä. Olisi luullut oppivan siitä jotain. Mutta ei. Mitä niitä minnekään etelänmerelle lähettämään. Posio saa kelvata. Mitä niille mitään ihmetehtäviä kehittämään. Kotikutoiset viritelmät saa kelvata. Mitä sitä nyt tähän ylipäätään satsaamaan. Otetaan vaikka se Taru Valkeapää juontamaan. Kyllä sitä ainakin äijät jaksaa katsella. Ja oikeassahan kanavapomot ovat. Mitä sitä tehdä asioita ajatuksella ja huolella, kun vähempikin riittää pitämään katsojat ruudun ääressä. Turha antaa kauhalla, kun lusikkakin riittää. Valveutuneelle katsojalle Suuri seikkailu on sangen kiusallinen kokemus. Tulee vaivautunut olo. Ei oikein tiedä pitäisikö kömpelölle ohjelmalle ja itsensä nolaaville kilpailijoille itkeä vai nauraa. Ei huolta, jos jostain syystä joudut katsomaan ohjelmaa, kuvittele ohjelman alkuteksteiksi kaksi sanaa: Julma Huvi. Johan ovat pojat taas vääntäneet loistavan parodian tosi-tv:stä. Mistä ne aina keksivätkin näin kutkuttavia juttuja. Aika vekkuleita. Teksti: Jari Saariaho
Liite 2 MADRID. Ainakin 10 ihmisen on todettu sairastuneen legioonalaistautiin Espanjassa Murcian kaupungissa. Terveysviranomaisten mukaan tartunnan saaneita saattaa kuitenkin olla yli sata. Vaarallinen tauti on legionella-bakteerin aiheuttama. Legioonalaistauti ilmenee yleisimmin keuhkokuumeena ja se voi olla jopa tappava. Murcian sairaaloihin on tullut perjantaista alkaen hoitoon 117 ihmistä, joilla on todettu hengitysvaikeuksia. Suurin osa sairaalaan joutuneista on yli 50-vuotiaita. Terveysviranomaiset arvioivat, että tartunnoissa ei ole kysymys yksittäisistä tapauksista, vaan epidemiasta. Vielä useamman ihmisen arvellaan sairastuvan tautiin. Tarkastajat ovat testanneet alueen kahdeksaa ilmastointitornia, joita pidetään infektion mahdollisina lähteinä. Legioonalaistauti aiheutuu bakteerista, joka kulkeutuu veden mukana. Bakteeria tavataan ilmastointi- ja juomavesilaitteistoissa. Murcian kaupungin juomavedestä ei ole kuitenkaan löydetty legionella-bakteeria. STT Maailman suurimpiin kuuluva keinoniveltenvalmistaja, sveitsiläinen Sulzer Medica, on joutunut vaikeuksiin sen jälkeen kun lähes kaksituhatta sen valmistamaa lonkkaniveltä on osoittautunut viallisiksi. Niveliin on valmistusprosessissa jäänyt voiteluöljyä, minkä vuoksi ne eivät toimi niin kuin pitäisi. Ongelma havaittiin jo viime talvena. Sen jälkeen Sulzer Medican osakekurssi on rojahtanut neljäsosaan. Viime viikolla yhtiön keskeinen johtaja sai potkut. Sulzer Medicaa vastaan on jo nostettu noin 800 kannetta. Etenkin Yhdysvalloissa tällaisilla kanteilla haetaan ja usein saadaankin erittäin suuria korvauksia. Yhtiö joutuikin ilmoittamaan, ettei sen vakuutusturva mahdollisesti riitä kattamaan kaikkia tulossa olevia korvauksia. Näin ollen ongelmalla saattaa olla vaikutusta myös yhtiön tulokseen. Sulzer on keinonivelten johtavia merkkejä myös Suomessa. Maahantuojan, Kir-Fixin toimitusjohtajan Lea Purtilon mukaan ongelmallisia, Inter-op-nimisiä lonkkaniveliä ei ole tuotu Suomeen. Samaa sanoo myös paljon keinonivelleikkauksia tekevän HUS:n Kirurgisen sairaalan ortopediaylilääkäri Jarmo Vuorinen. Hänen sairaalassaan on asennettu runsaasti Sulzerin lonkkaniveliä, mutta he ovat tyyppiä CLS eikä niissä ole havaittu mitään ongelmia, pikemminkin päinvastoin. Vuorinen pitää CLS:ää markkinoiden kehittyneimpänä tuotteena. Lonkkaniveliä on markkinoilla kahta päätyyppiä. Sementtikiinnitteinen nivel maksaa Vuorisen mukaan 4 000-6 000 markkaa ja ilman sementtiä kiinnittyvä 10 000-14 000 markkaa. Ensin mainittu on yleisempi, koska siitä on Vuorisen mukaan pitkäaikaisempi kokemus ja se on luotettava ja hyvä etenkin iäkkäälle potilaalle. Jyri Raivio / Helsingin Sanomat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48