Skip to content

Releases: NaughtDZ/ImageDB

ImageDB v1.1.0 — 以图搜图 + 界面整理

Choose a tag to compare

@NaughtDZ NaughtDZ released this 17 Oct 12:06

新增:以图搜图 🔍

顶栏「🔍 以图搜图」:拖入、Ctrl+V 粘贴或选择一张图,在库里找相同或相近的素材。查询图只在内存里比对,不落盘、不上传网络。

模式 判定方式 门槛
完全相同 文件内容 blake2b 指纹 无(同一份字节)
视觉近似 pHash + aHash 平均汉明距离 0–16 位可调
标签相似 标签 Jaccard(交集÷并集) 0–90% 可调
  • 上传图走标签相似时,会调用已配置的打标工具(wd14 / cl-tagger)现打一次标签,只写临时文件并立刻删除;
  • 也可以对库内图片「以这张找相似」,直接用它已有的标签;
  • 不引入任何新模型:不下载 CLIP、不需要 GPU 推理。

索引(可重建缓存)

  • 索引存在 media_hashes 表里(外键级联删除),删掉只是下次搜索变慢,不影响任何媒体记录;
  • 建索引只读文件:读不到的只计入失败,绝不标记缺片、不改任何记录;
  • 断点续跑(按大小/修改时间跳过)+ 随时停止(当前这张处理完就停,已写入的保留);
  • 滚动窗口并发读取(默认 4 线程,写库仍单线程):本地实测 200 张 3.02s → 1.34s;
  • 进度逐张更新,带当前文件名、速度、剩余时间。

索引健壮性修复

  • 用滚动窗口替代整页屏障:一张超大图不再让整批进度停住;
  • 超过 4000 万像素 → 串行解码(避免多线程同时吃几百 MB);超过 4 亿像素 → 计数跳过;
  • 失败改为结构化原因并落盘清单:unreadable(读不到)/ decode(解不开)/ empty / unsupported(如 svg);
    • 前 20 条打 WARNING,结束时输出汇总;
    • 清单写入 data/similar_index_failures.txt,可直接用记事本查看是哪几张、为什么;
  • PIL 的 DecompressionBomb 警告不再刷屏(上限提高到 4 亿像素,由我们自己的跳过逻辑明确处理)。

界面结构整理

  • 顶栏收敛为 +导入|🔍以图搜图|⚙|⋯,重新扫描/恢复校验收进「⋯」;
  • 工具栏拆成常驻行与仅在选中时出现的操作行(没选中时不再有一排“删除/移动”亮着);
  • 低频项(导出/导入标签、迁移自检、回收站)收进「⋯」;图标去重(♻ 原本被三个功能共用);
  • 实测:1280/1440/1680 宽度下不再横向溢出(此前分别溢出 524 / 358 / 124 px,1440 时 4 个按钮跑到窗口外点不到);未选中时工具栏 169 px → 48 px。

测试

  • Python 隔离回归 88 项通过(新增 17 项覆盖检索、索引、失败诊断);
  • 前端 Node VM 回归 22 项通过;
  • 真实浏览器交互回归通过(分页、请求乱序、局部选中、标签编辑、打标弹窗重连、以图搜图全流程)。

升级说明

  1. 退出并重新启动程序(Python 改动,仅刷新浏览器不生效);
  2. 首次启动会自动创建空表 media_hashes;
  3. 打开「🔍 以图搜图」→「建立索引」。45 万张需要跑一段时间(网络盘实测聚合约 8.5 MB/s、单张中位 50 ms,单线程约 22 小时),可挂着跑、也可只给常用目录建,期间程序照常使用;
  4. 没有数据库结构破坏性变更,不需要重扫,也不需要备份之外的任何手工操作。

已知弱项:旋转、镜像、大幅裁切后哈希变化较大(旋转 3° 距离约 9–15),这类需要放宽门槛。

V1.0.6 性能优化

Choose a tag to compare

@NaughtDZ NaughtDZ released this 16 Oct 17:00

Full Changelog: V1.0.5...V1.0.6

V1.0.5 丢失图片和数据库判读逻辑修复

Choose a tag to compare

@NaughtDZ NaughtDZ released this 11 Sep 08:19

Full Changelog: V1.0.4...V1.0.5

V1.0.4 库逻辑更新

Choose a tag to compare

@NaughtDZ NaughtDZ released this 11 Sep 01:20

Full Changelog: V1.0.3...V1.0.4

V1.0.3 打标功能更新

Choose a tag to compare

@NaughtDZ NaughtDZ released this 02 Sep 10:51

Full Changelog: V1.0.2...V1.0.3

V1.0.2 易用性增强和迁移功能追加

Choose a tag to compare

@NaughtDZ NaughtDZ released this 31 Aug 00:34

Full Changelog: V1.0.1...V1.0.2

v1.0.1 各种功能改善和bug修复

Choose a tag to compare

@NaughtDZ NaughtDZ released this 30 Aug 14:35

Full Changelog: V1...V1.0.1

V1.0 OUT!

Choose a tag to compare

@NaughtDZ NaughtDZ released this 28 Aug 15:58

I am using this version,is good.

Full Changelog: https://github.com/NaughtDZ/ImageDB/commits/V1