Skip to content
forked from Kejing-Lu/hvs

HVS: Hierarchical Graph Structure Based on Voronoi Diagrams for Solving Approximate Nearest Neighbor Search

Notifications You must be signed in to change notification settings

chuanxiao1983/HVS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 

Repository files navigation

Project Title

HVS: Hierarchical Graph Structure Based on Voronoi Diagrams for Solving Approximate Nearest Neighbor Search

Getting Started

Prerequisites

  • OpenCV 3.30+
  • GCC 4.9+ with OpenMP
  • CMake 2.8+
  • Boost 1.55+
  • TCMalloc

Datasets and query sets

Compile On Ubuntu

Complie HVS (based on NSW)

$ cd hnsw/
$ mkdir build/ && cd build/
cmake ..
make 

Commands

  • K is the value of top-K, L is the value of efsearch and qn is the size of query set
  • T and delta are user-specified parameters of HVS
  • The data set, query set and the ground_truth set are stored in ${dPath}.ds, ${qPath}.q and truth.gt

Build HVS index

./hnsw/build/main ${dPath}.ds nullptr ${n} ${d} ${T} -1 ${delta} -1

Search in HVS

./hnsw/build/main ${dPath}.ds ${qPath}.q ${n} ${d} ${T} ${qn} ${K} ${L}

A running example (ImageNet)

bash run_image.sh

About

HVS: Hierarchical Graph Structure Based on Voronoi Diagrams for Solving Approximate Nearest Neighbor Search

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.4%
  • Other 0.6%