किनारों पर स्वतः घुमाएँ
छवि को स्वतः घुमाएँ ताकि उसके प्रमुख सीधे किनारे ऊर्ध्वाधर और/या क्षैतिज हो जाएँ।
छवि को स्वचालित रूप से डेस्क्यू करें, इसके लिए वह घुमाव कोण खोजें जो छवि के प्रमुख सीध्े किनारों (जैसे किसी दस्तावेज़, पैकेज, पैनल, या शेल्फ के किनारों) को ऊर्ध्वाधर अक्ष, क्षैतिज अक्ष, या इनमें से जो भी अधिक निकट हो, के साथ सबसे बेहतर संरेखित करता है; फिर पूर्ण-रिज़ॉल्यूशन छवि को उसी कोण से घुमाएँ, स्वचालित रूप से विस्तारित कैनवास के साथ ताकि कुछ भी कटे नहीं।
यह ब्लॉक कैसे काम करता है
यह ब्लॉक छवि के प्रमुख ग्रेडिएंट उन्मुखीकरण से घुमाव कोण का अनुमान लगाता है, फिर उस घुमाव को छवि पर लागू करता है। यह ब्लॉक:
छवि को ग्रेस्केल में बदलता है (रंगीन छवियाँ इसके साथ बदली जाती हैं
BGR2GRAY)एक कार्यशील प्रति को डाउनस्केल करता है ताकि उसका सबसे बड़ा आयाम अधिकतम हो
internal_resolutionपिक्सेल (डिफ़ॉल्ट 1000, गति के लिए; पता लगाया गया कोण स्केल-इनवेरिएंट होता है और बाद में पूर्ण-रिज़ॉल्यूशन मूल पर लागू किया जाता है)एक समतल/कम-टेक्सचर वाली छवि (बहुत कम पिक्सेल मानक विचलन) की जाँच करता है और, यदि मिलती है, तो प्रसंस्करण छोड़ देता है तथा छवि को अपरिवर्तित वापस करता है साथ में
angle = 0.0CLAHE के साथ स्थानीय कंट्रास्ट को बढ़ाता है और शोर-संवेदनशीलता कम करने के लिए हल्का Gaussian blur लागू करता है, जिससे एक float32 छवि बनती है जिसका उपयोग केवल प्रत्याशी कोणों के स्कोरिंग के लिए किया जाता है
Sobel ग्रेडिएंट्स एक बार गणना करता है और ग्रेडिएंट उन्मुखियों का परिमाण-भारित हिस्टोग्राम बनाता है (180 डिग्री पर मॉड): प्रमुख रेखाओं के ग्रेडिएंट स्वयं रेखाओं के लंबवत होते हैं, इसलिए ऊर्ध्वाधर रेखाएँ हिस्टोग्राम को 0 डिग्री के आसपास और क्षैतिज रेखाएँ 90 डिग्री के आसपास केंद्रित करती हैं
अस्पष्ट हिस्टोग्राम (कोई स्पष्ट रूप से प्रमुख उन्मुखीकरण नहीं) को अस्वीकार करता है और छवि को अपरिवर्तित वापस करता है
हिस्टोग्राम के प्रमुख मोड को नज़दीकी उन्मुखियों पर डबल-एंगल भारित सर्कुलर मीन के साथ उप-डिग्री सटीकता के लिए परिष्कृत करता है, और सुधार को इसमें सामान्यीकृत करता है
(-90, 90]डिग्री मेंऊर्ध्वाधर/क्षैतिजया(-45, 45]डिग्री मेंयायदि अंतिम कोण का परिमाण इससे छोटा है
skip_below_degreesपर, छवि को अपरिवर्तित वापस करता है साथ मेंangle = 0.0(पहले से सीधे चित्रों के लिए अनावश्यक पुनः-एन्कोडिंग/रीसैंपलिंग से बचता है)। इसी तरह, यदि अंतिम कोण का परिमाण इससे बड़ा हैmax_correction_degreesपर, छवि को अपरिवर्तित वापस किया जाता है साथ मेंangle = 0.0- संभाव्य तिरछेपन की सीमा से आगे का सुधार आमतौर पर संकेत देता है कि खोज ने इच्छित रेखाओं के बजाय किसी अन्य प्रमुख संरचना (जैसे किसी लंबे ऑब्जेक्ट की छाया-रेखा) के साथ संरेखण कर लियाअन्यथा पूर्ण-रिज़ॉल्यूशन मूल छवि को अंतिम कोण से उसके केंद्र के चारों ओर घुमाता है, और आउटपुट कैनवास को स्वचालित रूप से विस्तारित करता है ताकि पूरी घुमाई गई छवि संरक्षित रहे (का कैनवास-विस्तार व्यवहार मिलाते हुए
roboflow_core/image_preprocessing@v1के rotate task)
यह ब्लॉक डेस्क्यू की गई छवि (विस्तारित कैनवास के साथ) और लागू घुमाव कोण, दोनों को डिग्री में आउटपुट करता है। कोण OpenCV के कन्वेंशन का पालन करते हैं: धनात्मक कोण वामावर्त घुमाते हैं।
सामान्य उपयोग के मामले
दस्तावेज़ और लेबल स्कैनिंग: OCR या डाउनस्ट्रीम डिटेक्शन से पहले फ़ोटोग्राफ़ किए गए दस्तावेज़ों, लेबलों, या पैकेजिंग को सीधा करें, जिससे पाठ और बारकोड पढ़ने की सटीकता बेहतर होती है
स्थिर-कैमरा निरीक्षण: स्थिर-स्थिति औद्योगिक कैमरों में माउंटिंग के कारण आए छोटे झुकावों को ठीक करें ताकि डाउनस्ट्रीम मापन ब्लॉक (जैसे आकार या दूरी मापन) अक्ष-संरेखित इमेजरी पर कार्य करें
कन्वेयर और शेल्फ संरेखण: कन्वेयर, शेल्विंग, या पैनलों की छवियों को संरेखित करें जिनके किनारों को ऊर्ध्वाधर या क्षैतिज होना चाहिए, जिससे डाउनस्ट्रीम रेखा/किनारा-आधारित विश्लेषण की विश्वसनीयता बढ़ती है
डिटेक्शन मॉडलों के लिए पूर्व-प्रसंस्करण: रोटेशन के प्रति संवेदनशील ऑब्जेक्ट डिटेक्शन या वर्गीकरण मॉडल चलाने से पहले इनपुट छवियों को सीधा करें
अन्य ब्लॉक्स से कनेक्ट करना
यह ब्लॉक एक छवि प्राप्त करता है और एक डेस्क्यू की गई छवि तथा लागू कोण उत्पन्न करता है:
डिटेक्शन या वर्गीकरण मॉडलों से पहले अनुमान से पहले छवियों को सीधा करने के लिए, जिससे झुकी हुई स्रोत इमेजरी पर अधिक विश्वसनीय मॉडल आउटपुट सक्षम होते हैं
मापन ब्लॉकों से पहले (जैसे दूरी या आकार मापन) जो अक्ष-संरेखित दृश्य मानते हैं
डाउनस्ट्रीम निर्देशांक मैपिंग के साथ -
angleआउटपुट (मूल छवि के आयामों के साथ) लागू परिवर्तन को पूरी तरह निर्धारित करता है, इसलिए घुमाई गई छवि पर की गई डिटेक्शनों को by द्वारा निर्मित रोटेशन मैट्रिक्स को उलटकर मूल छवि के निर्देशांक स्थान में वापस मैप किया जा सकता हैbuild_auto_rotate_matrix
प्रकार पहचानकर्ता
स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "type" फ़ील्ड: roboflow_core/auto_rotate_on_edges@v1 अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।
गुण
नाम
प्रकार
विवरण
संदर्भ
name
str
इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..
❌
target_orientation
str
छवि की प्रमुख सीधी रेखाओं को किस किनारा-दिशा के साथ संरेखित किया जाना चाहिए। 'vertical' वह घुमाव खोजता है जो प्रमुख रेखाओं को ऊर्ध्वाधर बनाता है, 'horizontal' वह घुमाव खोजता है जो प्रमुख रेखाओं को क्षैतिज बनाता है, और 'either' इनमें से जो भी अधिक निकट हो उसके साथ संरेखित करता है (खोज निकटतम समकोण के आसपास +/-45 डिग्री दायरे तक सीमित है)..
✅
skip_below_degrees
float
यदि पता चले सुधार कोण का निरपेक्ष मान इस सीमा (डिग्री में) से छोटा है, तो ब्लॉक इनपुट छवि को अपरिवर्तित (identity passthrough) वापस करता है साथ में angle = 0.0पर, अनावश्यक पुनः-एन्कोडिंग/रीसैंपलिंग से बचते हुए उन छवियों के लिए जो पहले से पर्याप्त सीधी हैं..
✅
max_correction_degrees
float
यदि मिला सर्वोत्तम सुधार कोण इस सीमा से अधिक है (निरपेक्ष डिग्री में), तो ब्लॉक इनपुट छवि को अपरिवर्तित (identity passthrough) वापस करता है साथ में angle = 0.0. इसे तब सेट करें जब आपकी इमेजरी की संभाव्य तिरछेपन सीमा ज्ञात हो (जैसे भाग अधिकतम ~40 डिग्री ऑफ-एक्सिस फ़ोटो किए गए हों) ताकि छवि में कोई अन्य प्रमुख संरचना (जैसे इच्छित रेखाओं के बजाय किसी लंबे ऑब्जेक्ट की छाया-रेखा) गलत, अत्यधिक घुमाव का कारण न बने। 90.0 का डिफ़ॉल्ट इस सीमा को निष्क्रिय करता है..
✅
internal_resolution
int
घुमाव-कोण खोज छवि की एक कार्यशील प्रति पर चलती है जिसे इतना डाउनस्केल किया जाता है कि उसका सबसे लंबा किनारा अधिकतम इतने पिक्सेल हो; पूर्ण-रिज़ॉल्यूशन छवि केवल अंतिम घुमाव के लिए उपयोग की जाती है। कम मान खोज को तेज़ बनाते हैं लेकिन बहुत पतली रेखाओं को धुंधला कर सकते हैं; अधिक मान खोज समय की कीमत पर बारीक-रेखा विवरण को बनाए रखते हैं..
✅
यह संदर्भ स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है वर्कफ़्लो रनटाइम। देखें बाइंडिंग्स अधिक जानकारी के लिए।
इनपुट और आउटपुट बाइंडिंग्स
उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार किनारों पर स्वचालित रोटेशन संस्करण v1 है।
इनपुट और आउटपुट बाइंडिंग्स
इनपुट
छवि(छवि): डेस्क्यू करने के लिए इनपुट छवि (रंगीन या ग्रेस्केल)। रंगीन छवियों को कोण पहचान के लिए स्वचालित रूप से ग्रेस्केल में बदला जाता है; पता लगाया गया घुमाव कोण पूर्ण-रिज़ॉल्यूशन मूल छवि पर लागू किया जाता है। आउटपुट में घुमाई गई छवि (स्वचालित रूप से विस्तारित कैनवास के साथ) और लागूangleडिग्री में..target_orientation(string): छवि की प्रमुख सीधी रेखाओं को किस किनारा-दिशा के साथ संरेखित किया जाना चाहिए। 'vertical' वह घुमाव खोजता है जो प्रमुख रेखाओं को ऊर्ध्वाधर बनाता है, 'horizontal' वह घुमाव खोजता है जो प्रमुख रेखाओं को क्षैतिज बनाता है, और 'either' इनमें से जो भी अधिक निकट हो उसके साथ संरेखित करता है (खोज निकटतम समकोण के आसपास +/-45 डिग्री दायरे तक सीमित है)..skip_below_degrees(float): यदि पता चले सुधार कोण का निरपेक्ष मान इस सीमा (डिग्री में) से छोटा है, तो ब्लॉक इनपुट छवि को अपरिवर्तित (identity passthrough) वापस करता है साथ मेंangle = 0.0पर, अनावश्यक पुनः-एन्कोडिंग/रीसैंपलिंग से बचते हुए उन छवियों के लिए जो पहले से पर्याप्त सीधी हैं..max_correction_degrees(float): यदि मिला सर्वोत्तम सुधार कोण इस सीमा से अधिक है (निरपेक्ष डिग्री में), तो ब्लॉक इनपुट छवि को अपरिवर्तित (identity passthrough) वापस करता है साथ मेंangle = 0.0. इसे तब सेट करें जब आपकी इमेजरी की संभाव्य तिरछेपन सीमा ज्ञात हो (जैसे भाग अधिकतम ~40 डिग्री ऑफ-एक्सिस फ़ोटो किए गए हों) ताकि छवि में कोई अन्य प्रमुख संरचना (जैसे इच्छित रेखाओं के बजाय किसी लंबे ऑब्जेक्ट की छाया-रेखा) गलत, अत्यधिक घुमाव का कारण न बने। 90.0 का डिफ़ॉल्ट इस सीमा को निष्क्रिय करता है..internal_resolution(पूर्णांक): घुमाव-कोण खोज छवि की एक कार्यशील प्रति पर चलती है जिसे इतना डाउनस्केल किया जाता है कि उसका सबसे लंबा किनारा अधिकतम इतने पिक्सेल हो; पूर्ण-रिज़ॉल्यूशन छवि केवल अंतिम घुमाव के लिए उपयोग की जाती है। कम मान खोज को तेज़ बनाते हैं लेकिन बहुत पतली रेखाओं को धुंधला कर सकते हैं; अधिक मान खोज समय की कीमत पर बारीक-रेखा विवरण को बनाए रखते हैं..
अंतिम अपडेट
क्या यह उपयोगी था?