Mesin pencari gambar yang sepenuhnya berada di sisi pengguna.
Makalah ini menjelaskan CLEAR secara rinci.
arXiv: https://arxiv.org/abs/2206.08521
https://clear.joisino.net/
Antarmuka CLEAR. Unggah gambar, lalu CLEAR mengambil gambar serupa dari Flickr. Fungsionalitas CLEAR sederhana. Hal yang paling menonjol terletak pada bagaimana hal ini direalisasikan dan betapa mudahnya penerapannya.
$ git clone [email protected]:joisino/clear.git
$ cd clear
$ echo 'REACT_APP_FLICKR_KEY="0123456789abcdef"' > .env.local
$ npm install
$ npm start
Atau Anda bisa mencobanya dengan 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"
Ganti 0123456789abcdef
dengan kunci API Flickr. Anda bisa mendapatkan kunci di https://www.flickr.com/services/api/misc.api_keys.html. Dibutuhkan beberapa menit untuk mendapatkan kunci.
Ekstraktor fitur dan fungsi skor didefinisikan dalam src/score.js
.
getFeature
menghitung vektor fitur untuk gambar sumber dan gambar yang diambil. Lapisan penyematan didefinisikan dalam embeddingName
. Anda dapat mencoba lapisan lain, misalnya 'module_apply_default/MobilenetV2/Logits/AvgPool'
.embs2score
menghitung skor. Semakin tinggi semakin baik. Anda dapat mencoba fungsi lain, misalnya kernel Gaussian Math.exp(- emb1.squaredDifference(emb2).sum().dataSync()[0] / 1000)
.Karena CLEAR tidak bergantung pada server backend atau indeks pencarian apa pun, Anda dapat menggunakan sistem dengan lancar setelah Anda mengubah fungsi skor.
Anda juga dapat mengubah target pencarian dari Flickr ke layanan lain dengan menulis wrapper di src/flickr.js
.
@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},
}