छवियों का पूर्वप्रसंस्करण करें

मॉडल्स के लिए डेटा तैयार करने के लिए छवि पूर्वप्रसंस्करण चरण।

प्रीप्रोसेसिंग यह सुनिश्चित करता है कि आपका डेटासेट एक मानक प्रारूप में है (जैसे सभी छवियाँ एक ही आकार की हैं)। यह चरण आवश्यक है ताकि आपके डेटासेट में मॉडल प्रशिक्षण से पहले एकरूपता बनी रहे।

प्रीप्रोसेसिंग आपके ट्रेन, वैलिड और टेस्ट सेट की सभी छवियों पर लागू होती है (इसके विपरीत ऑगमेंटेशनजो केवल ट्रेन सेट पर लागू होती है)।

Roboflow प्लेटफ़ॉर्म निम्नलिखित प्रीप्रोसेसिंग विकल्प प्रदान करता है:

  • ऑटो-ओरिएंट

  • रिसाइज़

  • ग्रेस्केल

  • ऑटो-अडजस्ट कॉन्ट्रास्ट

  • ऑब्जेक्ट्स अलग करें

  • स्टैटिक क्रॉप

  • टाइल

  • क्लासेस संशोधित करें

  • नल फ़िल्टर करें

  • टैग द्वारा फ़िल्टर करें

प्रत्येक विकल्प नीचे वर्णित है।

ऑटो-ओरिएंट

ऑटो-ओरिएंट आपकी छवियों से उनके EXIF डेटा को हटा देता है ताकि आप छवियों को वैसे ही देख सकें जैसे वे डिस्क पर संग्रहीत हैं।

EXIF डेटा किसी दी गई छवि की ओरिएंटेशन निर्धारित करता है। एप्लिकेशन (जैसे मैक पर प्रीव्यू) इस डेटा का उपयोग छवि को एक विशिष्ट ओरिएंटेशन में दिखाने के लिए करते हैं, भले ही डिस्क पर उसका ओरिएंटेशन अलग हो। देखें यह फ्रंट पेज Hacker News चर्चा कि यह कैसे चुपचाप आपके ऑब्जेक्ट डिटेक्शन मॉडल्स को खराब कर सकता है।

  • Roboflow अनुशंसा करता है कि इसे चालू ही रखें और देखें कि आपके इनफेरेंस में छवियाँ आपके मॉडल को कैसे दी जा रही हैं।

  • यदि आप जानना चाहते हैं कि आपको अपनी छवियों को ऑटो-ओरिएंट करना चाहिए या नहीं, हमारा ब्लॉग देखें.

रिसाइज़

रिसाइज़ आपकी छवियों का आकार बदलता है और, वैकल्पिक रूप से, वांछित आयामों के अनुसार स्केल करता है। एनोटेशन आनुपातिक रूप से समायोजित किए जाते हैं (नीचे “फिल” के मामले को छोड़कर)।

