PicQuery 项目介绍
PicQuery 是一个帮助用户使用自然语言搜索本地图片的应用程序,并且可以完全脱机运行。它的设计灵感来源于 Queryable 应用程序,主要优点包括不涉及隐私问题,支持中英文搜索,且完全免费没有任何应用内购买功能。
项目功能特色
- 完全离线运行:用户无需担心隐私外泄,因为图片的索引和搜索均在本地设备上进行。
- 快速响应:在搜索8000张以上的照片时,结果呈现时间少于1秒。
- 首次启动索引:用户打开应用程序时需要进行一次索引操作,此后便可以立即进行搜索。
安装使用指南
用户可以通过以下方式获取PicQuery应用:
- Google Play:在Google Play上搜索“PicQuery”即可下载。
- APK 下载:用户也可以从项目的GitHub发布页直接下载APK安装包。
对于iOS用户,则可以参考 Queryable 应用程序,该应用为PicQuery提供了灵感。
实现原理
PicQuery 应用程序依托于OpenAI的CLIP模型实现图像搜素功能。其工作流程如下:
- 将要搜索的图像使用图像编码器编码为向量,并存储在数据库中。
- 用户输入的搜索文本同样被编码为向量。
- 比较文本向量和图像向量之间的相似度,选出相似度最高的前几张图像作为查询结果。
构建与运行
构建项目需要获取量化后的CLIP模型文件。用户可以按照项目提供的jupyter notebook脚本逐步运行,当完成后会在./result
目录中得到所需的模型文件:
clip-image-int8.ort
clip-text-int8.ort
用户可以直接将这些文件放入应用程序目录的app\src\main\assets
下即可运行。
鸣谢
PicQuery 的开发得到了一些开发者社区的支持与帮助,特别感谢以下贡献者:
版权声明
PicQuery 项目是一个开源软件,根据MIT许可证发布,保留所有权利。
总体而言,PicQuery 是一个实用性强且简单易用的图片搜索工具,特别适合重视隐私的用户。