PASCAL VOC चैलेंज के लिए डिटेक्शन टास्क के लिए mAP की गणना कैसे करें?


22

पास्कल वीओसी लीडरबोर्ड के लिए खोज कार्य के लिए एमएपी (औसत औसत परिशुद्धता) की गणना कैसे करें? http://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php?challengeid=11&compid=4

वहाँ कहा - पृष्ठ 11 पर : http://homepages.inf.ed.ac.uk/ckiw/postscript/ijcv_voc09.pdf

औसत परिशुद्धता (एपी)। VOC2007 चुनौती के लिए, वर्गीकरण और पता लगाने दोनों का मूल्यांकन करने के लिए प्रक्षेपित औसत परिशुद्धता (सल्टन और मैगिल 1986) का उपयोग किया गया था। किसी दिए गए कार्य और वर्ग के लिए, सटीक / रिकॉल वक्र की गणना विधि के रैंक किए गए आउटपुट से की जाती है। रिकॉल को किसी दिए गए रैंक से ऊपर सूचीबद्ध सभी सकारात्मक उदाहरणों के अनुपात के रूप में परिभाषित किया गया है। परिशुद्धता उस रैंक के ऊपर सभी उदाहरणों का अनुपात है जो सकारात्मक वर्ग से हैं। AP सटीक / रिकॉल वक्र के आकार को संक्षेप में प्रस्तुत करता है, और इसे समान रूप से दूरी पर स्थित याद स्तर [0,0.1, ..., 1] के सेट पर औसत परिशुद्धता के रूप में परिभाषित किया गया है: AP = 1/11 ∑ r∈{0,0.1,...,1} pinterp(r)

प्रत्येक रिकॉल लेवल r पर सटीक को एक विधि के लिए मापी गई अधिकतम परिशुद्धता के द्वारा प्रक्षेपित किया जाता है, जिसके लिए संबंधित रिकॉल r से अधिक होता है: pinterp(r) = max p(r˜) जहां p ( where) रिकॉल में मापा गया सटीक होता है ˜r

MAP के बारे में: http://0agr.ru/wiki/index.php/Preaches_and_Recall#Apret_Preults


तो क्या इसका मतलब यह है कि:

  1. हम परिशुद्धता और रिकॉल की गणना करते हैं :

    • ए) कई अलग-अलग के लिएIoU > {0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1} हम सच्चे / गलत सकारात्मक / नकारात्मक मूल्यों की गणना करते हैं

    जहाँ True positive = Number_of_detection with IoU > {0, 0.1,..., 1}, जैसा कि यहाँ कहा गया है: /datascience//a/16813/37736 और फिर हम नीचे दिए गए हैं:

    Precision = True positive / (True positive + False positive)

    Recall = True positive / (True positive + False negative)


  • बी) या हम पहचानने वाले एल्गोरिदम की कई अलग-अलग सीमा के लिए:

    Precision = True positive / (True positive + False positive)

    Recall = True positive / (True positive + False negative)

    कहाँ True positive = Number_of_detection with IoU > 0.5के रूप में यहां कहा: /programming//a/43168882/1558037


  • C) या हम पहचानने वाले एल्गोरिदम की कई अलग-अलग सीमा के लिए:

    Precision = Intersect / Detected_box

    Recall = Intersect / Object

    जैसा कि यहाँ दिखाया गया है? https://en.wikipedia.org/wiki/Precision_and_recall यहाँ छवि विवरण दर्ज करें


  1. फिर हम प्रिसिजन-रिकॉल वक्र बनाते हैं , जैसा कि यहाँ दिखाया गया है: यहाँ छवि विवरण दर्ज करें

  1. फिर हम एपी (औसत सटीक) की गणना उन बिंदुओं पर 11 मानों के औसत केPrecision रूप में करते हैं Recall = {0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1}, जहांAP = 1/11 ∑ recall∈{0,0.1,...,1} Precision(Recall)

(सामान्य तौर पर प्रत्येक बिंदु के लिए, उदाहरण के लिए 0.3, हमें रिकॉल के लिए परिशुद्धता का अधिकतम मिल जाता है <= 0.3, इस बिंदु पर परिशुद्धता के मूल्य के बजाय रिकॉल = 0.3)


  1. और जब हम एपी को केवल सभी छवियों पर 1 कुछ ऑब्जेक्ट क्लास के लिए गणना करते हैं - तो हम इस क्लास के लिए एपी (औसत परिशुद्धता) प्राप्त करते हैं, उदाहरण के लिए, केवल air

तो एपी एक अभिन्न अंग है (वक्र के नीचे का क्षेत्र): /stats//a/157019991998

लेकिन जब हम सभी चित्रों पर सभी ऑब्जेक्ट कक्षाओं के लिए एपी की गणना करते हैं - तो हम सभी छवियों के डेटासेट के लिए एमएपी (औसत औसत परिशुद्धता) प्राप्त करते हैं, उदाहरण के लिए, 88.6R4D_faster_rcnn के लिए: http://host.robots.ox.ac.uk:8080-leaderboard /displaylb.php?challengeid=11&compid=4