वर्तमान में, हम केवल डाउनसाइज़िंग का समर्थन करते हैं। हम कुछ मार्गदर्शन प्रदान करते हैं कौन सा रिसाइज़ विकल्प आपके उपयोग के मामले के लिए सबसे अच्छा हो सकता है.

  • स्ट्रेच करें: अपनी छवियों को पसंदीदा पिक्सेल-दर-पिक्सेल आयाम तक स्ट्रेच करें। एनोटेशन आनुपातिक रूप से स्केल किए जाते हैं। छवियाँ वर्गाकार, विकृत होती हैं, लेकिन कोई स्रोत छवि डेटा नहीं खोता।

  • फिल (सेंटर क्रॉप के साथ): निर्मित छवि आपके वांछित आउटपुट आयामों की केंद्रित क्रॉप होती है। उदाहरण के लिए, यदि स्रोत छवि 2600x2080 है और रिसाइज़ विकल्प 640x640 पर सेट है, तो आउटपुट रिसाइज़ स्रोत छवि का केंद्रीय 640x640 होगा। आस्पेक्ट रेशियो बना रहता है, लेकिन स्रोत छवि डेटा खो जाता है।

  • फिट करें: स्रोत आयामों को आउटपुट छवि के आयामों के अनुसार स्केल किया जाता है, जबकि स्रोत छवि का आस्पेक्ट रेशियो बना रहता है। उदाहरण के लिए, यदि स्रोत छवि 2600x2080 है और रिसाइज़ विकल्प 640x640 पर सेट है, तो लंबा आयाम (2600) 640 पर स्केल होता है और द्वितीयक आयाम (2080) लगभग 512 पिक्सेल पर स्केल होता है। छवि का आस्पेक्ट रेशियो और मूल डेटा बना रहता है, लेकिन वे वर्गाकार नहीं होते।

  • फिट (किनारे रिफ्लेक्ट करें): स्रोत आयामों को आउटपुट छवि के आयामों के अनुसार स्केल किया जाता है, जबकि स्रोत छवि का आस्पेक्ट रेशियो बना रहता है, और कोई भी नया पैडिंग स्रोत छवि का रिफ्लेक्शन होता है। उदाहरण के लिए, यदि स्रोत छवि 2600x2080 है और रिसाइज़ विकल्प 416x416 पर सेट है, तो लंबा आयाम (2600) 416 पर स्केल होता है और द्वितीयक आयाम (2080) लगभग 335.48 पिक्सेल पर स्केल होता है। शेष पिक्सेल क्षेत्र (416-335.48, या 80.52 पिक्सेल) स्रोत छवि के रिफ्लेक्टेड पिक्सेल होते हैं। विशेष रूप से, Roboflow डिफ़ॉल्ट रूप से एनोटेशन भी रिफ्लेक्ट करता है। छवियाँ वर्गाकार, पैडेड होती हैं, और आस्पेक्ट रेशियो व मूल डेटा बना रहता है।

  • फिट (काले किनारे): स्रोत आयामों को आउटपुट छवि के आयामों के अनुसार स्केल किया जाता है, जबकि स्रोत छवि का आस्पेक्ट रेशियो बना रहता है, और कोई भी नया पैडिंग काले क्षेत्र का होता है। उदाहरण के लिए, यदि स्रोत छवि 2600x2080 है और रिसाइज़ विकल्प 416x416 पर सेट है, तो लंबा आयाम (2600) 416 पर स्केल होता है और द्वितीयक आयाम (2080) लगभग 335.48 पिक्सेल पर स्केल होता है। शेष पिक्सेल क्षेत्र (416-335.48, या 80.52 पिक्सेल) काले पिक्सेल होते हैं। छवियाँ वर्गाकार, काले पैडेड होती हैं, और आस्पेक्ट रेशियो व मूल डेटा बना रहता है।

  • फिट (सफेद किनारे): स्रोत आयामों को आउटपुट छवि के आयामों के अनुसार स्केल किया जाता है, जबकि स्रोत छवि का आस्पेक्ट रेशियो बना रहता है, और कोई भी नया पैडिंग सफेद क्षेत्र का होता है। उदाहरण के लिए, यदि स्रोत छवि 2600x2080 है और रिसाइज़ विकल्प 416x416 पर सेट है, तो लंबा आयाम (2600) 416 पर स्केल होता है और द्वितीयक आयाम (2080) लगभग 335.48 पिक्सेल पर स्केल होता है। शेष पिक्सेल क्षेत्र (416-335.48, या 80.52 पिक्सेल) सफेद पिक्सेल होते हैं। छवियाँ वर्गाकार, सफेद पैडेड होती हैं, और आस्पेक्ट रेशियो व मूल डेटा बना रहता है।

ग्रेस्केल

RGB चैनलों वाली छवि को एकल ग्रेस्केल चैनल वाली छवि में बदलता है, जिससे आपकी मेमोरी बच सकती है। प्रत्येक ग्रेस्केल पिक्सेल का मान संबंधित लाल, हरे और नीले पिक्सेल के भारित योग के रूप में गणना किया जाता है: Y = 0.2125 R + 0.7154 G + 0.0721 B।

ये वेट्स उपयोग किए जाते हैं CRT फॉस्फर्स क्योंकि वे लाल, हरे और नीले के मानव दृष्टि के अनुसार बेहतर प्रतिनिधित्व करते हैं बजाय समान वेट्स के। (स्रोत: Scikit-Image.)

ऑटो-अडजस्ट कॉन्ट्रास्ट

कम कंट्रास्ट वाली छवि को बेहतर बनाता है। हमने यह जांचा है क्या आप कंट्रास्ट को प्रीप्रोसेसिंग चरण के रूप में उपयोग करना चाहते हैं.

  • कंट्रास्ट स्ट्रेचिंग: छवि को फिर से स्केल किया जाता है ताकि उसमें 2वें और 98वें प्रतिशताइल के भीतर आने वाली सभी तीव्रताएँ शामिल हों। और देखें.

  • हिस्टोग्राम इक्वलाइज़ेशन: छवि में सबसे अधिक बार आने वाले तीव्रता मानों को “फैला देता है”। इक्वलाइज़्ड छवि में लगभग समान वितरण होता है, जहाँ सभी रंगों के पिक्सेल लगभग समान रूप से दर्शाए जाते हैं। और देखें.

  • एडैप्टिव इक्वलाइज़ेशन: कंट्रास्ट लिमिटेड एडैप्टिव हिस्टोग्राम इक्वलाइज़ेशन (CLAHE)। यह एक स्थानीय कंट्रास्ट बढ़ाने की एल्गोरिद्म है, जो छवि के विभिन्न टाइल क्षेत्रों पर हिस्टोग्राम का उपयोग करती है। स्थानीय विवरणों को इस प्रकार बढ़ाया जा सकता है, भले ही वे छवि के अधिकांश भाग से अधिक गहरे या हल्के हों। (स्रोत: Scikit-Image.)

एडवांस्ड प्रीप्रोसेसिंग फीचर्स

ऑब्जेक्ट्स अलग करें

