diff options
author | Vasil Zlatanov <v@skozl.com> | 2019-02-04 17:26:55 +0000 |
---|---|---|
committer | Vasil Zlatanov <v@skozl.com> | 2019-02-04 17:26:55 +0000 |
commit | 45407375ed4cf47703d4593b19248840daf5d179 (patch) | |
tree | 437c6ed0524fd4a2cf62f821c1c113f8b68a8dfa | |
parent | 6522466613c5a2951c7979349cdb54bcd0ae7d21 (diff) | |
download | e4-vision-45407375ed4cf47703d4593b19248840daf5d179.tar.gz e4-vision-45407375ed4cf47703d4593b19248840daf5d179.tar.bz2 e4-vision-45407375ed4cf47703d4593b19248840daf5d179.zip |
Upload baseline code for Q1
-rwxr-xr-x[-rw-r--r--] | evaluate.py | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/evaluate.py b/evaluate.py index 309326e..6b8fc80 100644..100755 --- a/evaluate.py +++ b/evaluate.py @@ -1,8 +1,9 @@ +#!/usr/bin/python # EE4 Selected Topics From Computer Vision Coursework # Vasil Zlatanov, Nunzio Pucci DATA_FILE = 'data.npz' -CLUSTER_CNT = 1337 +CLUSTER_CNT = 256 KMEAN_PART = 33 import numpy as np @@ -12,19 +13,34 @@ from sklearn.cluster import KMeans data = np.load(DATA_FILE) -train = data['train'] +train = data['desc_tr'] # Train part will contain 15 000 descriptors to generate KMeans -part_idx = np.random.random_integers(train.shape[1]) -train_part = np.vstack(train[:][part_idx][300:1300]) +part_idx = np.random.randint(train.shape[1]) + +parts = [] +for i in train[:, part_idx]: + parts.append(i.T[300:1300]) + +train_part = np.vstack(parts) + +print(train_part.shape) kmeans = KMeans(n_clusters=CLUSTER_CNT, random_state=0).fit(train_part) +print("Generating histograms") histogram = np.zeros((train.shape[0], train.shape[1],CLUSTER_CNT)) -for i in range(train.shape[0]) - for j in range(train.shape[1]) - histogram[i][j] = np.bincount(kmeans.predict(train[i][j]) +for i in range(train.shape[0]): + for j in range(train.shape[1]): + histogram[i][j] = np.bincount(kmeans.predict(train[i][j].T),minlength=CLUSTER_CNT) print(histogram.shape) + +plt.hist(histogram[1][5]) +plt.show() +plt.hist(histogram[3][2]) +plt.show() +plt.hist(histogram[7][8]) +plt.show() |