11 KiB
Utambuzi wa Vitu
Mifano ya uainishaji wa picha tuliyojifunza hadi sasa ilichukua picha na kutoa matokeo ya kategoria, kama vile darasa 'namba' katika tatizo la MNIST. Hata hivyo, mara nyingi hatutaki tu kujua kwamba picha inaonyesha vitu - tunataka pia kujua mahali vilipo kwa usahihi. Hii ndiyo hasa dhumuni la utambuzi wa vitu.
Jaribio la awali la somo
Picha kutoka tovuti ya YOLO v2
Njia Rahisi ya Utambuzi wa Vitu
Tukidhani tunataka kutambua paka kwenye picha, njia rahisi ya utambuzi wa vitu inaweza kuwa kama ifuatavyo:
- Gawanya picha katika vigae kadhaa.
- Fanya uainishaji wa picha kwenye kila kigae.
- Vigae vile vinavyotoa matokeo ya juu vya kutosha vinaweza kuchukuliwa kuwa na kitu kinachotafutwa.
Picha kutoka Daftari la Mazoezi
Hata hivyo, njia hii si bora, kwa sababu inaruhusu tu algorithimu kupata eneo la kitu kwa usahihi mdogo. Kwa usahihi zaidi, tunahitaji kutumia aina fulani ya usawazishaji ili kutabiri mipaka ya maboksi - na kwa hilo, tunahitaji seti maalum za data.
Usawazishaji 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 - madarasa 20
- COCO - Vitu vya Kawaida katika Muktadha. Madarasa 80, maboksi ya mipaka na maski za kugawanya
Vipimo vya Utambuzi wa Vitu
Muingiliano juu ya Muungano
Wakati kwa uainishaji wa picha ni rahisi kupima jinsi algorithimu inavyofanya kazi, kwa utambuzi wa vitu tunahitaji kupima usahihi wa darasa, pamoja na usahihi wa eneo la boksi lililotabiriwa. Kwa hili la mwisho, tunatumia kipimo kinachoitwa Muingiliano juu ya Muungano (IoU), ambacho hupima jinsi maboksi mawili (au maeneo mawili yoyote) yanavyofanana.
Mchoro wa 2 kutoka blogu hii 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 kati ya 0 na 1. Kwa kawaida tunazingatia tu maboksi yale ambayo IoU iko juu ya thamani fulani.
Usahihi wa Wastani
Tukidhani 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 maadili tofauti ya 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 pointi zote hizo:
AP = {1\over11}\sum_{i=0}^{10}\mbox{Precision}(\mbox{Recall}={i\over10})
AP na IoU
Tutazingatia tu utambuzi ule ambao IoU 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 maadili tofauti ya \mbox{IoU Threshold}.
Picha kutoka NeuroWorkshop
Usahihi wa Wastani wa Kati - mAP
Kipimo kikuu cha Utambuzi wa Vitu kinaitwa Usahihi wa Wastani wa Kati, au mAP. Hii ni thamani ya Usahihi wa Wastani, wastani kwa madarasa yote ya vitu, na wakati mwingine pia kwa \mbox{IoU Threshold}. Kwa maelezo 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 algorithimu za utambuzi wa vitu:
- Mitandao ya Mapendekezo ya Maeneo (R-CNN, Fast R-CNN, Faster R-CNN). Wazo kuu ni kuzalisha Maeneo ya Maslahi (ROI) na kuendesha CNN juu yao, kutafuta uanzishaji wa juu zaidi. Hii ni sawa kidogo na njia rahisi, isipokuwa kwamba ROI huzalishwa kwa njia ya busara zaidi. Mojawapo ya changamoto kuu za mbinu hizi ni kwamba ni polepole, kwa sababu tunahitaji kupitisha mara nyingi CNN juu ya picha.
- Mbinu za kupita mara moja (YOLO, SSD, RetinaNet). Katika usanifu huu tunabuni mtandao kutabiri madarasa na ROI kwa mara moja.
R-CNN: CNN Inayozingatia Maeneo
R-CNN hutumia Utafutaji wa Kuchagua kuzalisha muundo wa kihierarkia wa maeneo ya ROI, ambayo kisha hupitishwa kupitia viondoa sifa vya CNN na vianuai vya SVM ili kubaini darasa la kitu, na usawazishaji wa mstari ili kubaini m coordinates ya maboksi ya mipaka. Karatasi Rasmi
Picha kutoka van de Sande et al. ICCV’11
*Picha kutoka blogu hii
F-RCNN - Fast R-CNN
Mbinu hii ni sawa na R-CNN, lakini maeneo hufafanuliwa 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 Maeneo. Karatasi, 2016
Picha kutoka karatasi rasmi
R-FCN: Mtandao wa Kikamilifu wa Convolutional Inayozingatia Maeneo
Algorithimu hii ni ya haraka zaidi kuliko Faster R-CNN. Wazo kuu ni kama ifuatavyo:
- Tunatoa sifa kwa kutumia ResNet-101.
- Sifa zinashughulikiwa na Ramani ya Alama Inayozingatia Nafasi. Kila kitu kutoka
Cmadarasa hugawanywa kwa maeneok\times k, na tunafundisha kutabiri sehemu za vitu. - Kwa kila sehemu kutoka maeneo
k\times kmitandao yote hupiga kura kwa madarasa ya vitu, na darasa la kitu lenye kura nyingi zaidi huchaguliwa.
Picha kutoka karatasi rasmi
YOLO - You Only Look Once
YOLO ni algorithimu ya wakati halisi ya kupita mara moja. Wazo kuu ni kama ifuatavyo:
- Picha inagawanywa katika maeneo
S\times S. - Kwa kila eneo, CNN inatabiri vitu
nvinavyowezekana, m coordinates ya maboksi ya mipaka na uhakika=uwezekano * IoU.
Picha kutoka karatasi rasmi
Algorithimu 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 umejifunza 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
Jaribio la baada ya somo
Mapitio na Kujisomea
- Utambuzi wa Vitu na Nikhil Sardana
- Ulinganisho mzuri wa algorithimu za utambuzi wa vitu
- Mapitio ya Algorithimu za Kujifunza Kina kwa Utambuzi wa Vitu
- Utangulizi wa Hatua kwa Hatua kwa Algorithimu za Msingi za Utambuzi wa Vitu
- Utekelezaji wa Faster R-CNN kwa Python kwa Utambuzi wa Vitu