आइसोलेट ऑब्जेक्ट्स ट्रांसफॉर्म प्रत्येक बाउंडिंग बॉक्स को क्रॉप करके एक अलग छवि में निकालता है। यह चरण ऑब्जेक्ट डिटेक्शन डेटासेट्स को क्लासिफिकेशन डेटासेट्स में बदल देता है।

ऐसे मामलों में जहाँ डेटासेट में कई क्लासेस समान होती हैं, दो मॉडलों का अनुक्रमिक रूप से उपयोग करना सामान्य है। पहला मॉडल (ऑब्जेक्ट डिटेक्शन) ऑब्जेक्ट ढूंढता है और दूसरा मॉडल (क्लासिफिकेशन) यह पहचानता है कि ऑब्जेक्ट क्या है। आइसोलेट ऑब्जेक्ट्स ट्रांसफॉर्मेशन दूसरे मॉडल के प्रशिक्षण के लिए आवश्यक डेटासेट बनाने में उपयोगी है।

स्टैटिक क्रॉप

स्टैटिक क्रॉप फीचर और एक उदाहरण आउटपुट।

टाइल

टाइलिंग छोटे ऑब्जेक्ट्स का पता लगाने में मदद कर सकती है (विशेष रूप से हवाई इमेजरी और माइक्रोस्कोपी जैसी स्थितियों में)। डिफ़ॉल्ट सेटिंग 2x2 टाइलिंग है, हालाँकि, आप इसे अपनी आवश्यकता अनुसार समायोजित कर सकते हैं। टाइलिंग की जाती है रिसाइज़िंग से पहले प्रीप्रोसेसिंग पाइपलाइन में।

टाइलिंग टूल और आउटपुट का पूर्वावलोकन ("ग्रिड" में दिखाया गया)।

क्लासेस संशोधित करें

एक प्रीप्रोसेसिंग टूल जिसका उपयोग नई डेटासेट संस्करण बनाते समय विशिष्ट क्लासेस को छोड़ने या क्लासेस को रीमैप (नाम बदलने) के लिए किया जाता है। ये परिवर्तन केवल आपके द्वारा बनाए गए संस्करण पर लागू होते हैं। आपके मूल डेटासेट में कोई परिवर्तन नहीं किया जाएगा।

"Apple leaf" क्लास को छोड़ना।
क्लास "scratches" को "scratch" में रीमैप करना।

नल फ़िल्टर करें

फिल्टर नल ट्रांसफॉर्मेशन उपयोगकर्ताओं को डेटासेट में छवियों के एक हिस्से को एनोटेटेड करने की आवश्यकता की अनुमति देता है। Modify Classes टूल लागू करने के बाद नल एनोटेशन या "अनएनोटेटेड" के रूप में चिह्नित छवियाँ ही Filter Null का उपयोग करते समय प्रभावित होती हैं।

यह ट्रांसफॉर्मेशन तब उपयोगी है जब डेटासेट का एक बड़ा हिस्सा इच्छित ऑब्जेक्ट्स नहीं रखता है।

फिल्टर नल प्रीप्रोसेसिंग चरण लागू करना।

मिसिंग और नल एनोटेशन के बीच अंतर

"मिसिंग एनोटेशन" तब होते हैं जब छवियों को एनोटेट नहीं किया जाता (छवियों को अनएनोटेटेड छोड़ने से आपके प्रशिक्षित डेटासेट के प्रदर्शन में समस्याएँ आ सकती हैं, और प्रशिक्षण विफल हो सकता है)। नल एनोटेशन केवल तभी लागू किए जाने चाहिए जब वहाँ कुछ भी नहीं उस छवि में मौजूद हो जिसे आप चाहते हैं कि आपका मॉडल डिटेक्ट करे।

टैग द्वारा फ़िल्टर करें

फिल्टर बाय टैग ट्रांसफॉर्मेशन उपयोगकर्ताओं को यह फ़िल्टर करने की अनुमति देता है कि कौन सी छवियाँ किसी संस्करण में शामिल की जानी चाहिए या नहीं, इस आधार पर कि कौन से टैग्स लागू किए गए हैं। यह ट्रांसफॉर्मेशन नए डेटा उपसमुच्चय पर मॉडल प्रशिक्षण या अवांछित छवियों को प्रशिक्षण से बाहर करने के लिए उपयोगी है।

प्रत्येक टैग के लिए तीन विकल्प उपलब्ध हैं:

  • आवश्यक: केवल आवश्यक टैग वाली छवियाँ संस्करण में शामिल की जाएंगी।

  • बहिष्कृत: बहिष्कृत टैग वाली छवियाँ संस्करण में शामिल नहीं की जाएंगी।

  • अनुमति: अनुमति टैग वाली छवियाँ संस्करण में शामिल की जाएंगी, बशर्ते बहिष्कृत और आवश्यक नियम लागू हों।

इस उदाहरण में, परिणामी संस्करण में केवल वे छवियाँ होंगी जिनमें do-not-include टैग नहीं है।

Last updated

Was this helpful?