本地图片语义搜索
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_5a849fc6/local-img-search。
技能介绍
文件名记不住时,靠语义找图
本地图库往往按目录和文件名组织,你想找的是「海边日落」「带 Logo 的截图」这类概念,而不是 IMG_20230405.jpg。本技能把全盘图片建成可检索的向量索引,用自然语言关键词(中英文均可)在本地做相似度排序,结果写出路径与分数,不依赖云相册或第三方图床。
核心机制与使用流程
- 特征提取:采用
OFA-Sys/chinese-clip-vit-base-patch16,将每张图编码为 512 维向量;首次运行会从 Hugging Face 拉取模型(约 400MB)并缓存在~/.cache/huggingface/。 - 索引与检索:向量存入 FAISS;查询词同样经 CLIP 编码,在向量空间里做最近邻搜索。
- 建库与更新:首次需扫描指定盘符下全部图片并建索引(耗时与图片量成正比,资料中示例为多盘符全扫约两小时量级);之后可用增量模式,只处理索引中不存在的新文件,通常几分钟内完成。
配置集中在 scripts/config.py(如批大小 BATCH_SIZE、扫描范围等)。可选 GPU 加速;纯 CPU 在较低配置机器上也有验证记录。
边界与注意点
- 索引与模型都占磁盘:索引规模约 1GB 量级(视图片数量而定),内存建议 8GB 以上;内存紧张时应减小批处理大小。
- 语义搜索反映的是视觉—文本对齐的相似度,不是 OCR 全文检索;对极细粒度文字内容可能不如专用文档搜索。
- 完全重建索引需删除
image_db/后重新执行全量扫描;国内环境模型下载失败时需自行配置镜像源。
使用场景
- 多块硬盘里堆了上万张素材,只记得画面是「白底产品图」或「带 Logo 的横幅」,需要一次性列出匹配文件路径与相似度。
- 写复盘文档时要找某类历史截图(如错误弹窗、设置页),文件名全是 IMG 编号,只能靠中英文描述在本地检索。
- 每次从相机或手机拷入新图后,只想给新增文件更新向量索引,避免再跑两小时的全盘扫描。
- 整理参考图或去重前,用英文关键词(如 sunset beach)在本地图库里按视觉语义筛出候选图片路径。
适合人员
- 在 Windows 多盘符存放大量平面与 UI 素材、平时靠画面内容而非目录结构找图的设计师
- 维护本地截图与录屏素材库、需要按界面语义检索历史缺陷截图的测试或 QA 工程师
- 个人相册与工作导出图混在同一批盘符、想按「证件照」「会议白板」等描述导出路径清单的个体用户
- 做短视频或图文运营、本地囤积配图却不愿上传云端、需中英文关键词搜图的创作者