SuperCLIP 从0到1学习记录

SuperCLIP 从0到1学习记录 一、CLIP 在异常检测中的核心思想通俗版在介绍 SuperCLIP 之前我们先用一个非常直观的方式理解 CLIP 是如何做异常检测的。1. CLIP 本质在做什么CLIP 做的事情可以用一句话概括把图像和文本映射到同一个特征空间然后计算它们的相似度可以拆成三个步骤1图像 → 特征输入一张图片比如瓶盖通过图像编码器ResNet / ViT得到一个向量image → Image Encoder → image feature2文本 → 特征输入一段描述文本a normal bottle capa defective bottle cap通过文本编码器得到对应的向量text → Text Encoder → text feature3相似度判断异常将图像特征和文本特征做相似度计算通常是余弦相似度如果更接近normal→ 判为正常如果更接近defective→ 判为异常2. 用一句话理解 CLIP 异常检测CLIP 并不是“检测异常”而是在做“语义匹配”也就是说模型在回答的问题其实是“这张图更像哪一段描述”3. 示例输入图像对比文本人people狗dog最终通过相似度sim(image, normal_text) vs sim(image, defect_text)来决定类别。4. 示意图 关键词共享特征空间 相似度二、SuperCLIP 做了什么改进核心理解了 CLIP 之后我们来看 SuperCLIP 为什么更适合做异常检测。1. 为什么普通 CLIP 不够虽然 CLIP 很强但在工业缺陷检测中存在明显问题❌ 问题1文本太“粗糙”我们通常只用normalanomalous 但这种表达存在问题语义过于宽泛不同异常类型无法区分❌ 问题2缺乏细粒度感知能力CLIP 更擅长 整体语义理解但异常检测往往需要关注局部细节区分微小差异 导致模型对异常不敏感❌ 问题3缺乏任务适配CLIP 是在大规模通用数据上训练的 不具备特定领域知识在专业场景中容易出现语义偏差特征对齐不准确2. SuperCLIP 的核心思想一句话总结通过细粒度语义 监督优化让 CLIP 更适配具体任务1细粒度文本建模Fine-grained PromptSuperCLIP 不再使用泛化描述而是构建更具体、更结构化的文本表达例如通用表达不涉及你的数据描述不同类型的异常特征引入属性级描述形状、结构、状态等 本质提升普通 CLIPSuperCLIP粗语义细语义单一描述多样描述2引入监督信息SuperCLIP 会利用标注数据 对图像-文本关系进行优化使模型学会哪些语义对应正常哪些语义对应异常 本质变化从“通用语义对齐”→ “任务驱动语义对齐”3强化图像-文本对齐能力通过训练优化 让正确匹配的图像-文本距离更近 错误匹配更远从而在特征空间中形成更清晰的判别边界3. 对比示意图普通 CLIPimage ─────→ feature ─────┐├──→ 相似度 → 判断text(anomaly) ───→ feature ─ ┘ 问题语义模糊SuperCLIPimage ─────→ feature ─────────────┐│text(细粒度描述1) ─→ feature ─┐ │├──→ 对齐优化 → 判别更清晰text(细粒度描述2) → feature ──┘ ││更结构化的特征空间4. 一句话总结SuperCLIP 的核心在于通过引入细粒度语义和监督信息使 CLIP 从“通用理解模型”转变为“任务感知模型”。