Beispiel #1
0
def vot_lt_2020_local4():
    trackers = trackerlist('dimp', 'prdimp18', None)+ \
               trackerlist('dimp', 'prdimp50', None)+ \
               trackerlist('dimp', 'super_dimp', None)

    dataset = get_dataset('vot')
    return trackers, dataset
Beispiel #2
0
def eval_atom_compression_lasot_trackingnet():
    # run atom_cfkd on LaSOT, TrackingNet, VOT2018
    trackers = trackerlist('atom', 'atom_compression')

    dataset = get_dataset('lasot', 'trackingnet')

    return trackers, dataset
Beispiel #3
0
def main():
    parser = argparse.ArgumentParser(
        description='Generate success and precision plots')
    parser.add_argument('tracker_name', type=str)
    parser.add_argument('tracker_param', type=str)
    parser.add_argument('--run_id', type=int, default=None)
    parser.add_argument('--dataset', type=str)

    args = parser.parse_args()

    trackers = []
    display_name = args.tracker_param + str(args.run_id)
    trackers.extend(
        trackerlist(args.tracker_name, args.tracker_param, args.run_id,
                    display_name))

    dataset = get_dataset(args.dataset)

    report_name = args.tracker_param + '_' + args.dataset
    plot_results(trackers,
                 dataset,
                 report_name,
                 merge_results=True,
                 plot_types=('success', 'prec'),
                 skip_missing_seq=True,
                 force_evaluation=True,
                 plot_bin_gap=0.05,
                 exclude_invalid_frames=False)
Beispiel #4
0
def eval_drnet_cfkd_lasot_trackingnet():
    # run atom_cfkd on LaSOT, TrackingNet, VOT2018
    trackers = trackerlist('drnet', 'drnet_cfkd')

    dataset = get_dataset('lasot', 'trackingnet')

    return trackers, dataset
Beispiel #5
0
def run_tracker(tracker_name,
                tracker_param,
                run_id=None,
                dataset_name='otb',
                sequence=None,
                debug=0,
                threads=0,
                visdom_info=None):
    """Run tracker on sequence or dataset.
    args:
        tracker_name: Name of tracking method.
        tracker_param: Name of parameter file.
        run_id: The run id.
        dataset_name: Name of dataset (otb, nfs, uav, tpl, vot, tn, gott, gotv, lasot).
        sequence: Sequence number or name.
        debug: Debug level.
        threads: Number of threads.
        visdom_info: Dict optionally containing 'use_visdom', 'server' and 'port' for Visdom visualization.
    """

    visdom_info = {} if visdom_info is None else visdom_info

    dataset = get_dataset(dataset_name)

    if sequence is not None:
        dataset = [dataset[sequence]]

    trackers = [Tracker(tracker_name, tracker_param, run_id)]

    run_dataset(dataset, trackers, debug, threads, visdom_info=visdom_info)
def transt_readout_test_encoder_mult_from_front():
    trackers = trackerlist('transt_readout_test_encoder_mult_from_front',
                           'default', range(1))
    dataset = get_dataset(
        'got10k_test')  # , 'lasot')  # _val, 'got10k_ltrval')
    # dataset = get_dataset('got10k_test')  # _val, 'got10k_ltrval')
    return trackers, dataset
def transt_readout_test_encoder_mult_control():
    trackers = trackerlist('transt_circuit_control', 'default', range(1))
    # dataset = get_dataset('got10k_test', 'lasot')  # _val, 'got10k_ltrval')
    # dataset = get_dataset('lasot')  # _val, 'got10k_ltrval')
    # dataset = get_dataset('got10k_test')  # _val, 'got10k_ltrval')
    dataset = get_dataset('got10k_test')
    return trackers, dataset
Beispiel #8
0
def uav_test():
    # Run DiMP18, ATOM and ECO on the UAV dataset
    trackers = trackerlist('dimp', 'dimp18', range(1)) + \
               trackerlist('dimp', 'dimp18_vot', range(1))

    dataset = get_dataset('uav')
    return trackers, dataset
