For the complete documentation index, see llms.txt. This page is also available as Markdown.

छवियाँ जोड़ें

दो छवियों को उनके सामान्य भागों के आधार पर जोड़ें।

SIFT (स्केल इनवेरिएंट फीचर ट्रांसफॉर्म) फीचर मिलान और होमोग्राफी-आधारित छवि संरेखण का उपयोग करके दो ओवरलैप होती छवियों को एक साथ मिलाकर एकल पैनोरमिक छवि बनाएं, जिसमें सामान्य विशेषताओं का स्वचालित रूप से पता लगाना, ज्यामितीय रूपांतरणों की गणना करना, और ओवरलैप होती दृश्यों से निर्बाध पैनोरमिक संयोजन बनाने के लिए छवियों को ब्लेंड करना शामिल है.

यह ब्लॉक कैसे काम करता है

यह ब्लॉक सामान्य विशेषताओं का पता लगाकर, ज्यामितीय रूपांतरणों की गणना करके, और छवियों को एकल पैनोरमिक परिणाम में संरेखित करके दो ओवरलैप होती छवियों को एक साथ जोड़ता है। यह ब्लॉक:

  1. दो इनपुट छवियाँ (image1 और image2) प्राप्त करता है जिनमें फीचर मिलान के लिए पर्याप्त विवरण वाले ओवरलैप क्षेत्र होते हैं

  2. दोनों छवियों के लिए SIFT (स्केल इनवेरिएंट फीचर ट्रांसफॉर्म) का उपयोग करके कीपॉइंट्स का पता लगाता है और डिस्क्रिप्टर्स की गणना करता है:

    • प्रत्येक छवि में विशिष्ट फीचर बिंदुओं (कीपॉइंट्स) की पहचान करता है जो स्केल और रोटेशन के प्रति अपरिवर्तनीय होते हैं

    • प्रत्येक कीपॉइंट के आसपास के दृश्य गुणों का वर्णन करने वाले फीचर डिस्क्रिप्टर्स (128-आयामी वेक्टर) की गणना करता है

  3. ब्रूट-फोर्स मिलान का उपयोग करके दोनों छवियों के बीच कीपॉइंट्स का मिलान करता है:

    • image1 के प्रत्येक कीपॉइंट के लिए image2 के सभी कीपॉइंट्स में से सर्वश्रेष्ठ मिलान करने वाले डिस्क्रिप्टर्स खोजता है

    • प्रत्येक क्वेरी कीपॉइंट के लिए कई संभावित मिलान खोजने हेतु k-nearest neighbor मिलान (count_of_best_matches_per_query_descriptor के माध्यम से कॉन्फ़िगर करने योग्य) का उपयोग करता है

  4. Lowe के ratio test का उपयोग करके अच्छे मिलान फ़िल्टर करता है:

    • सर्वश्रेष्ठ मिलान की दूरी की तुलना दूसरे-सर्वश्रेष्ठ मिलान की दूरी से करता है

    • वे मिलान बनाए रखता है जहाँ सर्वश्रेष्ठ मिलान की दूरी दूसरे-सर्वश्रेष्ठ मिलान दूरी के 0.75 गुना से कम होती है (झूठे मिलान कम करता है)

  5. कीपॉइंट स्थितियों के आधार पर छवि का क्रम निर्धारित करता है (मिलान किए गए फीचर्स के स्थानिक वितरण के आधार पर पहचानता है कि किस छवि को पहले रखा जाना चाहिए)

  6. RANSAC (रैंडम सैंपल कंसेंसस) का उपयोग करके होमोग्राफी रूपांतरण मैट्रिक्स की गणना करता है:

    • एक परिप्रेक्ष्य रूपांतरण मैट्रिक्स खोजता है जो बिंदुओं को एक छवि से दूसरी छवि में मैप करता है

    • आउटलायर मिलानों को फ़िल्टर करते हुए रूपांतरण का मज़बूती से अनुमान लगाने के लिए RANSAC का उपयोग करता है

    • कॉन्फ़िगर करने योग्य अधिकतम reprojection त्रुटि (max_allowed_reprojection_error) नियंत्रित करती है कि कौन से बिंदु जोड़े inliers माने जाएंगे

  7. कैनवास आकार और ट्रांसलेशन की गणना करता है:

    • रूपांतरण के बाद दोनों छवियों को समाहित करने के लिए आवश्यक आकार निर्धारित करता है

    • यह सुनिश्चित करने के लिए आवश्यक ट्रांसलेशन की गणना करता है कि दोनों छवियाँ कैनवास सीमाओं के भीतर फिट हों

  8. होमोग्राफी रूपांतरण का उपयोग करके दूसरी छवि को वार्प करता है:

    • दूसरी छवि को पहली छवि के साथ संरेखित करने के लिए परिप्रेक्ष्य रूपांतरण लागू करता है

    • सही स्थिति के लिए होमोग्राफी मैट्रिक्स को ट्रांसलेशन मैट्रिक्स के साथ संयोजित करता है

  9. छवियों को एक साथ जोड़ता है:

    • पहली छवि को वार्प की गई दूसरी छवि के कैनवास पर रखता है

    • अंतिम सिला हुआ पैनोरमिक चित्र बनाता है जिसमें दोनों इनपुट छवियाँ संरेखित और ब्लेंड की गई होती हैं

  10. सिलाई गई छवि लौटाता है, या यदि सिलाई विफल हो जाती है तो None (जैसे, अपर्याप्त मिलान, रूपांतरण गणना विफलता)

