# US 2016/0259052 A1 · Methods and apparatuses for reconstructing a 3d sonar image

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2016/0259052 A1
- Document ID: US20160259052A1
- Status: Published application
- Kind: A1
- Application number: 15/060,032
- Filed: 2016-03-03
- Published: 2016-09-08
- Earliest claimed: 2015-03-05
- Assignees: Navico Holding AS
- Applicants: Navico Holdings AS
- Inventors: Shahzad F. Kirmani
- Web page: https://patentgrep.com/patent/US20160259052A1

## CPC

- G01S 15/89: for mapping or imaging
- G01S 7/527: Extracting wanted echo signals {(Doppler systems G01S15/50)}
- G01S 7/6245: {Stereoscopic displays; Three-dimensional displays; Pseudo-three dimensional displays}
- G01S 15/8902: {Side-looking sonar}
- G10K 11/006: {Transducer mounting in underwater equipment, e.g. sonobuoys}
- G01S: RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G10K: SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR

## Abstract

Methods, apparatuses, and computer program products are provided for producing a 3D image of an underwater environment. 2D sonar return data that defines an angle and distance value may be taken from a theoretical 2D slice of the underwater environment. Multiple sets of 2D sonar return data are taken from corresponding 2D slices of the underwater environment during travel. The multiple sets of 2D sonar return data can be inputted into a 3D point cloud/matrix based on the distance value and angle and the corresponding 2D slice associated with each sonar return. The 3D point cloud/matrix can then be processed to determine a cluster of sonar returns that correspond to the bottom surface. Additional filtering may be performed and the bottom surface can be reconstructed to form a 3D image for display to a user.

## Claims

### Claim 1

A method for imaging an underwater environment, wherein the underwater environment defines a bottom surface, the method comprising:
receiving a set of 2D sonar return data received by at least one transducer element traversing a body of water;
generating, by a sonar signal processor, a 3D matrix based on a plurality of sets of 2D sonar return data received as the at least one transducer element traverses the body of water, wherein the 3D matrix comprises a plurality of sonar returns defined by each of the received plurality of sets of 2D sonar return data, wherein each of the plurality of sonar returns defines a strength value, a distance value, and an angle;
determining, based on at least the angle of each of the plurality of sonar returns and at least one of the strength value or the distance value of each of the plurality of sonar returns, a group of some of the plurality of sonar returns in the 3D matrix that correspond to the bottom surface of the underwater environment; and
generating a 3D representation of the bottom surface of the underwater environment based on the group of some of the plurality of sonar returns in the 3D matrix.

### Claim 2 (depends on 1)

The method of claim 1 further comprising displaying the 3D representation of the bottom surface of the underwater environment.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining the group of some of the plurality of sonar returns in the 3D matrix comprises:
generating, based on the distance value and the angle of each of the plurality of sonar returns, a 3D representation of all of the plurality of sonar returns in the 3D matrix such that each of the plurality of sonar returns defines an x coordinate, a y coordinate, and a z coordinate; and
determining at least one cluster of some of the plurality of sonar returns in the 3D representation, wherein the at least one cluster of some of the plurality of sonar returns in the 3D representation comprises sonar returns that are within a threshold distance of each other within the 3D representation; and
determining the group of some of the plurality of sonar returns in the 3D matrix that correspond to the bottom surface of the underwater environment by determining the at least one cluster with the largest number of sonar returns.

### Claim 4 (depends on 3)

The method of claim 3 further comprising filtering the group of some of the plurality of sonar returns in the 3D matrix that corresponds to the bottom surface to ensure that sonar returns with matching x coordinates and y coordinate do not have different z coordinates.

### Claim 5 (depends on 3)

The method of claim 3, wherein generating the 3D representation of the bottom surface of the underwater environment comprises:
generating a 2D surface of triangles with points, wherein each point of each triangle defines the x coordinate and the y coordinate of each sonar return from the group of some of the plurality of sonar returns that correspond to the bottom surface of the underwater environment; and
updating each point of the triangles of the 2D surface with the z coordinate of the corresponding sonar return from the group of some of the plurality of sonar returns that correspond to the bottom surface of the underwater environment to generate the 3D representation.

### Claim 6 (depends on 5)

The method of claim 5, wherein generating the 3D representation of the bottom surface of the underwater environment further comprises scaling the 3D representation to real-world coordinates.

### Claim 7 (depends on 1)

The method of claim 1, wherein generating the 3D representation of the bottom surface of the underwater environment further comprises defining a transparency value of each of the group of some of the plurality of sonar returns that correspond to the bottom surface of the underwater environment based on the strength value of each sonar return.

### Claim 8 (depends on 1)

The method of claim 1 further comprising filtering each set of 2D sonar return data based on the angle and the strength value for each of the plurality of sonar returns in the 3D matrix corresponding to each set of 2D sonar return data.

### Claim 9 (depends on 8)

The method of claim 8, wherein filtering each set of 2D sonar return data comprises removing any sonar return from each set of 2D sonar return data that does not have the highest strength value among sonar returns within a range of angles.

### Claim 10 (depends on 1)

The method of claim 1 further comprising filtering the plurality of sonar returns in the 3D matrix by removing sonar returns determined to be outside at least one of a threshold distance from another sonar return or threshold strength value.

### Claim 11 (depends on 1)

