2012-08-04 4 views
0

주어진 이미지와 유사한 이미지를 검색 할 수있는 도메인 별 이미지 검색 응용 프로그램을 만드는 데 관심이 있습니다. 작은 google-fu로 나는이 사이트에서 this 질문을 찾을 수있었습니다. 내가 최고 등급의 답변을 올바르게 이해한다면, 내 라이브러리에있는 각 이미지의 광도 데이터를 저장함으로써 내가 원하는 것을 달성 할 수 있습니다.광도 히스토그램 저장 및 빠른 비교

이것은 모두 훌륭하지만 훌륭하지만 25,000 개 이상의 레코드를 빠르게 검색하고 비교할 수있는 방법이 필요합니다. PostgreSQL을 사용하여 즉시 생각했습니다. 내가 직면하는 문제는 3 가지 색상에 256 개의 이산 가능한 값에 대한 휘도 데이터를 저장하려면 768 개의 열 (r0,g0,b0,...,r255,g255,b255)이있는 표가 필요하고 유사성에 대한 모든 레코드를 효과적으로 검색하려면 768 개의 색인이 필요할 것입니다. 이전에는이 ​​수준의 대규모 데이터를 사용 해본 적이 없지만 그 수치는 나에게 조금 비싸 보입니다. (모르겠지만 경험은이 영역으로 확장되지 않습니다.)

또 다른 아이디어는 하나의 큰 텍스트 열 (r0:rrr g0:ggg b0:bbb ... r255:rrr g255:ggg b255:bbb과 같은 형식)에 휘도 데이터를 저장하고 비슷한 이미지의 데이터를 검색 할 수 있도록 해당 열에 전체 텍스트 검색 색인을 구성하는 것입니다.

또 다른 가능성은 쿼리 히스토그램과 저장된 히스토그램 간의 해밍 거리를 사용하는 것이지만 데이터베이스의 모든 레코드에 대해 신속하게 수행 할 수 있다고 생각하지 않습니다.

나는 올바른 방법으로 접근하고 있습니까? 필자는 또한 내 데이터 집합에서 고속의 실시간 검색을 제공 할 수있는 관계형 데이터베이스에 대한 대안을 공개합니다.

답변

0

각 이미지를 3 차원 공간에 배치하는 것처럼 보입니다. 지형/다차원 쿼리 엔진을 살펴 보았습니까? 비슷한 이미지가 3 차원 공간에서 서로 가깝게 접근해야합니다.