aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVasil Zlatanov <v@skozl.com>2019-02-04 17:26:55 +0000
committerVasil Zlatanov <v@skozl.com>2019-02-04 17:26:55 +0000
commit45407375ed4cf47703d4593b19248840daf5d179 (patch)
tree437c6ed0524fd4a2cf62f821c1c113f8b68a8dfa
parent6522466613c5a2951c7979349cdb54bcd0ae7d21 (diff)
downloade4-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.py30
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()