in automated driving applications
sensors provide information about the
positions and velocities of objects
around the echo vehicle in the form of
multiple detections per time step
in order to correctly identify the
positions and velocities of these
objects over multiple time steps you
need to fuse information from multiple
sensors together and locate these
targets in each frame
sensifusion will provide a single
position and velocity estimate of each
object per time step the trackers will
locate a moving object or multiple
objects over multiple time steps and
multiple frames
tracking requires detecting objects of
interest in a frame predicting the
object locations in the next frame and
using the predicted locations to
associate detections across frames to
form tracks today you will learn how to
use the multi-object tracker block in
simulink to fuse sensor detections track
multiple objects and visualize the
results in a bird's eye scope
open the example using this matlab
command
the driving scenario being used for this
video was created using the driving
scenario designer app
the scenario reader block reads in the
scenario and outputs the actor poses in
ego vehicle coordinates
the sensor simulation subsystem consists
of the vision and radar detection
generator blocks these blocks simulate
and output sensor detections
the ego vehicle in this example has
eight sensors two cameras and six radars
with 360 degree coverage as shown
more information about the scenario used
can be found in the video's description
the detection concatenation block
combines detections from multiple
sensors into a single output bus in
order to send a single bus input to the
multi-object tracker block
the radar detections are clustered using
the detection clustering block which
clusters multiple radar detections into
a single detection if they are within a
certain distance from each other these
are the parameters that the detections
bus contains which will be sent as input
to the multi-object tracker more
information about clustering workflows
and tracker parameters can be found in
the description
opening the multi-object tracker block
these are the parameters we see this
block is responsible for fusing the data
from all the sensor detections and
tracking the objects around the ego
vehicle
it takes the detections bus as input and
performs the following functions shown
in this diagram let's take a closer look
step one
a new track starts in a tentative state
each detection is assigned to a separate
track using the global nearest neighbor
criterion
the assignment threshold property
describes the normalized distance
between the detections and the tracks
if some detections are assigned to
incorrect tracks decrease the threshold
if there are a lot of unassigned
detections then increase the threshold
new tracks are also created for
unassigned detections
step 2
the block uses the confirmation
threshold property m comma n to check if
a track has received at least amp
detections in the last n updates if so
then the track is confirmed
if enough tracks are not getting
confirmed decrease m
if too many false detections are being
assigned to tracks increase m
when setting n consider the number of
times you want the tracker to update
before it makes a confirmation decision
step 3 helper init simulink demo filter
function describes the kalman filter
tracker estimates for state vector and
state vector covariance matrix for each
track you can specify the type of filter
here
the motion model used here is a constant
velocity motion model
this function provides an initial guess
when a detection is used to start a new
track
more information about kalman filter
tracking can be found in the description
step 4
if detections are not assigned to tracks
in a specified number of updates the
track is deleted
this is specified by the deletion
threshold property as p detections and r
updates if tracks should be kept a
longer time before deletion decrease p
for earlier deletion increase p
other block parameters include maximum
number of tracks and maximum number of
sensors the tracker outputs confirm
tracks in order to visualize sensor and
tracker outputs open the bird's eye
scope in simulink click on find signals
and click on run
you can see each sensor detections as
dots and the multi-object tracker tracks
as squares
let's look at the effects changing the
highlighted parameters can have on the
output
change the confirmation threshold to one
comma time and deletion threshold to one
comma
the output shows multiple false tracks
changing these parameters to 10 comma 10
and 8 comma 8
tracks are deleted too quickly
target records are not tracked in some
time steps
changing the parameters to four comma
phi and phi comma phi fixes both these
problems and the output looks much
cleaner
experiment with various values and look
at the bird's eye plot outputs to figure
out what works best for your scenarios
in summary we saw how to use simulink to
fuse multiple sensor data track objects
around the ego vehicle using the
multi-object tracker block and visualize
the sensor detections and tracks in a
buzzer scope
thank you for watching and please refer
to the description to learn more about
fusion and tracking