Kuidas hõlpsasti käsitsikirjatuvastust teha masinõppe PlatoBlockchain andmeluure abil. Vertikaalne otsing. Ai.

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

Kas soovite teha käsitsi kirjutatud OCR-i? See ajaveeb on põhjalik ülevaade uusimatest käekirjatuvastuse meetoditest süvaõppe abil. Oleme üle vaadanud uusimad uuringud ja paberid ning loonud nullist üles ka käsitsikirjalugeja.


Nanonetid OCR API on palju huvitavat kasutage juhtumeid. Lisateabe saamiseks rääkige Nanonetsi AI-eksperdiga.


Sissejuhatus

Optilise märgituvastuse (OCR) turu suurus on 13.38. aastaks eeldatavasti 2025 miljardit USA dollarit ja aastakasv on 13.7%. Selle kasvu taga on äriprotsesside kiire digitaliseerimine, kasutades OCR-i, et vähendada tööjõukulusid ja säästa väärtuslikke töötunde. Kuigi OCR-i on peetud lahendatud probleemiks, on sellel üks põhikomponent, käsitsi kirjutamise tuvastus (Handwriting OCR) või käsitsi kirjutatud tekstituvastus (HTR), mida peetakse endiselt keeruliseks probleemiavalduseks. Inimeste käsitsikirjastiilide suur erinevus ja käsitsi kirjutatud teksti kehv kvaliteet võrreldes trükitud tekstiga seavad selle masinloetavaks tekstiks teisendamisel olulisi takistusi. Sellegipoolest on see paljudes tööstusharudes, nagu tervishoid, kindlustus ja pangandus, otsustava tähtsusega probleem.

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha
Allikas:- https://www.semanticscholar.org/paper/Handwriting-recognition-on-form-document-using-and-Darmatasia-Fanany/

Hiljutised edusammud süvaõppes, nagu trafoarhitektuuride tulek, on kiirendanud meie edusamme käsitsi kirjutatud tekstituvastuse murdmisel. Käsitsi kirjutatud teksti tuvastamist nimetatakse intelligentseks märgituvastuseks (ICR), kuna ICR-i lahendamiseks vajalikud algoritmid vajavad palju rohkem intelligentsust kui üldise OCR-i lahendamine.

Selles artiklis õpime tundma käsitsi kirjutatud tekstituvastuse ülesannet, selle keerukust ja seda, kuidas seda süvaõppetehnikate abil lahendada.


Kas soovite andmeid käsitsi kirjutatud vormidest eraldada? Suunduge poole Nanonetid ja hakake tasuta käsitsi kirjutama OCR-mudeleid!


Väljakutsed käekirja tuvastamisel

  1. Insultide suur varieeruvus ja mitmetähenduslikkus inimeselt inimesele
  2. Ka konkreetse inimese käekirjastiil on aeg-ajalt erinev ja ebaühtlane
  3. Algdokumendi/pildi halb kvaliteet aja jooksul halvenemise tõttu
  4. Trükitud dokumentides on tekst sirgjooneline, samas kui inimesed ei pea kirjutama tekstirida sirgjooneliselt valgele paberile
  5. Kursiivne käekiri muudab tegelaste eraldamise ja äratundmise keeruliseks
  6. Käsitsi kirjutatud tekstil võib olla muutuv pööramine paremale, mis on vastupidine trükitud tekstile, kus kogu tekst on sirgelt
  7. Hea märgistatud andmekogumi kogumine õppimiseks ei ole sünteetiliste andmetega võrreldes odav

Kasuta juhtudel

Tervishoid ja farmaatsia

Patsientide retseptide digiteerimine on tervishoiu-/farmaatsiatööstuses suur valupunkt. Näiteks Roche töötleb iga päev miljoneid petabaite meditsiinilisi PDF-e. Teine valdkond, kus käsitsi kirjutatud teksti tuvastamisel on oluline mõju, on patsientide registreerimine ja vormide digiteerimine. Lisades oma teenuste tööriistakomplekti käekirjatuvastuse, saavad haiglad/farmaatsiatooted oluliselt parandada kasutajakogemust

