Code/3D tracking

Simple Track Inference

Shy_un 2023. 10. 4. 21:41
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