23 KiB
Направите детектор залиха
Скица од Nitya Narasimhan. Кликните на слику за већу верзију.
Овај видео пружа преглед детекције објеката помоћу Azure Custom Vision сервиса, који ће бити обрађен у овој лекцији.
🎥 Кликните на слику изнад да бисте погледали видео
Квиз пре предавања
Увод
У претходном пројекту, користили сте вештачку интелигенцију за обуку класификатора слика - модела који може да утврди да ли слика садржи нешто, као што је зрело или незрело воће. Други тип AI модела који се може користити са сликама је детекција објеката. Ови модели не класификују слике по ознакама, већ су обучени да препознају објекте и могу их пронаћи на сликама, не само детектујући да је објекат присутан, већ и где се налази на слици. Ово омогућава бројање објеката на сликама.
У овој лекцији ћете научити о детекцији објеката, укључујући како се може користити у малопродаји. Такође ћете научити како да обучите детектор објеката у облаку.
У овој лекцији обрадићемо:
- Детекција објеката
- Коришћење детекције објеката у малопродаји
- Обучавање детектора објеката
- Тестирање вашег детектора објеката
- Поновно обучавање вашег детектора објеката
Детекција објеката
Детекција објеката подразумева откривање објеката на сликама помоћу AI. За разлику од класификатора слика који сте обучили у претходном пројекту, детекција објеката није усмерена на предвиђање најбоље ознаке за целу слику, већ на проналажење једног или више објеката на слици.
Детекција објеката vs класификација слика
Класификација слика подразумева класификацију целе слике - које су вероватноће да цела слика одговара свакој ознаци. Добијате вероватноће за сваку ознаку која је коришћена за обуку модела.
У горњем примеру, две слике су класификоване помоћу модела обученог да класификује паковања каше или конзерве парадајз пасте. Прва слика је паковање каше и има два резултата од класификатора слика:
Ознака | Вероватноћа |
---|---|
каша |
98.4% |
парадајз паста |
1.6% |
Друга слика је конзерва парадајз пасте, а резултати су:
Ознака | Вероватноћа |
---|---|
каша |
0.7% |
парадајз паста |
99.3% |
Могли бисте користити ове вредности са прагом процента да предвидите шта се налази на слици. Али шта ако слика садржи више конзерви парадајз пасте или и кашу и парадајз пасту? Резултати вероватно не би дали оно што желите. Овде долази до изражаја детекција објеката.
Детекција објеката подразумева обуку модела да препозна објекте. Уместо да му дате слике које садрже објекат и кажете му да је свака слика једна ознака или друга, истичете део слике који садржи одређени објекат и означавате га. Можете означити један објекат на слици или више њих. На овај начин модел учи како сам објекат изгледа, а не само како изгледају слике које садрже објекат.
Када га затим користите за предвиђање слика, уместо да добијете листу ознака и процената, добијате листу детектованих објеката, са њиховим оквирима и вероватноћом да објекат одговара додељеној ознаци.
🎓 Оквири су кутије око објекта.
Горња слика садржи и паковање каше и три конзерве парадајз пасте. Детектор објеката је детектовао кашу, враћајући оквир који садржи кашу са процентуалном вероватноћом да оквир садржи објекат, у овом случају 97.6%. Детектор објеката је такође детектовао три конзерве парадајз пасте и пружа три одвојена оквира, по један за сваку детектовану конзерву, а сваки има процентуалну вероватноћу да оквир садржи конзерву парадајз пасте.
✅ Размислите о различитим сценаријима за које бисте могли да користите AI моделе засноване на сликама. Који би захтевали класификацију, а који детекцију објеката?
Како функционише детекција објеката
Детекција објеката користи сложене ML моделе. Ови модели раде тако што деле слику на више ћелија, а затим проверавају да ли је центар оквира центар слике који одговара једној од слика коришћених за обуку модела. Можете замислити ово као врсту покретања класификатора слика преко различитих делова слике да бисте пронашли подударности.
💁 Ово је драстично поједностављење. Постоји много техника за детекцију објеката, и можете прочитати више о њима на страници о детекцији објеката на Википедији.
Постоји велики број различитих модела који могу вршити детекцију објеката. Један посебно познат модел је YOLO (You only look once), који је изузетно брз и може детектовати 20 различитих класа објеката, као што су људи, пси, боце и аутомобили.
✅ Прочитајте више о YOLO моделу на pjreddie.com/darknet/yolo/
Модели за детекцију објеката могу се поново обучити користећи трансфер учење за детекцију прилагођених објеката.
Коришћење детекције објеката у малопродаји
Детекција објеката има више примена у малопродаји. Неке од њих укључују:
- Провера залиха и бројање - препознавање када је залиха на полицама ниска. Ако је залиха прениска, могу се послати обавештења особљу или роботима да допуне полице.
- Детекција маски - у продавницама са политиком ношења маски током јавних здравствених догађаја, детекција објеката може препознати људе са маскама и оне без њих.
- Аутоматизовано наплаћивање - детектовање предмета узетих са полица у аутоматизованим продавницама и наплаћивање купцима.
- Детекција опасности - препознавање поломљених предмета на поду или просутих течности, уз обавештавање екипа за чишћење.
✅ Урадите мало истраживања: Које су још примене детекције објеката у малопродаји?
Обучавање детектора објеката
Можете обучити детектор објеката користећи Custom Vision, на сличан начин као што сте обучили класификатор слика.
Задатак - креирајте детектор објеката
-
Направите Resource Group за овај пројекат под називом
stock-detector
. -
Направите бесплатан Custom Vision ресурс за обуку и бесплатан Custom Vision ресурс за предвиђање у
stock-detector
Resource Group. Назовите ихstock-detector-training
иstock-detector-prediction
.💁 Можете имати само један бесплатан ресурс за обуку и предвиђање, па се уверите да сте очистили свој пројекат из претходних лекција.
⚠️ Можете се позвати на упутства за креирање ресурса за обуку и предвиђање из пројекта 4, лекција 1 ако је потребно.
-
Покрените Custom Vision портал на CustomVision.ai и пријавите се са Microsoft налогом који сте користили за свој Azure налог.
-
Пратите секцију "Креирање новог пројекта" у брзом старту за изградњу детектора објеката на Microsoft документацији да бисте креирали нови Custom Vision пројекат. UI се може променити, а ова документација је увек најажурнији референтни извор.
Назовите свој пројекат
stock-detector
.Када креирате свој пројекат, уверите се да користите
stock-detector-training
ресурс који сте раније креирали. Користите тип пројекта Object Detection и домен Products on Shelves.✅ Домен Products on Shelves је посебно намењен за детекцију залиха на полицама продавница. Прочитајте више о различитим доменима у документацији о избору домена на Microsoft Docs
✅ Одвојите мало времена да истражите Custom Vision UI за ваш детектор објеката.
Задатак - обучите ваш детектор објеката
Да бисте обучили свој модел, биће вам потребан сет слика који садржи објекте које желите да детектујете.
-
Прикупите слике које садрже објекат за детекцију. Биће вам потребно најмање 15 слика које садрже сваки објекат за детекцију из различитих углова и у различитим условима осветљења, али што више, то боље. Овај детектор објеката користи домен Products on Shelves, па покушајте да поставите објекте као да су на полици продавнице. Такође ће вам бити потребно неколико слика за тестирање модела. Ако детектујете више од једног објекта, желећете неке тестне слике које садрже све објекте.
💁 Слике са више различитих објеката рачунају се у минимум од 15 слика за све објекте на слици.
Ваше слике треба да буду png или jpeg формата, мање од 6MB. Ако их креирате помоћу iPhone-а, на пример, могу бити високорезолуционе HEIC слике, па ће бити потребно да их конвертујете и евентуално смањите. Што више слика, то боље, и требало би да имате сличан број зрелих и незрелих.
Модел је дизајниран за производе на полицама, па покушајте да фотографишете објекте на полицама.
Можете пронаћи неке пример слика које можете користити у фолдеру слика за кашу и парадајз пасту које можете користити.
-
Пратите секцију "Отпремање и означавање слика" у брзом старту за изградњу детектора објеката на Microsoft документацији да бисте отпремили своје слике за обуку. Креирајте релевантне ознаке у зависности од типова објеката које желите да детектујете.
Када цртате оквире за објекте, држите их лепо и чврсто око објекта. Може потрајати неко време да се означе све слике, али алат ће детектовати оно што мисли да су оквири, чинећи процес бржим.
💁 Ако имате више од 15 слика за сваки објекат, можете обучити након 15, а затим користити функцију Предложене ознаке. Ово ће користити обучени модел за детекцију објеката на неозначеним сликама. Затим можете потврдити детектоване објекте или одбити и поново нацртати оквире. Ово може уштедети пуно времена.
-
Пратите секцију "Обучавање детектора" у брзом старту за изградњу детектора објеката на Microsoft документацији да бисте обучили детектор објеката на вашим означеним сликама.
Биће вам понуђен избор типа обуке. Изаберите Брза обука.
Детектор објеката ће затим започети обуку. Биће потребно неколико минута да се обука заврши.
Тестирање вашег детектора објеката
Када ваш детектор објеката буде обучен, можете га тестирати тако што ћете му дати нове слике за детекцију објеката.
Задатак - тестирајте ваш детектор објеката
-
Користите дугме Брзи тест да отпремите тестне слике и проверите да ли су објекти детектовани. Користите тестне слике које сте раније креирали, а не било коју од слика које сте користили за обуку.
-
Испробајте све тестне слике које имате и посмат Квиз након предавања
Преглед и самостално учење
- Када сте обучавали свој детектор објеката, видели сте вредности за Прецизност, Рекол и mAP које оцењују модел који је креиран. Прочитајте више о тим вредностима користећи секцију Оцени детектор у брзом почетку за креирање детектора објеката на Microsoft документацији
- Прочитајте више о детекцији објеката на страници о детекцији објеката на Википедији
Задатак
Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако се трудимо да превод буде тачан, молимо вас да имате у виду да аутоматизовани преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.