Kindlustus

Suur kindlustussektor saab päevas üle 20 miljoni dokumendi ja nõude menetlemisega viivitamine võib ettevõtet kohutavalt mõjutada. Nõudedokument võib sisaldada erinevaid käekirjastiile ja nõuete töötlemise puhas käsitsi automatiseerimine aeglustab konveieri täielikult

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha
Allikas :- https://www.researchgate.net/figure/mages-of-handwritten-bank-cheques-from-different-countries-a-Brazilian-1-b-American_fig2_226705617

Pangandus

Inimesed kirjutavad tšekke regulaarselt ja tšekid mängivad enamikus sularahata tehingutes endiselt suurt rolli. Paljudes arengumaades nõuab praegune tšeki töötlemise protseduur, et pangatöötaja loeb ja sisestab käsitsi tšekil oleva teabe ning kontrollib ka selliseid kirjeid nagu allkiri ja kuupäev. Kuna pangas tuleb iga päev töödelda palju tšekke, võib käsitsikirja tekstituvastussüsteem säästa kulusid ja inimtöötunde.

Veebiraamatukogud

Suur hulk ajalooteadmisi digiteeritakse, laadides üles skaneeritud kujutised, et saada juurdepääs kogu maailmale. Kuid see pingutus pole eriti kasulik enne, kui piltidel olev tekst on tuvastatud, mida saab indekseerida, päringuid teha ja sirvida. Käekirjatuvastus mängib võtmerolli kesk- ja 20. sajandi dokumentide, postkaartide, uurimistööde jms elustamiseks.

Meetodid

Käekirjatuvastusmeetodid võib laias laastus liigitada kahte alltoodud tüüpi

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha
  1. Online-meetodid :- Veebimeetodid hõlmavad digitaalset pliiatsit/pliiatsit ja neil on juurdepääs tõmbeteabele ja pliiatsi asukohale teksti kirjutamise ajal, nagu on näha ülaloleval parempoolsel joonisel. Kuna neil kipub olema palju teavet kirjutatava teksti voo kohta, saab neid klassifitseerida üsna suure täpsusega ja teksti eri märkide vaheline piir muutub palju selgemaks.
  2. Võrguühenduseta meetodid :- Võrguühenduseta meetodid hõlmavad teksti äratundmist, kui see on üles kirjutatud, ja seega puudub teave kirjutamise ajal kasutatud tõmmete/suundade kohta, millele võib lisanduda allikast, st paberist, pärit taustamüra.

Reaalses maailmas ei ole alati võimalik/skaleeritav anduritega digitaalset pliiatsit löögiteabe jäädvustamiseks kaasas kanda ja seetõttu on võrguühenduseta teksti äratundmine palju olulisem probleem. Seega käsitleme nüüd erinevaid tehnikaid võrguühenduseta teksti tuvastamise probleemi lahendamiseks.

tehnikat

Käsikirjatuvastuse lahendamise algsed lähenemisviisid hõlmasid masinõppemeetodeid, nagu varjatud Markovi mudelid (HMM), SVM jne. Kui esialgne tekst on eeltöödeldud, eraldatakse funktsioonid, et tuvastada põhiteave, nagu tsüklid, käändepunktid, kuvasuhe jne. individuaalse iseloomuga. Need loodud funktsioonid suunatakse nüüd tulemuste saamiseks klassifikaatorisse, näiteks HMM-i. Masinõppemudelite jõudlus on funktsioonide käsitsi väljavõtmise faasi ja nende piiratud õppimisvõime tõttu üsna piiratud. Funktsioonide ekstraheerimise samm on iga keele puhul erinev ja seetõttu ei ole skaleeritav. Süvaõppe tulekuga paranes tohutult käekirjatuvastuse täpsus. Arutleme mõne silmapaistva uurimistöö üle käsitsikirjatuvastuse süvaõppe valdkonnas

