## 2 Related Work and the Proposed Algorithm
### The Proposed Algorithm
\begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline
**Ref.** & **[**6**]** & **[**5**]** & **[**2**]** & **[**13**]** & **[**42**]** & **[**43**]** & **Our algorithm** \\ \hline
3D capturing & uncalibrated & stereo camera & perspective stereo & Perspective camera + & CMOS & Omnidirectional & stereo \\ sensor & underwater & images & multi-beam sonar & image pairs & Laser pointers & camera+-laser & perspective camera + & images-structured \\  & & images & multi-beam sonar & devices & structured system & single laser pointer & images-structured \\  & use given & underwater & assume that & & & & & \\ calibration & calibration & checkerboard & cameras are & Homography on & checkerboard & manual distance & underwater \\  & information & corners detection & calibrated and & & & corners detection & reference & corners detection \\ Points of Interest & & & & & & & \\ detection & SURF detector & Harris corner & Sobel edge & & Median filter & Segmentation & Adaptive \\  & & detector & detector & & & & \\  & & & & & & & \\  & & & & & & & \\ Remove outliers & Epipolar geometry & Epipolar geometry & \(\star\) & \(\star\) & & Median filter & \\  & All stereo & All stereo & All stereo & & & & \\  & corresponding & corresponding & All edge points & & & Laser clouds & Laser position in & Laser clouds gravity \\  & SURF points & Harris points & & & Sum of laser clouds & center calculation & axis center & centers calculation \\  & Euclidean distance & Lucas-Kanade & Sum Absolute & Grid Mapping & Epipolar geometry & & \\ Matching & between features & Track & Difference & Heuristic & & & \\  & vectors & (pipolar lines) & & & & & \\  & Triangulation & & Triangulation & & Triangulation & using reference & Omnidirectional \\
3D reconstruction & (calibration & (midpoint method) & (epipolar & Triangulation & using off-line & measurement & projection using \\  & informations) & & & & & depth model & system geometry \\  & underwater & & & & & & underwater \\  & & calibration & & & & & \\  & & parameters & & & & \\  & & & & & & & \\ Software & & & & & & \\ implementation & ✓ & ✓ & \(\star\) & \(\star\) & ✓ & \(\star\) \\ Hardware & & & & & & \\ implementation & \(\star\) & \(\star\) & FPGA & \(\star\) & FPGA & \(\star\) & FPGA \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Taxonomy of 3D reconstruction systems. (4) Accurate 3D reconstruction: A good system calibration leads to a better 3D reconstruction result. In [43], an important reconstruction error is obtained when using non-calibrated images. In our work, we perform with an underwater calibration process using a checkerboard pattern of known geometry. This process permits us to define an accurate relation between 2D coordinates and corresponding 3D points. (5) Underwater refraction effects consideration: In order to decrease underwater reconstruction error, light refraction effects should be considered either during the calibration [2,5] or in the 2D/3D transformation algorithm [29,30,37,38,44]. Different theories and geometries, based on the ray-tracing concept, were proposed in [37,38,44]. However, the main drawback of these ones is their complexity and cost in terms of execution time. In our work, calibration was directly performed underwater. The estimated parameters describe the physical functioning of our system of vision when merged in water. They define the relation between a pixel projection on the image and its corresponding 3D underwater position. In this case, there is no need to track the light trajectory in each environment (air, waterproof, and water) since refraction effects are already taken into consideration through the underwater estimated parameters. (6) Use of XSG tool for hardware implementation: During the algorithm development, we attempt to propose an architecture considering maximum use of parallelism. For the hardware implementation validation of the pipelined architecture, we use System Generator interface provided by Xilinx.