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()
Exemplo n.º 2
0
                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,