Mitmemõõtmelised korduvad närvivõrgud

RNN/LSTM, nagu me teame, suudab ajaliste mustrite tuvastamiseks ja tulemuste loomiseks tegeleda järjestikuste andmetega. Kuid need piirduvad 1D-andmete käsitlemisega ja seetõttu ei ole need pildiandmetele otseselt rakendatavad. Selle probleemi lahendamiseks pakkusid selle artikli autorid välja mitmemõõtmelise RNN / LSTM struktuuri, nagu on näha alloleval joonisel

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

Järgnev on erinevus üldise RNN-i ja mitmemõõtmelise RNN-i vahel. Üldises RNN-is ütleb peidetud kiht, et i saab oleku eelmisest peidetud kihist ajas i-1. Mitmemõõtmelises RNN-is, ütleme näiteks kahemõõtmelises RNN-is, võtab peidetud kiht (i, j) vastu olekuid mitmest varasemast peidetud kihist, st (i-2, j) ja (i, j-1) ja seega jäädvustab konteksti mõlemalt. kõrgus ja laius pildil, mis on võrgu kaudu kohaliku piirkonna selge mõistmise jaoks keskse tähtsusega. Seda laiendatakse veelgi, et saada teavet mitte ainult eelmistest kihtidest, vaid ka tulevastest kihtidest, sarnaselt sellele, kuidas BI-LSTM võtab vastu teavet faasidest t-1 ja t+1. Sarnaselt saab 1D MDRNN peidetud kiht i nüüd vastu võtta teavet (i-2, j), (i, j-1), (i+1, j), (i, j+1), jäädvustades seega konteksti igas suunas

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

Kogu võrgu struktuur on näidatud ülal. Kasutatakse MDLSTM-i, mis pole muud kui RNN-i ploki asendamine LSTM-i plokiga ülaltoodud MDRNN-i arutelust. Sisend on jagatud plokkideks suurusega 3 × 4, mis sisestatakse nüüd MDSTM-i kihtidesse. Võrgul on MDLSTM kihtide hierarhiline struktuur, millele järgneb tandemina edasisuunamis (ANN) kihid. Seejärel teisendatakse lõplik väljund 1D-vektoriks ja antakse väljundi genereerimiseks CTC-funktsioonile

Connectionist Temporal Classification (CTC) on algoritm, mida kasutatakse selliste ülesannete lahendamiseks nagu kõnetuvastus, käekirjatuvastus jne, kus on saadaval ainult sisendandmed ja väljundtranskriptsioon, kuid puuduvad joondamise üksikasjad, st kuidas konkreetne piirkond kõne jaoks või piltide konkreetne piirkond käsitsi kirjutamiseks on joondatud konkreetse tähemärgiga. Lihtne heuristika, nagu igale tegelasele sama ala andmine, ei tööta, kuna iga tegelase ruumi maht on inimese käsitsi kirjutatud ja aeg-ajalt erinev.

Meie käsitsikirjatuvastuse kasutusjuhtumi puhul võtke sisendiks konkreetse lause sisendkujutise piirkondi X=[x1,x2,…,x**T] samas kui oodatav väljund as Y=[y1,y2,…,y**U] . Arvestades X, peaksime leidma täpse Y. CTC algoritm töötab, võttes sisendi X ja andes jaotuse kõigi võimalike Y-de vahel, mille abil saame ennustada lõppväljundit.

CTC kasutab põhimärki, et eristada sisestuspiirkonnas dubleerivaid märke ja korduvaid märke. Näiteks võib konkreetne märk hõlmata mitut sisendipiirkonda ja seega väljastaks CTC sama märgi järjest. Näide:- Sisend james ja CTC väljund on jjaammmees. Lõplik väljund tuletatakse korduvate väljundite kokkutõmbamise teel ja seega saame james. Nüüd aga selleks, et esitada teresõnas 'l' ütlevad topeltmärgid, peab meil olema eraldusmärk ja seega eraldatakse kõik väljundid sidekriipsuga (-). Nüüd võiks tere väljund olla h-ee-ll-lll-oo, mis kokku kukkudes muutub tere ja mitte tere. Lisateavet CTC toimimise kohta leiate siit CTC.

