# PicQuery
中文| English
🔍 使用自然语言搜索本地图片,完全离线运行。例如,“桌子上的笔记本电脑”、“海边的日落”、“草丛中的小猫”等。
- 完全免费,无应用内购买
- 支持中英文
- 图片的索引和搜索完全离线进行,无需担心隐私
- 当搜索8000多张照片时,显示结果少于1秒
- 第一次启动时等待索引,随后立即搜索
安装
🍎 对于iOS用户,请参考_Queryable_ (代码),这是本应用程序的灵感来源,由@mazzzystar开发。
实现
感谢@mazzzystar和@Young-Flash在开发过程中的帮助。讨论可见这里。
PicQuery 由OpenAI的CLIP模型驱动。
首先,将要搜索的图片使用图片编码器编码成向量并存储在数据库中。用户在搜索时提供的文本也被编码成向量。然后,编码后的文本向量与索引的图片向量进行比较,以计算相似度。相似度最高的前K张图片被选为查询结果。
构建和运行
要构建这个项目,您需要获得一个量化的CLIP模型。
逐步运行这个jupyter notebook中的脚本。当您运行到_"You are done"_部分时,您应该在./result
目录中得到以下模型文件:
clip-image-int8.ort
clip-text-int8.ort
如果您不想运行脚本,可以直接从Google Drive下载它们。
将它们放入app\src\main\assets
目录中,您就可以开始了。
致谢
许可证
此项目是MIT许可证下的开源项目。版权所有。