def visualize(): print("Load images") v_ims1 = common.load_images("data/vehicles/", color='RGB') v_ims2 = common.load_images("data/OwnCollection/vehicles/", color='RGB') nv_ims1 = common.load_images("data/non-vehicles/", color='RGB') nv_ims2 = common.load_images("data/OwnCollection/non-vehicles/", color='RGB') ncols, nrows = (16, ) * 2 n = ncols * nrows // 4 ims = [ v_ims1[np.random.randint(v_ims1.shape[0], size=n)], v_ims2[np.random.randint(v_ims2.shape[0], size=n)], nv_ims1[np.random.randint(nv_ims1.shape[0], size=n)], nv_ims2[np.random.randint(nv_ims2.shape[0], size=n)] ] print("Load images done") ims = np.concatenate(ims) fig, axes = plt.subplots(ncols=ncols, nrows=nrows) fig.canvas.set_window_title('Dataset images') print("Visualize images {0}x{0}".format(ncols)) size = ims.shape[0] for r, row_ax in enumerate(axes): for c, ax in enumerate(row_ax): i = r * ncols + c ax.imshow(ims[i]) ax.get_xaxis().set_visible(False) ax.get_yaxis().set_visible(False) ax.set_xticklabels([]) ax.set_yticklabels([]) #ax.set_aspect('equal') fig.subplots_adjust(wspace=0, hspace=0) print("Show images") fig.show()
def train(extract_features, if_grayscale=False, if_normalize_images=True, svm_c_param=SVM_C_PARAM, svm_gamma_param=SVM_GAMMA_PARAM, **kwargs): # Load images (images, labels) = load_images(if_grayscale=if_grayscale, if_normalize_images=if_normalize_images) # Split images into train and test set test_set_ratio = TEST_SET_RATIO print('Splitting dataset to train & test set with test_set_ratio=' + str(test_set_ratio) + '...') (images_train, images_test, labels_train, labels_test) = \ model_selection.train_test_split(images, labels, test_size=test_set_ratio) # Extract features from images print('Extracting features for train & test set...') (X_train, X_test) = extract_features(images_train, images_test, **kwargs) y_train = labels_train y_test = labels_test # Visualize features if IF_VISUALIZE_FEATURES: from .visualize_features import visualize_features visualize_features(X_train, y_train) # Train SVM model with train set gamma = svm_gamma_param if svm_gamma_param != 0 else 'auto' print('Training SVM with c=' + str(svm_c_param) + ', gamma=' + str(svm_gamma_param) + '...') model = svm.SVC(max_iter=MAX_ITERATIONS, C=svm_c_param, gamma=gamma, probability=True) model.fit(X_train, y_train) # Return the distance of the sample from all other hyperplane # Higher value of the distance higher confidence confidence_of_model = model.predict_proba(X_train) confidence_example = np.amax(confidence_of_model, axis=1) print(stats.describe(confidence_example)) #print(str(confidence_average)) #print(str(confidence_of_model)) # Test SVM model y_train_predict = np.array(model.predict(X_train)) y_test_predict = np.array(model.predict(X_test)) (train_accuracy, train_confusion_matrix) = get_accuracy(y_train_predict, y_train) (test_accuracy, test_confusion_matrix) = get_accuracy(y_test_predict, y_test) print('Train accuracy: ' + str(train_accuracy)) print('Train confusion matrix:') print(train_confusion_matrix) print('Test accuracy: ' + str(test_accuracy)) print('Test confusion matrix:') print(test_confusion_matrix) return test_accuracy
def __init__(self, load=True, vehicles=["data/vehicles/"], nonvehicles=["data/non-vehicles"], color='HSL'): if load == True: self.color = color veh = common.load_images(*vehicles, color=color) nonveh = common.load_images(*nonvehicles, color=color) veh_lbl = np.array([1] * veh.shape[0]) nonveh_lbl = np.array([0] * nonveh.shape[0]) self.x_orig = np.concatenate([veh, nonveh]) self.y_orig = np.concatenate([veh_lbl, nonveh_lbl]) else: self.x_orig = None self.y_orig = None self.x = None self.colormap = color
def __init__(self, screen): pygame.sprite.Sprite.__init__(self) self.counter = 0 self.imgs = common.load_images('TN2.png', 'TE2.png', 'TS2.png', 'TW2.png', 'TNW2.png', 'TSW2.png', 'TSE2.png', 'TNE2.png') self.masks = {} for item in self.imgs: self.masks[self.counter] = pygame.mask.from_surface(self.imgs[self.counter]) self.counter += 1 self.image = pygame.image.load('../resources/images/TN2.png').convert_alpha() PlayerTank.__init__(self, screen)
def __init__(self, screen): pygame.sprite.Sprite.__init__(self) self.counter = 0 self.imgs = common.load_images('TN2.png', 'TE2.png', 'TS2.png', 'TW2.png', 'TNW2.png', 'TSW2.png', 'TSE2.png', 'TNE2.png') self.masks = {} for item in self.imgs: self.masks[self.counter] = pygame.mask.from_surface( self.imgs[self.counter]) self.counter += 1 self.image = pygame.image.load( '../resources/images/TN2.png').convert_alpha() PlayerTank.__init__(self, screen)
"""Face dataset Attributes ---------- IMAGES : np.array Data matrix for the faces dataset. 640x2500. TEST_IMAGES : np.array Data matrix for test images. 2x2500. """ from common import load_images _IMAGE_NAMES = ["data/{idx}.png".format(idx=str(i + 1)) for i in range(640)] IMAGES = load_images(_IMAGE_NAMES) _TESTS = ["testcase/test_01.png", "testcase/test_02.png"] TEST_IMAGES = load_images(_TESTS)
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt import common import seaborn as sns setname = 'DENIS' size = (256, 256) if setname in ['SDO', 'SDO-Hard'] else None fformat = '.jpg' if setname in ['CELEBa', 'INRIA'] else '.png' training = common.load_images(f'../Clean/sets/{setname}-training', fformat) testing = common.load_images(f'../Clean/sets/{setname}-testing', fformat) #%% mses = np.zeros(len(testing)) for i, x in enumerate(testing): err = np.mean(np.mean((training - x)**2, 1), 1) mses[i] = err.min() #%% plt.figure() plt.title(f'{setname} : {np.mean(mses):0.2e}') sns.distplot(mses) plt.xlabel('Closest Error') plt.ylabel('Frequency') plt.grid() plt.savefig(f'alignement_{setname}.eps') np.savetxt(f"{setname}_align.csv", mses)