  Generating 3D point cloud (PC) data from noisy sonar measurements is a
problem that has potential applications for bathymetry mapping, artificial
object inspection, mapping of aquatic plants and fauna as well as underwater
navigation and localization of vehicles such as submarines. Side-scan sonar
sensors are available in inexpensive cost ranges, especially in fish-finders,
where the transducers are usually mounted to the bottom of a boat and can
approach shallower depths than the ones attached to an Uncrewed Underwater
Vehicle (UUV) can. However, extracting 3D information from side-scan sonar
imagery is a difficult task because of its low signal-to-noise ratio and
missing angle and depth information in the imagery. Since most algorithms that
generate a 3D point cloud from side-scan sonar imagery use Shape from Shading
(SFS) techniques, extracting 3D information is especially difficult when the
seafloor is smooth, is slowly changing in depth, or does not have identifiable
objects that make acoustic shadows. This paper introduces an efficient
algorithm that generates a sparse 3D point cloud from side-scan sonar images.
This computation is done in a computationally efficient manner by leveraging
the geometry of the first sonar return combined with known positions provided
by GPS and down-scan sonar depth measurement at each data point. Additionally,
this paper implements another algorithm that uses a Convolutional Neural
Network (CNN) using transfer learning to perform object detection on side-scan
sonar images collected in real life and generated with a simulation. The
algorithm was tested on both real and synthetic images to show reasonably
accurate anomaly detection and classification.
