cpm0722 / clip_image_search_system

text-image search system using OpenAI CLIP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CLIP Image Search System

Summary

OpenAI에서 공개한 CLIP을 활용한 자연어-이미지 검색 시스템입니다.
image dataset은 imagenet21k, CC12M, openimages 등 public dataset에 더해 web에서 crawling한 image들로 구성되어 전체 약 600M개의 image dataset을 구축했습니다.
600M 이상의 image에 대해 HNSW(Hierarchical Navigable Small World) algorithm을 사용해 cosine similarity 기반의 approximated nearest neighbor vector search를 수행합니다.
이 때, Sharding을 구현해 다수의 server에 data를 분산 저장함으로써 대규모 data에 대해서도 균등한 성능을 유지합니다.
최종적으로 300ms 미만의 latency, 95% 이상의 recall을 보장합니다.

Demo

DEMO Web Page에서 실행을 해 볼 수 있습니다.
Openimages v6를 사용해 약 2M개의 image에 대한 검색을 수행합니다.

Example

몇몇 예제 query에 대한 검색 결과입니다.

  • query text: "a Korean meal"
  • query text: "해변을 달리는 강아지"
  • query text: "a seaside overlooking from the sky" (compare with Google Image Search)

About

text-image search system using OpenAI CLIP


Languages

Language:Python 80.0%Language:HTML 12.7%Language:Shell 5.7%Language:CSS 1.6%