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)