AI-For-Beginners/translations/mr/lessons/4-ComputerVision/11-ObjectDetection/README.md

19 KiB
Raw Blame History

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

आतापर्यंत आपण ज्या इमेज क्लासिफिकेशन मॉडेल्सवर काम केले आहे, त्या एका प्रतिमेवर प्रक्रिया करून एक वर्गीय निकाल देतात, जसे की MNIST समस्येमध्ये 'संख्या' वर्ग. परंतु, अनेक वेळा आपल्याला फक्त हे जाणून घ्यायचे नसते की प्रतिमेत वस्तू आहेत, तर आपल्याला त्यांच्या अचूक स्थानाचा अंदाज लावायचा असतो. ऑब्जेक्ट डिटेक्शन याच उद्देशासाठी आहे.

पूर्व-व्याख्यान क्विझ

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

प्रतिमा YOLO v2 वेबसाइट वरून

ऑब्जेक्ट डिटेक्शनसाठी एक साधा दृष्टिकोन

समजा आपल्याला एका प्रतिमेत मांजर शोधायचे आहे, तर ऑब्जेक्ट डिटेक्शनसाठी एक साधा दृष्टिकोन असा असू शकतो:

  1. प्रतिमेला अनेक टाइल्समध्ये विभागा.
  2. प्रत्येक टाइलवर इमेज क्लासिफिकेशन चालवा.
  3. ज्या टाइल्समध्ये पुरेसे उच्च सक्रियता दिसते, त्या टाइल्समध्ये संबंधित वस्तू असल्याचे मानले जाऊ शकते.

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

प्रतिमा व्यायाम नोटबुक मधून

तथापि, हा दृष्टिकोन आदर्श नाही, कारण तो वस्तूच्या बॉक्सचे स्थान अचूकपणे शोधण्यास सक्षम नाही. अधिक अचूक स्थानासाठी, आपल्याला रेग्रेशन वापरून बॉक्सच्या समन्वयांचा अंदाज लावावा लागतो - आणि त्यासाठी विशिष्ट डेटासेट्स आवश्यक असतात.

ऑब्जेक्ट डिटेक्शनसाठी रेग्रेशन

हा ब्लॉग पोस्ट आकार शोधण्यासाठी एक उत्तम सुरुवात आहे.

ऑब्जेक्ट डिटेक्शनसाठी डेटासेट्स

या कार्यासाठी तुम्हाला खालील डेटासेट्स सापडू शकतात:

  • PASCAL VOC - 20 वर्ग
  • COCO - कॉमन ऑब्जेक्ट्स इन कॉन्टेक्स्ट. 80 वर्ग, बॉक्सेस आणि सेगमेंटेशन मास्क

COCO

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

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

इमेज क्लासिफिकेशनसाठी अल्गोरिदम किती चांगले कार्य करते हे मोजणे सोपे आहे, परंतु ऑब्जेक्ट डिटेक्शनसाठी आपल्याला वर्गाची अचूकता आणि बॉक्सच्या स्थानाची अचूकता दोन्ही मोजावी लागते. यासाठी इंटरसेक्शन ओव्हर युनियन (IoU) वापरले जाते, जे दोन बॉक्सेस (किंवा दोन क्षेत्रे) किती चांगले ओव्हरलॅप होतात हे मोजते.

IoU

IoU वर उत्कृष्ट ब्लॉग पोस्ट मधून आकृती 2

संकल्पना सोपी आहे - दोन आकृत्यांच्या ओव्हरलॅप क्षेत्राला त्यांच्या युनियन क्षेत्राने विभाजित करतो. दोन समान क्षेत्रांसाठी, IoU 1 असेल, तर पूर्णपणे वेगळ्या क्षेत्रांसाठी ते 0 असेल. अन्यथा, ते 0 ते 1 दरम्यान बदलते. आपण सामान्यतः फक्त त्या बॉक्सेस विचारात घेतो ज्यांचे IoU विशिष्ट मूल्यापेक्षा जास्त आहे.

सरासरी अचूकता (Average Precision)

समजा आपल्याला 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 कसे गणले जाते याचे अधिक तपशीलवार वर्णन या ब्लॉग पोस्टमध्ये आणि कोड नमुन्यांसह येथे दिले आहे.

ऑब्जेक्ट डिटेक्शनसाठी विविध दृष्टिकोन

