SIFT
छवि पर SIFT लागू करें।
SIFT (स्केल-इनवेरिएंट फीचर ट्रांसफ़ॉर्म) का उपयोग करके छवियों में विशिष्ट दृश्य विशेषताओं का पता लगाएँ और उनका वर्णन करें, कीपॉइंट्स (रुचि बिंदु) निकालें और 128-आयामी फीचर डिस्क्रिप्टर्स की गणना करें जो स्केल, रोटेशन, और प्रकाश स्थितियों के प्रति अपरिवर्तनीय हों, जिससे फीचर-आधारित इमेज मैचिंग, ऑब्जेक्ट रिकग्निशन, और इमेज समानता पहचान वर्कफ़्लो सक्षम हों।
यह ब्लॉक कैसे काम करता है
यह ब्लॉक SIFT का उपयोग करके एक छवि में विशिष्ट दृश्य विशेषताओं का पता लगाता है और प्रत्येक पहचाने गए कीपॉइंट के लिए फीचर डिस्क्रिप्टर्स की गणना करता है। यह ब्लॉक:
विश्लेषण के लिए फीचर डिटेक्शन हेतु एक इनपुट छवि प्राप्त करता है
छवि को ग्रेस्केल में बदलता है (SIFT दक्षता और मजबूती के लिए ग्रेस्केल छवियों पर कार्य करता है)
OpenCV के SIFT कार्यान्वयन का उपयोग करके एक SIFT डिटेक्टर बनाता है
detectAndCompute का उपयोग करके एक साथ कीपॉइंट्स का पता लगाता है और डिस्क्रिप्टर्स की गणना करता है:
कीपॉइंट डिटेक्शन: छवि में विशिष्ट रुचि बिंदुओं (कीपॉइंट्स) की पहचान करता है जो विभिन्न दृश्य परिस्थितियों में स्थिर रहते हैं
स्केल भिन्नताओं को संभालने के लिए कई स्केल्स (स्केल-स्पेस छवियों का पिरामिड) पर कीपॉइंट्स का पता लगाया जाता है
रोटेशन भिन्नताओं को संभालने के लिए कीपॉइंट्स का पता ओरिएंटेशन असाइनमेंट के साथ लगाया जाता है
प्रत्येक कीपॉइंट में ये गुण होते हैं: स्थान (x, y निर्देशांक), आकार (जिस स्केल पर यह पहचाना गया), कोण (ओरिएंटेशन), प्रतिक्रिया (ताकत), ऑक्टेव (स्केल स्तर), और class_id
डिस्क्रिप्टर गणना: प्रत्येक कीपॉइंट के लिए 128-आयामी फीचर डिस्क्रिप्टर्स की गणना करता है, जो कीपॉइंट के आसपास के स्थानीय छवि क्षेत्र का वर्णन करते हैं
डिस्क्रिप्टर्स स्थानीय क्षेत्र में ग्रेडिएंट जानकारी को एन्कोड करते हैं, जिससे वे प्रकाश परिवर्तन के प्रति विशिष्ट और मजबूत बनते हैं
डिस्क्रिप्टर्स को प्रकाश-परिवर्तन के प्रति आंशिक रूप से अपरिवर्तनीय बनाने के लिए सामान्यीकृत किया जाता है
दृश्यांकन के लिए मूल छवि पर कीपॉइंट्स बनाता है:
छवि पर कीपॉइंट मार्कर ओवरले करने के लिए OpenCV के drawKeypoints का उपयोग करता है
कीपॉइंट स्थानों, ओरिएंटेशन, और स्केल्स का दृश्यांकन करता है
एक दृश्य प्रतिनिधित्व बनाता है जो दिखाता है कि विशेषताएँ कहाँ पहचानी गईं
कीपॉइंट्स को डिक्शनरी प्रारूप में परिवर्तित करता है:
कीपॉइंट गुणों (स्थान, आकार, कोण, प्रतिक्रिया, ऑक्टेव, class_id) को डिक्शनरियों में निकालता है
डाउनस्ट्रीम प्रोसेसिंग और विश्लेषण के लिए कीपॉइंट डेटा को सुलभ बनाता है
कीपॉइंट्स के साथ छवि, कीपॉइंट्स डेटा (डिक्शनरियों के रूप में), और डिस्क्रिप्टर्स (numpy array के रूप में) लौटाता है
SIFT फीचर्स स्केल-अपरिवर्तनीय (विभिन्न ज़ूम स्तरों पर काम करने वाले), रोटेशन-अपरिवर्तनीय (घुमाई गई छवियों को संभालने वाले), और आंशिक रूप से प्रकाश-अपरिवर्तनीय (प्रकाश परिवर्तन के प्रति मजबूत) होते हैं। यह उन्हें विभिन्न दृष्टिकोणों, दूरियों, कोणों, या प्रकाश परिस्थितियों से ली गई अलग-अलग छवियों में एक ही ऑब्जेक्ट या दृश्य को मैच करने के लिए अत्यंत प्रभावी बनाता है। 128-आयामी डिस्क्रिप्टर्स स्थानीय छवि क्षेत्रों के बारे में समृद्ध जानकारी प्रदान करते हैं, जिससे मजबूत फीचर मैचिंग और तुलना संभव होती है।
सामान्य उपयोग के मामले
फीचर-आधारित इमेज मैचिंग: विभिन्न छवियों में ऑब्जेक्ट्स या दृश्यों को मैच करने के लिए फीचर्स का पता लगाएँ (जैसे, कई छवियों में ऑब्जेक्ट्स को मैच करना, विभिन्न दृष्टिकोणों में संबंधित फीचर्स ढूँढना, इमेज जोड़ों में मैचिंग क्षेत्रों की पहचान करना), जिससे फीचर-आधारित मैचिंग वर्कफ़्लो सक्षम हों
ऑब्जेक्ट रिकग्निशन: SIFT फीचर्स का उपयोग ऑब्जेक्ट रिकग्निशन और पहचान के लिए करें (जैसे, फीचर मैचिंग द्वारा ऑब्जेक्ट्स को पहचानना, उनके विशिष्ट फीचर्स के आधार पर ऑब्जेक्ट्स की पहचान करना, वर्गीकरण के लिए ऑब्जेक्ट फीचर्स को मैच करना), जिससे फीचर-आधारित ऑब्जेक्ट रिकग्निशन वर्कफ़्लो सक्षम हों
इमेज समानता पहचान: SIFT फीचर्स की तुलना करके समान छवियों का पता लगाएँ (जैसे, डेटाबेस में समान छवियाँ ढूँढना, डुप्लिकेट छवियों का पता लगाना, मेल खाते दृश्य पहचानना), जिससे इमेज समानता वर्कफ़्लो सक्षम हों
विश्लेषण के लिए फीचर निष्कर्षण: आगे के विश्लेषण के लिए छवियों से विशिष्ट फीचर्स निकालें (जैसे, प्रोसेसिंग के लिए फीचर्स निकालना, छवि विशेषताओं का विश्लेषण करना, रोचक क्षेत्रों की पहचान करना), जिससे फीचर निष्कर्षण वर्कफ़्लो सक्षम हों
विज़ुअल लोकलाइज़ेशन: विज़ुअल लोकलाइज़ेशन और मैपिंग के लिए SIFT फीचर्स का उपयोग करें (जैसे, दृश्यों में ऑब्जेक्ट्स को स्थानीयकृत करना, फ़्रेमों के बीच फीचर्स को ट्रैक करना, फीचर अनुरूपताओं का मानचित्र बनाना), जिससे विज़ुअल लोकलाइज़ेशन वर्कफ़्लो सक्षम हों
इमेज पंजीकरण: SIFT फीचर अनुरूपताओं का उपयोग करके छवियों को संरेखित करें (जैसे, स्टिचिंग के लिए छवियों को पंजीकृत करना, विभिन्न दृष्टिकोणों से छवियों को संरेखित करना, संरेखण के लिए छवियों को मैच करना), जिससे इमेज पंजीकरण वर्कफ़्लो सक्षम हों
अन्य ब्लॉक्स से कनेक्ट करना
यह ब्लॉक एक छवि प्राप्त करता है और SIFT कीपॉइंट्स तथा डिस्क्रिप्टर्स उत्पन्न करता है:
छवि इनपुट ब्लॉकों के बाद इनपुट छवियों से SIFT फीचर्स निकालने के लिए (जैसे, कैमरा फ़ीड में फीचर्स का पता लगाना, छवि इनपुट से फीचर्स निकालना, छवियों में फीचर्स का विश्लेषण करना), जिससे SIFT फीचर निष्कर्षण वर्कफ़्लो सक्षम हों
प्रीप्रोसेसिंग ब्लॉकों के बाद पूर्व-प्रसंस्कृत छवियों से फीचर्स निकालने के लिए (जैसे, फ़िल्टरिंग के बाद फीचर्स का पता लगाना, संवर्धित छवियों से फीचर्स निकालना, पूर्व-प्रसंस्करण के बाद फीचर्स का विश्लेषण करना), जिससे पूर्व-प्रसंस्कृत फीचर निष्कर्षण वर्कफ़्लो सक्षम हों
SIFT तुलना ब्लॉक्स से पहले छवि तुलना के लिए SIFT डिस्क्रिप्टर्स प्रदान करने के लिए (जैसे, मैचिंग के लिए डिस्क्रिप्टर्स देना, तुलना के लिए फीचर्स तैयार करना, समानता पहचान के लिए डिस्क्रिप्टर्स उपलब्ध कराना), जिससे SIFT-आधारित इमेज तुलना वर्कफ़्लो सक्षम हों
फ़िल्टरिंग या लॉजिक blocks से पहले जो निर्णय-निर्माण के लिए फीचर गिनती या गुणों का उपयोग करते हैं (जैसे, फीचर गिनती के आधार पर फ़िल्टर करना, पहचाने गए फीचर्स के आधार पर निर्णय लेना, फीचर गुणों के आधार पर तर्क लागू करना), जिससे फीचर-आधारित सशर्त वर्कफ़्लो सक्षम हों
डेटा संग्रहण ब्लॉकों से पहले फीचर डेटा संग्रहीत करने के लिए (जैसे, कीपॉइंट्स और डिस्क्रिप्टर्स को संग्रहीत करना, फीचर जानकारी सहेजना, विश्लेषण के लिए फीचर डेटा रिकॉर्ड करना), जिससे फीचर डेटा संग्रहण वर्कफ़्लो सक्षम हों
विज़ुअलाइज़ेशन ब्लॉकों से पहले पहचानी गई विशेषताओं को प्रदर्शित करने के लिए (जैसे, कीपॉइंट्स को दृश्य रूप देना, फीचर स्थान दिखाना, फीचर विश्लेषण परिणाम प्रदर्शित करना), जिससे फीचर दृश्यीकरण वर्कफ़्लो सक्षम हों
प्रकार पहचानकर्ता
स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "type" फ़ील्ड: roboflow_core/sift@v1 अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।
गुण
नाम
प्रकार
विवरण
संदर्भ
name
str
इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..
❌
यह संदर्भ स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है वर्कफ़्लो रनटाइम। देखें बाइंडिंग्स अधिक जानकारी के लिए।
इनपुट और आउटपुट बाइंडिंग्स
उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार SIFT संस्करण v1 है।
इनपुट और आउटपुट बाइंडिंग्स
इनपुट
छवि(छवि): SIFT फीचर डिटेक्शन के लिए विश्लेषण करने हेतु इनपुट छवि। SIFT प्रोसेसिंग के लिए छवि को आंतरिक रूप से ग्रेस्केल में बदला जाएगा। SIFT अच्छी टेक्सचर और विवरण वाली छवियों पर सबसे अच्छा काम करता है - समृद्ध दृश्य सामग्री (किनारे, कोने, पैटर्न) वाली छवियाँ समान या चिकनी छवियों की तुलना में अधिक कीपॉइंट्स उत्पन्न करती हैं। प्रत्येक पहचाने गए कीपॉइंट के लिए 128-आयामी डिस्क्रिप्टर की गणना की जाएगी। आउटपुट में दृश्यीकरण के लिए कीपॉइंट्स के साथ एक छवि, कीपॉइंट डेटा (स्थान, आकार, कोण, प्रतिक्रिया, ऑक्टेव), और मैचिंग तथा तुलना के लिए डिस्क्रिप्टर ऐरे शामिल हैं। SIFT फीचर्स स्केल और रोटेशन अपरिवर्तनीय होते हैं, जिससे वे विभिन्न दृष्टिकोणों और परिस्थितियों में मैचिंग के लिए प्रभावी बनते हैं..
आउटपुट
छवि(छवि): कार्यप्रवाहों में इमेज।कीपॉइंट्स(image_keypoints): शास्त्रीय कंप्यूटर विज़न विधि द्वारा पहचाने गए छवि कीपॉइंट्स।डिस्क्रिप्टर्स(numpy_array): Numpy ऐरे.
अंतिम अपडेट
क्या यह उपयोगी था?