Final assignment for Computer Vision (COMP90086). Given a dataset of images with their associated location label, we aim to investigate methods to recognize the location of an unlabelled image. To this end, we benchmarked various feature decriptors/extractors and image matching techniques.
Descriptors/Features:
- SIFT
- ASIFT
- NetVLAD (Original Code)
- Self-supervised CNN (Rotation)
- Self-supervised CNN (Warping)
Image Matching:
- KNN
- FLANN
- MLP
This program was developed using:
- Python 3.9.7
- Keras 2.6.0
- Tensorflow 2.6.0
Pretrained weights for NetVLAD "netvlad_weights.h5" must be downloaded and put into the checkpoint directory before running. Download here (Obtained from Github repository "Netvlad-Keras")
The main file is "Experiments.ipynb" After running, the extracted features are stored in the checkpoint directory. Additonally, 'predictions_netvlad_knn.csv' is the final prediction output used for the Kaggle competition (link) where the predictions were ranked 6th.