Beispiel #9
0
def vot_lt_2020_local3():
    trackers = trackerlist('dimp', 'dimp50', None) + \
               trackerlist('dimp', 'dimp50_vot', None) + \
               trackerlist('dimp', 'dimp50_vot19', None)

    dataset = get_dataset('vot')
    return trackers, dataset
Beispiel #10
0
def main():
    trackers = []
    trackers.extend(
        trackerlist('dimpRank', 'dimpRank18', range(0, 1), 'dimpRank'))
    # trackers.extend(trackerlist('ECO', 'default_deep', range(1), 'ECO'))
    # trackers.extend(trackerlist('dimpFMFAttnAw_49', 'dimp50', range(1), 'TRAT'))
    # trackers.extend(trackerlist('MDNet', 'default', range(1), 'MDNet'))
    dataset = get_dataset('otb')
    sequence = [dataset['Basketball']]
    playback_results(trackers, sequence[0])
Beispiel #11
0
def vot_lt_2020_all_test():
    # Run DiMP18, ATOM and ECO on the UAV dataset
    trackers = trackerlist('dimp', 'dimp18', range(1)) + \
               trackerlist('dimp', 'dimp18_vot', range(1))+ \
               trackerlist('dimp', 'dimp50', range(1))+ \
               trackerlist('dimp', 'dimp50_vot', range(1))+ \
               trackerlist('dimp', 'dimp50_vot19', range(1))+ \
               trackerlist('dimp', 'prdimp18', range(1))+ \
               trackerlist('dimp', 'prdimp50', range(1))+ \
               trackerlist('dimp', 'super_dimp', range(1))

    dataset = get_dataset('vot')
    return trackers, dataset
def transt_readout_mixed():
    # Evaluate GOT on a circuit KYS I trained
    trackers = trackerlist('transt_readout_mixed', 'default', range(1))
    dataset = get_dataset('got10k_test')  # _val, 'got10k_ltrval')
    return trackers, dataset
def trsiam_trackingnet():
    trackers = trackerlist('trdimp', 'trsiam', range(1))

    dataset = get_dataset('trackingnet')
    return trackers, dataset
def trsiam_otb():
    trackers = trackerlist('trdimp', 'trsiam', range(1))

    dataset = get_dataset('otb')
    return trackers, dataset
Beispiel #15
0
trackers.extend(trackerlist('MDNet', 'default', range(0, 1), 'MDNet'))
trackers.extend(trackerlist('CCOT', 'default', range(0, 1), 'CCOT'))
# trackers.extend(trackerlist('DaSiamRPN', 'default', range(0,1), 'DaSiamRPN'))
# trackers.extend(trackerlist('SiamRPN++', 'default', range(0,1), 'SiamRPN++'))

trackers.extend(trackerlist('dimp', 'dimp50', range(0, 5), 'DiMP50'))
# trackers.extend(trackerlist('dimpFMFAttnAw', 'dimp50_49', range(1,2), 'TRAT'))
trackers.extend(trackerlist('TRAT', 'trat', range(0, 3), 'TRAT'))
# trackers.extend(trackerlist('atom_R50_ours', 'default', range(0,5), 'ATOM50*'))
trackers.extend(trackerlist('atom', 'default', range(0, 5), 'ATOM'))
# trackers.extend(trackerlist('siamban_results', 'SiamBAN_LaSOT', range(0,1), 'SiamBAN'))
# trackers.extend(trackerlist('Roam', 'LaSOT-ROAM++', range(0,1), 'Roam++'))
# trackers.extend(trackerlist('Roam', 'LaSOT-ROAM', range(0,1), 'Roam'))

filter_criteria = None
dataset = get_dataset('nfs')
# sequence = [dataset['book-10']]
# print_per_sequence_results(trackers, dataset, 'lasot', merge_results=True, filter_criteria=filter_criteria, force_evaluation=False)
# playback_results(trackers, sequence[0])