यह ब्लॉक मज़बूत फीचर पहचान के लिए SIFT का उपयोग करता है, जो पर्याप्त विवरण और टेक्सचर वाली छवियों पर अच्छी तरह काम करता है। RANSAC-आधारित होमोग्राफी गणना परिप्रेक्ष्य विकृतियों को संभालती है और कुछ गलत मिलानों के बावजूद भी मज़बूत संरेखण सुनिश्चित करती है। reprojection त्रुटि सीमा संरेखण की संवेदनशीलता को नियंत्रित करती है - कम मान अधिक सटीक मिलान की आवश्यकता रखते हैं, जबकि उच्च मान (जो कम-विवरण वाली छवियों के लिए उपयोगी हैं) मिलान भिन्नताओं के लिए अधिक सहिष्णुता देते हैं।

सामान्य उपयोग के मामले

  • पैनोरमिक छवि निर्माण: ओवरलैप होती छवियों को जोड़कर चौड़े पैनोरमिक दृश्य बनाना (उदाहरण: ओवरलैप होती कैमरा शॉट्स से पैनोरमिक फ़ोटो बनाना, घूमते कैमरों की छवियों को एक साथ जोड़ना, कई ओवरलैप होती छवियों को पैनोरमा में संयोजित करना), जिससे पैनोरमिक छवि निर्माण कार्यप्रवाह सक्षम होते हैं

  • विस्तृत-क्षेत्र दृश्य पुनर्निर्माण: किसी दृश्य के कई ओवरलैप होते दृश्यों को एक ही व्यापक छवि में संयोजित करना (उदाहरण: कई कैमरा कोणों से विस्तृत दृश्यों का पुनर्निर्माण, ओवरलैप होती निगरानी कैमरा दृश्यों को जोड़ना, कई दृष्टिकोणों से छवियों को एक साथ सिलना), जिससे विस्तृत-क्षेत्र दृश्यीकरण सक्षम होता है

  • बहु-छवि मोज़ेक निर्माण: ओवरलैप होती छवि टाइलों या खंडों से छवि मोज़ेक बनाना (उदाहरण: बड़े पैमाने के मानचित्रण के लिए छवि टाइलों को जोड़ना, ओवरलैप होती उपग्रह छवि खंडों को संयोजित करना, ओवरलैप होती छवि कैप्चर से मोज़ेक बनाना), जिससे छवि मोज़ेक निर्माण कार्यप्रवाह सक्षम होते हैं

  • दृश्य दस्तावेज़ीकरण: बड़े दृश्यों या क्षेत्रों का दस्तावेज़ीकरण करने के लिए कई ओवरलैप होती छवियों को संयोजित करना (उदाहरण: कई ओवरलैप होती फ़ोटो के साथ बड़े स्थानों का दस्तावेज़ीकरण, दृश्य दस्तावेज़ीकरण के लिए ओवरलैप होते दृश्यों को संयोजित करना, व्यापक दृश्य कैप्चर के लिए छवियों को एक साथ सिलना), जिससे व्यापक दृश्य दस्तावेज़ीकरण सक्षम होता है

  • वीडियो फ्रेम सिलाई: वीडियो अनुक्रमों से ओवरलैप होते फ्रेमों को एक साथ सिलना (उदाहरण: वीडियो फ्रेमों से पैनोरमिक दृश्य बनाना, गतिशील कैमरों से ओवरलैप होते फ्रेमों को संयोजित करना, क्रमिक वीडियो फ्रेमों को एक साथ सिलना), जिससे वीडियो-आधारित पैनोरमिक कार्यप्रवाह सक्षम होते हैं

  • बहु-कैमरा दृश्य संयोजन: कई कैमरों के ओवरलैप होते दृश्यों को एक ही एकीकृत दृश्य में संयोजित करना (उदाहरण: ओवरलैप होते कैमरा फ़ीड्स को एक साथ सिलना, निगरानी के लिए बहु-कैमरा दृश्यों को संयोजित करना, ओवरलैप होते कैमरा दृष्टिकोणों को विलय करना), जिससे बहु-कैमरा दृश्य एकीकरण कार्यप्रवाह सक्षम होते हैं

