Research

视觉抄袭检测

三层特征互补,抓「搬」也抓「抄」

PythonPyTorchCLIPCNN感知哈希

实机截图

三层特征对比表
01三层特征对比 —— 技术、抓取目标、原理
测试图样例
02实验测试图 —— 写实桥 vs 漫画桥 vs 猫
相似度热力图
03PHash / CNN / CLIP 两两相似度矩阵

核心亮点

🧬

三层特征互补

PHash 抓像素搬运、CNN 抓构图纹理、CLIP 抓语义概念,三层覆盖从「照搬」到「换皮重画」的全部抄袭形态。

🎓

对齐 ESWA'24 论文

复现《Integrating Conceptual and Visual Representations with Domain Expertise》的「概念表征 + 视觉表征」双路思路。

🔬

实验驱动的方法验证

两组对照实验,通过「实验一暴露缺陷 → 实验二重设计」的迭代,验证 CLIP 的语义表征优势。

核心思考

DESIGN & ENGINEERING
01

方法设计:为什么必须三层互补

问题

视觉抄袭有多种形态——像素级原样搬运、改色模糊、甚至「换皮重画」(构图相同但视觉完全不同)。单靠任何一层特征都有盲区:PHash 抓不到换皮,CNN 分不清「构图相似」和「创意抄袭」,CLIP 对像素级细微差异不敏感。

思考

抄袭检测的本质是「从照搬到换皮」的连续光谱,不能用单一度量覆盖。需要三层特征各抓一段:视觉底层(像素)、视觉高层(构图)、语义概念(含义)。三层互补,才能既抓「搬」又抓「抄」。

解决

设计三层特征:PHash 感知哈希(8×8 灰度指纹 + 汉明距离)抓像素搬运;CNN(MobileNet)提取高层向量 + 余弦相似度抓构图;CLIP(ViT-B/32)多模态嵌入抓语义概念。

PHash 感知哈希MobileNetCLIP (ViT-B/32)汉明距离 / 余弦相似度
方法设计:为什么必须三层互补 架构图
02

实验一:五种变换暴露设计缺陷

问题

构造原图(太阳+山+房子),做四种变换(复制/改色/模糊/换皮重画),测试三层特征的区分能力。结果发现 PHash 对换皮完全失效(汉明距离 26),而 CNN 和 CLIP 在换皮图上结果几乎一样(0.87 vs 0.87),拉不开差距。

思考

这不是算法的问题,是实验设计的问题——换皮图虽然颜色位置全换,但「太阳+山+房子」的构图骨架没变,而 CNN 看的就是骨架。要真正验证语义表征,必须构造「视觉完全不同、但语义相同」的图。

解决

重新设计实验:用「写实照片桥」vs「漫画桥」作为同主题、视觉完全不同的对比,用「猫」作为无关对照。

反思

这次迭代让我体会到科研中「实验设计」与「算法」同样重要——一个设计不当的实验,会得出误导性的结论。发现问题、修正设计,本身就是科研的核心能力。

对照实验设计PHash / CNN / CLIP 对比
实验一:五种变换暴露设计缺陷 架构图
03

实验二:照片 vs 漫画的决定性验证

问题

当两张图视觉上完全不同、但语义相同(都是桥)时,哪种特征能识别?这是区分「视觉表征」和「语义表征」的关键测试。

思考

如果 CLIP 能识别出「写实桥」和「漫画桥」是同一个东西,而 CNN 不能,就证明了 CLIP 的语义表征优势,也印证了「概念表征 + 视觉表征」必须结合。

解决

实验结果:写实桥 vs 漫画桥,CLIP 相似度 0.7538,CNN 仅 0.5944;写实桥 vs 猫(无关),两者都低分。CLIP 明显更高,决定性证明了语义表征的价值。

CLIP 语义表征CNN 视觉表征决定性实验
实验二:照片 vs 漫画的决定性验证 架构图
04

结论与下一步:补上「专家知识」

问题

三层特征各有盲区,互补之后仍不完整。ESWA'24 论文是「概念表征 + 视觉表征 + 领域专家知识」三路,本项目只完成了前两路。

思考

「领域专家知识」是设计领域特有的先验——比如设计师能凭经验判断「这是借鉴还是抄袭」。这一路的自动化,是真正有挑战的科研方向。

解决

已完成「视觉」和「概念」两路,验证了三层互补的有效性。「领域专家知识」作为下一步方向,向完整的 ESWA'24 框架靠拢。

反思

复现一篇顶会论文,让我完整走了一遍「理解方法 → 复现实验 → 发现缺陷 → 重设计 → 得出结论」的科研流程。这比单纯「跑通一个模型」收获大得多。

领域专家知识(下一步)ESWA'24 对齐
结论与下一步:补上「专家知识」 架构图

技术细节

语言Python
框架PyTorch
平台本地实验
CLIP (ViT-B/32)MobileNetPerceptual Hashingscikit-learn

三层特征提取:PHash(视觉底层)+ CNN(视觉高层)+ CLIP(语义概念)→ 相似度计算 → 抄袭判定(阈值 + 专家知识)。