The method of claim 1, wherein the plurality of sets of 2D sonar data define a first plurality of sets of 2D sonar data and the 3D representation of the bottom surface of the underwater environment defines a first 3D representation of the bottom surface of the underwater environment, wherein the method further comprises:
generating a second 3D matrix based on a second plurality of sets of 2D sonar return data received as the at least one transducer element traverses the body of water, wherein the second 3D matrix comprises a second plurality of sonar returns defined by each of the received second plurality of sets of 2D sonar return data, wherein each of the second plurality of sonar returns defines a strength value, a distance value, and an angle, wherein the second plurality of sets of 2D sonar return data are subsequently received after the first plurality of sets of 2D sonar return data;
determining, based on at least the angle of each of the second plurality of sonar returns and at least one of the strength value or the distance value of each of the second plurality of sonar returns, a group of some of the second plurality of sonar returns in the second 3D matrix that correspond to the bottom surface of the underwater environment; and
generating a second 3D representation of the bottom surface of the underwater environment based on the group of some of the second plurality of sonar returns in the second 3D matrix.

### Claim 12 (depends on 11)

The method of claim 11 further comprising updating at least a portion of the first 3D representation of the bottom surface of the underwater environment near an end of the first 3D representation based on at least a portion of the second 3D representation of the bottom surface of the underwater environment near a beginning of the second 3D representation.

### Claim 13 (depends on 12)

The method of claim 12, wherein updating at least the portion of the first 3D representation comprises updating a z coordinate of points within a threshold distance of the end of the first 3D representation to correspond to an average of z coordinates from both points within the threshold distance of the end of the first 3D representation and points within a second threshold distance of the beginning of the second 3D representation.

### Claim 14

An apparatus comprising a sonar signal processor and a memory including computer program code, the memory and the computer program code configured to, with the sonar signal processor, cause the apparatus to:
receive a set of 2D sonar return data received by at least one transducer element traversing a body of water;
generate a 3D matrix based on a plurality of sets of 2D sonar return data received as the at least one transducer element traverses the body of water, wherein the 3D matrix comprises a plurality of sonar returns defined by each of the received plurality of sets of 2D sonar return data, wherein each of the plurality of sonar returns defines a strength value, a distance value, and an angle;
determine, based on at least the angle of each of the plurality of sonar returns and at least one of the strength value or the distance value of each of the plurality of sonar returns, a group of some of the plurality of sonar returns in the 3D matrix that correspond to the bottom surface of the underwater environment; and
generate a 3D representation of the bottom surface of the underwater environment based on the group of some of the plurality of sonar returns in the 3D matrix.

### Claim 15 (depends on 14)

The apparatus of claim 14 further comprising the memory and the computer program code configured to, with the sonar signal processor, cause the apparatus to display the 3D representation of the bottom surface of the underwater environment.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein determining the group of some of the plurality of sonar returns in the 3D matrix comprises:
generating, based on the distance value and the angle of each of the plurality of sonar returns, a 3D representation of all of the plurality of sonar returns in the 3D matrix such that each of the plurality of sonar returns defines an x coordinate, a y coordinate, and a z coordinate; and
determining at least one cluster of some of the plurality of sonar returns in the 3D representation, wherein the at least one cluster of some of the plurality of sonar returns in the 3D representation comprises sonar returns that are within a threshold distance of each other within the 3D representation; and
determining the group of some of the plurality of sonar returns in the 3D matrix that correspond to the bottom surface of the underwater environment by determining the at least one cluster with the largest number of sonar returns.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein generating the 3D representation of the bottom surface of the underwater environment comprises:
generating a 2D surface of triangles with points, wherein each point of each triangle defines the x coordinate and the y coordinate of each sonar return from the group of some of the plurality of sonar returns that correspond to the bottom surface of the underwater environment; and
updating each point of the triangles of the 2D surface with the z coordinate of the corresponding sonar return from the group of some of the plurality of sonar returns that correspond to the bottom surface of the underwater environment to generate the 3D representation.

### Claim 18 (depends on 14)

The apparatus of claim 14 further comprising the memory and the computer program code configured to, with the sonar signal processor, cause the apparatus to filter each set of 2D sonar return data based on the angle and the strength value for each of the plurality of sonar returns in the 3D matrix corresponding to each set of 2D sonar return data, wherein the filtering comprises removing any sonar return from each set of 2D sonar return data that does not have the highest strength value among sonar returns within a range of angles.

### Claim 19

Computer program product comprising a non-transitory computer readable medium having program code portions stored thereon, the program code portions configured, when said program product is run with a sonar signal processor, to:
receive a set of 2D sonar return data received by at least one transducer element traversing a body of water;
generate a 3D matrix based on a plurality of sets of 2D sonar return data received as the at least one transducer element traverses the body of water, wherein the 3D matrix comprises a plurality of sonar returns defined by each of the received plurality of sets of 2D sonar return data, wherein each of the plurality of sonar returns defines a strength value, a distance value, and an angle;
determine, based on at least the angle of each of the plurality of sonar returns and at least one of the strength value or the distance value of each of the plurality of sonar returns, a group of some of the plurality of sonar returns in the 3D matrix that correspond to the bottom surface of the underwater environment; and
generate a 3D representation of the bottom surface of the underwater environment based on the group of some of the plurality of sonar returns in the 3D matrix.

### Claim 20 (depends on 19)

The computer program product of claim 19 further comprising the program code portions configured, when said program product is run with a sonar signal processor, to display the 3D representation of the bottom surface of the underwater environment.
