def finalize(self): """Refine the results and return MOT format output.""" tracking_results = sorted(self.tracking_results, key=lambda x: (x[0], x[1])) tracking_results = np.asarray(tracking_results) tracking_results = linear_inter_bbox(tracking_results, self.frame_gap) tracking_results = filter_short_objs(tracking_results) # [frameIdx, track_id, left, top, width, height] return tracking_results.tolist()
for tracking_obj in tracking_objs: output_dir = os.path.join(args.tracking_dir, videoname, tracking_obj) if not os.path.exists(output_dir): os.makedirs(output_dir) output_file = os.path.join( output_dir, "%s.txt" % (os.path.splitext(videoname))[0]) tracking_results = sorted( tracking_results_dict[tracking_obj], key=lambda x: (x[0], x[1])) # print(len(tracking_results) tracking_data = np.asarray(tracking_results) # print(tracking_data.shape tracking_data = linear_inter_bbox(tracking_data, args.frame_gap) tracking_data = filter_short_objs(tracking_data) tracking_results = tracking_data.tolist() with open(output_file, "w") as fw: for row in tracking_results: line = "%d,%d,%.2f,%.2f,%.2f,%.2f,1,-1,-1,-1" % ( row[0], row[1], row[2], row[3], row[4], row[5]) fw.write(line + "\n") if args.log_time_and_gpu: end_time = time.time() print( "total run time %s (%s), log gpu utilize every %s seconds and get " "median %.2f%% and average %.2f%%. GPU temperature median %.2f and " "average %.2f (C)" % (sec2time(end_time - start_time), end_time - start_time,