ऑब्जेक्ट डिटेक्शन अल्गोरिदम्सचे दोन मुख्य प्रकार आहेत:

  • Region Proposal Networks (R-CNN, Fast R-CNN, Faster R-CNN). मुख्य कल्पना म्हणजे Regions of Interests (ROI) तयार करणे आणि त्यावर CNN चालवणे, जास्तीत जास्त सक्रियता शोधण्यासाठी. हे साध्या दृष्टिकोनासारखे आहे, परंतु ROIs अधिक हुशारीने तयार केले जातात. अशा पद्धतींचा मुख्य तोटा म्हणजे त्या हळू असतात, कारण प्रतिमेवर CNN क्लासिफायरचे अनेक पासेस आवश्यक असतात.
  • One-pass (YOLO, SSD, RetinaNet) पद्धती. या आर्किटेक्चरमध्ये नेटवर्क एकाच वेळी वर्ग आणि ROIs अंदाज लावण्यासाठी डिझाइन केले जाते.

R-CNN: Region-Based CNN

R-CNN Selective Search वापरते ROI क्षेत्रांची संरचना तयार करण्यासाठी, जी नंतर CNN फीचर एक्स्ट्रॅक्टर्स आणि SVM-क्लासिफायर्सद्वारे वस्तूचा वर्ग निश्चित करण्यासाठी आणि बॉक्स समन्वय निश्चित करण्यासाठी रेषीय रेग्रेशनद्वारे प्रक्रिया केली जाते. अधिकृत पेपर

RCNN

van de Sande et al. ICCV11 मधून प्रतिमा

RCNN-1

या ब्लॉग मधून प्रतिमा

F-RCNN - Fast R-CNN

हा दृष्टिकोन R-CNN सारखाच आहे, परंतु क्षेत्रे कॉन्व्होल्यूशन लेयर्स लागू केल्यानंतर निश्चित केली जातात.

FRCNN

प्रतिमा अधिकृत पेपर, arXiv, 2015 मधून

Faster R-CNN

या दृष्टिकोनाची मुख्य कल्पना म्हणजे ROIs अंदाज लावण्यासाठी न्यूरल नेटवर्क वापरणे - ज्याला Region Proposal Network म्हणतात. पेपर, 2016

FasterRCNN

प्रतिमा अधिकृत पेपर मधून

R-FCN: Region-Based Fully Convolutional Network

हा अल्गोरिदम Faster R-CNN पेक्षा अधिक वेगवान आहे. मुख्य कल्पना खालीलप्रमाणे आहे:

  1. ResNet-101 वापरून फीचर्स काढणे.
  2. फीचर्स Position-Sensitive Score Map द्वारे प्रक्रिया केली जातात. C वर्गातील प्रत्येक वस्तू k\times k क्षेत्रांमध्ये विभागली जाते, आणि वस्तूंचे भाग अंदाज लावण्यासाठी प्रशिक्षण दिले जाते.
  3. k\times k क्षेत्रांमधील प्रत्येक भागासाठी सर्व नेटवर्क्स वस्तू वर्गांसाठी मतदान करतात, आणि जास्तीत जास्त मत असलेला वर्ग निवडला जातो.

r-fcn प्रतिमा

प्रतिमा अधिकृत पेपर मधून

YOLO - You Only Look Once

YOLO हा एक रिअलटाइम वन-पास अल्गोरिदम आहे. मुख्य कल्पना खालीलप्रमाणे आहे:

  • प्रतिमा S\times S क्षेत्रांमध्ये विभागली जाते.
  • प्रत्येक क्षेत्रासाठी, CNN n शक्य वस्तू, बॉक्स समन्वय आणि कॉन्फिडन्स=प्रोबॅबिलिटी * IoU अंदाज लावते.

YOLO

प्रतिमा अधिकृत पेपर मधून

इतर अल्गोरिदम्स

✍️ व्यायाम: ऑब्जेक्ट डिटेक्शन

खालील नोटबुकमध्ये तुमचे शिक्षण सुरू ठेवा:

ObjectDetection.ipynb

निष्कर्ष

या धड्यात तुम्ही ऑब्जेक्ट डिटेक्शन कसे साध्य करता येते याचे विविध मार्गांचा झपाट्याने आढावा घेतला!

🚀 आव्हान

या लेख आणि नोटबुक्स वाचा आणि YOLO स्वतः वापरून पहा:

व्याख्यानानंतर क्विझ

पुनरावलोकन आणि स्व-अभ्यास

असाइनमेंट: ऑब्जेक्ट डिटेक्शन