अहिलेसम्म हामीले अध्ययन गरेका छवि वर्गीकरण मोडेलहरूले एउटा छवि लिएर वर्गीय परिणाम उत्पादन गर्थे, जस्तै MNIST समस्यामा 'संख्या' वर्ग। तर, धेरै अवस्थामा हामीलाई केवल यो थाहा पाउन चाहिँदैन कि तस्वीरमा वस्तुहरू छन्; हामीलाई तिनीहरूको ठ्याक्कै स्थान पनि पत्ता लगाउन चाहिन्छ। यही उद्देश्यका लागि वस्तु पहिचान (Object Detection) प्रयोग गरिन्छ।
छवि YOLO v2 वेबसाइट बाट
मानौं, हामीले एउटा तस्वीरमा बिरालो खोज्नुपर्छ। यसका लागि एकदमै साधारण दृष्टिकोण निम्न हुन सक्छ:
- तस्वीरलाई साना टाइलहरूमा विभाजन गर्नुहोस्।
- प्रत्येक टाइलमा छवि वर्गीकरण चलाउनुहोस्।
- ती टाइलहरू, जसले पर्याप्त उच्च सक्रियता देखाउँछन्, तिनीहरूमा खोजिएको वस्तु भएको मान्न सकिन्छ।
छवि व्यायाम नोटबुक बाट
तर, यो दृष्टिकोण आदर्श छैन, किनभने यसले वस्तुको सीमाना (bounding box) धेरै अस्पष्ट रूपमा मात्र पत्ता लगाउन सक्छ। थप सटीक स्थान पत्ता लगाउन, हामीलाई रेग्रेशन (Regression) प्रयोग गरी सीमाना बक्सको समन्वय (coordinates) भविष्यवाणी गर्न आवश्यक पर्छ - र यसका लागि, हामीलाई विशेष डेटासेटहरू चाहिन्छ।
यो ब्लग पोस्ट ले आकारहरू पत्ता लगाउनको लागि राम्रो परिचय दिन्छ।
तपाईंले निम्न डेटासेटहरू भेट्टाउन सक्नुहुन्छ:
- PASCAL VOC - २० वर्गहरू
- COCO - सामान्य वस्तुहरू सन्दर्भमा। ८० वर्गहरू, सीमाना बक्सहरू र खण्डन मास्कहरू
जहाँ छवि वर्गीकरणका लागि एल्गोरिदमको प्रदर्शन मापन गर्न सजिलो छ, वस्तु पहिचानका लागि वर्गको शुद्धता र अनुमानित सीमाना बक्स स्थानको सटीकता दुवै मापन गर्न आवश्यक छ। पछिल्लोका लागि, हामी Intersection over Union (IoU) प्रयोग गर्छौं, जसले दुई बक्सहरू (वा दुई मनमानी क्षेत्रहरू) कत्तिको ओभरल्याप गर्छन् भनेर मापन गर्छ।
IoU सम्बन्धी उत्कृष्ट ब्लग पोस्ट बाट चित्र २
यो विचार सरल छ - दुई आकृतिहरूको प्रतिच्छेदन क्षेत्रलाई तिनीहरूको संघ क्षेत्रले विभाजन गर्छौं। दुई समान क्षेत्रहरूको लागि, IoU १ हुनेछ, जबकि पूर्ण रूपमा अलग क्षेत्रहरूको लागि यो ० हुनेछ। अन्यथा, यो ० देखि १ सम्म फरक हुनेछ। हामी सामान्यतया ती सीमाना बक्सहरू मात्र विचार गर्छौं, जसको IoU निश्चित मानभन्दा माथि हुन्छ।
मानौं, हामीलाई कुनै वर्ग
- Precision-Recall वक्रले थ्रेसहोल्ड मान (० देखि १ सम्म) अनुसार शुद्धता देखाउँछ।
- थ्रेसहोल्डको आधारमा, छविमा बढी वा कम वस्तुहरू पत्ता लाग्छन्, र शुद्धता र रिकलका भिन्न मानहरू प्राप्त हुन्छन्।
- वक्र यसरी देखिन्छ:
NeuroWorkshop बाट छवि
कुनै वर्ग
हामी केवल ती पहिचानहरू विचार गर्नेछौं, जसको IoU निश्चित मानभन्दा माथि छ। उदाहरणका लागि, PASCAL VOC डेटासेटमा सामान्यतया
NeuroWorkshop बाट छवि
वस्तु पहिचानको मुख्य मेट्रिकलाई औसत औसत शुद्धता (Mean Average Precision) वा mAP भनिन्छ। यो औसत शुद्धताको मान हो, जुन सबै वस्तु वर्गहरूमा औसत गरिएको हुन्छ, र कहिलेकाहीं
वस्तु पहिचान एल्गोरिदमका दुई मुख्य वर्गहरू छन्:
- क्षेत्र प्रस्ताव नेटवर्कहरू (Region Proposal Networks) (R-CNN, Fast R-CNN, Faster R-CNN)। मुख्य विचार भनेको रूचिका क्षेत्रहरू (Regions of Interest) उत्पन्न गर्नु र तिनमा CNN चलाउनु हो, अधिकतम सक्रियता खोज्न। यो दृष्टिकोण साधारण दृष्टिकोणसँग मिल्दोजुल्दो छ, तर ROIs बढी चतुर तरिकाले उत्पन्न गरिन्छ। यस्ता विधिहरूको मुख्य कमजोरी भनेको ती ढिलो हुनु हो, किनभने छविमा CNN वर्गीकरणका धेरै पासहरू आवश्यक पर्छन्।
- एक-पास (One-pass) (YOLO, SSD, RetinaNet) विधिहरू। यी आर्किटेक्चरहरूमा, नेटवर्कलाई एकै पासमा वर्गहरू र ROIs दुवै भविष्यवाणी गर्न डिजाइन गरिएको हुन्छ।
R-CNN ले Selective Search प्रयोग गरी ROI क्षेत्रहरूको पदानुक्रम संरचना उत्पन्न गर्छ, जसलाई CNN फिचर एक्स्ट्र्याक्टरहरू र SVM वर्गीकरणकर्ताहरू मार्फत पास गरिन्छ, वस्तु वर्ग निर्धारण गर्न, र सीमाना बक्स समन्वय निर्धारण गर्न रेखीय रिग्रेसन प्रयोग गरिन्छ। आधिकारिक पेपर
van de Sande et al. ICCV’11 बाट छवि
यो ब्लग बाट छविहरू
यो दृष्टिकोण R-CNN जस्तै हो, तर क्षेत्रहरू कन्भोल्युसन तहहरू लागू भएपछि परिभाषित गरिन्छन्।
आधिकारिक पेपर, arXiv, 2015 बाट छवि
यस दृष्टिकोणको मुख्य विचार भनेको क्षेत्रहरू भविष्यवाणी गर्न न्यूरल नेटवर्क प्रयोग गर्नु हो - जसलाई क्षेत्र प्रस्ताव नेटवर्क भनिन्छ। पेपर, 2016
आधिकारिक पेपर बाट छवि
यो एल्गोरिदम फास्टर R-CNN भन्दा पनि छिटो छ। मुख्य विचार निम्न छ:
- ResNet-101 प्रयोग गरी फिचरहरू निकालिन्छ।
- फिचरहरू पोजिसन-सेंसिटिभ स्कोर म्याप द्वारा प्रशोधन गरिन्छ।
$C$ वर्गका प्रत्येक वस्तु$k\times k$ क्षेत्रहरूमा विभाजन गरिन्छ, र हामी वस्तुका भागहरू भविष्यवाणी गर्न प्रशिक्षण गर्छौं। -
$k\times k$ क्षेत्रका प्रत्येक भागका लागि सबै नेटवर्कहरूले वस्तु वर्गहरूको लागि मतदान गर्छन्, र अधिकतम भोट भएको वस्तु वर्ग चयन गरिन्छ।
आधिकारिक पेपर बाट छवि
YOLO एक वास्तविक-समय एक-पास एल्गोरिदम हो। मुख्य विचार निम्न छ:
- छवि
$S\times S$ क्षेत्रहरूमा विभाजन गरिन्छ। - प्रत्येक क्षेत्रका लागि, CNN ले
$n$ सम्भावित वस्तुहरू, सीमाना बक्स समन्वय र विश्वास = संभाव्यता * IoU भविष्यवाणी गर्छ।
आधिकारिक पेपर बाट छवि
- RetinaNet: आधिकारिक पेपर
- SSD (सिंगल शट डिटेक्टर): आधिकारिक पेपर
तपाईंको अध्ययनलाई निम्न नोटबुकमा जारी राख्नुहोस्:
यस पाठमा, तपाईंले वस्तु पहिचान गर्न सकिने विभिन्न तरिकाहरूको संक्षिप्त भ्रमण गर्नुभयो!
यी लेखहरू र नोटबुकहरू पढ्नुहोस् र YOLO आफैं प्रयास गर्नुहोस्:
- YOLO सम्बन्धी राम्रो ब्लग पोस्ट
- आधिकारिक साइट
- YOLO: Keras कार्यान्वयन, स्टेप-बाइ-स्टेप नोटबुक
- YOLO v2: Keras कार्यान्वयन, स्टेप-बाइ-स्टेप नोटबुक
- वस्तु पहिचान निखिल सरदाना द्वारा
- वस्तु पहिचान एल्गोरिदमहरूको राम्रो तुलना
- वस्तु पहिचानका लागि गहिरो शिक्षण एल्गोरिदमहरूको समीक्षा
- वस्तु पहिचान एल्गोरिदमहरूको आधारभूत परिचय
- Python मा Faster R-CNN को कार्यान्वयन











