aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: e89f6dba3566474e783e3611bc57f6f3ab802f82 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
```
usage: evaluate.py [-h] [-t] [-c] [-k] [-m] [-e] [-r] [-a RERANKA]
                   [-b RERANKB] [-l RERANKL] [-n NEIGHBORS] [-v] [-s SHOWRANK]
                   [-1] [-2] [-M MULTRANK] [-C] [--data DATA] [-K KMEAN] [-A]
                   [-P PCA]

optional arguments:
  -h, --help            show this help message and exit
  -t, --train           Use train data instead of query and gallery
  -c, --conf_mat        Show visual confusion matrix
  -k, --kmean_alt       Perform clustering with generalized labels(not actual
                        kmean)
  -m, --mahalanobis     Perform Mahalanobis Distance metric
  -e, --euclidean       Use standard euclidean distance
  -r, --rerank          Use k-reciprocal rernaking
  -a RERANKA, --reranka RERANKA
                        Parameter k1 for rerank
  -b RERANKB, --rerankb RERANKB
                        Parameter k2 for rerank
  -l RERANKL, --rerankl RERANKL
                        Parameter lambda for rerank
  -n NEIGHBORS, --neighbors NEIGHBORS
                        Use customized ranklist size NEIGHBORS
  -v, --verbose         Use verbose output
  -s SHOWRANK, --showrank SHOWRANK
                        Save ranklist pics id in a txt file for first SHOWRANK
                        queries
  -1, --normalise       Normalise features
  -2, --standardise	Standardise features
  -M MULTRANK, --multrank MULTRANK
                        Run for different ranklist sizes equal to MULTRANK
  -C, --comparison      Compare baseline and improved metric
  --data DATA           Folder containing data
  -K KMEAN, --kmean KMEAN
                        Perform Kmean clustering, KMEAN number of clusters
  -A, --mAP             Display Mean Average Precision
  -P PCA, --PCA PCA     Perform pca with PCA eigenvectors
  ```

EXAMPLES for `evaluate.py`:

	EXAMPLE 1: Run euclidean distance with top n
		`evaluate.py -e -n 10` or simply `evaluate.py -n 10`

	EXAMPLE 2: Run euclidean distance for the first 10 values of top n and graph them
		`evaluate.py -M 10`

	EXAMPLE 3: Run comparison between baseline and rerank for the first 5 values of top n and graph them
		`evaluate.py -M 5 -C`

	EXAMPLE 4: Run for kmeans, 10 clusters
		`evaluate.py -K 10`

	EXAMPLE 5: Run for mahalanobis, using PCA for top 100 eigenvectors to speed up the calculation
		`evaluate.py -m -P 100`

	EXAMPLE 6: Run rerank for customized values of RERANKA, RERANKB and RERANKL
		`evaluate.py -r -a 11 -b 3 -l 0.3`

	EXAMPLE 7: Run on the training set with euclidean distance and normalize feature vectors. Draw confusion matrix at the end.
		`evaluate.py -t -1 -c`

	EXAMPLE 8: Run euclidean distance standardising the feature data for the first 10 values of top n and graph them.
		`evaluate.py -2 -M 10`

	EXAMPLE 8: Run for rerank top 10 and save the names of the images that compose the ranklist for the first 5 queries: query.txt, ranklist.txt.
		`evaluate.py -r -s 5 -n 10`

	EXAMPLE 9: Display mAP. It is advisable to use high n to obtain an accurate results.
		`evaluate.py -A -n 5000`

	EXAMPLE 10: Run euclidean distance specifying a different data folder location
		for data int the same folder as evaluate.py:
			`evaluate.py --data ./` 
		or for data in another folder:
			`evaluate.py --data ./foo/bar/`

EXAMPLES for `opt.py`:

	EXAMPLE 1: optimize top 1 accuracy for k1, k2, lambda speeding up the process with PCA, top 50 eigenvectors
		`opt.py -P 50`

	EXAMPLE 2: optimize mAP for k1, k2, lambda speeding up the process with PCA, top 50 eigenvectors
		`opt.py -P 50 -A`