plot_results(trackers,
             dataset,
             'nfs',
             merge_results=True,
             plot_types=('success', 'prec', 'norm_prec'),
             skip_missing_seq=False,
             force_evaluation=True,
             plot_bin_gap=0.05,
             exclude_invalid_frames=False)
# print_results(trackers, dataset, 'lasot', merge_results=True, plot_types=('success', 'prec', 'norm_prec'))
Beispiel #16
0
from pytracking.evaluation import Tracker, get_dataset, trackerlist, Sequence
from pytracking.analysis.playback_results import playback_results

trackers = []

#
# trackers.extend(trackerlist('TratCatAttn31-32', 'default2', range(0,1), 'TratCatAttn32_1'))
# trackers.extend(trackerlist('TratCatAttn31-32', 'default2', range(1,2), 'TratCatAttn32_2'))
# trackers.extend(trackerlist('TratCatAttn31-32', 'default2', range(2,3), 'TratCatAttn32_3'))
# trackers.extend(trackerlist('TratCatAttn31-32', 'default2', range(3,4), 'TratCatAttn32_4'))
# trackers.extend(trackerlist('TratCatAttn31-32', 'default2', range(4,5), 'TratCatAttn32_5'))

# trackers.extend(trackerlist('dimpFMFAttnAw', 'dimp50_49', range(1,2), 'dimp50_4_2'))
# trackers.extend(trackerlist('dimpFMFAttnAw', 'dimp50_49', range(2,3), 'dimp50_46_1'))

trackers.extend(trackerlist('RankingFast', 'default', range(1), 'RafnkinFast'))

filter_criteria = None
dataset = get_dataset('otb')
# sequence = [dataset['Basketball']]
# print_per_sequence_results(trackers, dataset, 'nfs', merge_results=True, filter_criteria=filter_criteria, force_evaluation=False)
# playback_results(trackers, sequence[0])

# plot_results(trackers, dataset, 'uav', merge_results=True, plot_types=('success', 'prec', 'norm_prec'),
#               skip_missing_seq=False, force_evaluation=True, plot_bin_gap=0.05, exclude_invalid_frames=False)
print_results(trackers,
              dataset,
              'otb',
              merge_results=True,
              plot_types=('success', 'prec', 'norm_prec'))
Beispiel #17
0
def dimp_lasot():
    # Run three runs of ATOM on NFS and UAV datasets
    trackers = trackerlist('dimp', 'dimp18', range(2))
    dataset = get_dataset('lasot')

    return trackers, dataset
Beispiel #18
0
def Ranking():
    os.environ["CUDA_VISIBLE_DEVICES"] = "0"
    # Run three runs of ATOM on NFS and UAV datasets
    trackers = trackerlist('Ranking', 'default', range(2))
    dataset = get_dataset('otb')
    return trackers, dataset
Beispiel #19
0
def eco_lasot():
    # Run three runs of ATOM on NFS and UAV datasets
    trackers = trackerlist('eco', 'default', range(1))
    dataset = get_dataset('lasot')

    return trackers, dataset