CTC väljundi dekodeerimisel iga positsiooni suurima tõenäosuse lihtsa heuristika põhjal võime saada tulemusi, millel ei pruugi reaalses maailmas mõtet olla. Selle lahendamiseks võime tulemuste parandamiseks kasutada teistsugust dekoodrit. Arutleme erinevate dekodeerimistüüpide üle

  1. Parima tee dekodeerimine :- See on üldine dekodeerimine, mida oleme seni arutanud. Igas positsioonis võtame mudeli väljundi ja leiame suurima tõenäosusega tulemuse.
  2. Kiirotsingu dekodeerimine :- Selle asemel, et võtta võrgust üks väljund iga kord, kui kiirotsing soovitab hoida mitut väljundteed kõige suurema tõenäosusega ning laiendada ahelat uute väljundite ja väiksema tõenäosusega langevate radadega, et hoida kiire suurust konstantsena. Selle lähenemisviisi abil saadud tulemused on täpsemad kui ahne lähenemisviisi kasutamisel
  3. Kiirotsing keelemudeli abil :- Kiirotsing annab täpsemaid tulemusi kui ruudustikuotsing, kuid siiski ei lahenda see sisukate tulemuste probleemi. Selle lahendamiseks saame kasutada keelemudelit koos kiirotsinguga, kasutades nii mudelist tulenevaid tõenäosusi kui ka keelemudelit lõpptulemuste genereerimiseks.

Lisateavet täpsete dekodeerimistulemuste genereerimise kohta leiate siit artikkel

Kodeerija-dekooder ja tähelepanuvõrgud

Kodeerija-dekoodri võrkudega Seq2Seq mudelid on viimasel ajal populaarsed kõnetuvastuse, masintõlke jms ülesannete lahendamiseks ning seega on neid laiendatud, et lahendada käsitsikirjatuvastuse kasutusjuhtumeid, juurutades täiendava tähelepanumehhanismi. Arutleme mõne selle valdkonna põhjapaneva uurimistöö üle

Skannige, osalege ja lugege

Selles põhjapanevas töös Scan, Attend and Read (SAR) teevad autorid ettepaneku kasutada tähelepanupõhist mudelit täielikuks käekirjatuvastuseks. Uurimistöö peamiseks panuseks on teksti automaatne transkriptsioon ilma ridadeks segmenteerimata eeltöötlusetapina ja seega saab skannida terve lehe ja anda tulemusi.

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

SAR kasutab MDLSTM-il põhinevat arhitektuuri, mis sarnaneb ülalpool käsitletule, ühe väikese muudatusega viimases kihis. Pärast viimast lineaarset kihti, st viimast summaplokki ülaloleval joonisel, ahendatakse objektide kaardid vertikaalses mõõtmes ja väljundite saamiseks rakendatakse lõplikku funktsiooni softmax.

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

SAR-i arhitektuur koosneb MDLSTM-i arhitektuurist, mis toimib funktsioonide ekstraktijana. Lõplik kokkuvarisev moodul softmax väljundi ja CTC-kaoga asendatakse tähelepanumooduli ja LSTM-dekoodriga. Kasutatav tähelepanumudel on sisupõhise tähelepanu ja asukohapõhise tähelepanu hübriidkombinatsioon, mida selgitatakse üksikasjalikumalt järgmises artiklis. Dekoodri LSTM-i moodulid võtavad eelmise oleku, eelneva tähelepanukaardi ja kodeerija funktsioonid, et genereerida lõplik väljundmärk ja oleku vektor järgmise prognoosi jaoks.

Konvoleerige, osalege ja kirjutage

