clear
1.0.0
완전한 사용자 측 이미지 검색 엔진입니다.
이 논문에서는 CLEAR에 대해 자세히 설명합니다.
arXiv: https://arxiv.org/abs/2206.08521
https://clear.joisino.net/
CLEAR의 인터페이스. 이미지를 업로드한 다음 CLEAR는 Flickr에서 유사한 이미지를 검색합니다. CLEAR의 기능은 간단합니다. 중요한 점은 오히려 구현 방법과 배포가 얼마나 쉬운지에 있습니다.
$ git clone [email protected]:joisino/clear.git
$ cd clear
$ echo 'REACT_APP_FLICKR_KEY="0123456789abcdef"' > .env.local
$ npm install
$ npm start
아니면 Docker로 시도해 볼 수도 있습니다.
$ git clone [email protected]:joisino/clear.git
$ cd clear
$ echo 'REACT_APP_FLICKR_KEY="0123456789abcdef"' > .env.local
$ docker run -it --rm -v $PWD:/app -p 13000:3000 -w /app -u node node /bin/bash -c "npm install && npm start"
0123456789abcdef
Flickr API 키로 바꾸세요. https://www.flickr.com/services/api/misc.api_keys.html에서 키를 얻을 수 있습니다. 열쇠를 얻는 데 몇 분 정도 걸립니다.
특징 추출기와 점수 함수는 src/score.js
에 정의되어 있습니다.
getFeature
소스 이미지와 검색된 이미지 모두에 대한 특징 벡터를 계산합니다. 임베딩 레이어는 embeddingName
에 정의됩니다. 'module_apply_default/MobilenetV2/Logits/AvgPool'
과 같은 다른 레이어를 사용해 볼 수 있습니다.embs2score
점수를 계산합니다. 높을수록 좋습니다. 가우스 커널 Math.exp(- emb1.squaredDifference(emb2).sum().dataSync()[0] / 1000)
과 같은 다른 기능을 사용해 볼 수 있습니다.CLEAR는 백엔드 서버나 검색 지표에 의존하지 않기 때문에 점수 기능을 변경한 후에도 시스템을 원활하게 사용할 수 있습니다.
src/flickr.js
에 래퍼를 작성하여 검색 대상을 Flickr에서 다른 서비스로 변경할 수도 있습니다.
@inproceedings{sato2022clear,
author = {Ryoma Sato},
title = {CLEAR: A Fully User-side Image Search System},
booktitle = {The 31st {ACM} International Conference on Information
and Knowledge Management, {CIKM}},
year = {2022},
}