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. However, it 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 we 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 a image dataset. By using 64~bit lengths, we are able to observe 16 times memory reduction with a higher performance without a significant loss of classification accuracy. This result is thanks to our compact encoding of image descriptors without losing much information of original image descriptors.
NBNN은 최근접 이웃 기반의 간결한 이미지 분류기이다. NBNN은 SIFT와 같은 원본 이미지 표현자를 벡터 양자화를 거치지 않고 사용하여 표현자의 분별력을 유지하며 특성을 일반화하는 능력이 뛰어나다. 하지만, 많은 양의 데이터를 사용하기 위해서는 메모리 요구량이 엄청나게 높아질 수 있다는 단점이 있다. 본 논문에서는 NBNN의 이러한 문제점을 확인하고 분류 정확도를 떨어뜨리지 않으면서 데이터를 압축하여 표현하기 위하여 spherical hashing과 같은 이전 코드 임베딩을 적용한다. 또한, 이진화된 이미지 표현자의 최근접 이웃을 확인하기 위하여 inverted index 기법을 사용할 것을 제안한다. 제안된 방법의 이점을 보여주기 위하여 이미 알려진 두 개의 NBNN 기법과 이미지 데이터셋에 우리의 방법을 적용한다. 64bit 길이의 이진 표현자를 사용함으로써 분류 정확도를 비슷한 수준으로 유지하며 더 빠른 속도로 동작하면서도 메모리 사용량을 16배 감소시킬 수 있다. 이러한 결과는 원본 이미지 표현자의 정보를 많이 잃지 않으면서 이미지 표현자를 압축하는 방법을 사용한 덕분인 것으로 보인다.