{
  "id": 242760,
  "title": "Data Augmentation Techniques",
  "url": "/competitions/siim-covid19-detection/discussion/242760",
  "author_name": "Vyom Pathak",
  "post_date": "2021-05-30T15:20:29.832000",
  "votes": 42,
  "comment_count": 19,
  "views": 0,
  "content": "<p>Data augmentation is one of the keys to creating a generalized object detection model. Following are a few of those augmentation techniques: </p>\n<p><strong>Simple Techniques:</strong></p>\n<ul>\n<li>Random SunFlare</li>\n<li>Random Fog</li>\n<li>Random Brightness/Contrast or Both</li>\n<li>Random Crop</li>\n<li>Random Gamma</li>\n<li>RGBShift</li>\n<li>HorizontalFlip/VerticalFlip</li>\n<li>Random Contrast</li>\n<li>Blur and its varients</li>\n<li>Affine</li>\n<li>Channel Dropout</li>\n<li>Inverting Image </li>\n<li>Noise and its varients</li>\n<li>Many more…</li>\n</ul>\n<p><a href=\"https://www.kaggle.com/boltcoder/siim-covid19-simple-data-augmentation-techniques\" target=\"_blank\">Notebook on Simple Augmentation Techniques</a></p>\n<p><a href=\"https://github.com/albumentations-team/albumentations\" target=\"_blank\">Albumentation</a> is an agglomeration of the above-mentioned, and may more simple data augmentation techniques. Check out its <a href=\"https://albumentations-demo.herokuapp.com/\" target=\"_blank\">demo website</a> to see the results of different augmentation techniques…!</p>\n<p><strong>Complex Techniques:</strong></p>\n<ul>\n<li>Random Erase (We replace regions of the image with random values or the mean pixel value of the training set.)</li>\n<li>Cut Out Augmentation (Square regions of the images are masked during the training phase.)</li>\n<li>Cut Mix Augmentation (Patches are cut and pasted among training images where the ground truth labels are also mixed proportionally to the area of the patches.)</li>\n<li>Mixup Augmentation (Convex overlaying of image pairs and their labels.)</li>\n<li>Mosaic Augmentation (We combine n (most cases n=4) training images into one in certain ratios.) <a href=\"https://youtu.be/V6uj-eGmE7g\" target=\"_blank\">Good Video Explanation</a> </li>\n<li>Copy Paste Augmentation (Copy and paste small objects at random locations in the image to increase the number of samples with small sizes.)</li>\n<li>Hide and Seek (Divide the image into a grid of NxN patches. Hide each patch with some probability [P_hide(X)].)</li>\n<li>Grid Masking (Regions of the image are hidden in a grid-like fashion. This forces our model to learn parts of what makes up an individual object.)</li>\n</ul>\n<p>Some related papers: </p>\n<ul>\n<li><a href=\"https://journalofbigdata.springeropen.com/track/pdf/10.1186/s40537-019-0197-0.pdf\" target=\"_blank\">A survey on Image Data Augmentation for Deep Learning</a></li>\n<li><a href=\"https://arxiv.org/abs/1906.11172\" target=\"_blank\">Learning Data Augmentation Strategies for Object Detection (Autoaugment)</a></li>\n<li><a href=\"https://arxiv.org/abs/1708.04896\" target=\"_blank\">Random Erasing Data Augmentation</a></li>\n<li><a href=\"https://arxiv.org/abs/1708.04552\" target=\"_blank\">Improved Regularization of Convolutional Neural Networks with Cutout</a></li>\n<li><a href=\"https://arxiv.org/abs/1905.04899\" target=\"_blank\">CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features</a></li>\n<li><a href=\"https://arxiv.org/abs/1710.09412\" target=\"_blank\">mixup: Beyond Empirical Risk Minimization</a></li>\n<li><a href=\"https://arxiv.org/abs/2004.10934\" target=\"_blank\">Mosaic Augmentation used in YOLOv4</a></li>\n<li><a href=\"https://arxiv.org/abs/2012.07177v1\" target=\"_blank\">Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation</a></li>\n<li><a href=\"https://arxiv.org/abs/1902.07296\" target=\"_blank\">Augmentation for small object detection</a></li>\n<li><a href=\"https://arxiv.org/abs/2001.04086\" target=\"_blank\">GridMask Data Augmentation</a></li>\n<li><a href=\"https://arxiv.org/abs/1811.02545\" target=\"_blank\">Hide-and-Seek: A Data Augmentation Technique for Weakly-Supervised Localization and Beyond</a></li>\n</ul>\n<p>Please feel free to add any other complex techniques that I might have missed. Also, not all the techniques would be applicable in this scenario, one has to combine &amp; check different types of techniques to test their effects on a particular system.</p>\n<p>Thank You! </p>",
  "messages": [
    {
      "id": 1328834,
      "postDate": "2021-05-30T15:20:29.833Z",
      "content": "<p>Data augmentation is one of the keys to creating a generalized object detection model. Following are a few of those augmentation techniques: </p>\n<p><strong>Simple Techniques:</strong></p>\n<ul>\n<li>Random SunFlare</li>\n<li>Random Fog</li>\n<li>Random Brightness/Contrast or Both</li>\n<li>Random Crop</li>\n<li>Random Gamma</li>\n<li>RGBShift</li>\n<li>HorizontalFlip/VerticalFlip</li>\n<li>Random Contrast</li>\n<li>Blur and its varients</li>\n<li>Affine</li>\n<li>Channel Dropout</li>\n<li>Inverting Image </li>\n<li>Noise and its varients</li>\n<li>Many more…</li>\n</ul>\n<p><a href=\"https://www.kaggle.com/boltcoder/siim-covid19-simple-data-augmentation-techniques\" target=\"_blank\">Notebook on Simple Augmentation Techniques</a></p>\n<p><a href=\"https://github.com/albumentations-team/albumentations\" target=\"_blank\">Albumentation</a> is an agglomeration of the above-mentioned, and may more simple data augmentation techniques. Check out its <a href=\"https://albumentations-demo.herokuapp.com/\" target=\"_blank\">demo website</a> to see the results of different augmentation techniques…!</p>\n<p><strong>Complex Techniques:</strong></p>\n<ul>\n<li>Random Erase (We replace regions of the image with random values or the mean pixel value of the training set.)</li>\n<li>Cut Out Augmentation (Square regions of the images are masked during the training phase.)</li>\n<li>Cut Mix Augmentation (Patches are cut and pasted among training images where the ground truth labels are also mixed proportionally to the area of the patches.)</li>\n<li>Mixup Augmentation (Convex overlaying of image pairs and their labels.)</li>\n<li>Mosaic Augmentation (We combine n (most cases n=4) training images into one in certain ratios.) <a href=\"https://youtu.be/V6uj-eGmE7g\" target=\"_blank\">Good Video Explanation</a> </li>\n<li>Copy Paste Augmentation (Copy and paste small objects at random locations in the image to increase the number of samples with small sizes.)</li>\n<li>Hide and Seek (Divide the image into a grid of NxN patches. Hide each patch with some probability [P_hide(X)].)</li>\n<li>Grid Masking (Regions of the image are hidden in a grid-like fashion. This forces our model to learn parts of what makes up an individual object.)</li>\n</ul>\n<p>Some related papers: </p>\n<ul>\n<li><a href=\"https://journalofbigdata.springeropen.com/track/pdf/10.1186/s40537-019-0197-0.pdf\" target=\"_blank\">A survey on Image Data Augmentation for Deep Learning</a></li>\n<li><a href=\"https://arxiv.org/abs/1906.11172\" target=\"_blank\">Learning Data Augmentation Strategies for Object Detection (Autoaugment)</a></li>\n<li><a href=\"https://arxiv.org/abs/1708.04896\" target=\"_blank\">Random Erasing Data Augmentation</a></li>\n<li><a href=\"https://arxiv.org/abs/1708.04552\" target=\"_blank\">Improved Regularization of Convolutional Neural Networks with Cutout</a></li>\n<li><a href=\"https://arxiv.org/abs/1905.04899\" target=\"_blank\">CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features</a></li>\n<li><a href=\"https://arxiv.org/abs/1710.09412\" target=\"_blank\">mixup: Beyond Empirical Risk Minimization</a></li>\n<li><a href=\"https://arxiv.org/abs/2004.10934\" target=\"_blank\">Mosaic Augmentation used in YOLOv4</a></li>\n<li><a href=\"https://arxiv.org/abs/2012.07177v1\" target=\"_blank\">Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation</a></li>\n<li><a href=\"https://arxiv.org/abs/1902.07296\" target=\"_blank\">Augmentation for small object detection</a></li>\n<li><a href=\"https://arxiv.org/abs/2001.04086\" target=\"_blank\">GridMask Data Augmentation</a></li>\n<li><a href=\"https://arxiv.org/abs/1811.02545\" target=\"_blank\">Hide-and-Seek: A Data Augmentation Technique for Weakly-Supervised Localization and Beyond</a></li>\n</ul>\n<p>Please feel free to add any other complex techniques that I might have missed. Also, not all the techniques would be applicable in this scenario, one has to combine &amp; check different types of techniques to test their effects on a particular system.</p>\n<p>Thank You! </p>",
      "rawMarkdown": "Data augmentation is one of the keys to creating a generalized object detection model. Following are a few of those augmentation techniques: \n\n**Simple Techniques:**\n- Random SunFlare\n- Random Fog\n- Random Brightness/Contrast or Both\n- Random Crop\n- Random Gamma\n- RGBShift\n- HorizontalFlip/VerticalFlip\n- Random Contrast\n- Blur and its varients\n- Affine\n- Channel Dropout\n- Inverting Image \n- Noise and its varients\n- Many more...\n\n[Notebook on Simple Augmentation Techniques](https://www.kaggle.com/boltcoder/siim-covid19-simple-data-augmentation-techniques)\n\n[Albumentation](https://github.com/albumentations-team/albumentations) is an agglomeration of the above-mentioned, and may more simple data augmentation techniques. Check out its [demo website](https://albumentations-demo.herokuapp.com/) to see the results of different augmentation techniques...!\n\n**Complex Techniques:**\n- Random Erase (We replace regions of the image with random values or the mean pixel value of the training set.)\n- Cut Out Augmentation (Square regions of the images are masked during the training phase.)\n- Cut Mix Augmentation (Patches are cut and pasted among training images where the ground truth labels are also mixed proportionally to the area of the patches.)\n- Mixup Augmentation (Convex overlaying of image pairs and their labels.)\n- Mosaic Augmentation (We combine n (most cases n=4) training images into one in certain ratios.) [Good Video Explanation](https://youtu.be/V6uj-eGmE7g) \n- Copy Paste Augmentation (Copy and paste small objects at random locations in the image to increase the number of samples with small sizes.)\n- Hide and Seek (Divide the image into a grid of NxN patches. Hide each patch with some probability [P_hide(X)].)\n- Grid Masking (Regions of the image are hidden in a grid-like fashion. This forces our model to learn parts of what makes up an individual object.)\n\nSome related papers: \n- [A survey on Image Data Augmentation for Deep Learning](https://journalofbigdata.springeropen.com/track/pdf/10.1186/s40537-019-0197-0.pdf)\n- [Learning Data Augmentation Strategies for Object Detection (Autoaugment)](https://arxiv.org/abs/1906.11172)\n- [Random Erasing Data Augmentation](https://arxiv.org/abs/1708.04896)\n- [Improved Regularization of Convolutional Neural Networks with Cutout](https://arxiv.org/abs/1708.04552)\n- [CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features](https://arxiv.org/abs/1905.04899)\n- [mixup: Beyond Empirical Risk Minimization](https://arxiv.org/abs/1710.09412)\n- [Mosaic Augmentation used in YOLOv4](https://arxiv.org/abs/2004.10934)\n- [Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation](https://arxiv.org/abs/2012.07177v1)\n- [Augmentation for small object detection](https://arxiv.org/abs/1902.07296)\n- [GridMask Data Augmentation](https://arxiv.org/abs/2001.04086)\n- [Hide-and-Seek: A Data Augmentation Technique for Weakly-Supervised Localization and Beyond](https://arxiv.org/abs/1811.02545)\n\nPlease feel free to add any other complex techniques that I might have missed. Also, not all the techniques would be applicable in this scenario, one has to combine & check different types of techniques to test their effects on a particular system.\n\nThank You! ",
      "votes": 42
    },
    {
      "id": 1331584,
      "postDate": "2021-06-01T15:04:00.870Z",
      "content": "<p>Thanks for an informative post, <a href=\"https://www.kaggle.com/boltcoder\" target=\"_blank\">@boltcoder</a>. This will be seriously important in this competition due to an amount of data. </p>",
      "rawMarkdown": "Thanks for an informative post, @boltcoder. This will be seriously important in this competition due to an amount of data. ",
      "votes": 1,
      "replies": [
        {
          "id": 1333402,
          "postDate": "2021-06-02T17:33:34.703Z",
          "content": "<p>Glad to help!!</p>",
          "rawMarkdown": "Glad to help!!"
        }
      ]
    },
    {
      "id": 1330560,
      "postDate": "2021-06-01T00:44:25.383Z",
      "content": "<p>Thanks <a href=\"https://www.kaggle.com/boltcoder\" target=\"_blank\">@boltcoder</a>! Appreciate the post and especially the list of research papers - looks like I have some reading to do! </p>",
      "rawMarkdown": "Thanks @boltcoder! Appreciate the post and especially the list of research papers - looks like I have some reading to do! ",
      "votes": 1,
      "replies": [
        {
          "id": 1333403,
          "postDate": "2021-06-02T17:33:36.973Z",
          "content": "<p>Glad to help!!</p>",
          "rawMarkdown": "Glad to help!!"
        }
      ]
    },
    {
      "id": 1335198,
      "postDate": "2021-06-04T04:45:29.843Z",
      "content": "<p>Albumentation v1.0.0 was recently released. There are changes to augmentation.</p>\n<ul>\n<li>Deprecated augmentation <code>ToTensor</code> that converts NumPy arrays to PyTorch tensors is completely removed from Albumentations. You will get a RuntimeError exception if you try to use it. Please switch to <code>ToTensorV2</code> in your pipelines.</li>\n<li><code>IAAAffine</code> is old deprecated augmentation. Instead <code>Affine</code> was added.</li>\n</ul>\n<p>Please see the link below for details on the update.</p>\n<p><a href=\"https://github.com/albumentations-team/albumentations/releases/tag/1.0.0?fbclid=IwAR2aV4-YZRXUz-ThxoniK4Z7-9cPzQksoB_gdzpzpZW2MRD_kWR9S_zLss4\" target=\"_blank\">https://github.com/albumentations-team/albumentations/releases/tag/1.0.0?fbclid=IwAR2aV4-YZRXUz-ThxoniK4Z7-9cPzQksoB_gdzpzpZW2MRD_kWR9S_zLss4</a></p>\n<p>Thank you! </p>",
      "rawMarkdown": "Albumentation v1.0.0 was recently released. There are changes to augmentation.\n\n- Deprecated augmentation `ToTensor` that converts NumPy arrays to PyTorch tensors is completely removed from Albumentations. You will get a RuntimeError exception if you try to use it. Please switch to `ToTensorV2` in your pipelines.\n- `IAAAffine` is old deprecated augmentation. Instead `Affine` was added.\n\nPlease see the link below for details on the update.\n\nhttps://github.com/albumentations-team/albumentations/releases/tag/1.0.0?fbclid=IwAR2aV4-YZRXUz-ThxoniK4Z7-9cPzQksoB_gdzpzpZW2MRD_kWR9S_zLss4\n\nThank you! ",
      "votes": 2,
      "replies": [
        {
          "id": 1335398,
          "postDate": "2021-06-04T07:30:24.027Z",
          "content": "<p>Thank you for pointing this out !!</p>",
          "rawMarkdown": "Thank you for pointing this out !!"
        }
      ]
    },
    {
      "id": 1772291,
      "postDate": "2022-04-30T05:26:18.183Z",
      "content": "<p>Helpful work! ```</p>",
      "rawMarkdown": "Helpful work! ```"
    },
    {
      "id": 1353502,
      "postDate": "2021-06-17T06:27:29.057Z",
      "content": "<p>great summary! 👍</p>",
      "rawMarkdown": "great summary! 👍",
      "replies": [
        {
          "id": 1355494,
          "postDate": "2021-06-18T10:05:40.940Z",
          "content": "<p>Thank you!!😁</p>",
          "rawMarkdown": "Thank you!!😁"
        }
      ]
    },
    {
      "id": 1341905,
      "postDate": "2021-06-09T04:43:40.540Z",
      "content": "<p>Well Explained 👍</p>",
      "rawMarkdown": "Well Explained 👍",
      "replies": [
        {
          "id": 1342110,
          "postDate": "2021-06-09T07:29:40.967Z",
          "content": "<p>Thank you!!</p>",
          "rawMarkdown": "Thank you!!"
        }
      ]
    },
    {
      "id": 1336419,
      "postDate": "2021-06-04T22:06:27.037Z",
      "content": "<p>This is a good TODO checklist! Thanx!</p>",
      "rawMarkdown": "This is a good TODO checklist! Thanx!",
      "replies": [
        {
          "id": 1336613,
          "postDate": "2021-06-05T05:03:56.167Z",
          "content": "<p>Glad to help !!</p>",
          "rawMarkdown": "Glad to help !!"
        }
      ]
    },
    {
      "id": 1334569,
      "postDate": "2021-06-03T15:47:07.960Z",
      "content": "<p>Good information<br>\nThank you!</p>",
      "rawMarkdown": "Good information\nThank you!",
      "replies": [
        {
          "id": 1334620,
          "postDate": "2021-06-03T16:19:20.577Z",
          "content": "<p>You're welcome!!</p>",
          "rawMarkdown": "You're welcome!!"
        }
      ]
    },
    {
      "id": 1330107,
      "postDate": "2021-05-31T15:34:29.277Z",
      "content": "<p>woah! thanks for the information man!</p>",
      "rawMarkdown": "woah! thanks for the information man!",
      "replies": [
        {
          "id": 1330408,
          "postDate": "2021-05-31T19:00:23.317Z",
          "content": "<p>Glad to help!!</p>",
          "rawMarkdown": "Glad to help!!",
          "votes": 1
        }
      ]
    },
    {
      "id": 1340286,
      "postDate": "2021-06-07T18:32:38.213Z",
      "rawMarkdown": "",
      "isDeleted": true,
      "replies": [
        {
          "id": 1340747,
          "postDate": "2021-06-08T08:31:49.880Z",
          "rawMarkdown": "",
          "isDeleted": true
        }
      ]
    }
  ],
  "comments": [
    {
      "id": 1331584,
      "author_name": "lr",
      "author_url": "",
      "post_date": "2021-06-01T15:04:00.870000",
      "content": "<p>Thanks for an informative post, <a href=\"https://www.kaggle.com/boltcoder\" target=\"_blank\">@boltcoder</a>. This will be seriously important in this competition due to an amount of data. </p>",
      "votes": 1,
      "replies": [
        {
          "id": 1333402,
          "author_name": "Vyom Pathak",
          "author_url": "",
          "post_date": "2021-06-02T17:33:34.703000",
          "content": "<p>Glad to help!!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1330560,
      "author_name": "T.J. Kyner",
      "author_url": "",
      "post_date": "2021-06-01T00:44:25.383000",
      "content": "<p>Thanks <a href=\"https://www.kaggle.com/boltcoder\" target=\"_blank\">@boltcoder</a>! Appreciate the post and especially the list of research papers - looks like I have some reading to do! </p>",
      "votes": 1,
      "replies": [
        {
          "id": 1333403,
          "author_name": "Vyom Pathak",
          "author_url": "",
          "post_date": "2021-06-02T17:33:36.973000",
          "content": "<p>Glad to help!!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1335198,
      "author_name": "Heroseo",
      "author_url": "",
      "post_date": "2021-06-04T04:45:29.843000",
      "content": "<p>Albumentation v1.0.0 was recently released. There are changes to augmentation.</p>\n<ul>\n<li>Deprecated augmentation <code>ToTensor</code> that converts NumPy arrays to PyTorch tensors is completely removed from Albumentations. You will get a RuntimeError exception if you try to use it. Please switch to <code>ToTensorV2</code> in your pipelines.</li>\n<li><code>IAAAffine</code> is old deprecated augmentation. Instead <code>Affine</code> was added.</li>\n</ul>\n<p>Please see the link below for details on the update.</p>\n<p><a href=\"https://github.com/albumentations-team/albumentations/releases/tag/1.0.0?fbclid=IwAR2aV4-YZRXUz-ThxoniK4Z7-9cPzQksoB_gdzpzpZW2MRD_kWR9S_zLss4\" target=\"_blank\">https://github.com/albumentations-team/albumentations/releases/tag/1.0.0?fbclid=IwAR2aV4-YZRXUz-ThxoniK4Z7-9cPzQksoB_gdzpzpZW2MRD_kWR9S_zLss4</a></p>\n<p>Thank you! </p>",
      "votes": 2,
      "replies": [
        {
          "id": 1335398,
          "author_name": "Vyom Pathak",
          "author_url": "",
          "post_date": "2021-06-04T07:30:24.027000",
          "content": "<p>Thank you for pointing this out !!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1772291,
      "author_name": "yyyang",
      "author_url": "",
      "post_date": "2022-04-30T05:26:18.183000",
      "content": "<p>Helpful work! ```</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1353502,
      "author_name": "README",
      "author_url": "",
      "post_date": "2021-06-17T06:27:29.057000",
      "content": "<p>great summary! 👍</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1355494,
          "author_name": "Vyom Pathak",
          "author_url": "",
          "post_date": "2021-06-18T10:05:40.940000",
          "content": "<p>Thank you!!😁</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1341905,
      "author_name": "Masoud Ahmadzade Jahromi",
      "author_url": "",
      "post_date": "2021-06-09T04:43:40.540000",
      "content": "<p>Well Explained 👍</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1342110,
          "author_name": "Vyom Pathak",
          "author_url": "",
          "post_date": "2021-06-09T07:29:40.967000",
          "content": "<p>Thank you!!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1336419,
      "author_name": "Andrey Rysin",
      "author_url": "",
      "post_date": "2021-06-04T22:06:27.037000",
      "content": "<p>This is a good TODO checklist! Thanx!</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1336613,
          "author_name": "Vyom Pathak",
          "author_url": "",
          "post_date": "2021-06-05T05:03:56.167000",
          "content": "<p>Glad to help !!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1334569,
      "author_name": "Yasir Hussein Shakir",
      "author_url": "",
      "post_date": "2021-06-03T15:47:07.960000",
      "content": "<p>Good information<br>\nThank you!</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1334620,
          "author_name": "Vyom Pathak",
          "author_url": "",
          "post_date": "2021-06-03T16:19:20.577000",
          "content": "<p>You're welcome!!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1330107,
      "author_name": "Kushagra Singh",
      "author_url": "",
      "post_date": "2021-05-31T15:34:29.277000",
      "content": "<p>woah! thanks for the information man!</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1330408,
          "author_name": "Vyom Pathak",
          "author_url": "",
          "post_date": "2021-05-31T19:00:23.317000",
          "content": "<p>Glad to help!!</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1340286,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-06-07T18:32:38.213000",
      "content": "",
      "votes": 0,
      "replies": [
        {
          "id": 1340747,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-06-08T08:31:49.880000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1328834": "Data augmentation is one of the keys to creating a generalized object detection model. Following are a few of those augmentation techniques: \n\n**Simple Techniques:**\n- Random SunFlare\n- Random Fog\n- Random Brightness/Contrast or Both\n- Random Crop\n- Random Gamma\n- RGBShift\n- HorizontalFlip/VerticalFlip\n- Random Contrast\n- Blur and its varients\n- Affine\n- Channel Dropout\n- Inverting Image \n- Noise and its varients\n- Many more...\n\n[Notebook on Simple Augmentation Techniques](https://www.kaggle.com/boltcoder/siim-covid19-simple-data-augmentation-techniques)\n\n[Albumentation](https://github.com/albumentations-team/albumentations) is an agglomeration of the above-mentioned, and may more simple data augmentation techniques. Check out its [demo website](https://albumentations-demo.herokuapp.com/) to see the results of different augmentation techniques...!\n\n**Complex Techniques:**\n- Random Erase (We replace regions of the image with random values or the mean pixel value of the training set.)\n- Cut Out Augmentation (Square regions of the images are masked during the training phase.)\n- Cut Mix Augmentation (Patches are cut and pasted among training images where the ground truth labels are also mixed proportionally to the area of the patches.)\n- Mixup Augmentation (Convex overlaying of image pairs and their labels.)\n- Mosaic Augmentation (We combine n (most cases n=4) training images into one in certain ratios.) [Good Video Explanation](https://youtu.be/V6uj-eGmE7g) \n- Copy Paste Augmentation (Copy and paste small objects at random locations in the image to increase the number of samples with small sizes.)\n- Hide and Seek (Divide the image into a grid of NxN patches. Hide each patch with some probability [P_hide(X)].)\n- Grid Masking (Regions of the image are hidden in a grid-like fashion. This forces our model to learn parts of what makes up an individual object.)\n\nSome related papers: \n- [A survey on Image Data Augmentation for Deep Learning](https://journalofbigdata.springeropen.com/track/pdf/10.1186/s40537-019-0197-0.pdf)\n- [Learning Data Augmentation Strategies for Object Detection (Autoaugment)](https://arxiv.org/abs/1906.11172)\n- [Random Erasing Data Augmentation](https://arxiv.org/abs/1708.04896)\n- [Improved Regularization of Convolutional Neural Networks with Cutout](https://arxiv.org/abs/1708.04552)\n- [CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features](https://arxiv.org/abs/1905.04899)\n- [mixup: Beyond Empirical Risk Minimization](https://arxiv.org/abs/1710.09412)\n- [Mosaic Augmentation used in YOLOv4](https://arxiv.org/abs/2004.10934)\n- [Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation](https://arxiv.org/abs/2012.07177v1)\n- [Augmentation for small object detection](https://arxiv.org/abs/1902.07296)\n- [GridMask Data Augmentation](https://arxiv.org/abs/2001.04086)\n- [Hide-and-Seek: A Data Augmentation Technique for Weakly-Supervised Localization and Beyond](https://arxiv.org/abs/1811.02545)\n\nPlease feel free to add any other complex techniques that I might have missed. Also, not all the techniques would be applicable in this scenario, one has to combine & check different types of techniques to test their effects on a particular system.\n\nThank You! ",
    "1331584": "Thanks for an informative post, @boltcoder. This will be seriously important in this competition due to an amount of data. ",
    "1330560": "Thanks @boltcoder! Appreciate the post and especially the list of research papers - looks like I have some reading to do! ",
    "1335198": "Albumentation v1.0.0 was recently released. There are changes to augmentation.\n\n- Deprecated augmentation `ToTensor` that converts NumPy arrays to PyTorch tensors is completely removed from Albumentations. You will get a RuntimeError exception if you try to use it. Please switch to `ToTensorV2` in your pipelines.\n- `IAAAffine` is old deprecated augmentation. Instead `Affine` was added.\n\nPlease see the link below for details on the update.\n\nhttps://github.com/albumentations-team/albumentations/releases/tag/1.0.0?fbclid=IwAR2aV4-YZRXUz-ThxoniK4Z7-9cPzQksoB_gdzpzpZW2MRD_kWR9S_zLss4\n\nThank you! ",
    "1772291": "Helpful work! ```",
    "1353502": "great summary! 👍",
    "1341905": "Well Explained 👍",
    "1336419": "This is a good TODO checklist! Thanx!",
    "1334569": "Good information\nThank you!",
    "1330107": "woah! thanks for the information man!",
    "1340286": ""
  }
}