LEVIATHANDocumentation

DOC 04PERCEPTION

Imaging sonar and acoustics

LEVIATHAN's canonical forward-looking imaging sonar produces a range × azimuth image of relative acoustic return. Every cell records which surfaces contributed to it and how valid its value is. It has a CPU scientific reference and a GPU backend that reproduces it bit for bit.

Two sonar paths

Table 4.1 The canonical sonar measurement and the analytic sonar tools.
Canonical imaging sonarAnalytic sonar tools
WhereSimulation service: World captures and capture-group datasetsViewport sonar fan; Dashboard Imaging sonar, side-scan and multibeam panels
SceneThe frozen canonical scene: seabed triangles, structure meshes, moving rigid bodiesSeabed function and simplified obstacles
OutputRelative return with per-cell contributors, validity and identityIntensity images, waterfalls and depth strips for analysis
CharacterCanonical Reference-checkedAnalytic

Beam geometry

Imaging sonar sampling geometry Left: top view of the fan. Azimuth bins span the horizontal field of view; range bins are arcs between minimum and maximum range. Right: side view. Each bearing is sampled at several elevations across the vertical aperture. Two surface points at the same range but different elevations fall into the same range-azimuth cell: the elevation ambiguity. Top view · azimuth × rangeSide view · elevation azimuth bins range bins one cell +x same range different elevation Vertical aperture sampled at E elevations. Both points land in one range–azimuth cell.
Figure 4.1 The sonar samples its beam on a grid of rays: azimuth bins across the horizontal field of view and elevation samples across the vertical aperture. Range bins divide the window between minimum and maximum range. A range–azimuth image cannot tell elevations apart, and the ground truth records the elevation of each contribution.

All geometry comes from the sensor snapshot. Bearings span the azimuth field of view and elevations span the vertical aperture, both on inclusive grids centred on the sensor's +x boresight. A mount tilt lives only in the sensor's mount transform. Each (bearing, elevation) ray is cast from the sensor origin against the frozen canonical scene. The nearest surface wins, so nearer geometry shadows what lies behind it along that ray.

Return model

Each ray is one quadrature sample of solid angle dΩ = cos(e) Δb we. The trapezoid weights we of the elevation grid sum exactly to the aperture. A ray that hits a surface at slant range R and incidence θ contributes

c = G(b, e)² · σb(θ) · ( R² dΩ / cos θ ) · 10−2αR/10 / R⁴(1)
G
one-way intensity beam pattern, uniform or Gaussian with stated −3 dB full widths; two-way is G²
σb(θ)
the surface's acoustic response; the implemented model is Lambert, μ cos²θ
R² dΩ / cos θ
the area of surface the ray sample represents
α
absorption by Francois and Garrison (1982) at the hardware frequency, for the declared water temperature, salinity and pH, at the sensor's depth
1/R⁴
two-way spherical spreading in intensity

Every ray whose range falls in a cell adds its contribution to that cell, so returns are summed incoherently over the elevation aperture. The sum is the cell's linear_return. An optional fully developed speckle multiplies it by an exponential random variable with unit mean, drawn from keyed randomness, and is reported as a separate channel.

Relative, not calibrated

linear_return is a dimensionless relative return: received intensity divided by the source intensity at 1 m on the beam axis. It is physically modelled, but it is not a calibrated received level. Source level, transducer and receiver sensitivity, pulse length, bandwidth, directivity index, gain and time-varied gain are not included. Display normalisation is a separate product with its own identity.

Per-cell ground truth

A sonar cell can contain contributions from several surfaces, at different elevations and ranges within the bin. LEVIATHAN keeps that information.

  • Primary contributor. The dominant sample in the cell, with its instance, object, triangle, exact slant range, elevation, incidence, world hit point, normal, semantic label, acoustic status and whether it belongs to a moving body.
  • Top-K contributors. Up to K contributors per cell in a deterministic order: dominance, then range, elevation, instance and triangle. Each carries its contribution, geometric weight and energy fraction.
  • Counts and truncation. The number of samples integrated into the cell, and the share of its return that falls outside the top-K list.

Dominance is the contribution itself when the cell's radiometry is fully known. When radiometry is unknown, it is the geometric weight, which is everything except the surface response. When the medium is unsupported, it is the geometric weight without absorption. The primary_basis channel records which rule was used. Only samples the model actually integrated are contributors.

Table 4.2 Main sonar channels. R × A arrays (range bins × azimuth bins); top-K channels are R × A × K.
ChannelUnitsMeaning
linear_return—Relative return; NaN where the cell is not valid
validitycodePer-cell validity (below)
contributor_countcountElevation samples integrated into the cell
truncated_fractionfractionShare of return outside the top-K list
primary_range, primary_elevation, primary_incidencem, rad, radGeometry of the dominant sample (elevation positive downward)
primary_point, primary_normalm, unit · NEDWorld hit point and normal oriented toward the sonar
primary_instance, primary_triangle, primary_semanticindex, idIdentity of the dominant surface
contrib_*as aboveTop-K instance, triangle, range, elevation, incidence, return, geometric weight, energy fraction, semantic, acoustic status
linear_return_speckled—Return with speckle, only when speckle is enabled

Validity

