072、千万级图片去重怎样快?二阶段召回:感知哈希粗筛 + 局部特征精排方案一、从一次线上事故说起去年双十一大促前夜,我盯着监控面板上飙升的Redis内存使用率,CPU负载曲线像心电图一样剧烈抖动。排查发现,用户上传的图片去重服务在高峰期每秒要处理近万张图片,全量计算局部特征(SIFT)的代价让系统直接崩了。更讽刺的是,很多重复图片只是加了水印、调了滤镜,SIFT特征匹配耗时却和完全不同图片一样长。那晚我蹲在机房,一边重启服务一边想:能不能先快速筛掉明显不同的图片,只对疑似重复的做精细匹配?这个思路后来演变成了“二阶段召回”架构——感知哈希粗筛 + 局部特征精排。今天就把这套方案的工程落地细节掰开揉碎讲清楚。二、第一阶段:感知哈希粗筛——用“指纹”快速排除90%无关图片2.1 为什么选感知哈希而不是传统哈希?传统MD5/SHA256对像素级变化极其敏感,一张图片旋转1度、压缩质量从95%降到90%,哈希值就完全变了。感知哈希(pHash)的核心思想是:两张视觉相似的图片,它们的哈希值在汉明距离上应该很近。我踩过的坑:早期用aHash(平均哈希),虽然快但抗干扰能力差,加个水印就判为不同。后来换成dHash(差异哈希),速度比pHash快30%,但精度略低。最终线上方案是pHash + 汉明距离阈值,在速度和精度之间找到了平衡点。
072、千万级图片去重怎样快?二阶段召回:感知哈希粗筛 + 局部特征精排方案
072、千万级图片去重怎样快?二阶段召回:感知哈希粗筛 + 局部特征精排方案一、从一次线上事故说起去年双十一大促前夜,我盯着监控面板上飙升的Redis内存使用率,CPU负载曲线像心电图一样剧烈抖动。排查发现,用户上传的图片去重服务在高峰期每秒要处理近万张图片,全量计算局部特征(SIFT)的代价让系统直接崩了。更讽刺的是,很多重复图片只是加了水印、调了滤镜,SIFT特征匹配耗时却和完全不同图片一样长。那晚我蹲在机房,一边重启服务一边想:能不能先快速筛掉明显不同的图片,只对疑似重复的做精细匹配?这个思路后来演变成了“二阶段召回”架构——感知哈希粗筛 + 局部特征精排。今天就把这套方案的工程落地细节掰开揉碎讲清楚。二、第一阶段:感知哈希粗筛——用“指纹”快速排除90%无关图片2.1 为什么选感知哈希而不是传统哈希?传统MD5/SHA256对像素级变化极其敏感,一张图片旋转1度、压缩质量从95%降到90%,哈希值就完全变了。感知哈希(pHash)的核心思想是:两张视觉相似的图片,它们的哈希值在汉明距离上应该很近。我踩过的坑:早期用aHash(平均哈希),虽然快但抗干扰能力差,加个水印就判为不同。后来换成dHash(差异哈希),速度比pHash快30%,但精度略低。最终线上方案是pHash + 汉明距离阈值,在速度和精度之间找到了平衡点。
相关文章
书匠策AI:课程论文的“外挂“已上线,再也不用对着空白文档发呆了
各位还在和课程论文死磕的同学们,今天这篇内容,建议你先收藏再看完。 打开书匠策AI官网 官网直达:www.shujiangce.com*,你会发现一个专门为课程论文量身打造的功能模块。注意,不是那种"万能写作"的套路模板…
Playnite终极指南:免费开源游戏库管理器,统一管理20+平台游戏
Playnite终极指南:免费开源游戏库管理器,统一管理20平台游戏 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games…
LinkSwift:深度解析九大网盘直链下载助手的技术架构与高效部署指南
LinkSwift:深度解析九大网盘直链下载助手的技术架构与高效部署指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动…
抖音批量下载助手:3分钟掌握全自动视频保存的终极方案
抖音批量下载助手:3分钟掌握全自动视频保存的终极方案 【免费下载链接】douyinhelper 抖音批量下载助手 项目地址: https://gitcode.com/gh_mirrors/do/douyinhelper 还在为逐个下载抖音视频而耗费大量时间吗?抖音批量下载助手正是你需要的解决方…
5步掌握AMD Ryzen调试神器:SMUDebugTool终极使用指南
5步掌握AMD Ryzen调试神器:SMUDebugTool终极使用指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://git…
【监管新规倒计时30天】:Gemini模型可解释性(XAI)改造迫在眉睫,附银保监认证SHAP可视化模板
更多请点击: https://codechina.net 第一章:Gemini信用评估模型可解释性改造的监管倒逼逻辑 全球金融监管框架正经历从“结果合规”向“过程透明”的范式迁移。欧盟《人工智能法案》(AI Act)明确将高风险信贷模型列为“透明度义…
基于Arduino的Altair 8800仿真器:亲手复活个人计算机的起点
1. 项目概述:在Arduino上复活计算机历史的里程碑如果你对个人计算机的起源感到好奇,或者想亲手体验一下1975年的程序员是如何与机器“对话”的,那么这个基于Arduino的Altair 8800仿真器项目,可能就是为你准备的。它不是一个简单的…
[分享]AUV剪辑 无广告、轻量化、全功能剪辑
【资源名称】:AUV剪辑 【资源大小】:80MB 【资源版本】:1.2 【测试机型】:vivo S15e 【资源介绍】: 核心功能全覆盖 视频剪切裁剪:精准截取片段,轻松去掉多余内容 多视频自由拼接&…
Gemini安全合规红线清单(GDPR/等保2.0/金融信创三重校验版),今日起生效的3项强制变更
更多请点击: https://codechina.net 第一章:Gemini安全合规红线清单(GDPR/等保2.0/金融信创三重校验版),今日起生效的3项强制变更 立即生效的三项强制性变更 自即日起,所有接入 Gemini 企业级 API 的生产…
Win10/Win11下Realtek 8188GU网卡驱动感叹号?别急着扔,试试这个手动安装的野路子
Realtek 8188GU网卡驱动故障深度修复指南:从原理到实战当设备管理器里那个顽固的黄色感叹号挥之不去,而你已经尝试了所有"标准操作"——Windows自动更新、第三方驱动工具、甚至重启大法——却依然无济于事时,是时候换个思路了。这篇…
AnolisOS 8.8安装源配置踩坑实录:从‘设置基础软件仓库时出错’到成功联网的保姆级指南
AnolisOS 8.8安装源配置实战指南:从诊断到解决方案的全流程解析当你在安装AnolisOS 8.8时遇到"设置基础软件仓库时出错"的提示,这通常意味着系统无法访问或识别安装源。这个问题看似简单,但背后可能涉及网络配置、镜像选择、启动参…
基于树莓派Pico的反应速度测试游戏:从GPIO编程到状态机实战
1. 项目概述与核心思路最近在整理工作室的电子元件,翻出来几个闲置的街机按钮和一块树莓派Pico,灵机一动,决定做个简单又有趣的反应速度测试游戏。这个项目非常适合想入门嵌入式开发的朋友,它不涉及复杂的传感器和通信协议&#x…
Win10/Win11下Realtek 8188GU网卡驱动感叹号?别急着扔,试试这个手动安装的野路子
Realtek 8188GU网卡驱动故障深度修复指南:从原理到实战当设备管理器里那个顽固的黄色感叹号挥之不去,而你已经尝试了所有"标准操作"——Windows自动更新、第三方驱动工具、甚至重启大法——却依然无济于事时,是时候换个思路了。这篇…
AnolisOS 8.8安装源配置踩坑实录:从‘设置基础软件仓库时出错’到成功联网的保姆级指南
AnolisOS 8.8安装源配置实战指南:从诊断到解决方案的全流程解析当你在安装AnolisOS 8.8时遇到"设置基础软件仓库时出错"的提示,这通常意味着系统无法访问或识别安装源。这个问题看似简单,但背后可能涉及网络配置、镜像选择、启动参…
基于树莓派Pico的反应速度测试游戏:从GPIO编程到状态机实战
1. 项目概述与核心思路最近在整理工作室的电子元件,翻出来几个闲置的街机按钮和一块树莓派Pico,灵机一动,决定做个简单又有趣的反应速度测试游戏。这个项目非常适合想入门嵌入式开发的朋友,它不涉及复杂的传感器和通信协议&#x…
MPC-BE:基于DirectShow架构的专业级开源媒体播放解决方案
MPC-BE:基于DirectShow架构的专业级开源媒体播放解决方案 【免费下载链接】MPC-BE MPC-BE – универсальный проигрыватель аудио и видеофайлов для операционной системы Windows. 项目地址:…
如何快速计算3D模型体积和重量:STL-Volume-Model-Calculator终极指南
如何快速计算3D模型体积和重量:STL-Volume-Model-Calculator终极指南 【免费下载链接】STL-Volume-Model-Calculator STL Volume Model Calculator Python 项目地址: https://gitcode.com/gh_mirrors/st/STL-Volume-Model-Calculator 你是否曾经为3D打印项目…
通过Taotoken CLI工具一键配置团队开发环境与模型密钥
通过Taotoken CLI工具一键配置团队开发环境与模型密钥 1. CLI工具安装与基本使用 Taotoken提供的CLI工具可通过npm全局安装或直接使用npx运行。对于需要频繁使用CLI的团队,推荐全局安装: npm install -g taotoken/taotoken对于临时使用或项目级配置&a…