示例#1
0
    elif args.descriptor == 'bow_dense_sift':
        sift_descriptors = SIFT(nfeatures=300, type='DENSE', dense_sift_step=6)
        bow_descriptor = BOW(k=512, pyramid_levels=pyramid_levels)

    else:
        sift_descriptors = None
        bow_descriptor = None
        print('Invalid descriptor')

    myEvaluation = Evaluation(evaluation_path=args.evaluation_path,
                              save_plots=True)

    if args.do_train:

        start_time = time.time()
        train_data = InputData.get_labeled_data()

        if args.do_compute_features:
            #descriptors, descriptors_idx = sift_descriptors.extract_features_simple(data_dictionary=train_data)
            train_descriptors_path = "/imatge/mgorriz/work/master/models/session02/test2/train_descriptors.npy"
            descriptors, descriptors_idx = \
                sift_descriptors.extract_features_simple(data_dictionary=train_data,
                                                       load=True, path=train_descriptors_path)

            codebook = bow_descriptor.compute_codebook(descriptors)
            bow_descriptor.save(
                codebook, os.path.join(args.codebook_path, 'codebook.pkl'),
                'codebook')

            train_visual_words = bow_descriptor.extract_features(
                descriptors,