प्रशन:

  1. क्या यह सही है, और यदि यह नहीं है, तो पास्कल वीओसी चैलेंज के लिए एमएपी की गणना कैसे करें?
  2. और पैराग्राफ 1 में प्रेसिजन और रिकॉल की गणना के लिए 3 फॉर्मूला (ए, बी या सी) में से कौन सा सही है?

संक्षिप्त जवाब:

  • mAP = AVG (प्रत्येक वस्तु वर्ग के लिए एपी)
  • एपी = एवीजी (प्रत्येक 11 रिकॉल के लिए परिशुद्धता {परिशुद्धता = 0, 0.1, ..., 1})
  • पीआर-कर्व = प्रिसिजन एंड रिकॉल (प्रत्येक थ्रेसहोल्ड के लिए जो प्रिडिक्शन बाउंड-बॉक्स में है)
  • परिशुद्धता = टीपी / (टीपी + एफपी)
  • याद करें = टीपी / (टीपी + एफएन)
  • टीपी = IoU> 0.5 के साथ निरोधों की संख्या
  • एफपी = आईओयू <= 0.5 के साथ हिरासत की संख्या या एक से अधिक बार पता लगाया गया
  • एफएन = उन वस्तुओं की संख्या जो आईओयू <= 0.5 के साथ पता नहीं लगा या पता नहीं चला

जवाबों:


15

अपने सवालों के जवाब देने के लिए:

  1. हाँ आपका दृष्टिकोण सही है
  2. A, B और C सही उत्तर है B

स्पष्टीकरण निम्नलिखित है: ऑब्जेक्ट डिटेक्शन के संदर्भ में औसत औसत परिशुद्धता (एमएपी) की गणना करने के लिए आपको प्रत्येक कक्षा के लिए औसत परिशुद्धता (एपी) की गणना करनी चाहिए, और फिर सभी कक्षाओं में औसत की गणना करनी चाहिए। यहाँ कुंजी प्रत्येक वर्ग के लिए एपी की गणना करने के लिए है, सामान्य रूप से कंप्यूटिंग परिशुद्धता (पी) और रिकॉल (आर) के लिए आपको परिभाषित करना चाहिए कि क्या हैं: ट्रू पॉज़िटिव (टीपी), झूठी पॉज़िटिव (एफपी), ट्रू नेगेटिव (टीएन) और गलत। नकारात्मक (FN)। पास्कल VOC चैलेंज के ऑब्जेक्ट डिटेक्शन की सेटिंग में निम्नलिखित हैं:

  • टीपी: बाउंडिंग बॉक्स (बीबी) हैं जो जमीनी सच्चाई (जीटी) के साथ संघ (आईओयू) से अधिक चौराहे 0.5 से ऊपर हैं
  • एफपी: बीबी कि जीटी के साथ आईओयू 0.5 से नीचे है बीबी भी आईओयू के साथ आईटीयू है जो पहले से ही पता चला है।
  • टीएन: वहाँ सच नकारात्मक नहीं हैं, छवि में कम से कम एक ऑब्जेक्ट शामिल होने की उम्मीद है
  • FN: वे चित्र बीबी का उत्पादन करने में विफल रहे

अब प्रत्येक भविष्यवाणी की गई बी बी में दिए गए वर्ग के लिए एक आत्मविश्वास मूल्य है। तो स्कोरिंग विधि विश्वास के घटते क्रम के लिए भविष्यवाणियों को क्रमबद्ध करती है और प्रत्येक संभावित रैंक k = 1 के पूर्वानुमानों की संख्या के लिए P = TP / (TP + FP) और R = TP / (TP + FN) की गणना करती है। तो अब आपके पास प्रत्येक रैंक के लिए एक (पी, आर) है जो कि पी और आर "कच्चे" प्रेसिजन-रिकॉल वक्र हैं। R की इंटरप्रोलेटेड PR कर्व फॉरेक्स वैल्यू की गणना करने के लिए आप एक अधिकतम R '> R = R का चयन करें।

वीआर देवकिट डॉक के अनुसार पीआर वक्र बिंदुओं को नमूना करने के दो अलग-अलग तरीके हैं । 2010 से पहले VOC चैलेंज के लिए, हम किसी भी R '= R के लिए प्राप्त अधिकतम P का चयन करते हैं, जो R 0, 0.1, ..., 1 (ग्यारह अंक) से संबंधित है। एपी तो रिकॉल थ्रेसहोल्ड में से प्रत्येक पर औसत परिशुद्धता है। वीओसी चैलेंज 2010 और उसके बाद, हम अभी भी किसी भी आर '=> आर के लिए अधिकतम पी का चयन करते हैं, जबकि आर सभी अद्वितीय रिकॉल वैल्यू (0 और 1 शामिल हैं) से संबंधित है। पीआर पीआर वक्र के तहत क्षेत्र का आकार है। ध्यान दें कि यदि आपके पास P का मूल्य नहीं है, तो रिकॉल के साथ थ्रेसहोल्ड के ऊपर कुछ मान 0 मान है।