Beispiel #20
0
def evaluate_dataset(results_path,
                     dset_name,
                     measure='J',
                     to_file=True,
                     scores=False,
                     sequences=None,
                     quiet=False):
    dset = get_dataset(dset_name)
    results = OrderedDict()
    dset_scores = []
    dset_decay = []
    dset_recall = []

    if to_file:
        f = open(results_path / ("evaluation-%s.txt" % measure), "w")

    def _print(msg):
        if not quiet:
            print(msg)
        if to_file:
            print(msg, file=f)

    if sequences is not None:
        sequences = [sequences] if not isinstance(sequences,
                                                  (list, tuple)) else sequences

    target_names = []
    for j, sequence in enumerate(dset):
        if (sequences is not None) and (sequence.name not in sequences):
            continue

        # Load all frames
        frames = sequence.ground_truth_seg

        annotations = OrderedDict()
        segmentations = OrderedDict()

        for f in frames:
            if f is None:
                continue

            file = Path(f)
            annotations[file.name] = imread_indexed(file)
            if not scores:
                segmentations[file.name] = imread_indexed(
                    os.path.join(results_path, sequence.name, file.name))
            else:
                raise NotImplementedError
        # Find object ids and starting frames

        object_info = dict()

        for f_id, d in sequence.init_data.items():
            for obj_id in d['object_ids']:
                object_info[int(obj_id)] = Path(d['mask']).name

        if 0 in object_info:  # Remove background
            object_info.pop(0)

        # Evaluate
        n_seqs = len(dset)
        n_objs = len(object_info)
        seq_name = sequence.name

        _print("%d/%d: %s: %d object%s" %
               (j + 1, n_seqs, seq_name, n_objs, "s" if n_objs > 1 else ""))
        r = evaluate_sequence(seq_name,
                              segmentations,
                              annotations,
                              object_info,
                              measure=measure)
        results[seq_name] = r

        # Print scores, per frame and object, ignoring NaNs

        per_obj_score = []  # Per-object accuracies, averaged over the sequence
        per_frame_score = []  # Per-frame accuracies, averaged over the objects

        for obj_id, score in r['raw'].items():
            target_names.append('{}_{}'.format(seq_name, obj_id))
            per_frame_score.append(score)
            s = utils.mean(score)  # Sequence average for one object
            per_obj_score.append(s)
            if n_objs > 1:
                _print("joint {obj}: acc {score:.3f} ┊{apf}┊".format(
                    obj=obj_id, score=s, apf=utils.text_bargraph(score)))

        # Print mean object score per frame and final score
        dset_decay.extend(r['decay'])
        dset_recall.extend(r['recall'])
        dset_scores.extend(per_obj_score)

        seq_score = utils.mean(per_obj_score)  # Final score
        seq_mean_score = utils.nanmean(np.array(per_frame_score),
                                       axis=0)  # Mean object score per frame

        # Print sequence results
        _print("final  : acc {seq:.3f} ({dset:.3f}) ┊{apf}┊".format(
            seq=seq_score,
            dset=np.mean(dset_scores),
            apf=utils.text_bargraph(seq_mean_score)))

    _print("%s: %.3f, recall: %.3f, decay: %.3f" %
           (measure, utils.mean(dset_scores), utils.mean(dset_recall),
            utils.mean(dset_decay)))

    if to_file:
        f.close()

    return target_names, dset_scores, dset_recall, dset_decay
def trsiam_lasot():
    trackers = trackerlist('trdimp', 'trsiam_lasot', range(1))

    dataset = get_dataset('lasot')
    return trackers, dataset
def transt_control_normal():
    trackers = trackerlist('transt_control_normal', 'default', range(1))
    dataset = get_dataset('got10k_test')  # _val, 'got10k_ltrval')
    return trackers, dataset
def transt_readout_test_v1():
    trackers = trackerlist('transt_readout_test_v1', 'default', range(1))
    dataset = get_dataset('got10k_test')  # _val, 'got10k_ltrval')
    return trackers, dataset
def rtranst():
    trackers = trackerlist('rtranst', 'default', range(1))
    dataset = get_dataset('got10k_test')  # _val, 'got10k_ltrval')
    return trackers, dataset
Beispiel #25
0
def vot_lt_2020_local2():
    trackers = trackerlist('dimp', 'dimp18', None) + \
               trackerlist('dimp', 'dimp18_vot', None)

    dataset = get_dataset('vot')
    return trackers, dataset
Beispiel #26
0
def atom_nfs_uav():
    # Run three runs of ATOM on NFS and UAV datasets
    trackers = trackerlist('atom', 'default', range(3))

    dataset = get_dataset('nfs', 'uav')
    return trackers, dataset
def dimp50_lasot():
    trackers = trackerlist('dimp', 'super_dimp', range(1))

    dataset = get_dataset('lasot')
    return trackers, dataset