如何用 Immich 重复工具审阅并合并重复照片的元数据
2026/9/11 22:28:03 网站建设 项目流程

如何用 Immich 重复工具审阅并合并重复照片的元数据

【免费下载链接】immichHigh performance self-hosted photo and video management solution.项目地址: https://gitcode.com/GitHub_Trending/im/immich

如果你通过多台设备、多次备份或外部导入在 Immich 中积累了大量视觉相似的照片,需要手动判断哪些该保留、哪些该移除,并且希望被移除照片上的收藏、评分、描述、标签等元数据能集中到保留的照片上,那么 Web 界面里的"Review duplicates"工具就是完成这件事的路径。这篇文章基于官方文档说明完整流程:重复组如何产生、如何在审阅页选择保留项、元数据合并的触发条件,以及解决(resolve)之后如何判断结果。前提是你已经按 安装文档 部署了 Immich 并导入了资产。

重复组是怎么产生的:先确认检测任务已完成

重复检测依赖机器学习,默认启用,无需额外安装组件(功能文档)。它不是上传时立即完成的,而是随资产处理流水线运行,顺序为:

资产上传 → 元数据提取 → 存储模板迁移 → 缩略图生成 → Smart Search → 重复检测

重复检测排在 Smart Search 之后(Jobs and Workers)。只有资产被处理并加入某个重复组(duplicate group)后,才会出现在审阅页。

在开始审阅之前,建议先到Administration → Jobs页面确认检测类任务已经跑完,避免只处理了一部分资产就下"没有重复"的结论。周期性任务(如 nightly 批次)的运行时间可以在System Settings → Nightly Tasks Settings中调整。

如果检测结果偏少或偏多,可以在System Settings → Machine Learning Settings → Duplicate Detection中调整Maximum detection distance:它是判定两张图像视为重复的最大距离,取值范围 0.001–0.1。数值越大检出的重复越多,但可能出现误报(System Settings 文档)。

进入审阅页并选择保留与移除

在 Web 界面打开Utilities → Review duplicates(页面路径utilities/duplicates)。该页面按重复组列出资产,允许你逐组选择哪些资产保留(keep)、哪些移入回收(trash)。文档明确的操作语义只有"保留/移入回收"两种,不存在物理删除按钮路径。

使用 "Deduplicate All" 或查看建议时,Immich 会自动预选要保留的资产,依据两个条件(功能文档):

  1. 文件大小(字节)——更大的文件优先,因为通常质量更高;
  2. EXIF 数据量——元数据更多的资产优先。

预选只是起点,仍需要人工核对。当一组中保留了多个资产时,界面提供把保留资产自动放进一个堆叠(stack)的选项,方便后续查看而不必逐个处理。

审阅页面还内置了键盘快捷键(快捷键定义见前端路由源码web/src/routes/(user)/utilities/duplicates/):

按键作用
a全选当前组的重复资产
d取消全选
s查看(打开预览)
⇧ + C解决当前组(resolve)
⇧ + S堆叠当前组(stack)

元数据合并的触发条件与同步范围

这是审阅时最需要想清楚的一步:元数据同步只在一个精确条件下发生——组内恰好保留 1 个资产,且至少移入回收 1 个资产。

  • 保留恰好 1 个 + 回收 ≥1 个:被回收资产的元数据自动同步到保留资产。
  • 保留多个资产:不发生任何合并。这些资产保留各自的元数据,只是被移出重复组(此时可选择堆叠)。

也就是说,如果你的目的是把散落在多张重复照片上的元数据集中起来,必须只留下 1 张。满足条件时同步的内容如下(功能文档):

元数据同步规则
Album(相册)保留资产会加入组内其他资产所属的每一个相册
Favorite(收藏)组内任一资产被收藏,保留资产也会被加入收藏
Rating(评分)取组内最高评分同步到保留资产
Description(描述)各资产的描述合并后写入保留资产
Visibility(可见性)对保留资产应用最严格的可见性
Location(位置)仅当组内所有含地理坐标的资产坐标相同时才复制
Tag(标签)合并组内所有资产的标签并应用到保留资产

注意两条边界:Location 只有在坐标完全一致时才复制,不同坐标不会"取其一";Rating 是取最高值而不是求和或平均。

解决之后如何判断结果

点击解决(⇧ + C或界面上的 Resolve 按钮)后,按文档与前端逻辑判断结果:

  • 成功:当前组从重复组列表中移除,页面自动跳到下一个组;若本组有资产被移入回收,界面会弹出提示,说明被移到回收站(或已被永久删除)的资产数量。
  • 失败:页面给出"unable to resolve duplicate"错误提示,组仍保留在列表中,可检查后重试。
  • 被处理资产的去向:移入回收的资产是否进入可恢复的回收站,取决于实例是否启用回收站(trash)功能——未启用时,被标记的资产是永久删除而不是移入回收站(该行为由前端源码中的 trash 功能开关决定)。如果你的实例未开启回收站,解决前请确认保留选择无误。

解决完成后,可以回到Administration → Jobs页面复核任务状态,或再次打开审阅页确认该组已不在列表中。

限制与注意

  • 检测基于视觉相似(机器学习的 CLIP embeddings 距离),不是文件哈希比对;哈希级别的去重属于上传时的另一套逻辑(见 FAQ 中关于外部库去重的说明),两者不要混淆。
  • 元数据合并是单向的:被回收资产的元数据进入保留资产后,保留资产自身的元数据不会反向扩散到组外。
  • "保留多个资产"路径只做移出重复组/可选堆叠,不会合并相册、收藏、描述和标签——这是文档明确给出的行为,不是遗漏。
  • 审阅与解决都发生在 Web 界面;文档没有提供命令行或 API 批量入口供这个流程使用。

【免费下载链接】immichHigh performance self-hosted photo and video management solution.项目地址: https://gitcode.com/GitHub_Trending/im/immich

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询