You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/sr/4-manufacturing/lessons/1-train-fruit-detector
co-op-translator[bot] 1bda9532dc
🌐 Update translations via Co-op Translator (#555)
4 weeks ago
..
README.md 🌐 Update translations via Co-op Translator (#555) 4 weeks ago
assignment.md 🌐 Update translations via Co-op Translator (#555) 4 weeks ago

README.md

Направите детектор квалитета воћа

Преглед лекције у облику скице

Скица од Nitya Narasimhan. Кликните на слику за већу верзију.

Овај видео пружа преглед Azure Custom Vision сервиса, који ће бити обрађен у овој лекцији.

Custom Vision – Machine Learning Made Easy | The Xamarin Show

🎥 Кликните на слику изнад да бисте погледали видео

Квиз пре предавања

Квиз пре предавања

Увод

Недавни развој вештачке интелигенције (AI) и машинског учења (ML) пружа широк спектар могућности данашњим програмерима. ML модели могу бити обучени да препознају различите ствари на сликама, укључујући незрело воће, што се може користити у IoT уређајима за сортирање производа било током бербе, или током обраде у фабрикама или складиштима.

У овој лекцији ћете научити о класификацији слика - коришћењу ML модела за разликовање слика различитих објеката. Научићете како да обучите класификатор слика да разликује добро воће од лошег, било да је недовољно зрело, презрело, оштећено или труло.

У овој лекцији обрадићемо:

Коришћење AI и ML за сортирање хране

Храњење глобалне популације је тежак задатак, посебно по цени која чини храну приступачном за све. Један од највећих трошкова је радна снага, па се фармери све више окрећу аутоматизацији и алатима као што је IoT како би смањили трошкове рада. Ручна берба је радно интензивна (и често напоран посао), и замењује се машинама, посебно у богатијим земљама. Упркос уштеди у трошковима коришћења машина за бербу, постоји недостатак - способност сортирања хране током бербе.

Не сазревају сви усеви равномерно. На пример, парадајз може имати неке зелене плодове на стабљици када је већина спремна за бербу. Иако је штета убрати их рано, јефтиније је и лакше за фармера да све убере машином и касније одбаци незреле плодове.

Погледајте различите врсте воћа или поврћа, било да расту у близини вас на фармама или у вашој башти, или у продавницама. Да ли су сви исте зрелости, или видите варијације?

Пораст аутоматизоване бербе преместио је сортирање производа са бербе на фабрику. Храна би путовала на дугим покретним тракама са тимовима људи који би прегледали производе и уклањали све што није задовољавало потребне стандарде квалитета. Берба је била јефтинија захваљујући машинама, али је и даље постојао трошак ручног сортирања хране.

Ако се детектује црвени парадајз, наставља свој пут без прекида. Ако се детектује зелени парадајз, полуга га пребацује у канту за отпад

Следећа еволуција била је коришћење машина за сортирање, било уграђених у бербу, или у фабрикама за обраду. Прва генерација ових машина користила је оптичке сензоре за детекцију боја, контролишући актуаторе који су зелене парадајзе пребацивали у канту за отпад помоћу полуга или ваздушних млазова, остављајући црвене парадајзе да наставе пут на мрежи покретних трака.

У овом видеу, док парадајз пада са једне покретне траке на другу, зелени парадајз се детектује и пребацује у канту помоћу полуга.

Које услове бисте морали да обезбедите у фабрици или на терену да би ови оптички сензори правилно функционисали?

Најновије еволуције ових машина за сортирање користе предности AI и ML, користећи моделе обучене да разликују добар производ од лошег, не само по очигледним разликама у боји као што су зелени парадајз у односу на црвени, већ и по суптилнијим разликама у изгледу које могу указивати на болест или оштећење.

Класификација слика путем машинског учења

Традиционално програмирање подразумева узимање података, примену алгоритма на те податке, и добијање резултата. На пример, у претходном пројекту узели сте GPS координате и гео-ограду, применили алгоритам који је обезбедио Azure Maps, и добили резултат да ли је тачка унутар или ван гео-ограде. Унесете више података, добијете више резултата.

Традиционални развој узима улазне податке и алгоритам и даје резултат. Машинско учење користи улазне и излазне податке за обуку модела, а тај модел може узети нове улазне податке за генерисање нових резултата

Машинско учење обрће овај процес - почињете са подацима и познатим резултатима, а алгоритам машинског учења учи из података. Затим можете узети тај обучени алгоритам, назван модел машинског учења или модел, и унети нове податке и добити нове резултате.

🎓 Процес учења алгоритма машинског учења из података назива се обука. Улазни подаци и познати резултати називају се подаци за обуку.

На пример, могли бисте дати моделу милионе слика незрелих банана као улазне податке за обуку, са излазом за обуку постављеним на незрело, и милионе слика зрелих банана као податке за обуку са излазом постављеним на зрело. Алгоритам машинског учења ће затим креирати модел на основу ових података. Затим дате моделу нову слику банане и он ће предвидети да ли је нова слика зрела или незрела банана.

🎓 Резултати ML модела називају се предвиђања

2 банане, једна зрела са предвиђањем 99.7% зрела, 0.3% незрела, и једна незрела са предвиђањем 1.4% зрела, 98.6% незрела

ML модели не дају бинарне одговоре, већ дају вероватноће. На пример, модел може добити слику банане и предвидети зрело са 99.7% и незрело са 0.3%. Ваш код би затим изабрао најбоље предвиђање и одлучио да је банана зрела.

ML модел који се користи за детекцију слика као што је ова назива се класификатор слика - добија означене слике, а затим класификује нове слике на основу ових ознака.

💁 Ово је поједностављење, и постоје многи други начини за обуку модела који не захтевају увек означене излазе, као што је несупервизирано учење. Ако желите да научите више о ML, погледајте ML за почетнике, курикулум од 24 лекције о машинском учењу.

Обучите класификатор слика

Да бисте успешно обучили класификатор слика, потребно вам је милионе слика. Како се испоставља, када имате класификатор слика обучен на милионима или милијардама различитих слика, можете га поново користити и поново обучити користећи мали сет слика и добити одличне резултате, користећи процес назван трансферно учење.

🎓 Трансферно учење је процес преношења учења из постојећег ML модела на нови модел на основу нових података.

Када је класификатор слика обучен за широк спектар слика, његова унутрашња структура је одлична у препознавању облика, боја и узорака. Трансферно учење омогућава моделу да искористи оно што је већ научио у препознавању делова слике и користи то за препознавање нових слика.

Када можете препознати облике, они се могу поставити у различите конфигурације да би се направио чамац или мачка

Можете то замислити као књиге за децу о облицима, где када можете препознати полукруг, правоугаоник и троугао, можете препознати једрењак или мачку у зависности од конфигурације ових облика. Класификатор слика може препознати облике, а трансферно учење га учи која комбинација чини чамац или мачку - или зрелу банану.

Постоји широк спектар алата који вам могу помоћи да то урадите, укључујући алате засноване на облаку који вам могу помоћи да обучите свој модел, а затим га користите преко веб API-ја.

💁 Обука ових модела захтева много рачунарске снаге, обично преко графичких процесорских јединица (GPU). Иста специјализована хардверска опрема која чини игре на вашем Xbox-у невероватним може се користити за обуку модела машинског учења. Коришћењем облака можете изнајмити време на моћним рачунарима са GPU-има за обуку ових модела, добијајући приступ потребној рачунарској снази само за време које вам је потребно.

Custom Vision

Custom Vision је алат заснован на облаку за обуку класификатора слика. Омогућава вам да обучите класификатор користећи само мали број слика. Можете отпремити слике преко веб портала, веб API-ја или SDK-а, дајући свакој слици ознаку која представља класификацију те слике. Затим обучавате модел и тестирајте га да видите колико добро функционише. Када будете задовољни моделом, можете објавити његове верзије које се могу приступити преко веб API-ја или SDK-а.

Лого Azure Custom Vision

💁 Можете обучити Custom Vision модел са само 5 слика по класификацији, али више је боље. Можете добити боље резултате са најмање 30 слика.

Custom Vision је део низа AI алата од Microsoft-а названих Cognitive Services. То су AI алати који се могу користити или без икакве обуке, или са малом количином обуке. Они укључују препознавање и превођење говора, разумевање језика и анализу слика. Доступни су са бесплатним нивоом као услуге у Azure-у.

💁 Бесплатни ниво је више него довољан за креирање модела, његову обуку, а затим његово коришћење за развој. Можете прочитати о ограничењима бесплатног нивоа на Custom Vision Limits and quotas страници на Microsoft документацији.

Задатак - креирајте ресурс за когнитивне услуге

Да бисте користили Custom Vision, прво морате креирати два ресурса за когнитивне услуге у Azure-у користећи Azure CLI, један за обуку Custom Vision-а и један за предвиђање Custom Vision-а.

  1. Креирајте Resource Group за овај пројекат названу fruit-quality-detector.

  2. Користите следећу команду да креирате бесплатан ресурс за обуку Custom Vision-а:

    az cognitiveservices account create --name fruit-quality-detector-training \
                                        --resource-group fruit-quality-detector \
                                        --kind CustomVision.Training \
                                        --sku F0 \
                                        --yes \
                                        --location <location>
    

    Замените <location> локацијом коју сте користили приликом креирања Resource Group-а.

    Ово ће креирати ресурс за обуку Custom Vision-а у вашој Resource Group. Биће назван fruit-quality-detector-training и користиће F0 SKU, што је бесплатни ниво. Опција --yes значи да се слажете са условима и одредбама когнитивних услуга.

💁 Користите S0 SKU ако већ имате бесплатан налог који користи било коју од когнитивних услуга.

  1. Користите следећу команду да креирате бесплатан ресурс за предвиђање Custom Vision-а:

    az cognitiveservices account create --name fruit-quality-detector-prediction \
                                        --resource-group fruit-quality-detector \
                                        --kind CustomVision.Prediction \
                                        --sku F0 \
                                        --yes \
                                        --location <location>
    

    Замените <location> локацијом коју сте користили приликом креирања Resource Group-а.

    Ово ће креирати ресурс за предвиђање Custom Vision-а у вашој Resource Group. Биће назван fruit-quality-detector-prediction и користиће F0 SKU, што је бесплатни ниво. Опција --yes значи да се слажете са условима и одредбама когнитивних услуга.

Задатак - креирајте пројекат класификатора слика

  1. Покрените Custom Vision портал на CustomVision.ai, и пријавите се са Microsoft налогом који сте користили за ваш Azure налог.

  2. Пратите секцију за креирање новог пројекта у брзом старту за изградњу класификатора на Microsoft документацији да бисте креирали нови Custom Vision пројекат. UI се може променити и ова документација је увек најажурнији референтни материјал.

    Назовите свој пројекат fruit-quality-detector.

    Када креирате свој пројекат, уверите се да користите ресурс fruit-quality-detector-training који сте раније креирали. Користите тип пројекта Classification, тип класификације Multiclass, и домен Food.

    Подешавања за Custom Vision пројекат са именом постављеним на fruit-quality-detector, без описа, ресурсом постављеним на fruit-quality-detector-training, типом пројекта постављеним на classification, типом класификације постављеним на multi class и доменом постављеним на food

Одвојите време да истражите Custom Vision UI за ваш класификатор слика.

Задатак - обучите свој пројекат класификатора слика

Да бисте обучили класификатор слика, потребно вам је више слика воћа, како доброг тако и лошег квалитета, које ћете означити као добро и лоше, као што су зрела и презрела банана. 💁 Ови класификатори могу класификовати слике било чега, тако да ако немате воће различитог квалитета при руци, можете користити две различите врсте воћа, или мачке и псе! Идеално би било да свака слика приказује само воће, са или доследном позадином или широким спектром различитих позадина. Уверите се да у позадини нема ничега што је специфично за зрело или незрело воће.

💁 Важно је да позадине или предмети који нису повезани са класификацијом не буду специфични за сваки таг, јер би класификатор могао да класификује на основу позадине. Постојао је класификатор за рак коже који је обучаван на младежима, и нормалним и канцерогеним, а канцерогени су сви имали лењире поред њих за мерење величине. Испоставило се да је класификатор био скоро 100% тачан у идентификовању лењира на сликама, а не канцерогених младежа.

Класификатори слика раде на веома ниској резолуцији. На пример, Custom Vision може да обрађује слике за обуку и предвиђање до 10240x10240, али обучава и покреће модел на сликама величине 227x227. Веће слике се смањују на ову величину, па се уверите да објекат који класификујете заузима велики део слике, иначе може бити превише мали на мањој слици коју класификатор користи.

  1. Прикупите слике за свој класификатор. Биће вам потребно најмање 5 слика за сваки таг да бисте обучили класификатор, али што више, то боље. Такође ће вам бити потребно неколико додатних слика за тестирање класификатора. Ове слике треба да буду различите слике истог објекта. На пример:

    • Користећи 2 зреле банане, направите неколико слика сваке из различитих углова, правећи најмање 7 слика (5 за обуку, 2 за тестирање), али идеално више.

      Слике 2 различите банане

    • Поновите исти процес користећи 2 незреле банане.

    Требало би да имате најмање 10 слика за обуку, са најмање 5 зреле и 5 незреле, и 4 слике за тестирање, 2 зреле и 2 незреле. Ваше слике треба да буду у png или jpeg формату, мање од 6MB. Ако их направите, на пример, iPhone-ом, могу бити у високој резолуцији у HEIC формату, па ће их бити потребно конвертовати и евентуално смањити. Што више слика, то боље, и требало би да имате сличан број зрелих и незрелих.

    Ако немате и зрело и незрело воће, можете користити различите врсте воћа или било која два доступна објекта. Такође можете пронаћи неке примерке слика у images фолдеру са зрелим и незрелим бананама које можете користити.

  2. Пратите секцију за отпремање и означавање слика у упутству за брзи почетак изградње класификатора на Microsoft документацији да бисте отпремили слике за обуку. Означите зрело воће као ripe, а незрело као unripe.

    Дијалози за отпремање који приказују отпремање слика зреле и незреле банане

  3. Пратите секцију за обуку класификатора у упутству за брзи почетак изградње класификатора на Microsoft документацији да бисте обучили класификатор слика на вашим отпремљеним сликама.

    Биће вам понуђен избор типа обуке. Изаберите Quick Training.

Класификатор ће затим почети са обуком. Биће потребно неколико минута да се обука заврши.

🍌 Ако одлучите да поједете своје воће док се класификатор обучава, уверите се да имате довољно слика за тестирање!

Тестирајте свој класификатор слика

Када је ваш класификатор обучен, можете га тестирати тако што ћете му дати нову слику за класификацију.

Задатак - тестирајте свој класификатор слика

  1. Пратите документацију за тестирање модела на Microsoft документацији да бисте тестирали свој класификатор слика. Користите слике за тестирање које сте раније направили, а не слике које сте користили за обуку.

    Незрела банана предвиђена као незрела са 98.9% вероватноће, зрела са 1.1% вероватноће

  2. Испробајте све слике за тестирање које имате и посматрајте вероватноће.

Поново обучите свој класификатор слика

Када тестирате свој класификатор, можда неће дати резултате које очекујете. Класификатори слика користе машинско учење за предвиђање шта се налази на слици, на основу вероватноћа да одређене карактеристике слике одговарају одређеној ознаци. Они не разумеју шта је на слици - не знају шта је банана нити разумеју шта чини банану бананом, а не чамцем. Можете побољшати свој класификатор тако што ћете га поново обучити са сликама које је погрешно класификовао.

Сваки пут када направите предвиђање користећи опцију брзог теста, слика и резултати се чувају. Можете користити те слике за поновну обуку свог модела.

Задатак - поново обучите свој класификатор слика

  1. Пратите документацију за коришћење предвиђене слике за обуку на Microsoft документацији да бисте поново обучили свој модел, користећи исправну ознаку за сваку слику.

  2. Када је ваш модел поново обучен, тестирајте га на новим сликама.


🚀 Изазов

Шта мислите шта би се десило ако бисте користили слику јагоде са моделом обученим на бананама, или слику надуване банане, или особу у костиму банане, или чак жутог цртаног лика као што је неко из Симпсонових?

Испробајте и видите каква су предвиђања. Можете пронаћи слике за испробавање користећи Bing претрагу слика.

Квиз након предавања

Квиз након предавања

Преглед и самостално учење

Задатак

Обучите свој класификатор за више врста воћа и поврћа


Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.