Contents — find the section you need
किसी छवि में दो स्थानों पर एक ही चीज़ दिखाई दे रही है या नहीं, यह निर्धारित करने के लिए पूरी छवि की तुलना करने की तुलना में छोटे, बार-बार खोजे जा सकने वाले संकेतों की तुलना करना अधिक कारगर होता है। इन संकेतों को चुनने की प्रक्रिया को फ़ीचर डिटेक्शन कहते हैं। यह उन सभी प्रक्रियाओं का प्रारंभिक बिंदु है जिनमें छवियों के बीच पत्राचार की आवश्यकता होती है — जैसे कैमरा-मोशन एस्टिमेशन, पैनोरमा स्टिचिंग, 3डी पुनर्निर्माण, छवि पुनर्प्राप्ति, दृश्य निरीक्षण। यह लेख "कहां से चयन करना है" और "चयनित बिंदुओं का मिलान कैसे करना है" के बीच अंतर बताता है और समीकरण और कार्यान्वयन दोनों दृष्टिकोणों से क्लासिकल एल्गोरिदम के पीछे की सोच को व्यवस्थित करता है।
Intel RealSense D435छवि: Intel RealSense डेप्थ कैमरा D435 (मार्क औलेदास, CC BY-SA 4.0), विकिमीडिया कॉमन्स। एक प्रतिनिधि कैमरा, केवल फ़ीचर-डिटेक्शन डिवाइस नहीं।
30-सेकंड का सारांश
- फ़ीचर बिंदुओं को समतल दीवारों पर नहीं, बल्कि उन कोनों पर रखें जहाँ तीव्रता कई दिशाओं में बदलती है, या उन धब्बों पर रखें जिनकी चमक उनके परिवेश से भिन्न होती है। एक छोटे से इमेज ट्रांसफॉर्म के बाद उसी स्थान पर पुनः पता लगाया जाना (पुनरावर्तनीयता) ही महत्वपूर्ण है।
-
कॉर्नर डिटेक्शन स्थानीय ग्रेडिएंट की द्वि-दिशात्मकता को कैप्चर करता है; ब्लॉब डिटेक्शन किसी स्केल पर चमक के एक स्थानीय रूप से विशिष्ट पैच को कैप्चर करता है। DoG कई धुंधली छवियों के अंतर से ब्लॉब उम्मीदवारों की शीघ्रता से खोज करता है।
-
FAST केवल एक वृत्त पर पिक्सेल की तुलना करके कोनों का शीघ्रता से निर्धारण करता है। ORB, FAST को एक इमेज पिरामिड, ओरिएंटेशन एस्टिमेशन और एक घूर्णित BRIEF बाइनरी डिस्क्रिप्टर के साथ जोड़ता है, जो वास्तविक समय के उपयोग के लिए उपयुक्त है।
-
SIFT DoG के माध्यम से स्केल का चयन करता है, ग्रेडिएंट-डायरेक्शन हिस्टोग्राम के साथ ओरिएंटेशन को सामान्यीकृत करता है, और एक 128-आयामी डिस्क्रिप्टर बनाता है। कंप्यूट और मेमोरी लागत बढ़ जाती है, लेकिन यह स्केल और रोटेशन परिवर्तनों के प्रति मजबूत है।
-
केवल डिटेक्शन ही पत्राचार निर्धारित नहीं करता है। डिस्क्रिप्टर दूरी, अनुपात परीक्षण और RANSAC-आधारित ज्यामितीय सत्यापन का मूल्यांकन एक साथ एक पाइपलाइन के रूप में किया जाना चाहिए। हाल ही में, सुपरपॉइंट, एलाइक्ड और लाइटग्लू जैसी लर्निंग-आधारित पहचान और मिलान तकनीकें भी व्यावहारिक हो गई हैं।
फ़ीचर पॉइंट क्या है — "एक अलग दिखने वाला बिंदु" नहीं, बल्कि "एक ऐसा बिंदु जिसे आप दोबारा खोज सकते हैं"
मान लीजिए पिक्सेल निर्देशांक \mathbf{x}=(x,y)^\mathsf{T} हैं और छवि I(\mathbf{x}) है। एक फ़ीचर पॉइंट वह स्थान है जिसके आस-पास के पैच को थोड़े से ट्रांसलेशन, रोटेशन या स्केलिंग के बाद भी स्थिर रूप से उसी भौतिक स्थान के रूप में पहचाना जा सकता है, और जिसे आसपास के पैटर्न द्वारा अन्य बिंदुओं से अलग किया जा सकता है। पहले को डिटेक्टर कहा जाता है, और जो भी इसे संख्यात्मक वेक्टर या बिट स्ट्रिंग में परिवर्तित करता है उसे डिस्क्रिप्टर कहा जाता है।
ये दोनों अलग-अलग हैं। FAST सिद्धांत रूप में एक डिटेक्टर है; BRIEF एक डिस्क्रिप्टर है; ORB एक ऐसा तंत्र है जो दोनों को जोड़ता है। SIFT एक DoG डिटेक्टर और एक ग्रेडिएंट-हिस्टोग्राम डिस्क्रिप्टर का संयोजन है। केवल नामों की तुलना करने से भ्रम उत्पन्न होता है, इसलिए अब से हम इसे तीन चरणों में विभाजित करेंगे: "बिंदुओं का चयन करें", "आसपास के वातावरण का प्रतिनिधित्व करें" और "बिंदुओं का मिलान करें"।
चित्र: डस्ककॉइल द्वारा निर्मित। सिस्टम की गुणवत्ता का निर्धारण डिटेक्शन की संख्या से नहीं, बल्कि ज्यामितीय रूप से सुसंगत पत्राचारों की संख्या से होता है।
कोने: दो दिशाओं में परिवर्तन करने वाले स्थानों का चयन
सबसे सहज विशेषता कोना है। जब एक छवि पैच W को एक छोटे से विस्थापन \mathbf{u}=(u,v)^\mathsf{T} से स्थानांतरित किया जाता है, तो स्पष्ट परिवर्तन को SSD (वर्ग अंतरों का योग) के रूप में लिखें:
प्रथम-क्रम टेलर सन्निकटन के तहत, स्थानीय संरचना (द्वितीय-क्षण) मैट्रिक्स \mathbf{M} बन जाता है
जहाँ I_x,I_y छवि प्रवणताएँ हैं और w एक भार है, जैसे कि गॉसियन विंडो। मान लीजिए \mathbf{M} के आइगेनवैल्यू \lambda_1,\lambda_2 हैं; एक बिंदु वह कोना है जहाँ छोटा आइगेनवैल्यू भी बड़ा होता है। एक किनारे पर, जहाँ प्रवणता केवल एक दिशा में बड़ी होती है, एक आइगेनवैल्यू छोटा रहता है। समतल क्षेत्रों में, दोनों छोटे रहते हैं। हैरिस डिटेक्टर प्रत्येक पिक्सेल पर आइगेनवैल्यू को स्पष्ट रूप से हल नहीं करता है; इसके बजाय यह निम्नलिखित प्रतिक्रिया मान के स्थानीय अधिकतम मानों का चयन करता है:
k आमतौर पर 0.04–0.06 के आसपास होता है। हैरिस घूर्णन के प्रति अपेक्षाकृत मजबूत है, लेकिन चूंकि यह एक निश्चित आकार की विंडो के माध्यम से देखता है, इसलिए विषय के काफी बड़ा या छोटा होने पर उसी बिंदु का चयन करने के लिए इसमें कोई तंत्र नहीं है। शि-टोमासी का \min(\lambda_1,\lambda_2) भी व्यापक रूप से उपयोग किया जाता है। ट्रैकिंग के लिए उपयुक्त कोनों के चयन हेतु एक व्यावहारिक मानदंड के रूप में उपयोग किया जाता है।
ब्लॉब्स: एक "ब्लॉब," बिना कोने के भी, एक उपयोगी संकेत है
केवल कोने ही गोल लोगो, धब्बे, काले छेद या किसी चमकीले प्रतिबिंब के केंद्र को पर्याप्त रूप से नहीं पकड़ पाते। इसलिए एक ब्लॉब डिटेक्टर किसी निश्चित पैमाने पर, अपने परिवेश के सापेक्ष चमक के स्थानीय रूप से विशिष्ट धब्बों का पता लगाता है। गॉसियन G(\mathbf{x};\sigma) से सुचारू किए गए स्केल-स्पेस को इस प्रकार लिखें:
जहाँ * कनवोल्यूशन है और \sigma "हम किस आकार को देख रहे हैं" को दर्शाता है। गॉसियन के लाप्लासियन (LoG) की स्केल-सामान्यीकृत प्रतिक्रिया,
चमकीली पृष्ठभूमि पर एक काले वृत्त या काली पृष्ठभूमि पर एक चमकीले वृत्त के प्रति दृढ़ता से प्रतिक्रिया करती है। चरम बिंदुओं का पता लगाना न केवल स्थिति में, बल्कि त्रि-आयामी (x,y,\sigma) में भी संभव है। \sigma दिशा सहित स्पेस एक साथ ब्लॉब के केंद्र और विशिष्ट आकार को चुनता है। आप इसे एक वृत्ताकार ब्लॉब के अनुरूप स्केल के रूप में भी समझ सकते हैं जिसकी त्रिज्या लगभग \sqrt{2}\sigma है।
LoG एक बेहतरीन अवधारणा है, लेकिन प्रत्येक स्केल पर सटीक द्वितीय व्युत्पन्न की गणना करना महंगा है। यह सन्निकटन और गतिवर्धन DoG की ओर ले जाता है, और वहाँ से SIFT की ओर।
DoG: धुंधलेपन के अंतर से स्केल-अपरिवर्तनीय उम्मीदवारों की खोज
गॉसियन का अंतर (DoG) दो आसन्न धुंधली छवियों के बीच का अंतर है:
जहाँ k>1 आसन्न स्केलों का अनुपात है। एक स्थिरांक कारक तक, DoG स्केल-सामान्यीकृत LoG का सन्निकटन करता है, इसलिए ब्लॉब उम्मीदवारों को केवल एक अतिरिक्त कनवोल्यूशन के साथ खोजा जा सकता है। कार्यान्वयन में, आप छवि को धीरे-धीरे धुंधला करके एक गॉसियन पिरामिड बनाते हैं, और प्रत्येक DoG पिक्सेल की तुलना उसी स्केल पर उसके 8 पड़ोसियों के साथ-साथ 9 पड़ोसियों से करते हैं। ऊपर और नीचे दिए गए पैमाने पर प्रत्येक बिंदु — कुल 26। अधिकतम या न्यूनतम मान इसे संभावित बिंदु बनाता है।
संभावित बिंदुओं का सीधे उपयोग नहीं किया जाता है। कमजोर चरम मान शोर होते हैं और उन्हें अस्वीकार कर दिया जाता है, साथ ही लम्बी किनारों पर स्थित चरम मानों को भी। DoG चरम मान के चारों ओर 3D द्विघात समीकरण का अंतःस्थापन करने पर उप-पिक्सेल स्थिति और पैमाना प्राप्त होता है। हेसियन के लिए
एक बड़ा \mathrm{Tr}(\mathbf{H})^2/\det(\mathbf{H}) एक ऐसी किनारे की प्रतिक्रिया को इंगित करता है जहां केवल एक प्रमुख वक्रता मजबूत होती है, और ऐसे बिंदुओं को बाहर रखा जाता है। यह कोने की पहचान में आने वाली समस्या का समाधान करता है: किनारे पर स्थित एक बिंदु किनारे के साथ स्थानांतरित होने पर भी समान दिखता है, इसलिए इसके पत्राचार को विशिष्ट रूप से निर्धारित नहीं किया जा सकता है।
FAST: केवल एक वृत्त को देखकर कोनों का शीघ्रता से निर्धारण
एक्सेलरेटेड सेगमेंट टेस्ट (FAST) से प्राप्त विशेषताएं पिक्सेल p के चारों ओर त्रिज्या-3 वाले ब्रेसेनहैम वृत्त पर स्थित 16 पिक्सेल का उपयोग करती हैं। एक सीमा दिए जाने पर यदि t लगातार पिक्सेल (आमतौर पर 9 या 12) n सभी I_p+t से अधिक चमकीले हों, या I_p-t से अधिक गहरे हों, तो p को कोना माना जाता है।
चूंकि यह किसी भी ग्रेडिएंट या मैट्रिक्स की गणना नहीं करता है — केवल कुछ पिक्सेल तुलनाएँ और प्रारंभिक अस्वीकृति — इसलिए यह अत्यंत तीव्र है। इसकी गति का मुख्य कारण वह डिज़ाइन है जो पहले वृत्त पर 1, 5, 9 और 13 बजे की स्थिति पर पिक्सेल की जाँच करता है, और यदि चमकीले/गहरे पिक्सेल की निरंतर श्रृंखला संभव नहीं है तो तुरंत रुक जाता है। दूसरी ओर, साधारण FAST न तो स्केल प्रदान करता है और न ही ओरिएंटेशन, और किनारों के साथ कई बिंदुओं पर प्रतिक्रिया करता है। परिवेश से तीव्रता के अंतर को मापने, गैर-अधिकतम दमन (NMS) लागू करने और एक छवि पिरामिड के साथ संयोजन करने के बाद ही यह तीव्र होता है। एक व्यावहारिक मल्टी-स्केल डिटेक्टर।
ORB: FAST को "तेज़ लेकिन उपयोग में कठिन" के रूप में नहीं छोड़ना
ORB (ओरिएंटेड FAST और रोटेटेड BRIEF) एक ऐसी संरचना है जो FAST और BRIEF को सुदृढ़ करती है, जिसका उद्देश्य वास्तविक समय में छवि मिलान करना है। सबसे पहले, यह प्रत्येक कमी अनुपात s पर एक छवि पिरामिड पर FAST चलाता है, प्रत्येक स्तर के शीर्ष बिंदुओं को रखते हुए। यह, यदि सटीक नहीं तो, स्केल परिवर्तन के प्रति मजबूती प्रदान करता है।
इसके बाद, यह बिंदु p के आसपास पैच के तीव्रता केंद्रक की गणना करता है। क्षणों से
केंद्र p से केंद्रक \mathbf{c} तक का कोण \theta=\operatorname{atan2}(m_{01},m_{10}) प्रमुख अभिविन्यास बन जाता है। BRIEF डिस्क्रिप्टर एक बिट स्ट्रिंग है जो पैच के भीतर पिक्सेल युग्मों (\mathbf{a}_i,\mathbf{b}_i) की तुलना करता है:
लगभग 256 बार दोहराया जाता है। ORB में, तुलना से पहले बिंदु-युग्म निर्देशांकों को \theta द्वारा घुमाया जाता है, इसलिए घुमाने के बाद भी समान बिट पैटर्न प्राप्त होने की संभावना रहती है। rBRIEF, जो कम सहसंबंध वाले तुलना युग्मों का चयन करना सीखता है, बिट्स की सूचना सामग्री को संरक्षित करने का एक अन्य तरीका है। बाइनरी स्ट्रिंग्स के बीच की दूरी को हैमिंग दूरी के रूप में शीघ्रता से गणना की जा सकती है - XOR के बाद सेट बिट्स की संख्या।
ORB की ताकत CPU और एम्बेडेड उपकरणों पर गति और मेमोरी दक्षता है, और इसे विज़ुअल SLAM में व्यापक रूप से अपनाया जाता है। हालांकि, बड़े पैमाने पर अंतर, भारी धुंधलापन, या महत्वपूर्ण दृष्टिकोण परिवर्तन की स्थिति में, SIFT या समृद्ध ग्रेडिएंट विवरण वाले लर्निंग-आधारित फ़ीचर्स लाभप्रद हो सकते हैं।
SIFT: स्केल, ओरिएंटेशन और विवरण का सुसंगत सामान्यीकरण
स्केल-इनवेरिएंट फ़ीचर ट्रांसफ़ॉर्म (SIFT) DoG के माध्यम से (x,y,\sigma) के चरम बिंदुओं का पता लगाता है, और कम कंट्रास्ट वाले बिंदुओं और किनारों को हटा देता है। प्रतिक्रियाएँ। प्रत्येक बिंदु के आस-पास के क्षेत्र में, यह ग्रेडिएंट परिमाण और दिशा की गणना करता है, और एक गाऊसी-भारित अभिविन्यास हिस्टोग्राम बनाता है। सबसे बड़ा शिखर पैच के घूर्णन को सामान्य करने के लिए उपयोग किया जाने वाला प्रमुख अभिविन्यास बन जाता है, और अधिकतम के 80% से अधिक वाले द्वितीयक शिखरों को भी अपना अभिविन्यास दिया जाता है। यही घूर्णन के प्रति इसकी मजबूती का मूल है।
डिस्क्रिप्टर के लिए, लगभग 16\times16 की एक सामान्यीकृत विंडो को 4\times4 कोशिकाओं में विभाजित किया जाता है, और प्रत्येक कोशिका को 8-दिशा वाला ग्रेडिएंट हिस्टोग्राम मिलता है। इसलिए आयाम 4\times4\times8=128 है। वेक्टर \mathbf{d} को L2-सामान्यीकृत किया जाता है, और 0.2 से अधिक के तत्वों को क्लिप करके पुनः सामान्यीकृत किया जाता है, जिससे स्थानीय प्रकाश परिवर्तन के प्रति संवेदनशीलता कम हो जाती है।
दूसरे शब्दों में, SIFT की "अपरिवर्तनीयता" कोई जादू नहीं है। यह एक स्पष्ट डिज़ाइन है जो भिन्नता के प्रत्येक स्रोत को व्यक्तिगत रूप से संबोधित करता है: स्केल का चयन करना। इमेज पिरामिड के माध्यम से, प्रमुख अभिविन्यास द्वारा निर्देशांक फ्रेम को घुमाकर, और सामान्यीकरण के माध्यम से कंट्रास्ट को अवशोषित करके यह प्रक्रिया की जाती है। यह एफाइन विरूपण या बड़े दृष्टिकोण अंतरों के लिए पूर्ण रूप से कारगर नहीं है, जिनके लिए अभी भी RANSAC या बहु-दृश्य ज्यामिति की आवश्यकता होती है।
न्यूनतम कार्यान्वयन स्यूडोकोड
फीचर-पॉइंट प्रोसेसिंग केवल निष्कर्षण तक सीमित नहीं रहनी चाहिए — इसे पत्राचार सत्यापन तक कार्यान्वित किया जाना चाहिए। नीचे एक ढांचा दिया गया है जो ORB या SIFT दोनों पर लागू होता है।
function match_images(imageA, imageB, method):
grayA, grayB = to_gray(imageA), to_gray(imageB)
detector = create(method) # ORB: FAST+pyramid+rBRIEF / SIFT: DoG+gradient
keyA, descA = detector.detect_and_compute(grayA)
keyB, descB = detector.detect_and_compute(grayB)
metric = HAMMING if method == ORB else L2
tentative = []
for each descriptor a in descA:
b1, b2 = two_nearest(a, descB, metric)
if distance(a, b1) < 0.75 * distance(a, b2):
tentative.append((a.keypoint, b1.keypoint))
H, inlier_mask = RANSAC_HOMOGRAPHY(tentative, reproj_threshold=3px)
return tentative[inlier_mask], H
केवल एक निकटतम पड़ोसी को लेने से अस्पष्ट बिंदु, जैसे कि विंडो फ्रेम, ग्रिड और दोहराव वाले पैटर्न, परिणाम में रह जाते हैं। लोवे का अनुपात परीक्षण सर्वोत्तम दूरी d_1 और दूसरी सर्वोत्तम दूरी d_2 के अनुपात का उपयोग करता है, उन उम्मीदवारों को खारिज कर देता है जहां दूसरे स्थान पर रहने वाले से अंतर पर्याप्त बड़ा नहीं होता है। RANSAC तब पत्राचार के छोटे यादृच्छिक उपसमूहों से एक होमोग्राफी \mathbf{H} या मौलिक मैट्रिक्स का अनुमान एक परिकल्पना के रूप में लगाता है, और सबसे उपयुक्त विकल्प का चयन करता है। यह परिकल्पना छोटे रीप्रोजेक्शन त्रुटि के साथ सबसे अधिक पत्राचार (इनलायर्स) की व्याख्या करती है। यदि वस्तु समतल है, या कैमरा केवल अपनी जगह पर घूम गया है, तो होमोग्राफी के साथ संगति की जाँच की जा सकती है।
एक सामान्य 3D दृश्य के लिए, इसके बजाय मौलिक/आवश्यक मैट्रिक्स का उपयोग किया जाता है। इस बिंदु तक बचे इनलायर की संख्या और अनुपात वास्तव में उपयोग योग्य फीचर की मात्रा है।
प्रकाश, स्केल और रोटेशन के प्रति क्या मजबूत है, और किस हद तक
प्रकाश परिवर्तन के विरुद्ध, एक साधारण चमक ऑफसेट I'(x,y)=I(x,y)+b पिक्सेल अंतर को नष्ट कर देता है, लेकिन ग्रेडिएंट या बाइनरी तुलना में सापेक्ष संबंधों पर इसका बहुत कम प्रभाव पड़ता है। एक समान कंट्रास्ट परिवर्तन I'=aI+b को भी SIFT के डिस्क्रिप्टर नॉर्मलाइज़ेशन द्वारा काफी अच्छी तरह से संभाला जाता है। लेकिन जब स्थानीय संरचना ही बदल जाती है - एक्सपोज़र संतृप्ति, छाया सीमाएँ, प्रतिबिंब, दिन बनाम रात - तो केवल पारंपरिक तरीके कोई गारंटी नहीं देते हैं। कैप्चर के दौरान, एक्सपोज़र को स्थिर या सख्ती से प्रबंधित करें, और यदि आवश्यक हो, तो स्थानीय कंट्रास्ट सुधार लागू करें जैसे कि CLAHE का उपयोग दोनों छवियों के लिए समान परिस्थितियों में किया जाना चाहिए। अत्यधिक सुधार से शोर के नकली विशेषताओं में बदलने का जोखिम होता है, इसलिए सावधानी बरतें।
एकल-रिज़ॉल्यूशन हैरिस या FAST स्केल परिवर्तन के प्रति स्वाभाविक रूप से कमजोर होते हैं। ORB, जो एक छवि पिरामिड में उम्मीदवारों की खोज करता है, में व्यावहारिक सहनशीलता होती है, हालांकि SIFT के समान सामान्यीकरण नहीं होता है, जो DoG के माध्यम से निरंतर स्केल चरम बिंदुओं का चयन करता है। यदि कम स्केल पर बनावट गायब हो जाती है, तो कोई भी विधि पत्राचार नहीं ढूंढ सकती है। इनपुट रिज़ॉल्यूशन, पिरामिड की गहराई और न्यूनतम पैच आकार को कैप्चर-दूरी भिन्नता की अपेक्षित सीमा से निर्धारित किया जाना चाहिए।
घूर्णन के विरुद्ध, हैरिस प्रतिक्रिया स्वयं अपेक्षाकृत स्थिर होती है, लेकिन मिलान के लिए डिस्क्रिप्टर के समन्वय फ्रेम को भी घुमाना आवश्यक होता है। ORB तीव्रता केंद्रक के माध्यम से अभिविन्यास निर्धारित करता है, SIFT प्रवणता-दिशा हिस्टोग्राम के माध्यम से। इस प्रकार का निरंतर-कोण सामान्यीकरण केवल 90-डिग्री घूर्णन चरणों को संभालने वाले डिस्क्रिप्टर की तुलना में अधिक प्रभावी होता है। इस बीच, एक मजबूत तिरछा दृश्य घूर्णन और स्केलिंग नहीं है, बल्कि एक एफाइन/प्रोजेक्टिव विरूपण है, जिसके लिए बहु-दृश्य की आवश्यकता होती है। डेटा, एफाइन-कोवेरिएंट विशेषताएँ, या ज्यामितीय सत्यापन के साथ संयुक्त लर्निंग-आधारित विशेषताएँ।
मूल्यांकन मेट्रिक्स: उपयोगी पत्राचारों को मापें, न कि बिंदु गणना को
ज्ञात होमोग्राफी H वाले एक छवि युग्म के लिए, छवि A से बिंदु \mathbf{x}_i को B पर प्रक्षेपित करें, और यदि दूरी \epsilon के भीतर कोई बिंदु पता लगाए गए बिंदु सेट K_B में मौजूद है, तो इसे सफल पुनः-पहचान के रूप में गिनें। पुनरावृत्ति की अवधारणात्मक रूप से आवश्यकता है।
लेकिन यदि डिस्क्रिप्टर इसे अलग नहीं कर सकते हैं तो समान स्थान खोजना व्यर्थ है। इसलिए आप मिलान परिशुद्धता (सही पत्राचारों का अंश), सही पत्राचार गणना, पोस्ट-RANSAC इनलायर अनुपात, अनुमानित पोज़ की घूर्णन/अनुवाद त्रुटि, प्रसंस्करण समय और मेमोरी की भी रिपोर्ट करते हैं। HPatches एक प्रतिनिधि बेंचमार्क है जो पैच मिलान, डिटेक्टरों और होमोग्राफी का मूल्यांकन करने के लिए प्रकाश परिवर्तन को दृष्टिकोण परिवर्तन से अलग करता है। अनुमान। जब तक आप अपने एप्लिकेशन की ज्यामिति (समतल या वाइड-बेसलाइन 3D) से मेल खाने वाले डेटा से माप नहीं करते, तब तक आपको किसी एक स्कोर की रैंकिंग को सीधे तौर पर नहीं अपनाना चाहिए।
| विधि | डिटेक्शन कोर | डिस्क्रिप्टर | स्केल/रोटेशन | मिलान दूरी | विशेषताएं | मुख्य सावधानियां |
|---|---|---|---|---|---|---|
| हैरिस + पैच | संरचना मैट्रिक्स | रॉ पैच, आदि | स्केल ✕, रोटेशन अलग | SSD/NCC | स्पष्ट सिद्धांत | प्रकाश/स्केल के प्रति संवेदनशील |
| LoG / DoG | स्केल-स्पेस ब्लॉब एक्सट्रीमा | अलग डिस्क्रिप्टर की आवश्यकता | स्केल ◎, रोटेशन अलग | डिस्क्रिप्टर पर निर्भर | ब्लॉब और स्केल प्राप्त करता है | पिरामिड गणना आवश्यक |
| तेज़ + संक्षिप्त | वृत्त पर निरंतर चमक | द्विआधारी तुलना | न तो अकेले | हैमिंग | बहुत तेज़ | दृष्टिकोण/पैमाने के प्रति कमज़ोर |
ORB|पिरामिड तेज़|घूर्णित rBRIEF|पैमाना ○, घूर्णन ○|हैमिंग|हल्का, रीयल-टाइम के अनुकूल|बड़े विरूपण के तहत सीमित|
SIFT|DoG चरम मान|128-आयामी ग्रेडिएंट हिस्टोग्राम|पैमाना ◎, घूर्णन ◎|L2|मज़बूत, अच्छी तरह से मान्य|CPU/मेमोरी पर अधिक भार|
सीखने पर आधारित|नेटवर्क के माध्यम से सीखा गया|सीखा गया वेक्टर|डेटा के माध्यम से सुदृढ़ किया गया|L2 / सीखा गया|कठिन परिस्थितियों में उच्च पत्राचार दर|मॉडल, GPU, पुनरुत्पादकता प्रबंधन की आवश्यकता|
तालिका में ○ और ◎ निरपेक्ष रेटिंग नहीं हैं — वे विशिष्ट कार्यान्वयन और अपेक्षित सीमाओं के लिए सापेक्ष बेंचमार्क हैं। यहां तक कि SIFT भी अस्पष्ट है जब समान ग्रिड पैटर्न फ्रेम को भरता है, और ORB भी मध्यम परिस्थितियों में पर्याप्त इनलायर्स प्राप्त कर सकता है। शर्तें।
वर्तमान लाइब्रेरी और वास्तविक उत्पादों में इसकी भूमिका
पहले प्रोटोटाइप के लिए, OpenCV के cv::ORB::create(), cv::SIFT::create() और cv::FastFeatureDetector::create() का उपयोग करना आसान है। ORB, BFMatcher(NORM_HAMMING) के साथ युग्मित होता है; SIFT, L2-दूरी वाले BFMatcher या FLANN-आधारित मैचर के साथ। यदि आप डिटेक्टर और डिस्क्रिप्टर को अलग-अलग रखना चाहते हैं, तो भी OpenCV का Feature2D API आपको एक ही प्रवाह में रखता है। लर्निंग-आधारित प्रयोग और GPU प्रोसेसिंग के लिए, PyTorch पर Kornia, SIFT, ORB, DISK, KeyNet/HardNet, LightGlue और अन्य को बिल्डिंग ब्लॉक के रूप में प्रदान करता है।
फोटोग्रामेट्री और 3D पुनर्निर्माण अभ्यास में, COLMAP एक प्रतिनिधि उपकरण है; इसका वर्तमान आधिकारिक दस्तावेज़ीकरण ONNX सक्षम होने पर मानक SIFT और ALIKED दोनों का समर्थन करता है। चूंकि SIFT और ALIKED दोनों कनेक्ट हो सकते हैं चाहे ब्रूट-फोर्स मैचिंग हो या लाइटग्लू मैचिंग, पुनर्निर्माण के शुरुआती बिंदु पर शास्त्रीय और लर्निंग-आधारित दृष्टिकोणों की तुलना करना आसान है। किसी उत्पाद या लाइब्रेरी का चयन करते समय, यह तय करना बेहतर है कि क्या इसे केवल CPU पर चलना चाहिए, लेटेंसी बजट क्या है, क्या भारी ऑफ़लाइन मैचिंग स्वीकार्य है, और क्या पुनरुत्पादनीय संस्करण पिनिंग की आवश्यकता है - न कि केवल मॉडल का नाम नया है या नहीं।
हालिया शोध: डिटेक्शन, डिस्क्रिप्शन और मैचिंग का संयुक्त अनुकूलन
लर्निंग-आधारित दृष्टिकोणों के लिए एक महत्वपूर्ण मोड़ सुपरपॉइंट था। एक पूर्णतः कनवोल्यूशनल नेटवर्क एक साथ एक इंटरेस्ट-पॉइंट प्रोबेबिलिटी मैप और एक डिस्क्रिप्टर मैप आउटपुट करता है, जो होमोग्राफिक एडैप्टेशन के माध्यम से स्व-पर्यवेक्षित रूप से सीखकर ज्यामितीय रूपांतरणों में बिंदुओं को पुनरुत्पादित करता है। यह डेटा से यह सीखने का विचार है कि पत्राचार-उपयोगी स्थान कहाँ हैं, न कि केवल "कोनेपन" की हाथ से डिज़ाइन की गई धारणा पर निर्भर रहना।
DISK इस समस्या का समाधान करता है कि विरल बिंदुओं का चयन और मिलान असतत और विभेदित करना कठिन है, नीति के साथ डिटेक्शन और डिस्क्रिप्शन को अंत-से-अंत तक अनुकूलित करके। ग्रेडिएंट्स सही पत्राचार संख्या को पुरस्कृत करते हैं। ALIKED एक स्पार्स डिफॉर्मेबल डिस्क्रिप्टर हेड का उपयोग करता है जो प्रत्येक कीपॉइंट के आसपास डिफॉर्मेबल सपोर्ट लोकेशन सीखता है, जिसका उद्देश्य संपूर्ण सघन फीचर मैप के बजाय विरल बिंदुओं पर डिस्क्रिप्टर निकालकर अभिव्यक्ति और दक्षता के बीच संतुलन बनाना है।
मैचर्स भी स्वतंत्र निकटतम-पड़ोसी खोज से दूर जा रहे हैं। LightGlue एक अटेंशन तंत्र का उपयोग करके स्थानीय विशेषताओं के दो सेटों के बीच पत्राचार का अनुमान लगाता है, जिसमें अनुकूली गणना होती है जो छवि युग्म के आसान होने पर जल्दी रुक जाती है। यह स्वयं एक फीचर डिटेक्टर नहीं है, लेकिन यह एक महत्वपूर्ण अनुस्मारक है कि केवल डिटेक्टर से अच्छी डिस्क्रिप्टर दूरी अच्छे अंतिम पत्राचार की गारंटी नहीं देती है। वर्तमान में, आपके लक्ष्य डेटा पर समान RANSAC सेटिंग्स के तहत, लाइटवेट मैचर के साथ क्लासिकल फीचर्स का उपयोग करने वाले सेटअप की तुलना LightGlue के साथ SuperPoint/ALIKED जैसे सीखे हुए फीचर्स से मिलान करने वाले सेटअप से करना व्यावहारिक है।
चयन और ट्यूनिंग चेकलिस्ट
- सबसे पहले, लॉग डिटेक्शन काउंट, रेश्यो-टेस्ट पास काउंट, RANSAC इनलायर काउंट, इनलायर रेश्यो, और वास्तविक छवि युग्मों पर प्रसंस्करण समय। यदि इसके साथ-साथ विसंगतियाँ भी बढ़ती हैं, तो केवल पहचान संख्या बढ़ाने से विपरीत परिणाम हो सकते हैं।
-
एक स्थिर कैमरे के निकट अल्पावधि ट्रैकिंग के लिए, FAST/ORB से शुरुआत करें और
nfeatures, FAST थ्रेशोल्ड और पिरामिड स्तरों को समायोजित करें। कम बनावट की स्थिति में, थ्रेशोल्ड कम करने से पहले धुंधलापन, एक्सपोज़र और फ़ोकस की जाँच करें। -
कैप्चर दूरी या रोटेशन में बड़े बदलाव वाली स्थिर छवियों के मिलान के लिए, SIFT को आधार रेखा के रूप में उपयोग करें। क्या कोई तेज़ विधि SIFT से बेहतर है, इसकी पुष्टि हमेशा समान डेटा और समान ज्यामितीय सत्यापन के साथ की जानी चाहिए।
-
रात में, तीव्र बैकलाइट में, मौसमी परिवर्तन के दौरान, या व्यापक दृष्टिकोण अंतर के साथ, सीखने-आधारित विशेषताओं पर भी विचार करें। लेकिन प्रदर्शन मूल्यांकन में प्रशिक्षण डेटा और लक्ष्य वातावरण के बीच अंतर, मॉडल अपडेट और GPU उपलब्धता को शामिल करें।
-
दोहराव वाले पैटर्न, स्पेक्युलर सतहें, गतिशील वस्तुएँ और अत्यधिक गति धुंधलापन विशेषता-पहचान की समस्या से अधिक अवलोकन अस्पष्टता हैं। मास्किंग, अस्थायी ट्रैकिंग, सेंसर फ़्यूज़न और कैप्चर प्लानिंग के साथ इसकी भरपाई करें।
विशेषता पहचान यह छवियों को समझने के लिए एक सर्व-उद्देश्यीय क्लासिफायर है। लेकिन यह कम कंप्यूटिंग लागत के साथ यह चुनने के लिए एक प्रभावी मूलभूत तकनीक बनी हुई है कि कौन से पिक्सेल ज्यामिति का समर्थन कर सकते हैं। कोनों, धब्बों, स्केल स्पेस और ओरिएंटेशन नॉर्मलाइज़ेशन की अवधारणाओं को समझने से आप संख्याओं के पीछे विफलता के कारणों का पता लगा सकते हैं, चाहे आप क्लासिकल ORB/SIFT को ट्यून कर रहे हों या लर्निंग-आधारित विशेषताओं का मूल्यांकन कर रहे हों।
क्या एक मजबूत किनारे पर प्रत्येक बिंदु को ट्रैक करना आसान है?
एकल किनारे के साथ गति अस्पष्ट होती है। कोने विभिन्न दिशाओं में तीव्रता परिवर्तन प्रदान करते हैं, जिससे द्वि-आयामी गति की पहचान करना आसान हो जाता है।
संदर्भ
- Lowe, Distinctive Image Features from Scale-Invariant Keypoints (SIFT original paper, IJCV 2004)
- [Rublee ओआरपी: एसआईएफटी या सर्फ का एक कुशल विकल्प (आईसीसीवी 2011)
- ओपनसीवी फीचर2डी / ओआरबी क्लास संदर्भ
- ओपनसीवी एसआईएफटी क्लास संदर्भ
- ओपनसीवी फास्ट फीचर डिटेक्टर ट्यूटोरियल
- एचपीैचेस: हस्तनिर्मित और सीखे गए स्थानीय डिस्क्रिप्टर का बेंचमार्क और मूल्यांकन (सीवीपीआर 2017)
- सुपरपॉइंट (सीवीपीआर कार्यशालाएं 2018)
- DISK (NeurIPS 2020)
- ALIKED (arXiv 2023)
- LightGlue (ICCV 2023)
- COLMAP फ़ीचर एक्सट्रैक्शन और मैचिंग दस्तावेज़ीकरण
- Kornia फ़ीचर मॉड्यूल दस्तावेज़ीकरण
फ़ीचर निष्कर्षण लैब में कृत्रिम चित्र घुमाकर Harris और Shi–Tomasi के पहचाने बिंदुओं की तुलना करें।
टिप्पणियाँ
पहले लॉग इन करें।
अभी कोई डेटा नहीं है।