เครื่องมือค้นหารูปภาพฝั่งผู้ใช้เต็มรูปแบบ
บทความนี้อธิบาย 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
คำนวณคะแนน ยิ่งสูงยิ่งดี คุณสามารถลองใช้ฟังก์ชันอื่นๆ ได้ เช่น Gaussian kernel Math.exp(- emb1.squaredDifference(emb2).sum().dataSync()[0] / 1000)
เนื่องจาก CLEAR ไม่ต้องอาศัยเซิร์ฟเวอร์แบ็กเอนด์หรือดัชนีการค้นหา คุณจึงใช้ระบบได้อย่างราบรื่นหลังจากที่คุณเปลี่ยนฟังก์ชันคะแนน
คุณยังสามารถเปลี่ยนเป้าหมายการค้นหาจาก Flickr เป็นบริการอื่นๆ ได้ด้วยการเขียน wrapper ใน 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},
}