अन्य ब्लॉक्स से कनेक्ट करना

यह ब्लॉक दो छवियाँ प्राप्त करता है और एकल सिली हुई छवि उत्पन्न करता है:

  • छवि इनपुट ब्लॉकों के बाद या छवि पूर्व-प्रसंस्करण ब्लॉकों पूर्व-प्रसंस्कृत छवियों को एक साथ सिलने के लिए (उदाहरण: पूर्व-प्रसंस्करण के बाद छवियों को सिलना, संवर्द्धन के बाद छवियों को संयोजित करना, फ़िल्टरिंग के बाद छवियों को विलय करना), जिससे छवि सिलाई कार्यप्रवाह सक्षम होते हैं

  • क्रॉप ब्लॉकों के बाद विभिन्न स्रोतों से क्रॉप किए गए छवि क्षेत्रों को एक साथ सिलने के लिए (उदाहरण: अलग-अलग छवियों से क्रॉप किए गए क्षेत्रों को सिलना, कई स्रोतों से क्रॉप किए गए खंडों को संयोजित करना, क्रॉप किए गए क्षेत्रों को पैनोरमा में विलय करना), जिससे क्रॉप किए गए क्षेत्र सिलाई कार्यप्रवाह सक्षम होते हैं

  • रूपांतरण ब्लॉकों के बाद ऐसी छवियों को सिलने के लिए जिन्हें रूपांतरित या समायोजित किया गया है (उदाहरण: परिप्रेक्ष्य सुधार के बाद छवियों को सिलना, ज्यामितीय रूपांतरणों के बाद छवियों को संयोजित करना, समायोजन के बाद छवियों को विलय करना), जिससे रूपांतरित छवि सिलाई कार्यप्रवाह सक्षम होते हैं

  • पहचान या विश्लेषण ब्लॉकों से पहले जो पैनोरमिक दृश्यों से लाभान्वित होते हैं (उदाहरण: सिली हुई पैनोरमिक छवियों में वस्तुओं का पता लगाना, व्यापक सिले हुए दृश्यों का विश्लेषण करना, व्यापक सिले हुए दृश्यों को संसाधित करना), जिससे पैनोरमिक विश्लेषण कार्यप्रवाह सक्षम होते हैं

  • विज़ुअलाइज़ेशन ब्लॉकों से पहले सिली हुई पैनोरमिक छवियों को प्रदर्शित करने के लिए (उदाहरण: सिले हुए पैनोरमा को दृश्यीकृत करना, विस्तृत-क्षेत्र सिले हुए दृश्यों को प्रदर्शित करना, व्यापक सिले हुए दृश्यों को दिखाना), जिससे पैनोरमिक दृश्यीकरण आउटपुट सक्षम होते हैं

  • बहु-चरणीय छवि प्रसंस्करण कार्यप्रवाहों में जहाँ आगे की प्रसंस्करण से पहले छवियों को सिलने की आवश्यकता होती है (उदाहरण: पहचान से पहले छवियों को सिलना, विश्लेषण से पहले छवियों को संयोजित करना, व्यापक प्रसंस्करण के लिए छवियों को विलय करना), जिससे बहु-चरणीय पैनोरमिक प्रसंस्करण कार्यप्रवाह सक्षम होते हैं

