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},
}