Skip to content

Latest commit

 

History

History
179 lines (101 loc) · 19.4 KB

File metadata and controls

179 lines (101 loc) · 19.4 KB

ऑब्जेक्ट डिटेक्शन

अब तक हमने जिन इमेज क्लासिफिकेशन मॉडल्स का उपयोग किया है, वे एक इमेज लेते हैं और एक श्रेणीबद्ध परिणाम देते हैं, जैसे कि MNIST समस्या में 'नंबर' क्लास। हालांकि, कई मामलों में हम केवल यह जानना नहीं चाहते कि तस्वीर में वस्तुएं हैं - हम उनकी सटीक लोकेशन भी जानना चाहते हैं। यही ऑब्जेक्ट डिटेक्शन का उद्देश्य है।

ऑब्जेक्ट डिटेक्शन

इमेज YOLO v2 वेबसाइट से

ऑब्जेक्ट डिटेक्शन के लिए एक साधारण दृष्टिकोण

मान लीजिए कि हम एक तस्वीर में बिल्ली को ढूंढना चाहते हैं, तो ऑब्जेक्ट डिटेक्शन के लिए एक बहुत ही साधारण दृष्टिकोण निम्नलिखित होगा:

  1. तस्वीर को कई टाइल्स में विभाजित करें।
  2. प्रत्येक टाइल पर इमेज क्लासिफिकेशन चलाएं।
  3. जिन टाइल्स में पर्याप्त उच्च सक्रियता होती है, उन्हें उस वस्तु को शामिल करने वाला माना जा सकता है।

साधारण ऑब्जेक्ट डिटेक्शन

इमेज एक्सरसाइज नोटबुक से

हालांकि, यह दृष्टिकोण आदर्श नहीं है, क्योंकि यह एल्गोरिदम को वस्तु के बॉक्स की लोकेशन को बहुत ही अनिश्चित रूप से निर्धारित करने की अनुमति देता है। अधिक सटीक लोकेशन के लिए, हमें रेग्रेशन का उपयोग करके बॉक्स के निर्देशांक की भविष्यवाणी करनी होगी - और इसके लिए हमें विशिष्ट डेटासेट्स की आवश्यकता होती है।

ऑब्जेक्ट डिटेक्शन के लिए रिग्रेशन

यह ब्लॉग पोस्ट आकृतियों का पता लगाने के लिए एक शानदार परिचय प्रदान करता है।

ऑब्जेक्ट डिटेक्शन के लिए डेटासेट्स

आप इस कार्य के लिए निम्नलिखित डेटासेट्स का सामना कर सकते हैं:

  • PASCAL VOC - 20 क्लासेस
  • COCO - कॉमन ऑब्जेक्ट्स इन कॉन्टेक्स्ट। 80 क्लासेस, बॉक्स और सेगमेंटेशन मास्क्स

COCO

ऑब्जेक्ट डिटेक्शन मेट्रिक्स

इंटरसेक्शन ओवर यूनियन

जहां इमेज क्लासिफिकेशन के लिए एल्गोरिदम के प्रदर्शन को मापना आसान है, वहीं ऑब्जेक्ट डिटेक्शन के लिए हमें क्लास की सही पहचान और बॉक्स की लोकेशन की सटीकता दोनों को मापना होता है। लोकेशन की सटीकता के लिए, हम इंटरसेक्शन ओवर यूनियन (IoU) का उपयोग करते हैं, जो मापता है कि दो बॉक्स (या दो क्षेत्र) कितने अच्छे से ओवरलैप करते हैं।

IoU

फिगर 2 इस उत्कृष्ट ब्लॉग पोस्ट से

आइडिया सरल है - हम दो आकृतियों के बीच इंटरसेक्शन के क्षेत्र को उनके यूनियन के क्षेत्र से विभाजित करते हैं। दो समान क्षेत्रों के लिए, IoU 1 होगा, जबकि पूरी तरह से अलग क्षेत्रों के लिए यह 0 होगा। अन्यथा यह 0 से 1 के बीच होगा। हम आमतौर पर केवल उन बॉक्स को मानते हैं जिनका IoU एक निश्चित मान से ऊपर होता है।

एवरेज प्रिसिजन

मान लीजिए कि हम किसी दिए गए क्लास $C$ की पहचान को मापना चाहते हैं। इसे मापने के लिए हम एवरेज प्रिसिजन मेट्रिक्स का उपयोग करते हैं, जो निम्नलिखित तरीके से गणना की जाती है:

  1. प्रिसिजन-रिकॉल कर्व दिखाता है कि डिटेक्शन थ्रेशोल्ड मान (0 से 1 तक) के आधार पर सटीकता कैसे बदलती है।
  2. थ्रेशोल्ड के आधार पर, हमें इमेज में अधिक या कम वस्तुएं मिलेंगी, और प्रिसिजन और रिकॉल के अलग-अलग मान मिलेंगे।
  3. कर्व इस प्रकार दिखेगा:

इमेज NeuroWorkshop से

किसी दिए गए क्लास $C$ के लिए एवरेज प्रिसिजन इस कर्व के नीचे का क्षेत्र है। अधिक सटीक रूप से, रिकॉल एक्सिस को आमतौर पर 10 भागों में विभाजित किया जाता है, और प्रिसिजन को इन सभी बिंदुओं पर औसत किया जाता है:

$$ AP = {1\over11}\sum_{i=0}^{10}\mbox{Precision}(\mbox{Recall}={i\over10}) $$

AP और IoU

