Kuidas teha käekirjatuvastuse rakendust

MNIST Model Core ML & Vision raamistiku kasutamine

Suvalist arvu saab kirjutada tuhandetel erinevatel viisidel. See võib muuta käekirjatuvastuse rakenduste käekirja tekstiks teisendamise väga keeruliseks. Seetõttu on meil muudetud riikliku standardite ja tehnoloogia instituudi (MNIST) andmebaas. See sisaldab erinevaid käsitsi kirjutatud numbreid, mida tavaliselt kasutatakse masinõppe valdkonnas katsetamiseks ja koolitamiseks. Seetõttu kasutame seda oma rakenduses.

Koodi lõpuks peaks teie rakendus välja nägema selline ...

Sisukord:

  • Mida see rakendus teeb
  • Kuidas alustada?
  • Mida teha
  • Lõpp!

Mida see rakendus teeb

Selle rakenduse ekraani allosas on tühi lõuend, kuhu kasutaja saab suvalise numbri logida. Pärast seda, kui kasutaja on numbri joonistanud (näiteks 4), klõpsavad nad nupul Tuvasta ja ekraani ülaservas öeldakse kasutajale, millise numbri nad on kirjutanud (vaadake ülemist pilti). Siis, kui kasutaja soovib kirjutada mõne muu numbri, klõpsab ta nuppu Kustuta ja lõuend jälle tühjaks.

Kuidas alustada

Selle rakenduse loomiseks vajate arendajarakendust nimega xCode (saadaval ainult õunaseadmetele). Parim osa on… see on TASUTA! Ja andmebaas MNIST, mis on saadaval minu Githubi lehel ... TASUTA! Koodi kirjutamine ja silumine võttis mul aega umbes 2 tundi, kuid selle õpetuse korral peaks see teid võtma umbes 30–60 minutit. Niisiis, ma soovitan teil hoida pudel vett, et saaksite edasi minna.

Mida teha

1. samm: tühi lõuend

Avage rakendus (ilmselgelt ,️) ja tehke ekraanile ilmuva telefoni kontuurile must ristkülik ...

Joonistage ristkülik telefoni vasakust ülanurgast paremasse alanurka

Seejärel loote lõuendi kausta uue lehe nimega CanvasView (vaadake ülaltoodud pildi vasakul asuvat veergu). Lehed on põhimõtteliselt erinevad lehed, mille abil saate programmi erinevaid osi kodeerida. Lehe CanvasView alguses peate mõned atribuudid, millele peate helistama.

„Tee” on koht, kus kasutaja sõrm ekraanil liigub. (Ülejäänud on iseenesest mõistetavad)

Siis peame valima, millist värvi me tahame, et meie joonis oleks ja kui laiaks me tahame, et jooned oleksid.

Võite valida oma värvi ja suuruse. See on just see, millega ma kaasas käisin.

Nüüd me teame, millised meie joonistused välja näevad, kuid kuidas peaksime siis joonised ilmuma? Selleks peate looma mõned funktsioonid.

Ilma et oleks vaja konkreetset lähtepunkti kodeerida, tuvastab programm üksi, kust kasutaja sõrm algab ja millises suunas ta liigub. Viimane rida näitab, et programm kuvab kasutaja sõrme liikumise iseenesest!

Oleme 1. etapiga peaaegu valmis! Peame ekraani tühjendamiseks lihtsalt funktsiooni tegema. See kõlab täpselt nii. See tühjendab ekraani ja laseb teil uuesti alustada!

2. samm: MNIST-andmebaas

Nagu ma varem mainisin, on meil vaja MNIST-i, et võrrelda kasutaja numbrit andmebaasis oleva teise numbriga. Nii et me loome uue xCode dokumendi ja lisame eelmisesse meie kirjutatud koodi xCode… MNIST andmebaasi ja kausta Canvas.

See peaks välja nägema ekraani vasakpoolne külg, kui laadite üles mõlemad kaustad. Teid võib segamini ajada, kuidas teised kaustad ja lehed sinna jõudsid, kuid MNIST-i kausta üksuste tõttu juhtub see ainult nende enda oma.

Minu artikli ülaosas, alapealkirjas, nägite midagi nimega "Visioon". Aeg see halb poiss siia sisse tuua. Peate looma veel mõned funktsioonid, et kasutaja numbrit klassifitseerida ja võrrelda MNIST-i andmebaasiga - see on see, mida Vision Framework aitab meil teha, eriti kuna kasutame pilte (MNIST-andmebaas).

See on abiks visiooniraamistiku seadistamisel

3. samm: kuvariekraan

Kui olete visiooniraamistiku seadistanud, peate rakenduse kuvari ümber modelleerima, kuid usaldage mind, see pole liiga raske ega võta nii kaua aega.

Lohistage lihtsalt musta ristküliku paremat ülanurka allapoole, nii et lõuend oleks umbes pool ekraani. Ekraani paremas alanurgas peaks olema otsinguriba. Nupp Otsing. Seejärel peaks teie telefonimudelis ilmuma tekstiväli sõnaga „nupp”. Lohistage see soovitud kohta ja kirjutage „Kustuta”. Seejärel toimige sama ka funktsiooni 'Tuvasta' puhul. Pärast seda lisage tekstiväli ja kirjutage sinna number 0. See ei lõppe lihtsalt siin. Nende kasutamiseks on vaja kolme asja, mis on päris koodis.

Klõpsake abistaja nuppu (paremas ülanurgas olevad 2 kattuvat ringi) ja lohistage iga nupp ja number koodi, nagu on näidatud ülaloleval pildil. See kirjutab teile automaatselt koodi, mis paneb need asjad tööle. Kas pole see tööriist lihtsalt hämmastav! See kirjutab teile osa teie koodist !!! Igatahes palub assistent teil nimetada iga üksus, mille te lohistate, et nimetada tühjendusnupp „Tühjenda”, äratundmisnupp „Tundma” ja 0 peaks olema „Number”.

4. samm: viimistlemine

Teil on vaja funktsiooni või kooditükki, mis aitab Visiooniraamistikul kasutaja numbrit pildi abil tegelikult ära tunda ...

Kuna andmebaasis MNIST on rohkem kui üks pilt, peaks Vision Framework olema võimeline võrdlema kasutaja numbrit mis tahes piltidega. Sellepärast on see osa meie funktsioonist.

Märkus. See pole veel kõik vajalik kood. Kogu koodile pääsete juurde minu Githubi lehel ...

Kui teile meeldis minu artikkel, andke mulle julgust ja jälgige mind keskmisel ja LinkedInil, et olla kursis oma edusammudega!