2nd Place Winning Solution for the CVPR2023 Visual Anomaly and Novelty Detection Challenge: Multimodal Prompting for Data-centric Anomaly Detection
论文链接:https://arxiv.org/pdf/2306.09067.pdf
Github链接: https://github.com/caoyunkang/Segment-Any-Anomaly
预备知识
Zero-Shot
模仿人类的推理过程,使得计算机具有识别新事物的能力。
参考链接:https://www.zhihu.com/tardis/zm/art/34656727?source_id=1005
Prompt
给模型一些提示(Prompt),从而根据输入给到相应的输出。
举例说明:目前比较火的GPT,输入一段中文,你需要告诉它你想要做什么事,比如说翻译,润色等。这时这个给出的翻译,润色等指令就是prompt。
关于prompt更详细的解释可以参考以下链接:
https://zhuanlan.zhihu.com/p/395115779
前言
SAA:使用一个单纯的文字提示(anomaly),由于提示的模糊性,定位出的效果有误。
SAA+:使用多模态提示:领域专家知识和目标图像背景,成功将过长的蜡烛芯进行定位。
Zero-shot Anomaly Segmentation (ZSAS)
SAA
首先,将输入图片和提示送入异常区域生成器(DINO),得到bounding-box和其对应的置信度分数,之后送入异常区域精炼器(SAM),得到像素级的分割掩码和其对应的置信度分数。具体表达公式如下:
SAA+
网络框架
首先,将图片和提示送入SAA,得到分割掩码和对应的分数,然后通过,,三个提示,进一步优化SAA输出的分割掩码和分数,最终成功定位。
Domain Expert Knowledge
Language Prompt
作用:详细地描述异常状态
分为类别无关和类别特定两部分
类别无关:异常情况不统一的时候,使用比较宽泛的提示:anomaly等
类别特定:异常情况统一,即:均在蜡烛上,只是过长的蜡烛芯才是异常的:overlong wick。
Output:anomaly region candidates R and corresponding confidence scores S
Property Prompt
Anomaly Location:潜在异常区域和被检查物体之间的交集应该大于某一个阈值
阈值:θ_IOU
Anomaly Area:异常情况应小于被检查对象的大小
阈值:θ_area
这里的阈值靠数据集来确定,不同数据集情况不同,具体数值参考代码。
Target Image Context
Saliency Prompt
人判断一个物体异常会参考物体周围的情况,可知,周围像素的相似度和异常情况相关,这里使用显著性相似度判断异常的可能性。
f表示在位置为(i,j)的像素最近邻的像素,<,>表示余弦相似度。
Confidence Prompt
一张图片中异常的个数在一定范围内,选用置信度分数排名前K个的分割掩码和分数作为。
实验
F1分数
实验