Selles artiklis pakutakse käsitsi kirjutatud sõnade tuvastamiseks tähelepanul põhinevat järjestuse jada mudelit. Kavandataval arhitektuuril on kolm põhiosa: kodeerija, mis koosneb CNN-ist ja kahesuunalisest GRU-st, tähelepanumehhanism, mis on pühendatud asjakohastele funktsioonidele keskendumiseks, ja dekooder, mille moodustab ühesuunaline GRU, mis suudab kirjutada vastava sõna, tegelaskuju haaval.

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

Kodeerija kasutab visuaalsete funktsioonide eraldamiseks CNN-i. Funktsioonide eraldajana kasutatakse eelkoolitatud VGG-19-BN arhitektuuri. Sisendpilt teisendatakse objektikaardiks X, mis seejärel kujundatakse ümber X'-ks, jagades kõik kanalid veergude kaupa ja kombineerides neid järjestikuse teabe saamiseks. X' teisendatakse täiendavalt H-ks, kasutades kahesuunalist GRU-d. GRU on oma olemuselt LSTM-iga sarnane närvivõrk ja suudab hõivata ajalist teavet.

Lisaks kasutatakse dekoodri väljundi ennustamisel tähelepanu mudelit. Artiklis käsitletakse kahte erinevat tüüpi tähelepanumehhanismi.

  1. Sisupõhine tähelepanu :- Selle mõte on leida sarnasus dekoodri praeguse peidetud oleku ja kodeerija funktsioonikaardi vahel. Enim korrelatsioonis olevad tunnusvektorid leiame kodeerija tunnuskaardist, mille abil saab ennustada hetkemärki praegusel ajasammul. Lisateavet tähelepanumehhanismi toimimise kohta leiate siit Tähelepanu
  2. Asukohapõhine tähelepanu :- Sisupõhiste asukohamehhanismide peamine puudus on see, et on kaudne eeldus, et asukohateave on manustatud kodeerija väljundisse. Vastasel juhul ei saa dekoodrist korduvaid märgiväljundeid eristada. Näiteks sõna Charmander, märk a kordub selles kaks korda ja ilma asukohateabeta ei suuda dekooder neid eraldi märkidena ennustada. Selle leevendamiseks ennustatakse praegust märki ja selle joondust, kasutades nii kooderi väljundit kui ka eelnevat joondust. Lisateavet asukohapõhise osalemise toimimise kohta saate vaadata siin.

Dekooder on ühesuunaline mitmekihiline GRU. Igal ajasammul t saab see sisendi eelmisest ajaetapist ja kontekstivektori tähelepanumoodulist. Üldistusvõime parandamiseks uuritakse koolitusel multinomiaalset dekodeerimist ja sildi silumist.

Trafo mudelid

Kuigi kodeerija-dekoodri võrgud on käekirjatuvastuse tulemuste saavutamisel üsna head olnud, on neil LSTM-i kihtide tõttu koolitusel kitsaskoht ja seetõttu ei saa neid paralleelselt ühendada. Viimasel ajal on trafod olnud üsna edukad ja asendanud LSTM-i erinevate keelega seotud ülesannete lahendamisel. Arutleme nüüd, kuidas saab trafopõhiseid mudeleid käsitsikirja tuvastamiseks rakendada.

Pöörake tähelepanu sellele, mida loete

Käesolevas töös tegid autorid ettepaneku kasutada trafol põhinevat arhitektuuri, mis kasutab mitme peaga tähelepanu enesetähelepanu kihte nii visuaalses kui ka tekstifaasis ning seeläbi saab õppida nii märgituvastust kui ka dekodeeritavate märgijadade keelega seotud sõltuvusi. Kuna keeleteadmised on mudelisse endasse põimitud, ei ole keelemudeli abil vaja täiendavat järeltöötlusetappi ja seega on see võime ennustada väljundeid, mis ei kuulu sõnavarasse. Selle saavutamiseks toimub teksti kodeerimine märgi, mitte sõna tasemel. Kuna trafo arhitektuur võimaldab mudelit paralleelselt treenida iga piirkonna või tegelase jaoks, on koolitusprotsess palju lihtsam.

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

