import project_path import argparse from track_detection import main as track import sys sys.path.append('..') sys.path.append('../caltech-fish-counting') from evaluate import evaluate class Object(object): pass def main(args): infer_args = Object() infer_args.detections = args.detection_dir infer_args.metadata = "../frames/metadata" infer_args.output = "../frames/result_testing" infer_args.tracker = 'tracker' config = { 'conf_threshold': float(args.conf_threshold), 'nms_iou': float(args.nms_iou), 'min_length': float(args.min_length), 'max_age': int(args.max_age), 'iou_threshold': float(args.iou_threshold), 'min_hits': int(args.min_hits), 'boost_power': float(args.boost_power), 'boost_decay': float(args.boost_decay), 'use_associative': args.use_associative } track(infer_args, config=config, verbose=False) evaluate(infer_args.output, "../frames/MOT", "../frames/metadata", infer_args.tracker, False) def argument_parser(): parser = argparse.ArgumentParser() parser.add_argument("--detection_dir", default="../frames/detection_storage") parser.add_argument("--conf_threshold", default=0.3, help="Config object. Required.") parser.add_argument("--nms_iou", default=0.3, help="Config object. Required.") parser.add_argument("--min_length", default=0.3, help="Config object. Required.") parser.add_argument("--max_age", default=20, help="Config object. Required.") parser.add_argument("--iou_threshold", default=0.01, help="Config object. Required.") parser.add_argument("--min_hits", default=11, help="Config object. Required.") parser.add_argument("--boost_power", default=1, help="Config object. Required.") parser.add_argument("--boost_decay", default=1, help="Config object. Required.") parser.add_argument("--use_associative", action='store_true', help="Config object. Required.") return parser if __name__ == "__main__": args = argument_parser().parse_args() main(args)