Bir əlyazma tanıma tətbiqi necə yaradılır

MNIST Model Core ML və Vision Framework istifadə

Hər bir ədədi minlərlə fərqli şəkildə yazmaq olar. Bu, əlyazma tanıma tətbiqlərinin əlyazmanı mətnə ​​çevirməsini çox çətinləşdirə bilər. Bu səbəbdən Modifikasiya olunmuş Milli Standartlar və Texnologiya İnstitutunun (MNIST) məlumat bazasına sahibik. Maşın öyrənmə sahəsində test və təlim üçün istifadə olunan müxtəlif əlyazma rəqəmlərdən ibarətdir. Buna görə tətbiqimizdə bundan istifadə edəcəyik.

Kodunuzun sonunda tətbiqiniz belə görünməlidir ...

Mündəricat:

  • Bu tətbiq nə edir?
  • Necə başlamaq lazımdır
  • Mən nə etməliyəm
  • Son!

Bu tətbiq nə edir?

Bu tətbiqdə ekranın altındakı istifadəçinin istənilən sayını cıza biləcəyi boş bir kətan olacaqdır. İstifadəçi nömrəni çəkdikdən sonra (məs. 4), "Tanı" düyməsini vurur. Ekranın yuxarı yarısında istifadəçiyə hansı nömrəni yazdığı bildirilir (yuxarıdakı şəkilə bax). İstifadəçi fərqli bir nömrə daxil etmək istəyirsə, "Sil" düyməsini vurur və rəsm sahəsi yenidən boşalır.

Necə başlamaq lazımdır

Bu tətbiqi yaratmaq üçün xCode adlı bir geliştirici tətbiqinə ehtiyacınız olacaq (yalnız Apple cihazları üçün mövcuddur). Ən yaxşı hissəsi ... PULSUZDUR! Və Github səhifəmdə olacaq MNIST verilənlər bazası ... PULSUZ! Kodumu yazmaq və düzəltmək təxminən 2 saat çəkdi, ancaq bu dərslik mənə 30-60 dəqiqə çəkməlidir. Beləliklə, davam etməyə davam etmək üçün yanınızda bir şüşə su olmağınızı təklif edirəm.

Mən nə etməliyəm

Addım 1: boş kətan

Tətbiqi açın (açıq-aydın ) və ekranda görünən telefonun konturuna qara düzbucaqlı çəkin.

Telefonun sol üst küncündən sağ altına düzbucaqlı çəkin

Sonra kətan qovluğunda "CanvasView" adlı yeni bir səhifə yaradın (yuxarıdakı şəkildəki sol tərəfdəki sütuna baxın). Səhifələr əsasən proqramın müxtəlif hissələrini kodlaya biləcəyiniz fərqli vərəqlərdir. CanvasView səhifəsinin yuxarı hissəsində bəzi xüsusiyyətlərə zəng etmək lazımdır.

Sonra rəsmimizin hansı rəngdə olmasını və xətlərin nə qədər geniş olmasını seçməliyik.

Öz rənginizi və ölçüsünü seçə bilərsiniz. Mənimlə getdiyim tam budur.

İndi rəsmlərimizin necə olacağını bilirik, amma rəsmləri necə göstərməliyik? Bunu etmək üçün bəzi funksiyalar yaratmalısınız.

Xüsusi bir başlanğıc nöqtəsini kodlamaq məcburiyyətində qalmadan, proqram özü istifadəçinin barmağının harada başladığını və hansı istiqamətdə hərəkət etdiyini tanıyır. Son sətir proqramın istifadəçinin barmağının hərəkətini özü göstərəcəyini göstərir!

Demək olar ki, addım 1 ilə işimiz bitdi! Yalnız ekranı təmizləmək üçün bir funksiya yaratmalıyıq. Tam olaraq necə səslənir. Ekran təmizlənəcək və yenidən başlaya bilərsiniz!

Adım 2: MNIST verilənlər bazası

Daha əvvəl də qeyd edildiyi kimi, istifadəçi nömrəsini verilənlər bazasındakı digər istifadəçi nömrəsi ilə müqayisə etmək üçün MNIST-ə ehtiyacımız var. Beləliklə, yeni bir xCode sənədi yaradaq və yazdığımız əvvəlki xCode kodundan MNIST verilənlər bazası və kətan qovluğunu əlavə edək.

Hər iki qovluğu yüklədiyiniz zaman ekranınızın sol tərəfi belə olmalıdır. Digər qovluqların və vərəqlərin oraya necə getdiyinə şübhə edə bilərsiniz. Ancaq MNIST qovluğundakı maddələr səbəbindən bunu özü edir.

Yazımın ən üst hissəsində, altyazıda "Vision" adlı bir şey gördünüz. O pis oğlanı bura gətirmə vaxtı gəldi. İstifadəçinin nömrəsini təsnif etmək və MNIST verilənlər bazası ilə müqayisə etmək üçün bir neçə daha çox funksiya yaratmalısınız. Bu, xüsusilə də görüntülərdən istifadə etdiyimiz üçün (MNIST verilənlər bazası) Vision Framework-ə kömək edəcəkdir.

Bu, görmə çərçivəsini qurmağa imkan verir

Addım 3: ekran

Görmə çərçivəsini qurduqdan sonra tətbiqin ekranını yenidən düzəltməlisiniz. İnanın, bu çox çətin deyil və uzun çəkməyəcək.

Yalnız kətan ekranın təxminən yarısı olması üçün qara düzbucaqlının sağ yuxarı küncünü aşağı sürükləyin. Ekranın sağ alt hissəsində bir axtarış çubuğu olmalıdır. Axtarış düyməsini basın. Sonra telefonunuzda "Düymə" yazısı olan bir mətn qutusu görünməlidir. İstədiyiniz yerə sürükləyin və "Sil" yazın. Eyni şeyi "tanımaq" üçün edin. Bundan sonra bir mətn qutusu əlavə edin və içərisinə 0 rəqəmini yazın. Yalnız burada bitmir. Bunları istifadə etmək üçün faktiki kodunuzda üç şeyə ehtiyacınız var.

Sihirbaz düyməsini vurun (sağ üst küncdəki üst-üstə düşən 2 dairə) və hər düyməni və nömrəni yuxarıdakı şəkildə göstərildiyi kimi kodu sürüşdürün. Bu işlərin yerinə yetirilməsi üçün avtomatik olaraq kod yazacaq. Bu alət sadəcə təəccüblü deyilmi? Kodunuzun bir hissəsini sizin üçün yazır !!! Hər iki halda da sehrbaz siz sürüklədiyiniz hər bir maddənin adını verməyinizi xahiş edəcək. Beləliklə, silmək düyməsinə "Sil" adını verin, tanıma düyməsinə "Tanın" və 0 "Sayı" olmalıdır.

Adım 4: bitirmə

Vision Framework-un istifadəçi sayını bir şəkil ilə tanımasına imkan verən bir funksiyaya və ya koda ehtiyacınız var.

MNIST verilənlər bazasında birdən çox şəkil olduğu üçün, Vision Framework istifadəçinin sayını şəkillərin HƏR biri ilə müqayisə etməlidir. Yəni bu, rolumuzun bir hissəsidir.

Qeyd: Bu tələb olunan kodun hamısı deyil. Bütün kodları github səhifəmdən əldə edə bilərsiniz ...

Məqaləmdən xoşunuz gəlsə, tərəqqi barədə məlumat almaq üçün xahiş edirəm Medium və LinkedIn-də mənimlə əlaqə saxlaya bilərsiniz!