[Research] Efficient Nearest Neighbors Search in Distributed Manner


Using Image Retrieval to demonstrate distributed nearest neighbor search system.

Introduction

This is my final year project associated with The Husky Lab under the supervison of Prof.James Cheng. In this project, I built an Image Retrieval System using LoSHa, a A general framework for scalable Locality Sensitive Hashing (LSH). This research project shows more salability and a 15% increase in speed when compared to OpenCV FLANN.

The details of the project can be found in this report or this slide. The source code will soon open-source.

Here I excerpt some of the main concepts of the project. What I aim to do is to look for the original piece of image within a directory full of images given part of the image that could have been altered and cropped.

Technology

  • Husky & LoSHa
  • C/C++
  • OpenCV

Overview & Results

There are three steps to complete the process:

  1. Create Image Binary
  2. Run nearest neighbor search (NNS)
  3. Match image

With the contrast and lightening altered duck.jpg, we can correctly find the original image within the directory.

Acknowledgements

The image on Github are obtained from the internet under Creative Common CC0 licence and will remain as it is.