Sliced Wasserstein 임베딩 + HNSW를 이용한 48k 그림의 색상 구성 검색 방법
요약
본 기사는 공공 영역 그림의 색상 구성 검색을 위해 Sliced Wasserstein 임베딩과 HNSW를 결합한 방법을 제시합니다. 기존 Earth Mover's Distance(EMD) 기반 검색은 느리지만, 새로운 임베딩 방식을 통해 정확도를 유지하면서 검색 속도를 획기적으로 개선했습니다.
핵심 포인트
- Sliced Wasserstein 임베딩을 사용하여 색상 구성의 차원을 축소하고 효율적인 벡터를 생성합니다.
- HNSW 인덱스를 적용하여 브루트 포스 대비 검색 시간을 크게 단축시켰습니다 (14ms -> 0.25ms).
- 임베딩 방식 개선으로 기존 방법 대비 Top-10 정확도(recall@10)가 향상되었습니다.
- 최상위 레이어에 k-means 랜드마크를 포함하여 검색 성능과 일반화 능력을 높였습니다.
Palette Atlas (https://itzik123.github.io/PaletteAtlas/)는 공공 영역(public-domain) 그림을 색상 구성으로 검색합니다. 각 이미지는 동일한 가중치를 가진 128가지 색상으로 축소되므로, 자연적인 거리는 Earth Mover's Distance입니다. 이는 48,695개 항목에 대한 최근접 이웃 검색에는 너무 느립니다 (쌍당 약 6ms). 임베딩은 다음과 같습니다: 색상을 (OKLab) 피보나치 반구의 8개 방향으로 투영하고, 정렬한 다음, 16개의 사분위수(quantiles)로 평균을 냅니다. 두 벡터 간의 L1 거리는 방향에 걸쳐 평균화된 1D W1이며, 실제 W1의 하한선입니다. 240개 쿼리에 대한 정확한 EMD와 비교했을 때 (정확한 top 10과의 중복률 및 top 10이 얼마나 더 멀리 떨어져 있는지): - sliced 8x16, L1: 78%, 1.8% - sliced 8x16, L2: 69%, 3.4% - soft color histogram, Hellinger: 45%, 13.5% - mean color: 3%, 161% 인덱스는 처음부터 작성된 HNSW를 사용합니다 (M=16, efConstruction=200): ef=32일 때 recall@10이 1.000이며, 브루트 포스(brute force)의 14ms 대비 0.25ms입니다. 벡터의 고유 차원(intrinsic dimension)은 약 11이므로, 계층 구조는 여전히 도움이 됩니다 (Munyampirwa et al. 2025에서 사용하지 않는 경우 참조). 논문과 다른 점: 최상위 레이어는 무작위로 추출된 노드 대신 8개의 k-means 랜드마크를 포함합니다. 검색 비용은 동일합니다 (평균적으로 2,558 대 2,556 거리 계산), 그리고 최상위 레이어는 색상 계열별 일반적인 그림 하나가 됩니다. 작성 문서: https://github.com/itzik123/PaletteAtlas/blob/main/docs/searching-by-color.md 코드: https://github.com/itzik123/PaletteAtlas /u/Potential-Barber8658 제출 [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/MachineLearning (hot)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기