Vision Foundation Model Embedding-Based Semantic Anomaly Detection
论文摘要
Semantic anomalies are contextually invalid or unusual combinations of familiar visual elements that can cause undefined behavior and failures in system-level reasoning for autonomous systems. This work explores semantic anomaly detection by leveraging the semantic priors of state-of-the-art vision foundation models, operating directly on the image. We propose a framework that compares local vision embeddings from runtime images to a database of nominal scenarios in which the autonomous system is deemed safe and performant. In this work, we consider two variants of the proposed framework: one using raw grid-based embeddings, and another leveraging instance segmentation for object-centric representations. To further improve robustness, we introduce a simple filtering mechanism to suppress false positives. Our evaluations on CARLA-simulated anomalies show that the instance-based method with filtering achieves performance comparable to GPT-4o, while providing precise anomaly localization. These results highlight the potential utility of vision embeddings from foundation models for real-time anomaly detection in autonomous systems.
AI解读
好的,我将按照您的要求,对这篇论文进行详细分析,重点关注其方法和技术细节,并以通俗易懂的中文进行阐述。
1. 核心方法与创新点
这篇论文提出了一种基于视觉基础模型嵌入(Vision Foundation Model Embedding)的语义异常检测方法,主要用于自主系统(例如自动驾驶)中。它的核心思想是:利用预训练的视觉基础模型(例如DINOv2)提取图像的语义特征,然后将这些特征与一个已知的“正常”场景数据库进行比较,如果当前的图像特征与数据库中的任何正常场景都差异很大,则认为出现了语义异常。
主要创新点:
* 基于嵌入的快速异常检测: 区别于直接使用大型语言模型(LLM)或视觉语言模型(VLM)进行推理,该方法使用视觉嵌入,速度更快,更适合实时应用。这是与GPT-4o这类模型相比的最大优势。
* 两种嵌入方式: 论文提出了两种不同的视觉嵌入提取方式:
* 网格嵌入(Grid-based Embedding): 直接使用DINOv2提取的图像块(patch)嵌入。
* 实例嵌入(Instance-based Embedding): 结合目标检测(OWLv2)和分割(SAM2)技术,先检测和分割图像中的物体,然后计算每个物体的DINOv2嵌入的平均值,作为该物体的语义表示。 这种方式更关注图像中独立目标的异常情况,能够精确定位异常物体。
* 简单有效的过滤机制: 为了减少误报,论文引入了一种简单的后处理过滤方法,用于去除小的、孤立的异常区域。
* 在CARLA模拟环境中进行验证: 通过在CARLA自动驾驶模拟器中进行实验,验证了该方法的有效性,并表明实例嵌入方法(带有过滤)可以达到与GPT-4o相当的性能,同时提供精确的异常定位。
* 直接作用于图像: 该方法直接处理图像,无需依赖额外的传感器数据或者高级场景描述。
与现有方法的区别:
* 与VLM方法的对比: 现有VLM方法(如GPT-4o)虽然具有强大的推理能力,但计算成本高,响应时间长,难以满足实时性要求。 这篇论文旨在找到一种更快、更高效的异常检测方法。
* 与传统OOD检测方法的对比: 传统的OOD检测方法通常关注于检测“未知”物体或场景。而这篇论文关注的是“语义异常”,即由已知物体组成的、但违反常理的场景(例如,广告牌上的停车标志)。
2. 算法细节与流程
算法的核心在于如何利用视觉基础模型的嵌入来判断图像是否包含语义异常。以下是详细的算法流程:
1. 离线阶段:构建“正常”场景数据库
* 收集一系列被认为是“正常”的、自主系统可以安全处理的图像数据。
* 使用DINOv2提取每张图像的视觉嵌入。根据选择的嵌入方式,提取网格嵌入或实例嵌入。
* 将这些嵌入存储在数据库中,作为“正常”场景的参考。
2. 在线阶段:实时异常检测
* 获取当前时刻的图像。
* 使用与离线阶段相同的方法(DINOv2)提取当前图像的视觉嵌入。
* 计算异常分数: 将当前图像的每个嵌入(网格嵌入或实例嵌入)与“正常”场景数据库中的所有嵌入进行比较,计算它们之间的相似度。 相似度的计算通常使用余弦相似度(cosine similarity)。 论文中使用的是最大余弦相似度取反,公式如下:
$$
s(e_t; D_e) := -\max_{e_i \in D_e} \max_{j,k} \frac{e_t^{(j)T} e_i^{(k)}}{\|e_t^{(j)}\| \|e_i^{(k)}\|}
$$
其中:
* $s(e_t; D_e)$ 表示当前图像嵌入 $e_t$ 相对于正常数据库 $D_e$ 的异常得分
* $e_t^{(j)}$ 是当前图像的第 j 个 patch 的嵌入向量
* $e_i^{(k)}$ 是正常数据库中第 i 张图像的第 k 个 patch 的嵌入向量
* $\| \cdot \|$ 表示向量的模
* $D_e$ 是正常图像的嵌入集合,由 $N$ 个正常图像的嵌入构成:$D_e = \{e_i\}_{i=1}^{N}$
直观理解就是,对于当前图像的每一个 patch 嵌入 $e_t^{(j)}$,我们都在正常的数据库中查找最相似的 patch 嵌入 $e_i^{(k)}$,使用余弦相似度来衡量相似程度,然后取所有相似度中的最大值,再取反。所以 $s(e_t; D_e)$ 的值越大,代表当前图像与正常数据库中的图像越不相似,异常的可能性越高。
* 判断是否异常: 如果当前图像的异常分数超过一个预先设定的阈值,则认为该图像包含语义异常。
* 过滤(可选): 对检测到的异常区域进行过滤,去除小的、孤立的区域,减少误报。
3. 算法的技术优势和创新之处
* 实时性: 由于使用嵌入进行比较,计算速度快,可以满足实时性要求。
* 精确的异常定位: 实例嵌入方法可以定位到具体的异常物体。
* 鲁棒性: 过滤机制可以有效减少误报。
* 可扩展性: 可以通过增加“正常”场景数据库来提高算法的适应性。
3. 详细解读论文第三部分
论文的第三部分详细介绍了该方法的各个组成部分,包括嵌入生成、异常检测和过滤。以下是对该部分的详细解读:
A. 问题定义 (Problem Formulation)
这一小节明确了论文要解决的问题:使用视觉基础模型嵌入进行语义异常的检测和定位。 论文假设可以访问包含正常场景嵌入的数据库。 在运行时,会将新图像的嵌入与此数据库进行比较。 如果与所有已知嵌入的距离超过定义的阈值,则该输入将被标记为语义异常。
论文使用 CARLA 模拟器生成的数据集进行评估,该数据集包含了正常场景、语义异常(如广告牌上的停车标志和带有交通信号灯的卡车)以及超出分布范围的对象(如机器人)。 每个异常在不同的地图和位置以多种变体出现。
使用帧级别的二分类指标(包括 F1 分数、平衡准确率、真阳性率 (TPR) 和假阳性率 (FPR))来衡量异常检测的性能。 对于空间定位,数据集扩展了二元真值掩码。 如果检测结果与真值掩码的交并比 (IoU) 至少为 0.3,则认为检测结果为真阳性 (TP);否则,为假阴性 (FN)。 对于无异常帧,任何预测的异常都计为假阳性 (FP)。
B. 提出的方法 (Proposed Approach)
这一小节详细描述了所提出的方法的三个关键组成部分:嵌入生成、异常检测和过滤。
1. 嵌入生成 (Embedding Generation)
* DINOv2 嵌入: 使用 DINOv2 计算当前图像的嵌入,离线用于构建名义数据库,在线用于推理。 DINOv2 为每个图像生成 256 个 patch 嵌入(patches 的数量 *p*),每个 patch 代表一个 14×14 像素的区域,嵌入维度为 *d*=384。
* 两种变体: 论文考虑了两种嵌入提取的变体:
* 标准网格嵌入: 直接使用 DINOv2 的 patch 嵌入。
* 面向对象的表示: 结合 OWLv2 和 SAM2。 OWLv2 为图像中的对象实例生成提示,然后由 SAM2 对其进行分割。 对于每个检测到的实例,对相应掩码中所有 patch 的 DINOv2 嵌入求平均值,以创建单个实例级别的嵌入。 此过程应用于图像中的所有实例。
2. 异常检测 (Anomaly Detection)
* 名义经验集: 按照论文 [7] 的思路,通过将当前观察结果与一组名义经验进行比较来执行异常检测。 名义集由可变长度的轨迹和相应的图像观察 *oi* 组成,自主车辆可以安全地处理这些轨迹和图像,因此被认为是名义上的。
* patch 级别的嵌入: 论文没有使用单个图像嵌入,而是使用 DINOv2 patch 级别的嵌入来实现更精细的异常检测和定位。
* 离线嵌入: 使用 DINOv2 ( φ(·)) 离线嵌入每个先前的图像 *oi*∈*Dnom*,从而产生 patch 级别嵌入 *De*={*ei*}i=1N 的缓存,其中 *ei*=φ(*oi*)∈R*p*×*d*。*N* 表示名义集 *Dnom* 中观察的数量。
* 在线异常评分: 在运行时,新的观察 *ot* 被嵌入为 *et*= φ(*ot*),并通过将 *et* 中的所有 patch 与名义缓存中最接近的 patch 进行比较来计算异常得分 *s*(*et*; *De*)∈R。简单的评分函数使用所有 patch 对的最大余弦相似度,取反表示不相似度:
$$
s(e_t; D_e) := -\max_{e_i \in D_e} \max_{j,k} \frac{e_t^{(j)T} e_i^{(k)}}{\|e_t^{(j)}\| \|e_i^{(k)}\|}
$$
* 异常分类: 如果观测的分数超过阈值 τ,则将其分类为异常。 阈值估计为在名义集上以留一法方式计算的异常分数的 α-分位数,其中留一法是指排除来自同一实验的所有嵌入。 实验定义为在特定配置和地图下收集的完整图像序列。 这避免了名义偏差,因为连续的图像通常非常相似,否则可能会导致较低的异常阈值。
3. 过滤 (Filtering)
* 由于名义数据库的尺寸较小,并且实例分割容易过度分割,因此可能会出现具有高异常分数的隔离小 patch。 这些通常缺乏语义相关性,并导致误报。
* 一个简单的后处理步骤是,基于像素阈值从二元异常图中删除小的连接组件。 这有效地减少了噪声,而无需更改异常评分。 论文没有探索更高级的过滤方法。
总结:
第三部分详细介绍了论文提出的方法的具体实现细节,包括如何生成视觉嵌入、如何计算异常分数以及如何使用过滤机制来减少误报。
4. 实现细节与注意事项
* DINOv2的实现: DINOv2是一个预训练模型,可以直接使用PyTorch等深度学习框架加载。需要注意的是,DINOv2的输出是一个多维张量,需要根据论文中的描述,提取出每个patch的嵌入向量。
* 目标检测与分割: 实例嵌入方法需要使用目标检测(OWLv2)和分割(SAM2)模型。这些模型也可以直接使用预训练的版本,但可能需要针对特定的场景进行微调。 另外需要注意两个模型结合使用时,OWLv2的输出格式,和SAM2的输入格式是否匹配。 如果不匹配,需要进行格式转换。
* 相似度计算: 余弦相似度是一种常用的相似度度量方法,可以使用NumPy等库实现。在计算相似度时,需要对嵌入向量进行归一化处理,保证向量的模为1。
* 阈值设定: 异常分数的阈值是影响算法性能的关键参数。阈值设置过高会导致漏报,阈值设置过低会导致误报。论文中使用的是α-分位数方法,通过在“正常”场景数据库上进行实验,找到一个合适的阈值。
* 过滤: 过滤是一种简单的后处理方法,可以有效减少误报。过滤的参数包括连接组件的最小尺寸。通常需要根据具体的场景进行调整。可以使用例如`cv2.connectedComponents` 函数对二值图像的连接组件进行分析,删除小于指定阈值的组件。
* 数据集: 论文中使用的是CARLA模拟器生成的数据集。在实际应用中,可能需要使用真实的数据集进行训练和测试。
* 效率优化: 算法的计算复杂度主要集中在相似度计算上。可以通过使用近似最近邻搜索(ANN)等技术来提高相似度计算的效率。例如使用FAISS库构建索引,加速相似度搜索过程。
* 参数调优: 算法的参数包括DINOv2、OWLv2和SAM2的模型参数、阈值以及过滤的参数。可以通过使用交叉验证等技术对参数进行调优。
* 实现难点:
* 如何选择合适的视觉基础模型。
* 如何有效地提取视觉嵌入。
* 如何设定合适的阈值。
* 如何在保证准确率的同时提高算法的效率。
* 最佳实践:
* 使用预训练的视觉基础模型,并针对特定场景进行微调。
* 使用实例嵌入方法,可以更精确地定位异常物体。
* 使用过滤机制,减少误报。
* 使用近似最近邻搜索等技术,提高算法的效率。
希望以上分析能够帮助您更好地理解这篇论文。
返回论文列表