我用 TraeCode 落地图片相似检测工具

:bullseye: 本次要攻克的业务目标

业务库中积累了大量素材资源,存在不少素材复用问题:有的图片完全一致只是画质存在差异,也有经过裁剪微调、搭配不同文案,但视觉本源相同的相似素材。

希望搭建一套完整的图片查重工具,准备两套可以互相校验的检测路线。一套主打轻量便捷,用于快速排查重复内容;另一套做更深层的语义相似识别。工具要支持增量处理,能够灵活调整判定松紧度,检测结果可以导出报表,同时落库保存,辅助完成素材的数据清洗工作。

:man_technologist: 我的背景与项目初衷

我是一名有后端开发经验的工程师,日常经常接触数据治理相关工作。之前写过简单的图片比对 Demo,但没有完整实现过「特征提取、近邻检索聚类、结果导出、数据持久化」整套工程流程。

如果全部从零手写,需要调研图像算法、向量检索库、并发拉取、断点续跑等诸多细节,投入成本很高。希望借助 TraeCode,快速把两套图片比对方案落地,产出一套可直接运行的业务工具,解决真实业务里素材重复的问题。

:writing_hand: 在调试中摸索高效的使用方式

一开始只是笼统描述整体需求,生成的代码只完成了最基础的图片对比逻辑,缺少并发拉取、失败重试、跳过已处理数据、分组聚类这类工程能力。

后面我改变了沟通思路,直接把业务说明、数据表信息、判定规则完整提供,明确配置方式、命令行参数、输出格式等各类约束。遇到逻辑缺陷的时候,把问题现象和业务要求一并给到,推动修正;安全层面,明确禁止硬编码密钥,统一从环境配置文件读取连接信息。

调试阶段优先拿少量样本跑通流程,确认逻辑没问题之后,再执行全量任务。慢慢摸索出技巧:不要只讲大方向,把参考资料、规则标准、报错信息一起提交迭代,效率会提升很多。当整套提取、检索脚本,公共数据库模块、配置模板全部成型,我才感受到这套协作方式的价值。

:white_check_mark: 交付成果 & 给使用者的小忠告

最终完成双路线的图片相似检测工具。轻量方案适合日常快速查重;深度向量方案,可以识别经过裁剪、改文案的同源图片。工具支持断点续跑、失败任务重试,可自由调整相似度判定标准;会输出明细报表,同时把特征与匹配结果存入数据库,两套方案的结果能够交叉核对。

给大家的建议:开发算法结合工程的工具,尽量把业务文档、判定规则、输入输出约束同步给到 TraeCode,一定要先用小样本验证逻辑,再处理大批量数据,可以避开很多隐藏问题。

2 个赞