Naive Bays Nearest Neighbor (NBNN) is a simple image classifier based on identifying nearest neighbors. NBNN uses original image descriptors (e.g., SIFTs) without vector quantization for preserving the discriminative power of descriptors and has a powerful generalization characteristic. It, however, has a distinct disadvantage; its memory requirement can be prohibitively high as we have a large amount of data. We identify this problem of NBNN techniques and apply a binary code embedding technique, i.e., spherical hashing, to encode data compactly without a significant loss of classification accuracy. We also propose to use an inverted index to identify nearest neighbors among those binarized image descriptors. To demonstrate benefits of our method, we apply our method to two of existing NBNN techniques with an image dataset. By using 64~bit lengths, we are able to observe 16 times memory reduction with a higher runtime performance without a significant loss of classification accuracy. This result is achieved by our compact encoding scheme of image descriptors without losing much information of original image descriptors.

System Requirements

  • OS: Microsoft Windows