Simulate an Underwater Imaging System and Explore Water Absorption and Scattering Estimation Methods

From Psych 221 Image Systems Engineering
Jump to navigation Jump to search

Introduction

Motivation

There is a growing demand for high-speed wireless underwater data transmission. Optical communication provides one method for achieving this, given its inherently large bandwidth, relatively low attenuation, and ability to form secure point-to-point connections. However, underwater wireless optical communication (UWOC) is impacted significantly by distortions due to optical turbulence, caused by small changes in the refractive index of the water due to different medium conditions.

What has been done in the past

In the past, researchers have superimposed Laguerre-Gaussian (LG) beams to create an alphabet of spatially multiplexed symbols that can be encoded with information and decoded at the receiver by a Convolutional Neural Network (CNN). LG beams can be superimposed due to their orthogonality due to the fact they carry orbital angular momentum (OAM), and they have been shown to have inherent resilience to optical turbulence. Through signal processing and machine learning methods, researchers can reduce a certain amount of impact of oceanic optical turbulence on the received signal. However, the challenges in the oceanic environment motivate investigation into understanding the water medium better to further improve optical communication.

Goal

The goal of this project is to develop experimental designs aimed at characterizing a participating medium using camera captures. The absorption and scattering properties are fundamental characteristics of a participating medium such as water. Since measuring these two properties of real water or other media is difficult, In this project, we use camera simulations and virtual 3D environment techniques to test these parameters in order to create accurate models that faithfully model light interactions with such a medium, understand how they impact a medium, and hence simulate the appearance of an image captured by an underwater camera.

Background

Absorption

The absorption of light is the process by which water (or other medium) molecules absorb certain wavelengths of electromagnetic radiation, particularly light. This process takes place due to certain energy levels of light interacting with specific molecular structures of water molecules. The absorption of light by water is wavelength-dependent, and different light wavelengths can be absorbed differently. The absorption property of the medium is crucial to understanding underwater imaging and optics because it directly affects how light behaves through a media and the appearance of images captured by cameras.

Fig. 1: Visible light absorption spectrum of pure water (absorption coefficient vs. wavelength).


Scattering

The scattering of light is the process where light interacts with particles, molecules, or impurities in water (or other media), which causes it to deviate from its original path. When lights are scattered, the phenomenon affects the optical properties of water, light transmission underwater, and the appearance of images captured by cameras.

Fig. 2: Visible light scattering example in water.


Optimization

Constant integration time

I am not sure what background knowledge should be mentioned in this section, add anything you think that's needed.

Methods

Experimental Setup

The experimental setup in our simulation of underwater images is shown below in Fig. 3. We have a camera that is facing the direction of the image. There are some mediums between them, such as water, fog, or plankton. When lights transfer through the medium and are captured by the camera, the light absorption and scattering of the medium take place, which causes the image captured by the camera to be distorted. In the figure, green lights (green arrows) indicate the water scattering scenario, and the black light (black arrow) indicates the water absorption scenario.

Fig. 3: The simulation experimental setup between camera, medium, and image.


MATLAB Simulation Tools

In this project, we have used three MATLAB simulation tools:

  • iset3d toolbox We used iset3d toolbox in MATLAB to create simple 3D scenes.
  • PBRT We Ran PBRT in MATLAB to produce physically accurate images by physically based and ray tracing through scenes.
  • isetcam toolbox We explored isetcam to provide accurate camera simulation and modeling.

We ran these simulations through remote rendering on Stanford mux through Dr. David's computer.

Fig. 4: The output scene from MATLAB toolboxes. Example 1.
Fig. 5: The output scene from MATLAB toolboxes. Example 2.


Image Formation Model

After simulating, we can use the captured image to get the characters of the medium. First, we need to generate an image formation model. In general, the image formation in air and across short distances can be described with a simple linear model that integrate over wavelength λ: m=gλI(λ)r(λ)c(λ)dλ where m refers to the pixel value of the estimated image, I0 is illuminant, r is the scene reflectance, c is the spectral response of camera, g is the gain related to camera settings. However, we need to modify the equation as our model would be affected by the medium.

The light rays received by the camera consists two type of rays. The direct rays is the one originated from the light source, go through the media, then after getting reflected from the target image travel through the medium back and reaches the camera. The scattered rays get reflected towards the camera directly by the medium and do not interact with the target image.

For direct rays, light decays exponentially in the medium according to Beer-Lambert’s law. After the rays traveling distance d in the medium with spectral absorption coefficient α, the light intensity is: Id,i=I0,iedαi where I0,i is the original light intensity, subscript i refers to the ith waveband. From the equation, we extract the transition form T when light travel through the medium: T=edα Therefore, the image formation model for direct rays is: mdirect=gλI0(λ)T(λ)r(λ)T(λ)c(λ)dλ

For scattered rays, it's very complex because it involves complicate interaction with the medium. Therefore, we simplify it, combining all the effect and representing it as a single variable Pscatter. Then the model for scattered rays is: mscatter=gλI0(λ)Pscatter(λ)c(λ)dλ

We add the effect of two types of rays to generate the whole image formation model: m=g(λI0(λ)T(λ)r(λ)T(λ)c(λ)dλ+λI0(λ)Pscatter(λ)c(λ)dλ) For computational convenience, we discretize the continuous integration into N wavebands with wavelength discretization step Δλ: mgΔλ(i=1NI0,ie2dαirici+i=1NI0,ipici) and use the vectorization version in coding: m=gΔλrTDiag(I0)Diag(e2dα)c+I0TDiag(p)c

If the value of I0,c,r,g is given, this equation becomes an affine function of Pscatter and a convex, non-increasing function of α. This character can help us solve the problem.

Algorithm

Our task is to find absorption α and scatter Pscatter using pixel values captured by the camera in the simulation process.

Results

Accuracy

Inadequacies

Conclusions

References

  • Blasinski, Henryk, et al. “A model for estimating spectral properties of water from RGB images.” 2014 IEEE International Conference on Image Processing (ICIP), 2014, https://doi.org/10.1109/icip.2014.7025122.

Appendix I

我觉得我们可以学他的appendix I的写法

但我不确定你们想放哪些 我觉得我们可以放t_mediumExample221.m,mediumCreate.m,和algrism file的内容

Appendix II

Tianyun Zhao: Scheduled meetings with Henryk, communicated with the mentor and instructors, worked in person on the lab computer, worked on the MATLAB simulation parts, collected pixel data with simulation outputs, tested if our algorithm data was valid, and re-collected pixel data with algorithm outputs.

Cecilia Xie: Scheduled meetings with David, worked remotely on the lab computer, worked on MATLAB simulations, collected pixel data with simulation output figures, tested if our algorithm data was valid, and re-collected pixel data with algorithm output, compared the captured and modeled output figures and evaluated results.

Shiqi Xia: Communicated with the mentor and instructors, understood and generated the model, built the algorithm, coded based on the model and algorithm, ran and got the estimated character of medium using the simulation outputs, evaluated the results and gave possible solutions for future work.