उदाहरण के लिए "एयरप्लेन" श्रेणी को दिए गए एक विधि के निम्नलिखित आउटपुट पर विचार करें:

BB  | confidence | GT
----------------------
BB1 |  0.9       | 1
----------------------
BB2 |  0.9       | 1
----------------------
BB3 |  0.7       | 0
----------------------
BB4 |  0.7       | 0
----------------------
BB5 |  0.7       | 1
----------------------
BB6 |  0.7       | 0
----------------------
BB7 |  0.7       | 0
----------------------
BB8 |  0.7       | 1
----------------------
BB9 |  0.7       | 1
----------------------

इसके अलावा दो छवियों में बाउंडिंग बॉक्स का पता नहीं चला, इसलिए हमारे पास FN = 2. पिछली तालिका है विधि जीटी = 1 का मतलब है कि टीपी और जीटी = 0 एफपी है। तो टीपी = 5 (बीबी 1, बीबी 2, बीबी 5, बीबी 8 और बीबी 9), एफपी = 5। रैंक = 3 के मामले के लिए सटीक बूँदें क्योंकि BB1 पहले से ही पता चला था, इसलिए भले ही वस्तु वास्तव में मौजूद हो, यह एक एफपी के रूप में गिना जाता है। ।

rank=1  precision=1.00 and recall=0.14
----------
rank=2  precision=1.00 and recall=0.29
----------
rank=3  precision=0.66 and recall=0.29
----------
rank=4  precision=0.50 and recall=0.29
----------
rank=5  precision=0.40 and recall=0.29
----------
rank=6  precision=0.50 and recall=0.43
----------
rank=7  precision=0.43 and recall=0.43
----------
rank=8  precision=0.38 and recall=0.43
----------
rank=9  precision=0.44 and recall=0.57
----------
rank=10 precision=0.50 and recall=0.71
----------

पिछले परिणामों को देखते हुए: अगर हमने vc2010 से पहले रास्ते का उपयोग किया है, तो प्रक्षेपित परिशुद्धता मान 1, 1, 1, 0.5, 0.5, 0.5, 0.5, 0.5, 0, 0, 0. तब AP = 5.5 / 11 = 0.5 है। "हवाई जहाज" की कक्षा। और अगर हम vc2010 के बाद से जिस तरह से इस्तेमाल करते हैं, तो प्रक्षेपित परिशुद्धता मान 1, 1, 1, 0.5, 0.5, 0.5, 7 अद्वितीय रिकॉल के लिए 0, 0.14, 0.29, 0.43, 0.57, 0.71, 1.Then AP = हैं। (0.14-0) * 1 + (0.29-0.14) * 1 + (0.43-0.29) * 0.5 + (0.57-0.43) * 0.5 + (0.71-0.57) * 0.5 + (1-0.71) * 0 + 0.5 0.5 "हवाई जहाज" का वर्ग।

प्रत्येक वर्ग के लिए दोहराएं और फिर आपके पास (एमएपी) है।

अधिक जानकारी निम्न लिंक 1 , 2 में पाई जा सकती है । इसके अलावा आपको कागज की जांच करनी चाहिए: PASCAL विजुअल ऑब्जेक्ट क्लासेस चैलेंज: एक अधिक विस्तृत विवरण के लिए पूर्वव्यापी


1
आपका स्वागत है! हां, आपको सभी छवियों के बीच गणना करनी चाहिए। और GT 1 है यदि IoU> 0.5। अंतिम एफएन 3 नहीं के लिए 3 हो जाएगा वस्तुओं का पता नहीं
feynman410

1
एफएन छवियों की संख्या है जो कोई भविष्यवाणी नहीं की गई थी, एफपी आईओयू <= 0.5 के साथ हिरासत की संख्या है या एक से अधिक बार पता चला है। इस pseudocode आँकड़े
263758/

1
क्षमा करें, आपका अधिकार वह नंबर ऑब्जेक्ट है जिसका पता नहीं लगाया गया है।
feynman410

1
@ feynman410 मैं भ्रमित हो गया, क्या आप हमें बता सकते हैं कि आप उन टेबल ऑब्जेक्ट्स में कहाँ रखते हैं जिनका पता नहीं लगाया गया था, लेकिन होना चाहिए? तालिका के अंत में? (क्योंकि उनके लिए कोई स्कोर नहीं है)
मार्टिन Brišiak

1
इसलिए "सटीक" और "रिकॉल" प्रत्येक वर्ग के लिए अलग-अलग गणना की जाती है - ताकि प्रति वर्ग एपी की गणना की जा सके। सही? तो क्या वे प्रत्येक छवि पर अलग-अलग गणना की जाती हैं और फिर औसत होती हैं, या क्या वे सभी छवियों पर कुल डिटेक्शन पर गणना की जाती हैं?
कुछ समय

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.