0

나는 엄청난 이미지 데이터 세트에서 큰 크기의 특징 벡터를 추출하는 콘텐츠 기반 이미지 검색 프로젝트에서 일하고 있습니다. 나중에 검색하고 유클리드 거리와 같은 거리 측정법을 사용하여 쿼리 이미지와 비교하기 위해 데이터베이스에 특징 벡터를 저장하려고합니다. 이러한 특징 벡터를 저장하기위한 최상의 데이터베이스는 무엇입니까?나중에 유사성 검색을위한 검색 및 계산 거리 측정을 위해 큰 크기의 특징 벡터를 저장하는 데 가장 적합한 데이터베이스는 무엇입니까?

답변

1

커뮤니티에서 널리 사용되는 두 개의 라이브러리는 FALCONNNMSLIB입니다. 둘 다 수백만 (심지어 수십억)의 실수 벡터 (real-valued vectors)를 가로 질러 실시간으로 근사 최근 접 탐색을 구현한다. 이미지 SIFT 기능. 전자가 지역 민감성 해싱을 사용하는 반면, 지역 민감 해시와 함께 후자는 제품 퀀 타이즈이라는 새로운 기술을 지원합니다. 또한 NMSLIB를 사용하여 자체 메트릭을 정의 할 수 있습니다. 코사인 유사성 또는 Lp 거리를 계산할 수 있습니다 (L2 (Euclidean) distance measure).

+0

유사성 검색 및 검색을 실행하기 전에 이러한 특징 벡터를 올바르게 저장하는 방법은 무엇입니까? – markeb

+0

'적절하게'란 무엇을 의미합니까? 라이브러리는 모든 것을 처리하며 내부 데이터 및 파일 구조에 대해 알 필요조차 없습니다 ... 하나를 선택하고 설명서를 읽고 몇 가지 샘플 사례를 사용해 기본 워크 플로를 설정하십시오. – Debasis

0

다른 널리 사용되는 2 개의 라이브러리는 Faiss(2015)FLANN(2009)입니다.

Faiss는 매우 효율적인 GPU 구현을 제공합니다.

이러한 라이브러리는 모두 저장소가 아닌 메모리 내 작업을 위해 설계되었습니다. 영구 벡터 저장 기능에 추가/쿼리/작동 기능 벡터를 지원하는 구현을 인식하지 못했습니다.

관련 문제