प्रकार पहचानकर्ता

स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "type" फ़ील्ड: roboflow_core/stitch_images@v1 अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।

गुण

नाम

प्रकार

विवरण

संदर्भ

name

str

इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..

max_allowed_reprojection_error

float

RANSAC होमोग्राफी गणना के दौरान किसी बिंदु युग्म को inlier मानने के लिए अनुमत अधिकतम reprojection त्रुटि (पिक्सेल में)। यह cv.findHomography के ransacReprojThreshold पैरामीटर के अनुरूप है। कम मान अधिक सटीक मिलान की मांग करते हैं (कड़ा संरेखण) लेकिन शोरयुक्त मिलानों के साथ विफल हो सकते हैं। उच्च मान मिलान भिन्नताओं के लिए अधिक सहिष्णुता देते हैं (ढीला संरेखण) और कम-विवरण वाली छवियों या अपूर्ण फीचर मिलानों वाली छवियों के लिए परिणामों में सुधार कर सकते हैं। डिफ़ॉल्ट 3 पिक्सेल है। कम विवरण वाली छवियों के लिए या जब डिफ़ॉल्ट सेटिंग्स के साथ सिलाई विफल हो जाए, तो इस मान को बढ़ाएँ (उदा., 5-10).

count_of_best_matches_per_query_descriptor

int

कीपॉइंट मिलान के दौरान प्रत्येक क्वेरी डिस्क्रिप्टर के लिए खोजे जाने वाले सर्वश्रेष्ठ मिलानों की संख्या। यह cv.BFMatcher.knnMatch के k पैरामीटर के अनुरूप है। यह 0 से अधिक होना चाहिए। ब्लॉक image1 के प्रत्येक कीपॉइंट डिस्क्रिप्टर के लिए image2 के सभी डिस्क्रिप्टर्स में k निकटतम पड़ोसी मिलान खोजता है। फिर अच्छे मिलानों को फ़िल्टर करने के लिए Lowe के ratio test का उपयोग करता है (सर्वश्रेष्ठ मिलान दूरी की तुलना दूसरे-सर्वश्रेष्ठ मिलान दूरी से)। उच्च मान अधिक संभावित मिलान प्रदान करते हैं लेकिन गणना बढ़ाते हैं। डिफ़ॉल्ट 2 है (प्रति डिस्क्रिप्टर 2 सर्वश्रेष्ठ मिलान खोजता है)। सामान्य मान 2-5 के बीच होते हैं। यदि आपको कठिन छवियों के लिए अधिक मिलान उम्मीदवारों की आवश्यकता हो, तो उच्च मान का उपयोग करें.

यह संदर्भ स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है वर्कफ़्लो रनटाइम। देखें बाइंडिंग्स अधिक जानकारी के लिए।

इनपुट और आउटपुट बाइंडिंग्स

उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार इमेज स्टिच करें संस्करण v1 है।