Võrguarhitektuur koosneb järgmistest komponentidest

  1. Visuaalne kodeerija :- Asjakohaste funktsioonide eraldamiseks ja mitmepealise visuaalse enesetähelepanu rakendamiseks tegelaste erinevates asukohtades
  2. Teksti transkribeerija :- Selle ülesandeks on tekstisisestus, selle kodeerimine, mitmepealise keele enesetähelepanu rakendamine ja vastastikuse tähelepanu pööramine nii visuaalsetele kui ka tekstifunktsioonidele.
Visuaalne kodeerija

Resnet50 selgroogu kasutatakse funktsioonide lisamiseks, nagu on näha ülaloleval joonisel. Resnet3 Fc kolmemõõtmeline funktsioonikaardi väljund edastatakse ajalise kodeeringu moodulisse, mis kujundab ümber 50d, säilitades sama laiuse ja seega ka  (f x h, w) kuju. See suunatakse täielikult ühendatud kihti, et vähendada kuju (f, w) ja tulemuseks on Fc'. Lisaks lisatakse Fc'-le asukohakodeering TE, et säilitada asukohateave, nagu on mainitud Vaswani Transformeri paberil. Lisateavet trafo arhitektuuri kavandamise kohta näete siin. Väljund juhitakse läbi täielikult ühendatud kihi, et saada lõplik objektikaart kujuga (f , w). Lõplik väljund juhitakse läbi mitme peaga 8 peaga tähelepanumooduli, et saada visuaalselt rikkalik funktsioonikaart

Teksti transkribeerija

Sisendtekst juhitakse läbi kodeerija, mis genereerib märgitasemel manuseid. Need manustused on kombineeritud ajalise asukohaga sarnaselt Visual Encoderi viisile, kasutades Temporal Encoderi moodulit. See tulemus edastatakse seejärel mitme pea keele enesetähelepanu moodulisse, mis sarnaneb visuaalse kodeerija tähelepanumooduliga. Visuaalse kodeerija visuaalsete tunnuste kaudu genereeritud tekstifunktsioonid edastatakse vastastikuse tähelepanu moodulisse, mille ülesandeks on joondada ja kombineerida nii piltidelt kui ka tekstisisenditelt õpitud tunnuseid. Lõpptulemuse saamiseks juhitakse väljund läbi softmaxi funktsiooni.

Testiandmete hindamisel pole transkriptsioonid saadaval. Seega antakse sisendiks ainult algusmärk < S > ja esimene ennustatud märk suunatakse tagasi süsteemi, mis väljastab teise ennustatud märgi. Seda järeldusprotsessi korratakse tsüklina, kuni saadakse jada lõpu sümbol < E > või kuni saavutatakse maksimaalne väljundpikkus N.

Käsitsikirja teksti genereerimine

Käsitsikirja teksti genereerimine on reaalse välimusega käsitsi kirjutatud teksti genereerimise ülesanne ja seega saab seda kasutada olemasolevate andmekogumite täiendamiseks. Nagu me teame, nõuab süvaõpe treenimiseks palju andmeid, samas kui eri keelte jaoks märgistatud käsitsikirjapiltide tohutu hulga hankimine on tülikas ülesanne. Selle lahendamiseks saame treeningandmete genereerimiseks kasutada Generative Adversarial Networks. Arutleme siin ühe sellise arhitektuuri üle

ScrabbleGAN

ScrabbleGAN järgib pooljärelevalvega lähenemist käsitsi kirjutatud tekstipiltide sünteesimiseks, mis on nii stiililt kui ka leksikonilt mitmekülgsed. Sellel on võimalus genereerida erineva pikkusega pilte. Samuti saab generaator manipuleerida saadud tekstistiiliga, mis võimaldab meil otsustada, kas tekst peab olema kursiivne või öelda, kui paks/õhuke peaks olema pliiatsitõmme

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

