Exemple #1
0
                for svm_c in HYPERPARAMETERS_OPTIONS["svm_c"]:
                    hyperparameters["svm_c"] = svm_c
                    print "HYPERPARAMETER: svm_c = " + str(svm_c)

                    # iterate over different svm_gamma
                    for svm_gamma in HYPERPARAMETERS_OPTIONS["svm_gamma"]:
                        hyperparameters["svm_gamma"] = svm_gamma
                        print "HYPERPARAMETER: svm_gamma = " + str(svm_gamma)

                        # train svm
                        print "---------------------"
                        print "## training svm"
                        algo.train_svm(
                            TMP_DIR_TRAINING,
                            all_labels,
                            SVM_MODEL_FILE + str(len(performances)),
                            all_weights=all_weights,
                            C=hyperparameters["svm_c"],
                            gamma=hyperparameters["svm_gamma"],
                        )
                        performance["hyperparameters"] = hyperparameters

                        # validate svm
                        print "---------------------"
                        print "## validating svm"

                        TP = 0
                        FP = 0
                        TN = 0
                        FN = 0

                        R = 0
        all_weights[i] = certainty if label == 1 else 1-certainty


    # extract features
    featureCount = algo.extract_features(all_files, TMP_DIR)

    # generate codebook
    clusterCount = int(sqrt(featureCount))
    algo.gen_codebook(TMP_DIR, clusterCount, SIFT_CODEBOOK,
                      batch_size = algo.BATCH_SIZE if algo.BATCH_SIZE >= clusterCount else clusterCount)

    # generate histograms
    algo.compute_histograms(TMP_DIR, SIFT_CODEBOOK, TMP_DIR)

    # train svm
    algo.train_svm(TMP_DIR, all_labels, SVM_MODEL_FILE, all_weights = all_weights)

    print "calculating predictions"

    predictions = algo.predict(SVM_MODEL_FILE, SIFT_CODEBOOK, DATASETPATH2, TMP_DIR)


    img = Image.open('dop' +f + '/dop-annotated.png').convert('RGBA')
    overlay = Image.new('RGBA', img.size, 0)
    draw = ImageDraw.Draw(overlay)

    print "\n\nPredictions:"
    for filepath, is_building in predictions.items():
        filename = os.path.basename(filepath)
        coverage, x, y = os.path.splitext(filename)[0].split('_')
        x = int(x); y = int(y)