इनपुट और आउटपुट बाइंडिंग्स
  • इनपुट

    • image1 (छवि): पहली इनपुट छवि जिसे सिलना है। इसमें image2 के साथ ओवरलैप क्षेत्र और SIFT फीचर पहचान के लिए पर्याप्त विवरण/टेक्सचर होना चाहिए। सफल सिलाई के लिए छवियों में ओवरलैप सामग्री होनी चाहिए। सिलाई के दौरान ब्लॉक इस छवि की image2 के सापेक्ष सर्वोत्तम स्थिति और संरेखण निर्धारित करेगा। समृद्ध टेक्सचर और विवरण वाली छवियाँ SIFT-आधारित फीचर मिलान के लिए सबसे अच्छी होती हैं.

    • image2 (छवि): दूसरी इनपुट छवि जिसे सिलना है। इसमें image1 के साथ ओवरलैप क्षेत्र और SIFT फीचर पहचान के लिए पर्याप्त विवरण/टेक्सचर होना चाहिए। सफल सिलाई के लिए छवियों में ओवरलैप सामग्री होनी चाहिए। सिलाई के दौरान ब्लॉक इस छवि को image1 के परिप्रेक्ष्य से मिलाने के लिए वार्प और संरेखित करेगा। समृद्ध टेक्सचर और विवरण वाली छवियाँ SIFT-आधारित फीचर मिलान के लिए सबसे अच्छी होती हैं.

    • max_allowed_reprojection_error (float_zero_to_one): RANSAC होमोग्राफी गणना के दौरान किसी बिंदु युग्म को inlier मानने के लिए अनुमत अधिकतम reprojection त्रुटि (पिक्सेल में)। यह cv.findHomography के ransacReprojThreshold पैरामीटर के अनुरूप है। कम मान अधिक सटीक मिलान की मांग करते हैं (कड़ा संरेखण) लेकिन शोरयुक्त मिलानों के साथ विफल हो सकते हैं। उच्च मान मिलान भिन्नताओं के लिए अधिक सहिष्णुता देते हैं (ढीला संरेखण) और कम-विवरण वाली छवियों या अपूर्ण फीचर मिलानों वाली छवियों के लिए परिणामों में सुधार कर सकते हैं। डिफ़ॉल्ट 3 पिक्सेल है। कम विवरण वाली छवियों के लिए या जब डिफ़ॉल्ट सेटिंग्स के साथ सिलाई विफल हो जाए, तो इस मान को बढ़ाएँ (उदा., 5-10).

    • count_of_best_matches_per_query_descriptor (पूर्णांक): कीपॉइंट मिलान के दौरान प्रत्येक क्वेरी डिस्क्रिप्टर के लिए खोजे जाने वाले सर्वश्रेष्ठ मिलानों की संख्या। यह cv.BFMatcher.knnMatch के k पैरामीटर के अनुरूप है। यह 0 से अधिक होना चाहिए। ब्लॉक image1 के प्रत्येक कीपॉइंट डिस्क्रिप्टर के लिए image2 के सभी डिस्क्रिप्टर्स में k निकटतम पड़ोसी मिलान खोजता है। फिर अच्छे मिलानों को फ़िल्टर करने के लिए Lowe के ratio test का उपयोग करता है (सर्वश्रेष्ठ मिलान दूरी की तुलना दूसरे-सर्वश्रेष्ठ मिलान दूरी से)। उच्च मान अधिक संभावित मिलान प्रदान करते हैं लेकिन गणना बढ़ाते हैं। डिफ़ॉल्ट 2 है (प्रति डिस्क्रिप्टर 2 सर्वश्रेष्ठ मिलान खोजता है)। सामान्य मान 2-5 के बीच होते हैं। यदि आपको कठिन छवियों के लिए अधिक मिलान उम्मीदवारों की आवश्यकता हो, तो उच्च मान का उपयोग करें.

  • आउटपुट

    • stitched_image (छवि): कार्यप्रवाहों में इमेज।

उदाहरण JSON परिभाषा

अंतिम अपडेट

क्या यह उपयोगी था?