Image Augmentation

model performance सुधारने के लिए augmented images बनाएं।

इमेज ऑगमेंटेशन एक ऐसा चरण है जिसमें आपके dataset में "Train" के रूप में चिह्नित मौजूदा images पर augmentations लागू किए जाते हैं। यह प्रक्रिया आपके model की generalize करने की क्षमता को बेहतर बनाने में मदद कर सकती है और इस प्रकार unseen images पर अधिक प्रभावी ढंग से प्रदर्शन कर सकती है।

Augmentations कुछ प्रमुख कारणों से training के समय के बजाय dataset version ("offline augmentation") के माध्यम से लागू किए जाते हैं:

  1. Model reproducibility बढ़ती है. Roboflow के साथ, आपके पास यह copy होती है कि प्रत्येक image कैसे augmented की गई थी। उदाहरण के लिए, आपको पता चल सकता है कि आपका model dark images की तुलना में bright images पर बेहतर perform करता है, इसलिए आपको अधिक low-light training data एकत्र करना चाहिए।

  2. Training time कम होता है. Augmentations CPU-सीमित operations हैं। जब आप अपने GPU पर training कर रहे होते हैं और on-the-fly augmentations कर रहे होते हैं, तब आपका GPU अक्सर हर epoch पर augmented data देने के लिए अपने CPU का इंतज़ार कर रहा होता है। यह जल्दी ही बढ़ जाता है!

  3. Training costs कम होती हैं. क्योंकि augmentations CPU-सीमित operations हैं, आपका महंगा, किराए पर लिया गया GPU अक्सर training के लिए images मिलने का इंतज़ार कर रहा होता है।

Augmentations कैसे लागू किए जाते हैं

Augmentations हमेशा training images पर इनके बाद लागू किए जाते हैं preprocessing steps. चुने गए augmentations को एक साथ stack किया जाता है, augmentation settings और प्रत्येक setting के values के randomization के साथ, जो प्रत्येक augmented image पर लागू होते हैं। इस प्रक्रिया के दौरान जो भी images duplicates के रूप में दिखाई देती हैं, उन्हें बनाई गई version से filter out कर दिया जाता है।

उदाहरण के लिए, यदि आप “flip horizontally” और “salt and pepper noise” augmentations चुनते हैं, तो किसी दी गई image को random रूप से horizontal flip के रूप में reflect किया जाएगा और उस पर random salt and pepper noise जोड़ा जाएगा।

Augmentations को सीमित करना

Augmentations के साथ dataset version बनाते समय, आप "Maximum Version Size" option के माध्यम से शामिल करने के लिए augmented images की अधिकतम संख्या चुन सकते हैं।

उदाहरण के लिए, 3x चुनने का मतलब है कि आपकी final dataset version में प्रत्येक training source image के साथ preprocessing steps लागू होंगे और आपके चुने गए settings के आधार पर प्रत्येक image पर 2 random augmentations होंगे।

यदि आपके dataset में 100 images थीं, जिसमें train/valid/test split 70/20/10 था और आपने 3x augmentations चुने, तो आपके final dataset में लगभग 210/20/10 split होगा।

आपकी version में images की अंतिम संख्या इस अनुमान से कम हो सकती है क्योंकि हम images को de-duplicate करते हैं और कुछ options (जैसे "Filter Null") output से images को हटा सकते हैं।

Augmentation Options

Roboflow में augmentations या तो "Basic" या "Enhanced" हो सकते हैं और इन्हें दो अलग-अलग levels पर लागू किया जा सकता है।

Image Level Augmentations

Image level augmentations पूरे image पर transformations लागू करके, individual objects या regions के बजाय, नया training data बनाते हैं। पूरी image को संशोधित करके, developers visual conditions की एक व्यापक range का simulation कर सकते हैं, जिससे models को नए data पर बेहतर generalize करना सीखने में मदद मिलती है।

Bounding Box Level Augmentations

Bounding box level augmentation source image के केवल bounding boxes की content को बदलकर नया training data बनाता है। ऐसा करके, developers के पास training data बनाने पर अधिक नियंत्रण होता है जो उनकी problem की conditions के लिए अधिक उपयुक्त हो।

एक 2019 का paper Google researchers का एक विचार प्रस्तुत करता है कि उनके models के लिए optimal data बनाने हेतु केवल bounding box augmentation का उपयोग किया जाए। इस paper में, researchers ने दिखाया कि केवल bounding box modifications systemic improvements लाते हैं, विशेषकर उन models के लिए जो small datasets पर fit किए गए थे।

Enhanced Augmentations और Bounding Box Augmentations premium features हैं।

हमारी plans और उनसे संबंधित features की नवीनतम जानकारी के लिए, हमारी pricing page.

Learn More

अंतिम अपडेट

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