def main():
for object in objects(): #car, truck, pedestrian, ...
for idx, file_name in enumerate(file_names): #데이터 한 세트
sequence_mot()
-> ids, bboxes, states, types 저장
def sequence_mot():
for frame():
tracker.frame_mot() #tracking
ids, bboxes, states, types.append()
return ids, bboxes, states, types #모든 frame에 대한 정보가 들어있는 list 반환
class MOTmodel:
def frame_mot():
for matched_track: #matched track update
update_info = UpdateInfoData() #update track information
for unmatched_detect: #create new track for unmatched detection
track = tracklet.Tracklet() #tracking algorithm
self.trackers.append(track)
for tracker:
if death:
self.trackers.pop() #remove dead track
for trk in self.trackers:
result.appen(bboxes, ids, states, types) #output
return result
class Tracklet:
def predict():
result = KalmanFilterMotionModel().get_prediction() #KF기반 prediction
def update():
KalmanFilterMotionModel().update() #update
class KalmanFilterMotionModel:
def predict():
https://github.com/rlabbe/filterpy/blob/master/filterpy/kalman/kalman_filter.py#L1076
'Code > 3D tracking' 카테고리의 다른 글
simple track data format (0) | 2023.10.08 |
---|---|
simple track_def load gt() (0) | 2023.10.06 |
Simple Track Preprocessing (0) | 2023.10.04 |
nuScenes tracking data (0) | 2023.10.03 |
simple track - nuScenes dataset (0) | 2023.09.25 |