A datas tructure of PQTable.
Runtime per query (SIFT1B).
In this paper, we propose a product quantization table (PQTable); a fast search method for product-quantized codes via hash-tables. An identifier of each database vector is associated with the slot of a hash table by using its PQ-code as a key. For querying, an input vector is PQ-encoded and hashed, and the items associated with that code are then retrieved. The proposed PQTable produces the same results as a linear PQ scan, and is 10^2 to 10^5 times faster. Although state-of-the-art performance can be achieved by previous inverted-indexing-based approaches, such methods require manually-designed parameter setting and significant training; our PQTable is free of these limitations, and therefore offers a practical and effective solution for real-world problems. Specifically, when the vectors are highly compressed, our PQTable achieves one of the fastest search performances on a single CPU to date with significantly efficient memory usage (0.059 ms per query over 10^9 data points with just 5.5 GB memory consumption). Finally, we show that our proposed PQTable can naturally handle the codes of an optimized product quantization (OPQTable).
@article{tmm_matsui_2018, author={Yusuke Matsui and Toshihiko Yamasaki and Kiyoharu Aizawa}, title={PQTable: Nonexhaustive Fast Search for Product-Quantized Codes Using Hash Tables}, journal={IEEE Transactions on Multimedia}, volume={20}, number={7}, pages={1809-1822}, year={2018} } @inproceedings{iccv_matsui_2015, author={Yusuke Matsui and Toshihiko Yamasaki and Kiyoharu Aizawa}, title={PQTable: Fast Exact Asymmetric Distance Neighbor Search for Product Quantization Using Hash Tables}, booktitle={IEEE International Conference on Computer Vision (ICCV)}, pages={1940-1948}, year={2015} }