Arhitektuur koosneb BigGANil põhinevast täielikult konvolutsioonigeneraatorist. Iga sisendi märgi jaoks valitakse vastav filter ja kõik väärtused ühendatakse kokku, mis seejärel korrutatakse müravektoriga z, mis juhib genereeritud tekstistiili. Nagu ülalt näha, kattuvad iga üksiku märgi jaoks loodud piirkonnad, aidates luua ühendatud rekursiivset teksti ja võimaldada erinevate tähemärkide suuruse paindlikkust. Näiteks m võtavad suure osa ruumist, samas kui e ja t võtavad piiratud ala. Terve sõna või lause sama stiili säilitamiseks hoitakse stiilivektor z kõigi märkide puhul konstantsena.

BigGAN-i arhitektuuril põhinevat konvolutsioonilist diskriminaatorit kasutatakse selleks, et klassifitseerida, kas piltide genereeritav stiil näeb välja võlts või ehtne. Diskriminaator ei tugine märgitaseme märkustele ja seega ei põhine klassi tingimuslikul GAN-il. Selle eeliseks on see, et puudub vajadus märgistatud andmete järele ja seega saab nägemata korpuse andmeid, mis ei ole treeningandmete osa, kasutada diskrimineerija koolitamiseks. Koos diskrimineerijaga õpetatakse tekstituvastajat R klassifitseerima, kas loodud tekst on reaalses maailmas mõttekas või on see jabur. Tuvastaja põhineb CRNN-i arhitektuuridel, mille korduv pea on eemaldatud, et muuta tuvastaja pisut nõrgemaks ja mitte tuvastada teksti isegi siis, kui see on ebaselge. R-i väljundis genereeritud teksti võrreldakse generaatorile antud sisendtekstiga ja kahjufunktsioonile lisatakse vastav trahv.

ScrabbleGANi genereeritud väljundid on näidatud allpool

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

Andmekogumid:-

  1. IAM :- IAM-i andmekogum sisaldab umbes 100 657 pilti ingliskeelsetest sõnadest koos XNUMX erineva autori kirjutatud sõnadega. Rong-, test- ja valideerimiskomplekt sisaldab üksteist välistavate autorite kirjutatud sõnuLink:- http://www.fki.inf.unibe.ch/databases/iam-handwriting-database
  2. CVL :- CVL-i andmestik koosneb seitsmest käsitsi kirjutatud dokumendist, mille on kirjutanud umbes 310 osalejat, mille tulemuseks on umbes 83 XNUMX sõnakärbimist, mis on jagatud rongi- ja katsekomplektideksLink :- https://cvl.tuwien.ac.at/research/cvl-databases/an-off-line-database-for-writer-retrieval-writer-identification-and-word-spotting/
  3. RIMES :- Sisaldab prantsuskeelseid sõnu umbes 60 1300 kujutisega ja mille on kirjutanud 5 autorit, mis vastab umbes XNUMX iga inimese kirjutatud kirjale. Link :- http://www.a2ialab.com/doku.php?id=rimes_database:start

Mõõdikud:-

Tähemärkide veamäär :- See arvutatakse Levenshteini kaugusena, mis on tähemärkide asenduste (Sc), sisestuste (Ic) ja kustutamiste (Dc) summa, mis on vajalik ühe stringi teisendamiseks, jagatuna märkide koguarvuga stringis. põhitõde (Nc)

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

Sõna veamäär :- See arvutatakse sõnade asenduste (Sw), sisestuste (Iw) ja kustutamiste (Dw) summana, mis on vajalikud ühe stringi teisendamiseks, jagatuna põhitões olevate sõnade koguarvuga (Nw)

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

Treenige oma käekirjatuvastusmudelit

Nüüd vaatame, kuidas saame oma käsitsi kirjutatud tekstituvastusmudelit treenida. Koolitame IAM-i andmekogumit, kuid saate koolitada mudelit ka oma andmestiku põhjal. Arutame selle seadistamise etappe

