इमेज पूर्वप्रक्रिया करें

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

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

प्रोप्रोसेसिंग आपके Train, Valid और Test सेट की सभी इमेज पर लागू होता है (इसके विपरीत Augmentationsजो केवल Train सेट पर लागू होती हैं)।

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

  • Auto-Orient

  • Resize

  • Grayscale

  • Auto-Adjust Contrast

  • Isolate Objects

  • Static Crop

  • Tile

  • Modify Classes

  • Filter Null

  • Filter by Tag

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

Auto-Orient

Auto-orient आपकी इमेजेज़ से उनके EXIF डेटा को हटाता है ताकि आप इमेजेज़ को उसी तरह प्रदर्शित होते देखें जिस तरह वे डिस्क पर स्टोर हैं।

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

  • Roboflow सुझाता है कि इसे डिफ़ॉल्ट रूप से चालू छोड़ दें और यह जाँचें कि inference में आपकी इमेजेज़ को आपके मॉडल को कैसे फ़ीड किया जा रहा है।

  • यदि आप यह जानना चाहते हैं कि आपको अपनी इमेजेज़ को auto-orient करना चाहिए या नहीं, हमारे ब्लॉग को देखें.

Resize

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

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

  • Stretch to: अपनी इमेजेज़ को किसी पसंदीदा पिक्सेल-बाय-पिक्सेल आयाम तक stretch करें। एनोटेशन समानुपाती रूप से स्केल होते हैं। इमेजेज़ स्क्वायर और विकृत होंगी, लेकिन कोई मूल स्रोत इमेज डेटा खोए बिना।

  • Fill (with center crop) in: जनरेट की गई इमेज आपकी इच्छित आउटपुट आयामों का केंद्रित क्रॉप होती है। उदाहरण के लिए, यदि स्रोत इमेज 2600x2080 है और resize विकल्प 640x640 पर सेट है, तो आउटपुट resize स्रोत इमेज का मध्य 640x640 होगा। पहलू अनुपात कायम रहता है, लेकिन स्रोत इमेज डेटा खो जाता है।

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

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

  • Fit (black edges) in: स्रोत आयामों को आउटपुट इमेज के आयामों के अनुरूप स्केल किया जाता है जबकि स्रोत इमेज का पहलू अनुपात बनाए रखा जाता है, और किसी भी नए बनाए गए padding काले क्षेत्र होंगे। उदाहरण के लिए, यदि स्रोत इमेज 2600x2080 है और resize विकल्प 416x416 है, तो लंबी दिशा (2600) को 416 पर स्केल किया जाएगा और दूसरी दिशा (2080) को लगभग 335.48 पिक्सेल पर स्केल किया जाएगा। शेष पिक्सेल क्षेत्र (416-335.48, या 80.52 पिक्सेल) काले पिक्सेल होंगे। इमेज स्क्वायर, काले पैड के साथ, और पहलू अनुपात तथा मूल डेटा बनाए रखा जाता है।

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

Grayscale

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

ये भार CRT phosphors द्वारा उपयोग किए जाते हैं क्योंकि ये समान भारों की तुलना में मानव की लाल, हरी और नीली धारणा का बेहतर प्रतिनिधित्व करते हैं। (Via Scikit-Image.)

Auto-Adjust Contrast

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

  • Contrast Stretching: इमेज को 2nd से 98th percentile के भीतर आने वाली सभी तीव्रताओं को शामिल करने के लिए पुनर्स्केल किया जाता है। और देखें.

  • Histogram Equalization: “इमेज में सबसे सामान्य तीव्रता मानों को फैलाता है”। समानीकृत इमेज का वितरण लगभग समान होता है, जहाँ पिक्सेल रंग लगभग समान रूप से प्रतिनिधित्व किए जाते हैं। और देखें.

  • Adaptive Equalization: Contrast Limited Adaptive Histogram Equalization (CLAHE)। स्थानीय कंट्रास्ट बढ़ाने के लिए एक एल्गोरिथ्म जो इमेज के विभिन्न टाइल क्षेत्रों पर गणना किए गए histogram का उपयोग करता है। इसलिए, स्थानीय विवरण उन क्षेत्रों में भी बढ़ाए जा सकते हैं जो इमेज के बाकी हिस्सों की तुलना में अधिक अंधेरे या उज्जवल हैं। (Via Scikit-Image.)

Advanced Preprocessing Features

Isolate Objects

Isolate Objects ट्रांसफ़ॉर्म प्रत्येक bounding box को क्रॉप करके एक अलग इमेज में निकाल देगा। यह चरण Object Detection datasets को Classification datasets में परिवर्तित करता है।

ऐसे मामलों में जहाँ डेटासेट के कई क्लास एक जैसे होते हैं, सामान्यतः दो मॉडलों को क्रम में उपयोग किया जाता है। पहला मॉडल (object detection) ऑब्जेक्ट खोजता है और दूसरा मॉडल (classification) पहचानता है कि ऑब्जेक्ट क्या है। Isolate Objects ट्रांसफॉर्म दूसरे मॉडल के प्रशिक्षण के लिए आवश्यक dataset बनाने में उपयोगी है।

Static Crop

static crop फीचर, और एक उदाहरण आउटपुट।

Tile

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

tiling टूल और आउटपुट का एक प्रीव्यू ("grid" में चित्रित)।

Modify Classes

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

"Apple leaf" क्लास को छोड़ना।
क्लास "scratches" का remap करके "scratch" करना।

Filter Null

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

यह ट्रांसफ़ॉर्म उस स्थिति में उपयोगी है जहाँ डेटासेट का एक बड़ा हिस्से में रुचि के ऑब्जेक्ट मौजूद नहीं होते।

Filter Null preprocessing चरण लागू करना।

Missing और Null Annotations के बीच अंतर

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

Filter by Tag

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

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

  • Require: केवल Required tags वाली इमेजेज़ को वर्ज़न में शामिल किया जाएगा।

  • Exclude: Excluded tags वाली इमेजेज़ वर्ज़न में शामिल नहीं की जाएंगी।

  • Allow: Allowed tags वाली इमेजेज़ Exclude और Require नियमों के सापेक्ष शर्तों पर वर्ज़न में शामिल की जाएंगी।

इस उदाहरण में, परिणामी Version केवल उन इमेजेज़ को शामिल करेगा जिनमें do-not-include टैग मौजूद नहीं है।

Last updated

Was this helpful?