Fish tracking algorithm

A single target represents an echo from a fish at a particular ping time and range or depth and, where applicable, position within the beam. Echoview uses fish track detection properties to predict and match the movement of single targets and identify fish tracks.

Fish track detection settings are stored in fish track detection configurations. For instructions, see Detecting fish tracks.

Echoview's Alpha-Beta tracking algorithm

Acknowledgments and references

We thank Tim Mulligan for providing algorithm information and copies of Polaris and ABTrack, which he and Peter Withler developed.

See Fish track detection references.

Implementation

The implementation can be described by three consecutive processes:

  1. Algorithm: Identifies single targets that are candidates for addition to a track.
  2. Weights: Weights and allocates candidate targets to tracks.
  3. Fish track acceptance: Accepts or rejects tracks according to the specified track criteria.

Candidature

Echoview's α-β Fish Tracker implements the fixed-coefficient filtering method presented by Blackman (1986). The filtering process identifies single targets that are candidates for addition to a track.

The 2D algorithm uses range and time and is suitable for single beam and dual beam data. It can also be used with split beam data when angle data is to be disregarded. The 4D algorithm uses range, angles, and time and is intended for split beam data.

The sensitivity of the tracker to unpredicted changes in position and velocity is controlled by Alpha and Beta, respectively. These parameters are used to predict a track's location at the time of the current ping. Filter gains are applied independently to each spatial component. The 2D algorithm uses range. The 4D algorithm uses distance along the minor axis, distance along the major axis, and range.

Processing occurs ping by ping. All open tracks (i.e., tracks to which targets may still be added) are considered when evaluating the single targets in the current ping. For 2D detection, a target is a candidate when its range falls within the Range target gate. For 4D detection, a target is a candidate when it falls within the target-gate volume centered on the track's predicted location.

The exclusion distances define the target gate around the predicted location. Because target-detection probability may be less than one, the target gate can be expanded after a ping contributes no target to the track. The expansion is applied successively for consecutive missed pings.

Echoview calculations use single target positions in transducer-relative coordinates. These are calculated from Earth-relative coordinates and therefore account for platform motion, including GPS fixes, heave, and motion correction.

Track detection parameters

Following Blackman, Alpha and Beta, entered under Track detection in the Algorithm section of the Fish Track Detection Configuration Properties dialog box, are used to calculate a predicted point Xp such that:

Xpi = Xsi-1 + Vsi-1 (ti - ti-1)     for i > 0
Xsi = Xpi + α (Xoi - Xpi)   for i > 0
Vsi = Vpi + β (Voi - Vpi)     for i > 0
Voi = (Xoi - Xsi-1) / (ti - ti-1)   for i > 0
Vpi = (Xpi - Xsi-1) / (ti - ti-1)   for i > 0
Xp0 = Xs0 = Xo0    
Vp0 = Vs0 = Vo0 = 0    

where:

i is the number of a point in the track, from 0 up.
X
pi is the predicted position component of point i in the track
X
si is the smoothed position component of point i in the track
X
oi is the observed position component of point i in the track
V
pi is the predicted velocity component of point i in the track
V
si is the smoothed velocity component of point i in the track
Voi is the observed velocity component of point i in the track
t
i is the time of point i in the track
α is the Alpha value entered under Track detection in the Fish Track Detection Configuration Properties dialog box
β is the Beta value entered under Track detection in the Fish Track Detection Configuration Properties dialog box

For 4D detection, positions and velocities are represented as vectors with three orthogonal components: range, minor-axis direction, and major-axis direction. Alpha and Beta are specified independently for each component under Track detection in the Fish Track Detection Configuration Properties dialog box. For 2D detection, only the range component is used.

Target gate parameters

The parameters shown in bold below correspond to settings in the Fish Track Detection Configuration Properties dialog box.

For 4D detection, these parameters define an ellipsoidal gating volume centered on the predicted point:

where:

a = Exclusion distance along the major axis
b = Exclusion distance along the minor axis
c = Exclusion distance along the range axis
x is the major-axis component of the observed target location
y is the minor-axis component of the observed target location
z is the range component of the observed target location
xp is the major-axis component of the predicted point
yp is the minor-axis component of the predicted point
zp is the range component of the predicted point

Missed ping expansion applies an expansion percentage (0–100) to the target gate when a ping contributes no single target to a track. The expansion is applied successively when consecutive pings contribute no targets.

In general, for a gate with n missed pings:

xn = xo (1 + n × missed ping expansion / 100)

where:

xn = the effective exclusion distance used after n missed pings (m)
x
o = the exclusion distance - a, b, or c above (m)

Weighting and the allocation of candidate targets to a track

Once identified as a candidate, a target is assigned a score that is used in the track-allocation process. The score depends on the weighted component distances from the predicted location, the target strength difference, and the ping gap. These weights are entered under Weights in the Fish Track Detection Configuration Properties dialog box. The weighted components are accumulated and used by the auction algorithm described by Bertsekas (1990) to assign targets to tracks. Unallocated single targets initiate new tracks.

The effect of the individual weights on the allocation process is determined by their relative magnitude, so the following two groups of settings, A and B, are equivalent:

Weight parameter

Setting value Group A

Setting value Group B

Major axis

Wx

30

0.6

Minor axis

Wy

30

0.6

Range

Wz

40

0.8

TS

WTS

0

0

Ping gap

WPG

0

0

The weight parameters in the table above correspond to settings under Weights in the Fish Track Detection Configuration Properties dialog box.

Calculation of the weights

A parameter d' 2 is calculated for each possible candidate target–track combination and is used to allocate single targets to tracks, as follows for nonzero weight values:

If the weights are set to 1, 1, 1, 0, and 0, respectively, then d' 2 is equivalent to the non-dimensional "distance squared" (d2) defined by Blackman such that:

where

a = exclusion distance along the major axis = σx

b = exclusion distance along the minor axis = σy

c = exclusion distance along the range axis (i.e., the acoustic axis) = σz

and d 2 = d' 2. The single target is allocated to the track which minimizes the score function, d' 2.

Fish track acceptance

Once allocation is complete, tracks are filtered according to the criteria entered under Fish track acceptance in the Fish Track Detection Configuration Properties dialog box. A track is closed when the maximum permitted ping gap is exceeded. Closed tracks are then tested against the minimum single-target and ping criteria.

A track must contain at least the Minimum number of single targets in a track and the Minimum number of pings in track. Gaps between its targets must not exceed the Maximum gap between single targets.

See also

Fish track analysis variables
Detecting fish tracks