{
  "id": 291063,
  "title": " 8 Methods on Underwater Image Enhancement and Color Restoration, With Code",
  "url": "/competitions/tensorflow-great-barrier-reef/discussion/291063",
  "author_name": "",
  "post_date": "2021-11-27T15:48:52.227947800Z",
  "votes": 52,
  "comment_count": 3,
  "views": 0,
  "content": "<h3>Please visit this Discussion Topic, before we get started because this thread is mostly inspired by this thread,</h3>\n<h4><a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/290584\" target=\"_blank\"><strong>Fast underwater image enhancement for Improved Visual Perception [github+Paper]</strong></a></h4>\n<p><em>After seeing this Topic I was browsing through some Github repo, and I stumbled upon this repository, which talks about <strong><code>Underwater Image Enhancement and Color Restoration</code></strong>. Don't know how important <code>Color Restoration</code> would be [please let me know if you think color restoration is also important] but <code>Image Enhancement</code> is clearly required. The mentioned techniques are,</em></p>\n<h2><strong>Underwater Image Enhancement</strong></h2>\n<ul>\n<li><strong>CLAHE</strong>: Contrast limited adaptive histogram equalization (1994)</li>\n<li><strong>Fusion-Matlab</strong>: Enhancing underwater images and videos by fusion (2012)</li>\n<li><strong>GC</strong>: Gamma Correction</li>\n<li><strong>HE</strong>: Image enhancement by histogram transformation (2011)</li>\n<li><strong>ICM</strong>: Underwater Image Enhancement Using an Integrated Colour Model (2007)</li>\n<li><strong>UCM</strong>: Enhancing the low-quality images using Unsupervised Colour Correction Method (2010)</li>\n<li><strong>RayleighDistribution</strong>: Underwater image quality enhancement through composition of dual-intensity images and Rayleigh-stretching (2014)</li>\n<li><strong>RGHS</strong>: Shallow-Water Image Enhancement Using Relative Global Histogram Stretching Based on Adaptive Parameter Acquisition (2018)</li>\n</ul>\n<p>Here is the Repository Link -&gt; <a href=\"https://github.com/wangyanckxx/Single-Underwater-Image-Enhancement-and-Color-Restoration\" target=\"_blank\"><strong>Single Underwater Image Enhancement and Color Restoration</strong></a><br>\n<strong><em>The repository also has python implementation for each method [except Fusion-Matlab].</em></strong></p>\n<ul>\n<li>I have not tried all of them yet, but I started with a simple <strong><code>CLAHE</code></strong> and the result is looking like this, don't know this is good enough or not. <em><code>From the image, it seems like all the rocks, plants, and other underwater objects are on the ground and sunlight falling upon them, not inside a sea.</code></em></li>\n</ul>\n<p>\n<img src=\"https://i.imgur.com/ZvlbMoH.png\">\n</p>\n<ul>\n<li>this is a sample result from Histogram Equalizer,</li>\n</ul>\n<p>\n<img src=\"https://i.imgur.com/SYwHWhQ.png\">\n</p>\n<p>I will try to implement some of them and then Update the thread. <code>And please star the repo if you find the methods helpful.</code></p>",
  "messages": [
    {
      "id": "1597524",
      "postDate": "11/27/2021 15:48:52",
      "content": "<h3>Please visit this Discussion Topic, before we get started because this thread is mostly inspired by this thread,</h3>\n<h4><a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/290584\" target=\"_blank\"><strong>Fast underwater image enhancement for Improved Visual Perception [github+Paper]</strong></a></h4>\n<p><em>After seeing this Topic I was browsing through some Github repo, and I stumbled upon this repository, which talks about <strong><code>Underwater Image Enhancement and Color Restoration</code></strong>. Don't know how important <code>Color Restoration</code> would be [please let me know if you think color restoration is also important] but <code>Image Enhancement</code> is clearly required. The mentioned techniques are,</em></p>\n<h2><strong>Underwater Image Enhancement</strong></h2>\n<ul>\n<li><strong>CLAHE</strong>: Contrast limited adaptive histogram equalization (1994)</li>\n<li><strong>Fusion-Matlab</strong>: Enhancing underwater images and videos by fusion (2012)</li>\n<li><strong>GC</strong>: Gamma Correction</li>\n<li><strong>HE</strong>: Image enhancement by histogram transformation (2011)</li>\n<li><strong>ICM</strong>: Underwater Image Enhancement Using an Integrated Colour Model (2007)</li>\n<li><strong>UCM</strong>: Enhancing the low-quality images using Unsupervised Colour Correction Method (2010)</li>\n<li><strong>RayleighDistribution</strong>: Underwater image quality enhancement through composition of dual-intensity images and Rayleigh-stretching (2014)</li>\n<li><strong>RGHS</strong>: Shallow-Water Image Enhancement Using Relative Global Histogram Stretching Based on Adaptive Parameter Acquisition (2018)</li>\n</ul>\n<p>Here is the Repository Link -&gt; <a href=\"https://github.com/wangyanckxx/Single-Underwater-Image-Enhancement-and-Color-Restoration\" target=\"_blank\"><strong>Single Underwater Image Enhancement and Color Restoration</strong></a><br>\n<strong><em>The repository also has python implementation for each method [except Fusion-Matlab].</em></strong></p>\n<ul>\n<li>I have not tried all of them yet, but I started with a simple <strong><code>CLAHE</code></strong> and the result is looking like this, don't know this is good enough or not. <em><code>From the image, it seems like all the rocks, plants, and other underwater objects are on the ground and sunlight falling upon them, not inside a sea.</code></em></li>\n</ul>\n<p>\n<img src=\"https://i.imgur.com/ZvlbMoH.png\">\n</p>\n<ul>\n<li>this is a sample result from Histogram Equalizer,</li>\n</ul>\n<p>\n<img src=\"https://i.imgur.com/SYwHWhQ.png\">\n</p>\n<p>I will try to implement some of them and then Update the thread. <code>And please star the repo if you find the methods helpful.</code></p>",
      "rawMarkdown": "### Please visit this Discussion Topic, before we get started because this thread is mostly inspired by this thread,\n#### [**Fast underwater image enhancement for Improved Visual Perception [github+Paper]**](https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/290584)\n\n*After seeing this Topic I was browsing through some Github repo, and I stumbled upon this repository, which talks about **`Underwater Image Enhancement and Color Restoration`**. Don't know how important `Color Restoration` would be [please let me know if you think color restoration is also important] but `Image Enhancement` is clearly required. The mentioned techniques are,*\n\n## **Underwater Image Enhancement**\n- **CLAHE**: Contrast limited adaptive histogram equalization (1994)\n- **Fusion-Matlab**: Enhancing underwater images and videos by fusion (2012)\n- **GC**: Gamma Correction\n- **HE**: Image enhancement by histogram transformation (2011)\n- **ICM**: Underwater Image Enhancement Using an Integrated Colour Model (2007)\n- **UCM**: Enhancing the low-quality images using Unsupervised Colour Correction Method (2010)\n- **RayleighDistribution**: Underwater image quality enhancement through composition of dual-intensity images and Rayleigh-stretching (2014)\n- **RGHS**: Shallow-Water Image Enhancement Using Relative Global Histogram Stretching Based on Adaptive Parameter Acquisition (2018)\n\nHere is the Repository Link -> [**Single Underwater Image Enhancement and Color Restoration**](https://github.com/wangyanckxx/Single-Underwater-Image-Enhancement-and-Color-Restoration)\n***The repository also has python implementation for each method [except Fusion-Matlab].***\n\n-  I have not tried all of them yet, but I started with a simple **`CLAHE`** and the result is looking like this, don't know this is good enough or not. *`From the image, it seems like all the rocks, plants, and other underwater objects are on the ground and sunlight falling upon them, not inside a sea.`*\n\n<p align=\"center\">\n<img width=\"900\" src=\"https://i.imgur.com/ZvlbMoH.png\">\n</p>\n\n- this is a sample result from Histogram Equalizer,\n\n<p align=\"center\">\n<img width=\"900\" src=\"https://i.imgur.com/SYwHWhQ.png\">\n</p>\n\nI will try to implement some of them and then Update the thread. `And please star the repo if you find the methods helpful.`",
      "votes": null
    },
    {
      "id": "1597604",
      "postDate": "11/27/2021 17:30:47",
      "content": "<p>Great Resources Mate. I can see the results are indeed spectacular!</p>\n<p>Also I believe that StarFishes are mostly red in colour hence, RGB manipulations will become necessary at some point in the competition and you can try to just use the R channel for object detection more like a grayscale image too. (Just an Idea.)</p>",
      "rawMarkdown": "Great Resources Mate. I can see the results are indeed spectacular!\n\nAlso I believe that StarFishes are mostly red in colour hence, RGB manipulations will become necessary at some point in the competition and you can try to just use the R channel for object detection more like a grayscale image too. (Just an Idea.)",
      "votes": null
    },
    {
      "id": "1597645",
      "postDate": "11/27/2021 18:28:21",
      "content": "<p>Thanks, <a href=\"https://www.kaggle.com/farhanhaikhan\" target=\"_blank\">@farhanhaikhan</a>, I'm glad you find this topic resourceful. </p>\n\n<p>I will keep your advice in mind going forward. </p>",
      "rawMarkdown": "Thanks, @farhanhaikhan, I'm glad you find this topic resourceful. \n<!-- \nI looked up on the internet, it seems like the color of starfish [mostly at Australia's Great Barrier Reef] differs quite a bit,  they range in color from purplish-blue to reddish-gray to green, and looking at the dataset it seems like most of the images are greenish-blue.\n-->\nI will keep your advice in mind going forward.",
      "votes": null
    },
    {
      "id": "1604768",
      "postDate": "12/03/2021 17:18:27",
      "content": "<h3><strong><code>UPDATE</code></strong>:</h3>\n<h5>I have created a Notebook, base on these methods. Added some basic EDA in the NB too. check it out here,</h5>\n<h5>- <a href=\"https://www.kaggle.com/soumya9977/learning-to-sea-underwater-img-enhancement-eda\" target=\"_blank\"> <strong>Learning to Sea: Underwater img Enhancement + EDA</strong></a></h5>\n<h3><strong>Latest Results:</strong></h3>\n<p>\n<img src=\"https://i.imgur.com/pwBNYJr.png\">\n</p>\n<h3><strong>The latest improvements are done by <a href=\"https://www.kaggle.com/ipythonx\" target=\"_blank\">M.Innat</a> In this comment, So if people can check his work and appreciate his contribution then it would be very helpful,</strong></h3>\n<h3>- <a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/290584#1599835\" target=\"_blank\"><em>Fast underwater image enhancement for Improved Visual Perception [github+Paper]</em></a></h3>",
      "rawMarkdown": "### **`UPDATE`**:\n##### I have created a Notebook, base on these methods. Added some basic EDA in the NB too. check it out here,\n##### - [ **Learning to Sea: Underwater img Enhancement + EDA**](https://www.kaggle.com/soumya9977/learning-to-sea-underwater-img-enhancement-eda)\n\n### **Latest Results:**\n<p align=\"center\">\n<img width=\"900\" src=\"https://i.imgur.com/pwBNYJr.png\">\n</p>\n\n### **The latest improvements are done by [M.Innat](https://www.kaggle.com/ipythonx) In this comment, So if people can check his work and appreciate his contribution then it would be very helpful,**\n### - [*Fast underwater image enhancement for Improved Visual Perception [github+Paper]*](https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/290584#1599835)",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1597604,
      "author_name": "farhanhaikhan",
      "author_url": "",
      "post_date": "11/27/2021 17:30:47",
      "content": "<p>Great Resources Mate. I can see the results are indeed spectacular!</p>\n<p>Also I believe that StarFishes are mostly red in colour hence, RGB manipulations will become necessary at some point in the competition and you can try to just use the R channel for object detection more like a grayscale image too. (Just an Idea.)</p>",
      "votes": null,
      "replies": [
        {
          "id": 1597645,
          "author_name": "soumya9977",
          "author_url": "",
          "post_date": "11/27/2021 18:28:21",
          "content": "<p>Thanks, <a href=\"https://www.kaggle.com/farhanhaikhan\" target=\"_blank\">@farhanhaikhan</a>, I'm glad you find this topic resourceful. </p>\n\n<p>I will keep your advice in mind going forward. </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1604768,
      "author_name": "soumya9977",
      "author_url": "",
      "post_date": "12/03/2021 17:18:27",
      "content": "<h3><strong><code>UPDATE</code></strong>:</h3>\n<h5>I have created a Notebook, base on these methods. Added some basic EDA in the NB too. check it out here,</h5>\n<h5>- <a href=\"https://www.kaggle.com/soumya9977/learning-to-sea-underwater-img-enhancement-eda\" target=\"_blank\"> <strong>Learning to Sea: Underwater img Enhancement + EDA</strong></a></h5>\n<h3><strong>Latest Results:</strong></h3>\n<p>\n<img src=\"https://i.imgur.com/pwBNYJr.png\">\n</p>\n<h3><strong>The latest improvements are done by <a href=\"https://www.kaggle.com/ipythonx\" target=\"_blank\">M.Innat</a> In this comment, So if people can check his work and appreciate his contribution then it would be very helpful,</strong></h3>\n<h3>- <a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/290584#1599835\" target=\"_blank\"><em>Fast underwater image enhancement for Improved Visual Perception [github+Paper]</em></a></h3>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1597524": "### Please visit this Discussion Topic, before we get started because this thread is mostly inspired by this thread,\n#### [**Fast underwater image enhancement for Improved Visual Perception [github+Paper]**](https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/290584)\n\n*After seeing this Topic I was browsing through some Github repo, and I stumbled upon this repository, which talks about **`Underwater Image Enhancement and Color Restoration`**. Don't know how important `Color Restoration` would be [please let me know if you think color restoration is also important] but `Image Enhancement` is clearly required. The mentioned techniques are,*\n\n## **Underwater Image Enhancement**\n- **CLAHE**: Contrast limited adaptive histogram equalization (1994)\n- **Fusion-Matlab**: Enhancing underwater images and videos by fusion (2012)\n- **GC**: Gamma Correction\n- **HE**: Image enhancement by histogram transformation (2011)\n- **ICM**: Underwater Image Enhancement Using an Integrated Colour Model (2007)\n- **UCM**: Enhancing the low-quality images using Unsupervised Colour Correction Method (2010)\n- **RayleighDistribution**: Underwater image quality enhancement through composition of dual-intensity images and Rayleigh-stretching (2014)\n- **RGHS**: Shallow-Water Image Enhancement Using Relative Global Histogram Stretching Based on Adaptive Parameter Acquisition (2018)\n\nHere is the Repository Link -> [**Single Underwater Image Enhancement and Color Restoration**](https://github.com/wangyanckxx/Single-Underwater-Image-Enhancement-and-Color-Restoration)\n***The repository also has python implementation for each method [except Fusion-Matlab].***\n\n-  I have not tried all of them yet, but I started with a simple **`CLAHE`** and the result is looking like this, don't know this is good enough or not. *`From the image, it seems like all the rocks, plants, and other underwater objects are on the ground and sunlight falling upon them, not inside a sea.`*\n\n<p align=\"center\">\n<img width=\"900\" src=\"https://i.imgur.com/ZvlbMoH.png\">\n</p>\n\n- this is a sample result from Histogram Equalizer,\n\n<p align=\"center\">\n<img width=\"900\" src=\"https://i.imgur.com/SYwHWhQ.png\">\n</p>\n\nI will try to implement some of them and then Update the thread. `And please star the repo if you find the methods helpful.`",
    "1597604": "Great Resources Mate. I can see the results are indeed spectacular!\n\nAlso I believe that StarFishes are mostly red in colour hence, RGB manipulations will become necessary at some point in the competition and you can try to just use the R channel for object detection more like a grayscale image too. (Just an Idea.)",
    "1597645": "Thanks, @farhanhaikhan, I'm glad you find this topic resourceful. \n<!-- \nI looked up on the internet, it seems like the color of starfish [mostly at Australia's Great Barrier Reef] differs quite a bit,  they range in color from purplish-blue to reddish-gray to green, and looking at the dataset it seems like most of the images are greenish-blue.\n-->\nI will keep your advice in mind going forward.",
    "1604768": "### **`UPDATE`**:\n##### I have created a Notebook, base on these methods. Added some basic EDA in the NB too. check it out here,\n##### - [ **Learning to Sea: Underwater img Enhancement + EDA**](https://www.kaggle.com/soumya9977/learning-to-sea-underwater-img-enhancement-eda)\n\n### **Latest Results:**\n<p align=\"center\">\n<img width=\"900\" src=\"https://i.imgur.com/pwBNYJr.png\">\n</p>\n\n### **The latest improvements are done by [M.Innat](https://www.kaggle.com/ipythonx) In this comment, So if people can check his work and appreciate his contribution then it would be very helpful,**\n### - [*Fast underwater image enhancement for Improved Visual Perception [github+Paper]*](https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/290584#1599835)"
  },
  "source": "meta"
}