|
Algorithm 1 our hierarchical data association algorithm |
| Input: |
Current tth frame and previous trajectories |
|
|
The detection bounding boxes computed from the detector described in Section 3.3
|
|
|
The tag-boxes computed from the tracker described in Section 3.4
|
| Output: |
bounding boxes and trajectories for the tth frame |
|
|
Procedure
|
| 1 |
associate the detection bounding boxes to the tag-boxes
|
| 2 |
If each in is assigned to the corresponding in with one-to-one manner |
| 3 |
Return the as tracked bounding boxes and update the tracklets |
| 4 |
else
|
| 5 |
Update the tracklets related to the and return the assigned detection boxes (), unassigned detection boxes () and unassigned tag-boxes (). |
| 6 |
end if
|
| 7 |
for each tag-box
in the unassigned tag-boxes
|
| 8 |
set a default box () to the tag-box
according to the updated tracklets; |
| 9 |
associate the unsigned detection boxes () to the default box () |
| 10 |
if find a best matched box in the
|
| 11 |
set the best matched box as the tracked bounding box and update the tracklet |
| 12 |
else
|
| 13 |
set the default box as the tracked bounding box and update the tracklet, |
| 14 |
end if
|
| 15 |
associate the unassigned tag-boxes () to the default box () |
| 16 |
if no matched tag-box is founded |
| 17 |
set a counter array (age), age[] = age[] + 1 |
| 18 |
else
|
| 19 |
age[] = age[] − 1 |
| 20 |
end if
|
| 21 |
if
age[] > threshold value (T) |
| 22 |
Initialize the tag-box
and reset age[] = 0; |
| 23 |
end if
|
| 24 |
associate the assigned detection boxes () to the unassigned tag-box
|
| 25 |
if the assigned detection box has more than one tag-boxes
|
| 26 |
pend the tag-box
|
| 27 |
end if
|
| 28 |
end for
|