论文 VCP-CLIP: A visual context prompting model for zero-shot anomaly segmentation 提出了一种基于视觉上下文提示(VCP)的CLIP模型(VCP-CLIP),用于解决零样本异常分割(ZSAS)问题。
现有基于CLIP的方法与VCP-CLIP的对比。VCP-CLIP引入了Pre-VCP模块和Post-VCP模块,相较于现有基于CLIP的方法提供了显著的增强。(a) 现有基于CLIP的方法。(b) VCP-CLIP。
不同文本提示方法的比较。(a) 任务设置。(b) 手动定义的文本提示。(c) 设计的统一文本提示。(d) 设计的预视觉上下文提示。
主要贡献
提出VCP-CLIP模型:该模型通过视觉上下文提示来激活CLIP的异常语义感知能力,能够在有限的已知产品集上训练后,定位任何未知产品中的异常,即使产品类别未知。与现有的文本提示方法相比,VCP-CLIP利用视觉上下文提示来充分激活CLIP的异常语义感知能力。
引入视觉上下文信息:首次揭示了视觉上下文为ZSAS任务中的文本提示提供了额外信息。具体来说,设计了Pre-VCP和Post-VCP模块,分别利用全局和细粒度的图像特征来优化文本空间。
实验验证:在十个真实工业异常分割数据集上进行了广泛的实验,展示了VCP-CLIP在ZSAS任务中的最先进性能。
VCP-CLIP的框架。我们的方法通过使用Pre-VCP模块和Post-VCP模块,将更丰富的视觉知识融入文本空间,并实现文本特征和视觉特征之间的跨模态交互。
模型结构
Pre-VCP模块:通过引入全局图像特征来优化文本空间,使用深度文本提示(DTP)技术来细化文本空间,从而减少提示设计的成本。与基线模型相比,Pre-VCP模块使得从统一提示过渡到图像特定提示,显著降低了提示设计的成本。
Post-VCP模块:基于细粒度的视觉特征调整输出文本嵌入,增强不同模态特征的相互理解,进一步提升模型对新产品的泛化能力。Post-VCP模块通过调整输出文本嵌入来增强CLIP准确分割异常区域的能力。
实验
实验设置
数据集和评估指标:使用了包括MVTec-AD、VisA、BSD、GC、KSDD2、MSD、Road、RSDD、BTech、DAGM在内的十个工业异常分割数据集。由于VisA中的产品与其他数据集不重叠,使用VisA作为训练数据集来评估其他数据集的性能。对于VisA本身,在MVTec-AD上训练后进行评估。评估指标包括像素级AUROC(接收者操作特征曲线下面积)、PRO(每区域重叠)和AP(平均精度)。
实现细节:默认采用OpenAI预训练的CLIP模型(ViT-L-14-336),图像分辨率调整为518×518,使用Adam优化器,初始学习率为4e-5,训练10个epoch,批量大小为32。图像编码器包含24个transformer层,从第6、12、18和24层提取图像特征。可学习类别向量的长度r和每个文本编码器层中可学习文本嵌入的长度n分别设置为2和1。Post-VCP模块中的注意力头数M设置为8。不同异常图的融合权重α默认设置为0.75。
实验结果
与现有方法的对比:VCP-CLIP在所有评估指标上均优于其他方法,特别是在AP指标上表现突出。与训练自由的方法(如WinCLIP、AnVoL、SAA/SAA+)和需要训练的方法(如APRIL-GAN、CLIP-AD、AnomalyCLIP、AnomalyGPT)相比,VCP-CLIP展示了更好的性能。
与现有最先进方法的比较。(a, b, c) 分别表示像素级AUROC(%)、PRO(%)和AP(%)。用 † 标记的方法是无需训练的,而其他方法则需要训练。
定性分割结果。前五列使用的是来自MVTec-AD数据集的图像,最后五列使用的是来自VisA数据集的图像。
消融实验:
去除Pre-VCP和Post-VCP的影响:去除Post-VCP对性能的影响更大,说明Post-VCP在细粒度视觉特征的文本嵌入调整中起到了关键作用。
不同图像编码器层的特征影响:中间层(第12和18层)的图像特征对最终分割结果贡献更大,低层(第6层)特征过于低级,高层(第24层)特征过于抽象。综合考虑,采用第6、12、18和24层的特征。
文本提示设计的影响:不同状态词(如“perfect/flawed”)对性能影响不大,验证了模型对状态词的鲁棒性。默认使用的模板(“a photo of a [state] [z(x, v)]”)整体表现优于另一种模板(“this is a [state] photo of [z(x, v)]”)。
不同预训练模型和分辨率的影响:适度增加输入图像分辨率有助于更精确的分割,但偏离原始预训练分辨率(336²到798²)会导致模型性能下降。ViT-L-14-336在所有预训练模型中表现最佳,因此选择其作为默认骨干网络。
结论
VCP-CLIP通过将丰富的视觉知识引入文本空间,并实现文本和视觉特征的跨模态交互,能够在没有任何先验知识的情况下直接对新产品进行异常分割。实验结果表明,VCP-CLIP在ZSAS任务中表现出色。
限制
过度检测:对于一些小的异常区域,可能会导致过度检测,分割结果通常比真实值稍大。这可能是由于预训练骨干网络(ViT-L-14-336)使用的小输入分辨率(336²)和大补丁大小(14²)所致。
特定异常区域定位不准确:对于必须依赖正常图像进行识别的异常区域,定位不准确。这是因为在ZSAS任务设置中,VCP-CLIP直接对新产品进行异常分割,而不引入任何正常图像的先验信息。未来计划探索利用少样本技术来解决这一问题,利用VCP-CLIP的基础工作。
相关信息
代码:https://github.com/xiaozhen228/vcp-clip
论文:https://arxiv.org/abs/2407.12276v1