हम केवल उन डिटेक्शन को मानेंगे जिनका IoU एक निश्चित मान से ऊपर है। उदाहरण के लिए, PASCAL VOC डेटासेट में आमतौर पर $\mbox{IoU Threshold} = 0.5$ माना जाता है, जबकि COCO में AP विभिन्न $\mbox{IoU Threshold}$ मानों के लिए मापा जाता है।

इमेज NeuroWorkshop से

मीन एवरेज प्रिसिजन - mAP

ऑब्जेक्ट डिटेक्शन के लिए मुख्य मेट्रिक मीन एवरेज प्रिसिजन या mAP कहलाती है। यह एवरेज प्रिसिजन का मान है, जो सभी ऑब्जेक्ट क्लासेस और कभी-कभी $\mbox{IoU Threshold}$ पर औसत होता है। अधिक विस्तार से, mAP की गणना की प्रक्रिया इस ब्लॉग पोस्ट में वर्णित है, और यहां कोड नमूनों के साथ भी।

ऑब्जेक्ट डिटेक्शन के विभिन्न दृष्टिकोण

ऑब्जेक्ट डिटेक्शन एल्गोरिदम की दो व्यापक श्रेणियां हैं:

  • रीजन प्रपोजल नेटवर्क्स (R-CNN, Fast R-CNN, Faster R-CNN)। मुख्य विचार है रीजन ऑफ इंटरेस्ट्स (ROI) उत्पन्न करना और उनके ऊपर CNN चलाना, अधिकतम सक्रियता की तलाश करना। यह साधारण दृष्टिकोण के समान है, सिवाय इसके कि ROI अधिक चतुर तरीके से उत्पन्न किए जाते हैं। इस प्रकार के तरीकों की एक बड़ी कमी यह है कि वे धीमे होते हैं, क्योंकि हमें इमेज पर CNN क्लासिफायर के कई पास चलाने की आवश्यकता होती है।
  • वन-पास (YOLO, SSD, RetinaNet) विधियां। इन आर्किटेक्चर में हम नेटवर्क को एक ही पास में क्लासेस और ROI की भविष्यवाणी करने के लिए डिज़ाइन करते हैं।

R-CNN: रीजन-बेस्ड CNN

R-CNN Selective Search का उपयोग करता है ताकि ROI क्षेत्रों की एक पदानुक्रमित संरचना उत्पन्न की जा सके, जिन्हें फिर CNN फीचर एक्सट्रैक्टर्स और SVM-क्लासिफायर के माध्यम से पास किया जाता है ताकि ऑब्जेक्ट क्लास निर्धारित किया जा सके, और बॉक्स निर्देशांक निर्धारित करने के लिए लीनियर रिग्रेशन का उपयोग किया जाता है। आधिकारिक पेपर

RCNN

इमेज van de Sande et al. ICCV’11 से

RCNN-1

इमेज इस ब्लॉग से

F-RCNN - फास्ट R-CNN

यह दृष्टिकोण R-CNN के समान है, लेकिन रीजन को परिभाषित किया जाता है जब कॉन्वोल्यूशन लेयर्स लागू हो चुकी होती हैं।

FRCNN

इमेज आधिकारिक पेपर, arXiv, 2015 से

Faster R-CNN

इस दृष्टिकोण का मुख्य विचार है कि रीजन की भविष्यवाणी करने के लिए न्यूरल नेटवर्क का उपयोग किया जाए - जिसे रीजन प्रपोजल नेटवर्क कहा जाता है। पेपर, 2016

FasterRCNN

इमेज आधिकारिक पेपर से

R-FCN: रीजन-बेस्ड फुली कॉन्वोल्यूशनल नेटवर्क

यह एल्गोरिदम Faster R-CNN से भी तेज है। मुख्य विचार निम्नलिखित है:

  1. हम ResNet-101 का उपयोग करके फीचर्स निकालते हैं।
  2. फीचर्स को पोजिशन-सेंसिटिव स्कोर मैप द्वारा प्रोसेस किया जाता है। $C$ क्लासेस के प्रत्येक ऑब्जेक्ट को $k\times k$ क्षेत्रों में विभाजित किया जाता है, और हम ऑब्जेक्ट्स के भागों की भविष्यवाणी करने के लिए प्रशिक्षण देते हैं।
  3. $k\times k$ क्षेत्रों के प्रत्येक भाग के लिए सभी नेटवर्क ऑब्जेक्ट क्लासेस के लिए वोट करते हैं, और अधिकतम वोट वाले ऑब्जेक्ट क्लास को चुना जाता है।

r-fcn इमेज

इमेज आधिकारिक पेपर से

YOLO - यू ओनली लुक वन्स

YOLO एक रियलटाइम वन-पास एल्गोरिदम है। मुख्य विचार निम्नलिखित है:

  • इमेज को $S\times S$ क्षेत्रों में विभाजित किया जाता है।
  • प्रत्येक क्षेत्र के लिए, CNN $n$ संभावित ऑब्जेक्ट्स, बॉक्स निर्देशांक और कॉन्फिडेंस=प्रोबेबिलिटी * IoU की भविष्यवाणी करता है।

YOLO

इमेज आधिकारिक पेपर से

अन्य एल्गोरिदम

✍️ एक्सरसाइज: ऑब्जेक्ट डिटेक्शन

अपनी सीख को निम्नलिखित नोटबुक में जारी रखें:

ObjectDetection.ipynb

निष्कर्ष

इस पाठ में आपने ऑब्जेक्ट डिटेक्शन को पूरा करने के विभिन्न तरीकों का एक संक्षिप्त दौरा किया!

🚀 चुनौती

इन लेखों और नोटबुक्स को पढ़ें और YOLO को स्वयं आजमाएं:

समीक्षा और स्व-अध्ययन