Table 4.3 Per-cell validity codes, listed from highest priority. Geometry ground truth (primary range, point, normal and identity) stays valid whatever the acoustic status.
CodeStatusMeaning
5unsupported_mediumAbsorption cannot be evaluated for the declared water and frequency (for example above 1 MHz)
6interface_not_modeledA ray reached the sea surface inside this cell; surface returns are not modelled
2acoustic_property_unknownA contributing surface has no declared acoustic material
4unsupported_surface_responseThe material declares a response model the sonar does not implement
3acoustic_property_out_of_rangeThe material's declared validity does not cover the hardware frequency
0validReturn fully modelled
1no_returnNo surface in the cell

Acoustic materials

Acoustic materials are kept separate from optical reflectance and are never derived from it. Each parameter carries its meaning, units, source and evidence class. The library contains only clearly labelled test and reference surfaces, such as Lambert surfaces with stated μ values. No published high-frequency backscatter parameter for seabed or structure materials could be verified from a primary source, so no physical material is claimed.

In practice, real scene content without a declared acoustic material is reported as acoustic property unknown. Its geometry ground truth, including range, point, normal and identity, is still valid and usable, but its return is not given a value.

Configuration

Table 4.4 Sonar hardware is declared with the vehicle; the measurement configuration is given per capture.
ParameterWhereUnits · range
FrequencyHardwareHz, > 0 (absorption up to 1 MHz)
Azimuth field of viewHardwaredeg, (0, 180)
Elevation apertureHardwaredeg
Beam patternHardwareuniform, or Gaussian with azimuth and elevation −3 dB widths
MountHardwaretransform from the link, sensor FRD
Range windowConfigurationm, minimum and maximum (≤ 10 km)
Range bins, azimuth binsConfiguration1–4096, 1–1024; product ≤ 220
Elevation samplesConfiguration1–512; azimuth bins × samples ≤ 218 rays
Contributors KConfigurationtop-K list length, 1–16
WaterConfigurationtemperature °C, salinity ppt, pH, with its source
SpeckleConfigurationexponential intensity, keyed by seed
DisplayConfigurationdynamic range dB (display product only)

A canonical sonar is declared on a vehicle in the canonical vehicle catalogue, with its hardware and sampling schedule. In the current release, the built-in production vehicles declare a front camera only. The catalogue's reference survey vehicle is explicitly labelled as a test and reference model. It declares a 900 kHz imaging sonar with a 90° azimuth field of view, a 20° elevation aperture and a Gaussian beam, sampled at 5 Hz, alongside a DVL and an IMU. Its rates and hardware are declared test values, not a device specification.

CPU reference and GPU backend

The CPU implementation is the scientific authority. Before any GPU code existed, its output was frozen for 28 canonical scenes. The fixture covers flat and tilted surfaces, known, unknown and unsupported materials, an unsupported medium, static and moving targets, three kinds of occlusion, shadowing, an exact coincident-surface tie, K = 1, 2, 4 and 16, near and far range windows, the sea-surface interface, 1 to 8 elevation samples, and speckle. It has never been regenerated.

The GPU backend shares the CPU path's preparation and output stages. It accelerates instance culling and bounding-volume traversal on the device in float64, with the same operation order, and evaluates the per-sample physics on the host with the reference's own expressions.

Table 4.5 Measured parity between the GPU backend and the CPU reference.
QuantityResult
Range, elevation, incidence, point, normalMaximum absolute error 0 (bit-identical)
Validity, identity, contributor counts, basis0 mismatches
Raw hits on rotated instances8,929 of 8,929 identical
SpeckleIdentical (same keyed generator and counters)
Frozen 28-scene oraclePasses
Table 4.6 Indicative warm-process timings on the development workstation. Small grids are faster on the CPU; the GPU gains grow with ray count.
Rays (azimuth × elevation)CPUGPUSpeed-up
24 × 8 (192)10.4 ms14.3 ms0.72×
128 × 32 (4,096)104.5 ms29.4 ms3.6×
256 × 64 (16,384)424.7 ms96.9 ms4.4×
512 × 128 (65,536), K = 41.739 s0.384 s4.5×

Single-precision traversal was evaluated and rejected. It is not bit-identical, so it would break exact dominance ties and make triangle selection at edges depend on the platform.

Analytic sonar tools

For interactive work, the Dashboard's Imaging sonar panel renders an analytic range × bearing image from a pose, as a B-scan or a fan. It reports the image grid, range window, field of view, dynamic range, empty and saturated cells, a measured range-falloff fit, range and cross-range resolution, sound speed, absorption at the operating frequency and the maximum ping rate.

Imaging sonar panel, B-scan view: three bright targets on a black range versus bearing grid from minus 60 to plus 60 degrees, with image, falloff, resolution and water statistics on the right.
Figure 4.2 B-scan view: range down, bearing across.
Imaging sonar panel, fan view: the same three targets drawn in a 120 degree fan with range rings at 5 metre intervals.
Figure 4.3 Fan view of the same ping.

The panel is candid about what an image can support. In the capture above it reports that the falloff fit explains only 17 % of the variance, because an image of discrete targets in open water has no reverberation floor to measure.

Model limits
  • The canonical model is direct, single-scatter and incoherent. Multipath, volume and surface reverberation, and coherent effects are not part of it.
  • The beam is sampled on a ray grid, not integrated continuously. Small features between sample rays can be missed, and the observability queries report this as between sample rays.
  • Returns from the sea surface are not modelled; affected cells are flagged.
  • Absorption is evaluated only inside the Francois–Garrison validity and up to 1 MHz.
  • LEVIATHAN does not claim validation of this model against real sonar recordings.