Skip to main content
. 2023 Jul 11;23(14):6297. doi: 10.3390/s23146297
Algorithm 3 Independent object tracking
Input: Ot1,Ct
Output: Ot
1: O
2: M=size(Ot1)                      ► number
of objects at previous frame
3:  N=size(Ct)                       ►
number of objects at current frame
4: Array zeros(M, N)              ► An array that stores
distances between all objects
5: for i in Ot1:
6:    for j in Ct:
7:         Arrayi, j=distance(Ot1i, Ctj)
8: for k in Ct:
9:     if ID[k] isnot set:
10:      if Arrayi, k==min(Arrayi, :):            ►
object k: closest object to object i
11:          if  Arrayi, k<distThresh:                 ►
if below distance threshold:
12:              ID[k]ID[i]              ► assume k and i is the
same object (tracking success)
13:             Tracked length of IDk+=1
► Increase tracked length
14:             break
15:          else:
16:             mark ID[i] as lost                  ► Mark
as lost if no object is nearby
17: for k in Ct:
18:     if ID of k isnot set:
19:           assign new ID to k                ► assign
new ID if new object is detected
20:           tracked length of IDk0
21:     if tracked length of IDk>noiseThresh:            ► If
tracked longer than threshold
22:           IDkmark as true object
► Approve as true object
23:     add position and ID of k to Ot