这篇文章涵盖了三件事,首先什么是视觉角度的异常检测?用于异常检测的技术有哪些?它在哪里使用?
异常检测是什么?
“异常值(又名异常)是数据集中的观察结果,它似乎与该数据集的其余部分不一致”——约翰逊 1992 年

什么是离群值/异常值?
“离群值是一种观察结果,它与其他观察结果的偏差如此之大,以至于引起人们怀疑它是由不同的机制产生的”——霍金斯 1980
异常是与常态不同、很少发生并且不符合“模式”其余部分的事件。异常包括,例如:
- 全球事件导致股市大幅下跌和上涨
- 工厂或传送带上的故障产品
- 污染的实验室样本


墙壁异常检测(左图 2 个) 工业部件异常检测(右图 2 个)
为什么要进行异常检测?
✓需要检测各种质量问题以保证良好的质量
✓人工目视检查不能保证对不断变化的产品进行可靠检查

节省时间:
✓自动目视检查节省时间

省钱:
✓技术(硬件和软件)的进步降低了异常检测的成本,即使是小型企业也能负担得起

计算机视觉中如何使用异常检测?
一级图像处理方法
基于传统的图像处理技术,例如边缘检测、特征检测……和测量指标(例如,大小、颜色、位置、周长、圆度、形状……)来描述一个物体 。

优点:无需培训
缺点:没有概括性
二级机器学习方法
机器学习算法使用计算方法直接从数据中“学习”信息,而不依赖于预先确定的方程式作为模型。

优点:更少的培训
缺点:泛化程度较低
3 级深度学习方法
基于卷积神经网络检测异常值。训练和推理需要大数据集和高效的硬件

优点:更泛化
缺点:更多培训
小伙伴可能会问“我们应该选择哪种方法呢?” 即使我们的问题与上面的情况完全不同也不必担心,我们提供一个选择的原则:
- 从图像处理方法开始。如果数据具有低可变性,这可以提供可靠的解决方案。
- 在变量生产下,如果你有一个强大的 GPU 和大量标记的数据/图像。然后,深度学习技术可以更好地处理更多数据,而 GPU 有助于减少训练模型所需的时间。如果不是,那么 ML 方法是最佳选择。
异常检测和数据
异常检测将如何在三种不同的情况下发生,具体取决于数据的情况。
监督:
在这种情况下,训练数据被标记为“好”或“异常”(坏)。监督场景是理想的。这是为数据科学家精心准备的数据集,其中所有数据点都标记为异常或良好的情况。

资源用于结构化数据的流行 ML/DL 算法:
- 支持向量机学习
- k 最近邻 (KNN)
- 贝叶斯网络
- 决策树
半监督:
在半监督场景中,所有数据都被假定为“好”,并且被“异常”(坏)数据点污染。

用于结构化数据的流行 ML/DL 算法:
- 自动编码器
- 一类 SVM
- 高斯混合模型
- 核密度估计
无监督:
在无监督场景中,训练数据是未标记的,由“好”和“异常”(坏)数据点组成。无监督场景中的数据集没有将其部分标记为好或坏。
“无监督学习中最常见的任务是聚类、表示学习和密度估计。在所有这些情况下,我们都希望在不使用明确提供的标签的情况下了解数据的固有结构。”

在无监督场景中,需要一组不同的工具来在非结构化数据中创建顺序。非结构化数据的流行 ML/DL 算法是:
- 自组织映射 (SOM)
- K 均值
- C 均值
- 期望最大化元算法 (EM)
- 自适应共振理论 (ART)
- 一级支持向量机
异常检测示例
App1:使用机器学习技术对无人机进行实时退化识别(Real time degradation identification of UAV using machine learning techniques)
在本文中,作者分析了无人机执行预定任务后的飞行数据流,并实时预测身体部位(在本例中为螺旋桨)的退化程度。

为了实现这一目标,他们使用 k 最近邻算法作为分类算法,并使用动态时间规整作为距离度量来计算两个航班块之间的相似性。

App2:UAV-AdNet:使用深度神经网络进行空中监视的无监督异常检测(
UAV-AdNet: Unsupervised Anomaly Detection using Deep Neural Networks for Aerial Surveillance)
在本文中,作者提出了一种用于鸟瞰图像环境表示的启发式方法和一种基于 DNN 的异常检测方法 (UAV-AdNet),该方法在环境表示和 GPS 标签上联合训练。

在他们的实验中,他们证明了所提出的架构在输入的复制和裁剪连接下具有更好的场景重建性能。他们还观察到,为网络提供 GPS 数据可以增强异常检测性能。
在他们的研究中,作者考虑了以下异常情况:
(1) 违反私人规则的物体:建筑物背面出现任何人或车辆。建筑物左侧出现任何车辆
(2)违反公共规则的物体:行人只能使用斑马线过马路。自行车只能在自行车道上行驶。除自行车和摩托车外,其他车辆不得在自行车道上骑行或停放。
(3)寻找可疑物品

App3:监控环境中无人机录制的视频中的异常检测(Anomaly Detection in Videos Recorded by Drones in a Surveillance Context)
本文专门研究了监视环境中的异常检测,特别是针对由无人机录制的监视视频组成的微型无人机视频数据集。本文提出的模型在 MDV 数据集上进行了评估。
尽管它很简单,但该模型达到了最先进的性能。获得的结果表明,这种应用程序的监督学习不太适合异常检测。因为该模型未能检测到它在 MDV 数据集训练期间从未遇到过的情况,这是有问题的,因为即使不是不可能,也很难编译代表许多实例的所有可能异常的数据集。

建议的异常检测器是由卷积神经网络和递归神经网络组成的深度神经网络,使用监督学习进行训练。在他们未来的工作中,他们将专门检查使用无监督学习训练的模型设计,以减少对标记异常数据的需求。

App4:使用航空红外热成像技术自动检测光伏电站:综述(Automatic Inspection of Photovoltaic Power Plants Using Aerial Infrared Thermography: A Review)
提出一种使用空中红外视频进行自动光伏电站检查的有效方法。
本文对光伏电站航空红外热成像 (aIRT) 框架不同任务自动化方法的文献进行了全面回顾,因为这是近年来研究人员深入研究的课题。这些研究大多集中在视觉、IRT 和 aIRT 图像中光伏电站的自主故障检测和分类。在这些研究中,DL 算法的使用提供了良好的结果,在从 aIRT 图像中提取的模块段中检测到的 10 种不同异常类型的故障检测和分类中,准确率高达 90%。
然而,所开发算法的准确性、鲁棒性和泛化性仍然是这些研究的主要挑战,尤其是在处理更多类别的故障和大型光伏电站的检查时。随着公用事业规模光伏电站的容量和规模不断增加,达到千兆瓦和数百公顷的规模,自动化越来越成为一个不仅具有科学意义而且具有经济重要性的问题。因此,仍然必须探索自主程序和分类任务,以提高 aIRT 方法的准确性和适用性。
