अब तक हमने जिन इमेज क्लासिफिकेशन मॉडल्स का उपयोग किया है, वे एक इमेज लेते हैं और एक श्रेणीबद्ध परिणाम देते हैं, जैसे कि MNIST समस्या में 'नंबर' क्लास। हालांकि, कई मामलों में हम केवल यह जानना नहीं चाहते कि तस्वीर में वस्तुएं हैं - हम उनकी सटीक लोकेशन भी जानना चाहते हैं। यही ऑब्जेक्ट डिटेक्शन का उद्देश्य है।
इमेज YOLO v2 वेबसाइट से
मान लीजिए कि हम एक तस्वीर में बिल्ली को ढूंढना चाहते हैं, तो ऑब्जेक्ट डिटेक्शन के लिए एक बहुत ही साधारण दृष्टिकोण निम्नलिखित होगा:
- तस्वीर को कई टाइल्स में विभाजित करें।
- प्रत्येक टाइल पर इमेज क्लासिफिकेशन चलाएं।
- जिन टाइल्स में पर्याप्त उच्च सक्रियता होती है, उन्हें उस वस्तु को शामिल करने वाला माना जा सकता है।
इमेज एक्सरसाइज नोटबुक से
हालांकि, यह दृष्टिकोण आदर्श नहीं है, क्योंकि यह एल्गोरिदम को वस्तु के बॉक्स की लोकेशन को बहुत ही अनिश्चित रूप से निर्धारित करने की अनुमति देता है। अधिक सटीक लोकेशन के लिए, हमें रेग्रेशन का उपयोग करके बॉक्स के निर्देशांक की भविष्यवाणी करनी होगी - और इसके लिए हमें विशिष्ट डेटासेट्स की आवश्यकता होती है।
यह ब्लॉग पोस्ट आकृतियों का पता लगाने के लिए एक शानदार परिचय प्रदान करता है।
आप इस कार्य के लिए निम्नलिखित डेटासेट्स का सामना कर सकते हैं:
- PASCAL VOC - 20 क्लासेस
- COCO - कॉमन ऑब्जेक्ट्स इन कॉन्टेक्स्ट। 80 क्लासेस, बॉक्स और सेगमेंटेशन मास्क्स
जहां इमेज क्लासिफिकेशन के लिए एल्गोरिदम के प्रदर्शन को मापना आसान है, वहीं ऑब्जेक्ट डिटेक्शन के लिए हमें क्लास की सही पहचान और बॉक्स की लोकेशन की सटीकता दोनों को मापना होता है। लोकेशन की सटीकता के लिए, हम इंटरसेक्शन ओवर यूनियन (IoU) का उपयोग करते हैं, जो मापता है कि दो बॉक्स (या दो क्षेत्र) कितने अच्छे से ओवरलैप करते हैं।
फिगर 2 इस उत्कृष्ट ब्लॉग पोस्ट से
आइडिया सरल है - हम दो आकृतियों के बीच इंटरसेक्शन के क्षेत्र को उनके यूनियन के क्षेत्र से विभाजित करते हैं। दो समान क्षेत्रों के लिए, IoU 1 होगा, जबकि पूरी तरह से अलग क्षेत्रों के लिए यह 0 होगा। अन्यथा यह 0 से 1 के बीच होगा। हम आमतौर पर केवल उन बॉक्स को मानते हैं जिनका IoU एक निश्चित मान से ऊपर होता है।
मान लीजिए कि हम किसी दिए गए क्लास
- प्रिसिजन-रिकॉल कर्व दिखाता है कि डिटेक्शन थ्रेशोल्ड मान (0 से 1 तक) के आधार पर सटीकता कैसे बदलती है।
- थ्रेशोल्ड के आधार पर, हमें इमेज में अधिक या कम वस्तुएं मिलेंगी, और प्रिसिजन और रिकॉल के अलग-अलग मान मिलेंगे।
- कर्व इस प्रकार दिखेगा:
इमेज NeuroWorkshop से
किसी दिए गए क्लास
हम केवल उन डिटेक्शन को मानेंगे जिनका IoU एक निश्चित मान से ऊपर है। उदाहरण के लिए, PASCAL VOC डेटासेट में आमतौर पर
इमेज NeuroWorkshop से
ऑब्जेक्ट डिटेक्शन के लिए मुख्य मेट्रिक मीन एवरेज प्रिसिजन या mAP कहलाती है। यह एवरेज प्रिसिजन का मान है, जो सभी ऑब्जेक्ट क्लासेस और कभी-कभी
ऑब्जेक्ट डिटेक्शन एल्गोरिदम की दो व्यापक श्रेणियां हैं:
- रीजन प्रपोजल नेटवर्क्स (R-CNN, Fast R-CNN, Faster R-CNN)। मुख्य विचार है रीजन ऑफ इंटरेस्ट्स (ROI) उत्पन्न करना और उनके ऊपर CNN चलाना, अधिकतम सक्रियता की तलाश करना। यह साधारण दृष्टिकोण के समान है, सिवाय इसके कि ROI अधिक चतुर तरीके से उत्पन्न किए जाते हैं। इस प्रकार के तरीकों की एक बड़ी कमी यह है कि वे धीमे होते हैं, क्योंकि हमें इमेज पर CNN क्लासिफायर के कई पास चलाने की आवश्यकता होती है।
- वन-पास (YOLO, SSD, RetinaNet) विधियां। इन आर्किटेक्चर में हम नेटवर्क को एक ही पास में क्लासेस और ROI की भविष्यवाणी करने के लिए डिज़ाइन करते हैं।
R-CNN Selective Search का उपयोग करता है ताकि ROI क्षेत्रों की एक पदानुक्रमित संरचना उत्पन्न की जा सके, जिन्हें फिर CNN फीचर एक्सट्रैक्टर्स और SVM-क्लासिफायर के माध्यम से पास किया जाता है ताकि ऑब्जेक्ट क्लास निर्धारित किया जा सके, और बॉक्स निर्देशांक निर्धारित करने के लिए लीनियर रिग्रेशन का उपयोग किया जाता है। आधिकारिक पेपर
इमेज van de Sande et al. ICCV’11 से
इमेज इस ब्लॉग से
यह दृष्टिकोण R-CNN के समान है, लेकिन रीजन को परिभाषित किया जाता है जब कॉन्वोल्यूशन लेयर्स लागू हो चुकी होती हैं।
इमेज आधिकारिक पेपर, arXiv, 2015 से
इस दृष्टिकोण का मुख्य विचार है कि रीजन की भविष्यवाणी करने के लिए न्यूरल नेटवर्क का उपयोग किया जाए - जिसे रीजन प्रपोजल नेटवर्क कहा जाता है। पेपर, 2016
इमेज आधिकारिक पेपर से
यह एल्गोरिदम Faster 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 का इम्प्लीमेंटेशन ऑब्जेक्ट डिटेक्शन के लिए











