# Image Augmentation

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

{% hint style="success" %}
हम बिना किसी augmentations के project शुरू करने की सलाह देते हैं। इससे आप अपने raw dataset की quality का मूल्यांकन कर सकते हैं। यदि आप augmentations जोड़ते हैं और आपका dataset अपेक्षा के अनुसार अच्छा प्रदर्शन नहीं करता, तो आपके पास model performance की तुलना करने के लिए कोई baseline नहीं होगा।

यदि आपका model बिना augmentations के अच्छी तरह perform नहीं करता, तो आपको class balance, data representation, और dataset size की जांच करनी पड़ सकती है। जब आपके पास ऐसा dataset हो जिस पर आपने सफलतापूर्वक बिना augmentations के model train किया हो, तब आप model performance को और बेहतर बनाने के लिए augmentations जोड़ सकते हैं।
{% endhint %}

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](/roboflow/roboflow-hi/datasets/dataset-versions/image-preprocessing.md). चुने गए 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](/roboflow/roboflow-hi/datasets/dataset-versions/image-preprocessing.md) लागू होंगे और आपके चुने गए settings के आधार पर प्रत्येक image पर 2 random augmentations होंगे।

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

<figure><img src="/files/350e08263ae866bcc5f85f996e388dc5ec5881a3" alt=""><figcaption></figcaption></figure>

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

## 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](https://arxiv.org/pdf/1906.11172.pdf) Google researchers का एक विचार प्रस्तुत करता है कि उनके models के लिए optimal data बनाने हेतु केवल bounding box augmentation का उपयोग किया जाए। इस paper में, researchers ने दिखाया कि केवल bounding box modifications systemic improvements लाते हैं, विशेषकर उन models के लिए जो small datasets पर fit किए गए थे।

{% hint style="info" %}
Enhanced Augmentations और Bounding Box Augmentations **premium** features हैं।

हमारी plans और उनसे संबंधित features की नवीनतम जानकारी के लिए, हमारी [pricing page](https://roboflow.com/pricing).
{% endhint %}

<table><thead><tr><th></th><th data-type="checkbox">Image Level Augmentation</th><th data-type="checkbox">Bounding Box Augmentation</th><th>Augmentation Type<select><option value="Z8F06MhppTfn" label="Enhanced" color="blue"></option><option value="sdEDfdaf9Z03" label="Basic" color="blue"></option></select></th></tr></thead><tbody><tr><td><a href="/pages/3207bbe93de0f975d768c0f509a4ee5c3f790366">Flip Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/1b048c70c34ed3a1b2816517ea4850fc5f42940a">90ª Rotate Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/393fd1a722e8dae5e26e8f806f011702a3dcb3b2">Crop Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/932dec24a40669b0073afd2fc0eeeb874fef5e24">Rotation Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/43f9940b676f77389d8078317ee9d8357c05859e">Shear Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/bf10b8842abd327d9df04b90f036ed424a14df48">Grayscale Augmentation</a></td><td>true</td><td>false</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/8dc64fcde3ccabb7677b279d00e94ce18dbe8074">Hue Augmentation</a></td><td>true</td><td>false</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/79c4d2c31c7c62624017d1eed647b24458a94fdb">Saturation Augmentation</a></td><td>true</td><td>false</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/41f5748745a270659c3f596ead3352811880fa7b">Brightness Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/d2fa63853252443c6ee91b29c4906f6179df5de5">Exposure Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/b9012751155584e59ab9f61dbbdea0101001baa1">Blur Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/14d2eecdff7bf700b5a1096a28a07b3bb7c9658a">Noise Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/ec6be023b572603651f0f843118c515826b503ba">Camera Gain Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/e6eb5bfc8e5880940bd59ee7cdea94c011ac07f9">Motion Blur Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/8695e010181e3c314bd9382557d2c686d86ce8c1">Cutout Augmentation</a></td><td>true</td><td>false</td><td><span data-option="Z8F06MhppTfn">Enhanced</span></td></tr><tr><td><a href="/pages/77bb45c1d502d005b0986ee02b5722b9960307f8">Mosaic Augmentation</a></td><td>true</td><td>false</td><td><span data-option="Z8F06MhppTfn">Enhanced</span></td></tr></tbody></table>

## Learn More

* [Data Augmentation के लिए Ultimate Guide](https://blog.roboflow.com/data-augmentation/)
* [Object Detection के लिए Images को कैसे Augment करें](https://blog.roboflow.com/object-detection-augmentation/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roboflow.com/roboflow/roboflow-hi/datasets/dataset-versions/image-augmentation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
