Is your feature request related to a problem? Please describe.
A suggestion to implement a sea-thru module for underwater photography
Describe the solution you'd like
Automatically remove the color cast and backscatter caused by the way light moves through a body of water, and being able to capture underwater landscapes as they would look to the human eye on dry land鈥攊n other words: if all the water were gone
Describe alternatives you've considered
N/A
Additional context
Article: https://www.scientificamerican.com/article/sea-thru-brings-clarity-to-underwater-photos1/
Research Paper: http://openaccess.thecvf.com/content_CVPR_2019/papers/Akkaynak_Sea-Thru_A_Method_for_Removing_Water_From_Underwater_Images_CVPR_2019_paper.pdf
Oh ! That wasn't long before someone requested it !! :)
I saw the research presentation video not later than yesterday !!
"One caveat is that the process requires distance information to work."
This seems more geared towards CV than single-camera photography. :-)
Or maybe just by adding the math formula to the Dehaze Module. We already have a distance slider :)
Or maybe just by adding the math formula to the Dehaze Module. We already have a distance slider :)
The paper doesn't compute the distance map with a guided filter (as dehaze module does), so the implementation will be more complicated than that.
Reading the paper in diagonal, it seems they need different pictures of the same scene at various angles and distances from object to compute that distance map. So, again, it's more complicated than just building a new module, you need to fetch data from a set of images with proper spatial coordinates in metadata, mix that into a mask, then unroll the image filter.
It's a research & development project here, not just turning equations into code over a saturday afternoon. Just to be clear.
Thank you for your insights @aurelienpierre. This looks hard to achieve indeed.
This issue did not get any activity in the past 30 days and will be automatically closed in 7 days if no update occurs. Please check if the master branch has fixed it since then.
I found a reimplementation with an enhancement that replaces the depth map estimation with monodepth2. I am currently trying to reproduce the results and improve on the datasets that were used to train the monodepth2 estimator. As soon as I have that, I will try to turn this into a reasonable python package, which could be integrated as a sea-thru module here. Any help with the module creation will be highly appreciated.