├── PS-illum.jpg
├── PS-scale.jpg
├── PS-view.jpg
├── download_dataset.sh
├── PreTrainedModel.md
├── DownloadDataset.md
└── README.md
/PS-illum.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rmitra/PS-Dataset/HEAD/PS-illum.jpg
--------------------------------------------------------------------------------
/PS-scale.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rmitra/PS-Dataset/HEAD/PS-scale.jpg
--------------------------------------------------------------------------------
/PS-view.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rmitra/PS-Dataset/HEAD/PS-view.jpg
--------------------------------------------------------------------------------
/download_dataset.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | BASE_URL='https://www.cse.iitb.ac.in/PS-Dataset'
4 |
5 | SCENE_LIST='4 11 13 14 15 16 20 23 24 30 31 34 36 41 44 49 50 51 53 65 66 67 71 74 76 88 89 90 91 95'
6 |
7 | FILE_TYPES='patch_info.txt patchImg.bin pair_patch.txt'
8 |
9 | BASE_DOWNLOAD_DIR=$(pwd)/PS-Dataset
10 |
11 | for SC in $SCENE_LIST; do
12 | echo 'Downloading scene '$SC
13 |
14 | REMOTE_SC_DIR=$BASE_URL/$SC
15 | DOWNLOAD_SC_DIR=$BASE_DOWNLOAD_DIR/$SC
16 |
17 | for FILE_TYPE in $FILE_TYPES; do
18 |
19 | FILE_PATH=$REMOTE_SC_DIR/$FILE_TYPE
20 | echo $FILE_PATH
21 | wget -P $DOWNLOAD_SC_DIR -nH --cut-dirs 2 $FILE_PATH
22 | done
23 | wget -r -np -nH -A jpeg,jpg,png -P $DOWNLOAD_SC_DIR --cut-dirs 2 $REMOTE_SC_DIR/images/
24 | done
25 |
--------------------------------------------------------------------------------
/PreTrainedModel.md:
--------------------------------------------------------------------------------
1 | ## Link to model trained using PS dataset
2 | #### https://www.dropbox.com/s/q89g5kfuke6c348/hardnet-PS.t7?dl=1
3 | The model is built using using **nn** package from **Torch 7**
4 | # Usage
5 | The patches should be of type **CudaTensor** of size 1 x 32 x 32 with values ranging from 0-1. Each patch should have **zero** mean and **unit** standard deviation, i.e. **p:add(-p:mean())** and then **p:div(p:std())**
6 |
7 | require 'torch'
8 | require 'nn'
9 | require 'cudnn'
10 | require 'cunn'
11 |
12 | network:evaluate()
13 | descriptor = network:forward\(p\)
14 |
15 |
16 | ## Link to model trained using PS dataset in PyTorch
17 | #### https://www.dropbox.com/s/1p9e8vtf57gl9jc/PyTorch-hardnet-PS-CPU.pth?dl=1
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/DownloadDataset.md:
--------------------------------------------------------------------------------
1 | # Link to PS dataset
2 | #### https://www.cse.iitb.ac.in/PS-Dataset/
3 |
4 | Use this [script](https://github.com/rmitra/PS-Dataset/blob/master/download_dataset.sh) to download all the scenes.
5 |
6 | # License
7 |
8 | The PhotoSynth dataset (PS-Dataset) is is made available under the Open Database License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in individual contents of the database are licensed under the Database Contents License: http://opendatacommons.org/licenses/dbcl/1.0/
9 |
10 | You are free to copy, distribute, transmit and adapt our data, as long as you credit contributors. If you alter or build upon our data, you may distribute the result only under the same licence.
11 | The full legal code explains your rights and responsibilities.
12 |
13 | If you are using our datasets in your work, please cite following:
14 | Rahul Mitra, Nehal Doiphode, Utkarsh Goutam, Sanath Narayan, Shuaib Ahmed, Sharat Chandran and Arjun Jain, "A Large Dataset for Improving Patch Matching", arXiv:1801.01466.
15 |
16 |
17 | # Format of the Dataset
18 |
19 | Each folder represents a scene. A scene consists of a extracted patches in the file "patchImg.bin" in form of a PyTorch tensor of size ('no_patches', 'no_channels', 'height', 'width'). Currently we are providing grayscale patches, hence no_channels is 1.
20 |
21 | The file "patch_info.txt" contains 'no_patches' lines with each line corresponding to a patch. Each line is of the form '3D point id', 'img id', 'y', 'x', 'scale', 'rot'. Here '3D point id' referes to the scene point the feature point belongs after the sfm process. The image which contains the feature is given by 'img id'. The location of the feature in the image are given by 'y' and 'x'. The scale and rotaion at which the feature was detected by the detector is given by 'scale' 'rot'.
22 |
23 | A sample of matching patch pairs is given in file "pair_patch.txt".
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PS-Dataset
2 | # A Large Dataset for improving Patch Matching
3 |
4 | ### [Using Pre-Trained Model](https://github.com/rmitra/PS-Dataset/blob/master/PreTrainedModel.md)
5 |
6 | ### [Using Our Dataset](https://github.com/rmitra/PS-Dataset/blob/master/DownloadDataset.md)
7 | ### [Added Full Resolution RGB Images]
8 |
9 | ### Link to paper -
10 | https://arxiv.org/abs/1801.01466
11 |
12 | ### Contributors -
13 | Rahul Mitra, Nehal Doiphode, Utkarsh Gautam, Sanath Narayan, Shuaib Ahmed, Sharat Chandran, Arjun Jain
14 |
15 |
16 | Sample image pairs from dataset
17 | ### Image pair showing illumination variation
18 | 
19 |
20 | ### Image pair showing scale variation
21 | 
22 |
23 | ### Image pair showing viewpoint variation
24 | 
25 |
26 |
27 |
28 | ### Results -
29 | ### Performance comparison for patch retrieval task on HPatches dataset.
30 |
31 | | Method\Noise | Easy | Hard | Tough | Mean |
32 | | ----- | ----- | ---- | ----- | ----- |
33 | |SIFT| 64.6 |37.4 | 22.7 | 41.7|
34 | |DeepDesc| 67.2 | 52.2 |37.8 | 52.4 |
35 | |Tfeat| 68.4 | 50.8 |34.7 |51.3|
36 | |Hardnet+| 79.7 | 68.7 | 52.6| 66.7|
37 | |Hardnet-PS|82.5 | 78.0 |69.1 |76.5|
38 |
39 |
40 | ### Performance comparison for image matching task on Fountain-P11 scene
41 |
42 | | Method\Baseline | Narrow | Wide | Very-wide | Mean |
43 | | ----- | ----- | ---- | ----- | ----- |
44 | |DeepDesc| 76.3 | 40.8 |9.2 | 40.0|
45 | |Tfeat| 86.6 |62.8 | 21.9 | 57.1|
46 | |Hardnet+| 92.4 | 83.2 | 35.0 | 70.2|
47 | |Hardnet-PS|92.8|85.3|47.0 |75.0|
48 |
49 | ### Performance comparison for image matching task on Herzjesu-P8 scene
50 |
51 | | Method\Baseline | Narrow | Wide | Mean |
52 | | ----- | ----- | ---- | ----- |
53 | |DeepDesc|64.4 | 13.1 | 35.1|
54 | |Tfeat| 76.6 | 27.4 | 48.5|
55 | |Hardnet+| 85.1 | 44.5 | 61.9|
56 | |Hardnet-PS| 85.1| 50.6 | 65.4|
57 |
58 |
59 | ### Scene statistics-
60 | ### Statistics and parameters for each scene in the training set
61 |
62 | |Scene Id | No. images | No. points | No. Patches | MIN_V_TH | MAX_V_TH | No. Pairs |
63 | | ----- | ----- | ---- | ----- | ----- | ----- | ----- |
64 | |11 | 155 | 5724 | 31174 | 10° | 50° | 59098 |
65 | |13 | 436 | 143150 | 788401 | 5° | 45° | 1447833 |
66 | |14 | 315 | 115183 | 728302 | 10° | 50° | 1257142 |
67 | |15 | 239 | 69725 | 395021 | 10° | 50° | 733752 |
68 | |16 | 214 | 14634 | 94585 | 10° | 50° | 161737 |
69 | |20 | 381 | 41524 | 329980 | 10° | 50° | 702957 |
70 | |24 | 274 | 121992 | 788657 | 10° | 50° | 1713912 |
71 | |30 | 345 | 150087 | 760203 | 10° | 50° | 603327 |
72 | |34 | 142 | 7353 | 32198 | 10° | 50° | 52460 |
73 | |36 | 278 | 68656 | 395547 | 2° |45° | 361799 |
74 | |41 | 268 | 29308 | 181515 | 10° | 50° | 372813 |
75 | |49 | 219 | 69301 | 346042 | 10° | 70° | 325492 |
76 | |50 | 302 | 61846 | 235538 | 10° | 50° | 294323 |
77 | |51 | 251 | 97293 | 620192 | 10° | 50° | 692386 |
78 | |53 | 269 | 80025 | 532245 | 10° | 50° | 1399146 |
79 | |65 | 153 | 86016 | 227226 | 4°| 72° | 202294 |
80 | |66 | 232 | 142459 | 426105 | 10° | 72° | 411762 |
81 | |67 | 98 |37412 | 279194 | 3° | 50° | 1372920|
82 | |71 | 309 | 65116 | 457196 | 10° | 50° | 1111475 |
83 | |74 | 207 | 51107 | 320927 | 10° | 50° | 662981|
84 | |76 | 254 | 93127 | 535378 | 10° | 50° | 1172380|
85 | |89 | 214 | 63498 | 641700 | 15° | 50° | 1503677 |
86 | |90 | 388 | 92334 | 731818 | 15° | 50° | 811130 |
87 | |91 | 182 | 78961 | 750676 | 12° | 50° | 1664135|
88 | |95 | 201 | 21677 | 106001 | 10° | 72° | 110641|
89 |
90 |
91 | ### Statistics and parameters for each scene in the validation set
92 |
93 | |Scene Id | No. images | No. points | No. Patches | MIN_V_TH | MAX_V_TH | No. Pairs |
94 | | ----- | ----- | ---- | ----- | ----- | ----- | ---- |
95 | |4 | 264 | 107549 | 602331 | 10° | 50° | 965990 |
96 | |23 | 249 | 66492 | 328555 | 10° | 50° |576180 |
97 | |31 | 262 | 25451 | 164984 | 10° | 50° | 147734|
98 | |44 | 87 | 57944 | 157953 | 3° | 72° | 98134 |
99 | |88 | 99 | 4850 |54781 | 5° |50° | 235524 |
100 |
--------------------------------------------------------------------------------