
在一次为电商平台清理库存图片的项目中,技术团队面对上万张商品图,仅靠肉眼比对根本不可能完成。恰巧公司引入了基于深度学习的AI去重模型,几分钟内便把相似度超过90%的图片归类,手动确认的工作量从数天骤降到数十分钟。
主流方法依赖感知哈希(perceptual hash)或卷积特征向量。前者通过对图像做降采样、灰度化、离散余弦变换后生成短码,计算汉明距离即可判断相似度;后者则让预训练的ResNet、EfficientNet等网络输出128维或256维特征,再用余弦相似度或欧氏距离进行聚类。实验数据显示,特征向量法在识别轻微裁剪、亮度变化的图片时误报率低于0.1%,而感知哈希在处理大批量低分辨率素材时速度可提升30%。
典型的自动化链路包括:
torchvision.transforms 将图片缩放至 224×224,保持宽高比。model.encode_image 生成特征向量。search 并设定阈值 0.85。import faiss, torch, clip, os
model, preprocess = clip.load("ViT-B/32")
index = faiss.IndexFlatL2(512)
vectors = []
paths = []
for f in os.listdir("imgs"):
img = preprocess(Image.open(os.path.join("imgs", f))).unsqueeze(0)
with torch.no_grad():
vec = model.encode_image(img).cpu().numpy()
vectors.append(vec)
paths.append(f)
index.add(np.vstack(vectors))
D, I = index.search(np.vstack(vectors), k=5)
# 根据 D、I 过滤相似度 > 0.85 的对
如果把这套流水线比作装修工序,AI 就是那把能在几秒内测量墙面平整度的激光仪——省时省力,却仍需人工把最终的细节抹平。
参与讨论
这套流水线像装修的激光仪,我看着AI精准测墙,手动抹平细节的画面超有戏 😂
我之前批量去重时,先把图片统一成JPEG再哈希,省了不少空间。
脚本里转换成PNG会不会影响原图质量,最好保留原格式吗?
如果担心隐私可以本地部署FAISS+CLIP,数据不出服务器。
感知哈希速度快,但细节差别识别太差。
用GPU跑CLIP真的飞起,我公司已经全套上线。
FAISS索引占内存大不大?
速度快,误报低,满意。
这模型有时候把不同颜色的衣服也算相似,笑死。
我之前用ImageHash,删了几百张重复图,累。
阈值0.85是经验值吗,怎么调更准?
看着AI把相似图挑出来,感觉像魔法。
这工具真省事,我直接把几千图秒删了。