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