|
|
||
|---|---|---|
| .. | ||
| lab | ||
| ObjectDetection.ipynb | ||
| README.md | ||
README.md
Utambuzi wa Vitu
Mifano ya uainishaji wa picha tuliyoshughulikia hadi sasa ilichukua picha na kutoa matokeo ya kategoria, kama darasa 'nambari' katika tatizo la MNIST. Hata hivyo, katika hali nyingi hatutaki tu kujua kwamba picha inaonyesha vitu - tunataka kuweza kubaini eneo lao halisi. Hili ndilo hasa lengo la utambuzi wa vitu.
Maswali ya awali ya somo
Picha kutoka tovuti ya YOLO v2
Njia Rahisi ya Utambuzi wa Vitu
Tukichukulia tunataka kutafuta paka kwenye picha, njia rahisi ya utambuzi wa vitu inaweza kuwa kama ifuatavyo:
- Gawanya picha katika vigae kadhaa.
- Endesha uainishaji wa picha kwenye kila kigae.
- Vigae vile vinavyotoa matokeo ya juu vya kutosha vinaweza kuchukuliwa kuwa na kitu kinachotafutwa.
Picha kutoka Exercise Notebook
Hata hivyo, njia hii si bora, kwa sababu inaruhusu tu algoriti kubaini kisanduku cha mipaka ya kitu kwa usahihi mdogo. Kwa usahihi zaidi wa eneo, tunahitaji kuendesha aina fulani ya urekebishaji ili kutabiri viwianishi vya visanduku vya mipaka - na kwa hilo, tunahitaji seti maalum za data.
Urekebishaji kwa Utambuzi wa Vitu
Chapisho hili la blogu lina utangulizi mzuri wa kutambua maumbo.
Seti za Data kwa Utambuzi wa Vitu
Unaweza kukutana na seti zifuatazo za data kwa kazi hii:
- PASCAL VOC - Darasa 20
- COCO - Vitu vya Kawaida katika Muktadha. Darasa 80, visanduku vya mipaka na maski za kugawanya.
Vipimo vya Utambuzi wa Vitu
Muingiliano juu ya Muungano
Wakati wa uainishaji wa picha ni rahisi kupima jinsi algoriti inavyofanya kazi, kwa utambuzi wa vitu tunahitaji kupima usahihi wa darasa, pamoja na usahihi wa eneo la kisanduku cha mipaka kilichotabiriwa. Kwa hili la mwisho, tunatumia kipimo kinachoitwa Muingiliano juu ya Muungano (IoU), ambacho hupima jinsi visanduku viwili (au maeneo mawili ya kiholela) vinavyofanana.
Kielelezo cha 2 kutoka blogu bora kuhusu IoU
Wazo ni rahisi - tunagawanya eneo la muingiliano kati ya maumbo mawili kwa eneo la muungano wao. Kwa maeneo mawili yanayofanana kabisa, IoU itakuwa 1, wakati kwa maeneo yasiyogusana kabisa itakuwa 0. Vinginevyo, itatofautiana kutoka 0 hadi 1. Kwa kawaida tunazingatia tu visanduku vya mipaka ambavyo IoU yake iko juu ya thamani fulani.
Usahihi wa Wastani
Tukichukulia tunataka kupima jinsi darasa fulani la vitu C linavyotambuliwa. Ili kupima hili, tunatumia kipimo cha Usahihi wa Wastani, ambacho huhesabiwa kama ifuatavyo:
- Fikiria Mchoro wa Usahihi-Kumbukumbu unaonyesha usahihi kulingana na thamani ya kizingiti cha utambuzi (kutoka 0 hadi 1).
- Kulingana na kizingiti, tutapata vitu vingi au vichache vilivyotambuliwa kwenye picha, na thamani tofauti za usahihi na kumbukumbu.
- Mchoro utaonekana kama huu:
Picha kutoka NeuroWorkshop
Usahihi wa Wastani kwa darasa fulani C ni eneo chini ya mchoro huu. Kwa usahihi zaidi, mhimili wa Kumbukumbu kwa kawaida hugawanywa katika sehemu 10, na Usahihi huhesabiwa wastani kwa alama zote hizo:
AP = {1\over11}\sum_{i=0}^{10}\mbox{Precision}(\mbox{Recall}={i\over10})
AP na IoU
Tutazingatia tu utambuzi ule, ambao IoU yake iko juu ya thamani fulani. Kwa mfano, katika seti ya data ya PASCAL VOC kwa kawaida \mbox{IoU Threshold} = 0.5 inachukuliwa, wakati katika COCO AP hupimwa kwa thamani tofauti za \mbox{IoU Threshold}.
Picha kutoka NeuroWorkshop
Usahihi wa Wastani wa Kawaida - mAP
Kipimo kikuu cha Utambuzi wa Vitu kinaitwa Usahihi wa Wastani wa Kawaida, au mAP. Ni thamani ya Usahihi wa Wastani, wastani kwa darasa zote za vitu, na wakati mwingine pia kwa \mbox{IoU Threshold}. Kwa undani zaidi, mchakato wa kuhesabu mAP umeelezewa
katika blogu hii), na pia hapa na sampuli za msimbo.
Njia Tofauti za Utambuzi wa Vitu
Kuna makundi mawili makuu ya algoriti za utambuzi wa vitu:
- Mitandao ya Mapendekezo ya Eneo (R-CNN, Fast R-CNN, Faster R-CNN). Wazo kuu ni kuunda Maeneo ya Maslahi (ROI) na kuendesha CNN juu yao, kutafuta uamsho wa juu zaidi. Ni kidogo kama njia rahisi, isipokuwa kwamba ROI zinatengenezwa kwa njia ya busara zaidi. Mojawapo ya mapungufu makubwa ya mbinu hizi ni kwamba ni polepole, kwa sababu tunahitaji kupitisha mara nyingi kipanga darasa cha CNN juu ya picha.
- Njia ya kupita moja (YOLO, SSD, RetinaNet). Katika usanifu huu tunabuni mtandao kutabiri darasa na ROI kwa kupita moja.
R-CNN: CNN Inayotegemea Eneo
R-CNN hutumia Utafutaji wa Kuchagua kuunda muundo wa kihierarkia wa maeneo ya ROI, ambayo kisha hupitishwa kupitia vipanga sifa vya CNN na vipanga darasa vya SVM ili kubaini darasa la kitu, na urekebishaji wa mstari ili kubaini viwianishi vya kisanduku cha mipaka. Karatasi Rasmi
Picha kutoka van de Sande et al. ICCV’11
*Picha kutoka blogu hii
F-RCNN - R-CNN ya Haraka
Mbinu hii ni sawa na R-CNN, lakini maeneo yanabainishwa baada ya tabaka za convolution kutumika.
Picha kutoka Karatasi Rasmi, arXiv, 2015
Faster R-CNN
Wazo kuu la mbinu hii ni kutumia mtandao wa neva kutabiri ROI - kinachoitwa Mtandao wa Mapendekezo ya Eneo. Karatasi, 2016
Picha kutoka karatasi rasmi
R-FCN: Mtandao wa Kikamilifu wa Convolutional Inayotegemea Eneo
Algoriti hii ni ya haraka zaidi kuliko Faster R-CNN. Wazo kuu ni kama ifuatavyo:
- Tunatoa sifa kwa kutumia ResNet-101.
- Sifa zinachakatwa na Ramani ya Alama ya Kifaa cha Nafasi. Kila kitu kutoka darasa
Chugawanywa nak\times kmaeneo, na tunafundisha kutabiri sehemu za vitu. - Kwa kila sehemu kutoka
k\times kmaeneo mitandao yote hupiga kura kwa darasa la vitu, na darasa la kitu lenye kura nyingi zaidi huchaguliwa.
Picha kutoka karatasi rasmi
YOLO - Unatazama Mara Moja Tu
YOLO ni algoriti ya wakati halisi ya kupita moja. Wazo kuu ni kama ifuatavyo:
- Picha inagawanywa katika
S\times Smaeneo. - Kwa kila eneo, CNN inatabiri
nvitu vinavyowezekana, viwianishi vya kisanduku cha mipaka na uhakika=uwezekano * IoU.
Picha kutoka karatasi rasmi
Algoriti Nyingine
- RetinaNet: karatasi rasmi
- Utekelezaji wa PyTorch katika Torchvision
- Utekelezaji wa Keras
- Utambuzi wa Vitu na RetinaNet katika Sampuli za Keras
- SSD (Single Shot Detector): karatasi rasmi
✍️ Mazoezi: Utambuzi wa Vitu
Endelea kujifunza katika daftari lifuatalo:
Hitimisho
Katika somo hili umechukua ziara ya haraka ya njia mbalimbali za kutekeleza utambuzi wa vitu!
🚀 Changamoto
Soma makala na daftari hizi kuhusu YOLO na ujaribu mwenyewe:
- Blogu nzuri inayofafanua YOLO.
- Tovuti rasmi
- Yolo: Utekelezaji wa Keras, daftari la hatua kwa hatua
- Yolo v2: Utekelezaji wa Keras, daftari la hatua kwa hatua
Maswali ya baada ya somo
Mapitio na Kujisomea
- Utambuzi wa Vitu na Nikhil Sardana
- Ulinganisho mzuri wa algoriti za utambuzi wa vitu
- Mapitio ya Algoriti za Kujifunza Kina kwa Utambuzi wa Vitu
- Utangulizi wa Hatua kwa Hatua wa Algoriti za Msingi za Utambuzi wa Vitu
- Utekelezaji wa Faster R-CNN katika Python kwa Utambuzi wa Vitu
Kazi: Utambuzi wa Vitu
Kanusho:
Hati hii imetafsiriwa kwa kutumia huduma ya kutafsiri ya AI Co-op Translator. Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.









