Skip to content

Latest commit

 

History

History
63 lines (39 loc) · 1.67 KB

File metadata and controls

63 lines (39 loc) · 1.67 KB

Image Filtering

The full image provenance pipeline

DESCRIPTION:


This code implements the algorithms described in "Image Provenance at Scale", related to "image filtering" (left part of the illustration above).

It includes 3 main parts:

  • Image feature extraction
  • Image search index construction
  • Query image filtering

Each part of this pipeline creates output that is then used as input for the next part of the pipeline.

OVERVIEW:


Image extraction utilizes the Distributed SURF method to extract 5000 local features from each image.

The image index utilizes OPQ, which must be trained on a subset of these features before index construction can begin

The index is built using an Inverted File binned on the trained OPQ centroids using FAISS.

Filtering is a 2 query for each image that returns a JSON list of image ranks from the index

REQUIREMENTS:


Python2.7

Python3.6

numpy

opencv

faiss

scipy

scikit-image

matplotlib

psutil

progressbar2

urlparse

joblib

USAGE:


To run the example test case, run ./provenance/tutorial/runPython3.sh NOTE: This is a test case with 100 world images and 10 probe images, and will not produce any meaningful results!

DOCKER:


A dockerfile has also been included which contains the exact environmental setup required for this code to run. You can either build the dockerfile yourself, or use the dockerfile as a template to set up the code requirements locally.

QUESTIONS:


Please contact Joel Brogan ([email protected] ) or Daniel Moreira ([email protected]).