Exemplo n.º 1
0
def fitness(indv):
    scale_step, scale_lr, scale_penalty, window_influence = indv.solution

    # add params top config
    config = dict()
    config['benchmark'] = args.dataset
    config['arch'] = args.arch
    config['resume'] = args.resume
    config['hp'] = dict()
    config['hp']['scale_step'] = scale_step
    config['hp']['scale_penalty'] = scale_penalty
    config['hp']['scale_lr'] = scale_lr
    config['hp']['w_influence'] = window_influence

    if args.dataset.startswith('OTB'):
        auc = auc_otb(tracker, net, config)
        print("scale_step: {0}, scale_lr: {1}, scale_penalty: {2}, window_influence: {3}, auc: {4}".format(scale_step,
                                                                                                           scale_lr,
                                                                                                           scale_penalty,
                                                                                                           window_influence,
                                                                                                           auc.item()))
        return auc.item()

    elif args.dataset.startswith('VOT'):
        eao = eao_vot(tracker, net, config)
        print("scale_step: {0}, scale_lr: {1}, scale_penalty: {2}, window_influence: {3}, eao: {4}".format(scale_step,
                                                                                                           scale_lr,
                                                                                                           scale_penalty,
                                                                                                           window_influence,
                                                                                                           eao))
        return eao
Exemplo n.º 2
0
def fitness(config, reporter):
    # different params for SiamFC and SiamRPN
    if 'SiamFC' in args.arch:
        scale_step = config["scale_step"]
        scale_penalty = config["scale_penalty"]
        scale_lr = config["scale_lr"]
        w_influence = config["w_influence"]
        model_config = dict()
        model_config['benchmark'] = args.dataset
        model_config['arch'] = args.arch
        model_config['resume'] = args.resume
        model_config['hp'] = dict()
        model_config['hp']['scale_step'] = scale_step
        model_config['hp']['scale_penalty'] = scale_penalty
        model_config['hp']['w_influence'] = w_influence
        model_config['hp']['scale_lr'] = scale_lr
    elif 'SiamRPN' in args.arch:
        penalty_k = config["penalty_k"]
        scale_lr = config["scale_lr"]
        window_influence = config["window_influence"]
        small_sz = config["small_sz"]
        big_sz = config["big_sz"]

        model_config = dict()
        model_config['benchmark'] = args.dataset
        model_config['arch'] = args.arch
        model_config['resume'] = args.resume
        model_config['hp'] = dict()
        model_config['hp']['penalty_k'] = penalty_k
        model_config['hp']['window_influence'] = window_influence
        model_config['hp']['lr'] = scale_lr
        model_config['hp']['small_sz'] = small_sz
        model_config['hp']['big_sz'] = big_sz

    # OTB and SiamFC
    if args.dataset.startswith('OTB') and 'SiamFC' in args.arch:
        auc = auc_otb(tracker, model, model_config)
        print(
            "scale_step: {0}, scale_lr: {1}, scale_penalty: {2}, window_influence: {3}, auc: {4}"
            .format(scale_step, scale_lr, scale_penalty, w_influence,
                    auc.item()))
        reporter(AUC=auc)

    # VOT and SiamFC
    if args.dataset.startswith('VOT') and 'SiamFC' in args.arch:
        eao = eao_vot(tracker, model, model_config)
        print(
            "scale_step: {0}, scale_lr: {1}, scale_penalty: {2}, window_influence: {3}, eao: {4}"
            .format(scale_step, scale_lr, scale_penalty, w_influence, eao))
        reporter(EAO=eao)

    # VOT and SiamRPN
    if args.dataset.startswith('VOT') and 'SiamRPN' in args.arch:
        eao = eao_vot_rpn(tracker, model, model_config)
        print(
            "penalty_k: {0}, scale_lr: {1}, window_influence: {2}, small_sz: {3}, big_sz: {4}, eao: {5}"
            .format(penalty_k, scale_lr, window_influence, small_sz, big_sz,
                    eao))
        reporter(EAO=eao)