kuupäev

IAM-i andmestiku allalaadimiseks registreerige aadressilt siin. Pärast registreerimist laadige failist Words.tgz alla siin. See sisaldab käsitsi kirjutatud sõnapiltide andmekogumit. Laadige alla ka annotatsioonifail words.txt aadressilt siin.

Kui soovite kasutada oma andmestikku, peate järgima IAM-andmestiku andmete struktureerimist.

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

Ülaltoodud näitab, kuidas AIM-i andmestiku kausta struktuur välja näeb. Siin tähistavad a01, a02 jne ülemkaustu, millest igaühel on andmete alamkaustad. Igal alamkaustal on piltide komplekt, mille failinime eesliitena on lisatud kausta nimi.

Lisaks vajame annotatsioonifaili, et mainida pildifailide ja vastavate transkriptsioonide teid. Vaatleme näiteks ülaltoodud pilti koos teksti nominatsiooniga, allpool oleks esitus annotatsioonifailis words.txt

a01-000u-01-00 ok 156 395 932 441 100 VBG nomineerimine

  1. a01-000u-01-00 -> sõna ID rea jaoks kujul a01-000u
  2. ok/err -> Segmenteerimise väljundi kvaliteedi indikaator
  3. 156 -> halli tase seda sõna sisaldava rea ​​binaarseks muutmiseks
  4. 395 932 441 100 -> selle sõna ümbritsev kast formaadis x,y,w,h
  5. VBG -> selle sõna grammatiline silt. Siin on tegusõna Gerund
  6. nimetamine -> selle sõna transkriptsioon

Arhitektuur: -

Koolitame CRNN-põhist arhitektuuri, millel on CTC kadu. CNN-i kasutatakse visuaalsete funktsioonide eraldamiseks, mis edastatakse RNN-ile, ja CTC-kadu rakendatakse väljundi saamiseks ahne dekoodriga lõpuni.

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

koolitus

Me kasutame CRNN-koodi alates siin koolitada meie modelli. Andmete ettevalmistamiseks järgige alltoodud samme

python checkDirs.py

Käivitage ülaltoodud käsk ja peaksite nägema allolevat väljundit

[OK] sõnad/
[OK] words/a01/a01-000u/
[OK] words.txt
[OK] test.png
[OK] words/a01/a01-000u/a01-000u-00-00.png

Nüüd olete treeningutega alustamiseks valmis.

Minge juurkataloogi ja käivitage

python main.py --train

Tulemused

Pärast umbes 50 epohhi treenimist on märkide veamäär (CER) 10.72%, samas kui sõna veamäär (WER) on 26.45% ja seega on sõna täpsus 73.55%. Mõned ennustused on näha alloleval joonisel.

Kuidas masinõppe abil hõlpsasti käsitsikirjatuvastust teha

Mudel suudab tegelasi suurel määral täpselt ette ennustada, kuid see kannatab mõnel juhul, näiteks kohutavalt ennustatakse kui ahastavalt, lugusid ennustatakse tähena. Neid probleeme saab lahendada, kasutades järeltöötlusetapina keelemudelit koos dekoodriga, mis võib genereerida tähendusrikkaid sõnu ja parandada lihtsaid vigu.

kokkuvõte

Kuigi tehnoloogias on toimunud märkimisväärne areng, mis aitab käsitsi kirjutatud teksti paremini ära tunda, ei ole HTR OCR-iga võrreldes kaugeltki lahendatud probleem ja seetõttu pole seda veel tööstuses laialdaselt kasutatud. Sellegipoolest võime tehnoloogia arengutempo ja selliste mudelite nagu trafode kasutuselevõtuga eeldada, et HTR-mudelid muutuvad peagi tavaliseks.

Selle teema kohta lisateabe saamiseks võite alustada siin

Lisalugemist

Ajatempel:

Veel alates Tehisintellekt ja masinõpe