APP下载

非侵入式交通信号灯异常检测*

2020-01-02王培志张一迪陆起涌

传感技术学报 2019年12期
关键词:交通灯信号灯高斯

王培志,张一迪,杨 沁,陆起涌,2*

(1.复旦大学电子工程系,上海 200433;2.复旦大学信息学院智慧网络与系统研究中心,上海 200433)

1 概述

交通信号灯是保证交通安全、有序和高效的必要手段。交通信号灯由于如下原因可能导致电路故障:①交通信号灯内部电路元器件老化和脱焊导致部分断路或接触不良故障;②长期雨水或水汽腐蚀集成电路板导致部分短路故障;③直流电源不稳定或者内部元件损坏导致供电异常故障;④控制电路出现错误等[1]。上述故障可能导致交通灯显示不全、亮度不足、状态转换异常等危险现象,可能发生红灯或绿灯部分LED不亮,红灯和绿灯冲突、倒计时交通灯状态混乱、交通灯周期发生异常改变、交通信号灯状态数量发生改变等情况,从而导致交通拥堵和交通事故。

交通信号灯会在多个状态之间切换,并具有一定的周期,所以交通信号灯的异常检测可以描述为一个带噪声的多状态观测信号的异常检测问题。有监督的异常检测方法将异常检测看成一个分类问题,包括支持向量机[2]、贝叶斯网络[3]、基于规则的异常检测[4]和神经网络[5]。有监督异常检测方法最大的问题是缺乏异常样本,故障出现的概率非常小,大部分设备不去破坏其硬件很难采集故障样本,采集的故障也不够全面。无监督的异常检测方法主要有统计方法[6]、聚类方法[7]和基于信息的方法[8]。其中统计方法包括混合模型、信号处理和主成分分析等;聚类方法包括K-means聚类和双边聚类[9]等。无监督的异常检测方法有更好的泛化能力,适合交通信号灯异常检测。

本文设计了一种通过电磁传感器检测突变异常和模式异常的恒虚警率方法。针对功率序列多状态的特点,利用高斯混合模型拟合多状态的分布。针对电磁传感器的噪声干扰,通过分布估计恒虚警率的阈值来适应变化的噪声水平。

2 偏差检测

偏差检测针对的是由于交通灯部分LED灯断路或短路、交通灯电路接触不良等导致某状态下交通灯功率统计特性发生改变的异常情况。为了最大限度地将偏差和噪声区分开,本文利用高斯混合模型拟合输入功率的统计分布,将高斯混合模型的参数作为统计量。通过估计统计量的分布,根据正常统计量的波动情况自动调整异常判决阈值,实现了偏差检测的虚警可控性。

2.1 高斯混合模型

由于交通灯会在多个状态之间切换,每个状态下的功率服从高斯分布,高斯混合模型可以很好的契合多个状态下交通灯功率概率分布的情况,其概率密度函数是K个高斯概率密度函数的加权和[10]:

(1)

式中:x是一维的观测数据,在交通灯异常检测问题中是某时刻的传感器测量到的功率数据。wj是归一化的高斯概率密度函数的权重,uj和σj分别是第j个高斯分量的均值和标准差。高斯概率密度函数如式(2)所示:

(2)

高斯混合模型需要确定高斯模型的个数K。在交通灯异常检测问题中,可以利用领域经验确定K,将高斯混合模型的阶数K设置为交通灯的状态数,也可以通过肘部法则进行估计。

(3)

2.2 高斯分布偏差

异常会导致交通信号灯某状态或多个状态下功率分布的较大偏差。KL散度、JS散度或交叉熵可用来度量分布差异,但是计算复杂度高。本文使用高斯混合模型参数作为统计量。

(4)

图1 多状态功率信号和统计量示意图

2.3 恒虚警率阈值生成

由于功率波动和噪声的存在,不可避免的存在虚假异常信号。虚警率高于一定程度是不能容忍的。恒虚警率的目的是根据信号的干扰和误差程度,自动调整异常判决的阈值,使偏差检测保持在恒定虚警率水平α1。

(5)

式中:uk和σk分别是第k个状态统计量偏差的均值和方差,通过对正常情况下高斯混合模型参数的估计得到。

假设各状态波动情况是独立的,令每个状态的虚警率相等,都为1-(1-α1)1/k,则可计算得到第k个统计量偏差的恒虚警率为α1的阈值为:

(6)

式中:Q-1表示正态分布累计分布函数的反函数。

3 模式异常检测

模式异常检测针对的是交通灯状态转换发生异常的情况,例如交通灯控制器发生了故障,导致状态运行顺序发生了改变、周期发生变化或者状态数量发生改变。本文利用高斯混合模型将观测功率数据用K维矢量表示状态,通过滑动历史状态序列构造一个模式集合,度量当前窗口状态序列和历史模式集合的相似度,取其中最大的相似度作为统计量。通过拟合最大相似度的分布,计算相似度的异常判决阈值,实现近似的恒虚警率特性。

3.1 功率数据聚类

交通信号灯状态之间功率的差别悬殊,例如亮暗两个状态之间功率相差很大,而倒计时交通信号灯不同数字之间的功率差距很小。为了令状态间的距离恒定,将功率数据序列x转换为K维状态序列s,表示每个功率观测对应的状态。

聚类可以使用K-means算法[13]或者高斯混合模型的聚类方法。K-means方法由于没有考虑各状态功率数据有不同的方差,所以容易将方差较大的功率状态拆分成多个,或者将相近的方差较小的功率状态合并成一个。高斯混合模型通过估计各成分的方差,在上述情形下表现比K-means好。高斯混合模型是一种软聚类方法,状态表示比较平滑,也使得4.2节中的相似度是连续变量,利用经验分布函数估计相似度分布更有效。每个数据点的K维矢量计算:

(7)

对长时间的功率数据流,为了减少计算量和内存占用,可以用增量高斯模型估计算法进行高效的聚类[14]。

3.2 状态序列相似性检验

交通灯模式异常检测需要学习到正常的模式,本文利用滑动窗口不断更新模式字典来缓解概念漂移的问题[15],通过t时刻的状态序列st+1:t+T和历史状态序列st-L:t-1计算其相似性。T需要大于交通灯的一个周期来捕捉完整的模式。L需大于两个周期,提供过去模式的不同相位的集合。考虑到模式相位的问题,所以需要从历史状态序列中截取所有的T×K子序列sh与st+1:t+T求其哈达玛积,取其中的最大值来度量相似性Simt:

(8)

如图2所示,当交通信号灯模式发生异常的时刻,相似度Simt比较小。

图2 归一化相似度-时间图

本文使用辅助的经验分布函数设计异常模式检测的阈值。定义分布函数:

R(xt)=Px~f0[x:f0(x)≤f0(xt)]

(9)

引理1如果函数f0(x)有嵌套性,即对所有t1>t2,有{x:f0(x)>t1}⊂{x:f0(x)>t2}。则当xt~f0时,R(xt)均匀分布在[0,1]。

引理1说明我们可以通过分布函数R(xt)来控制虚警率[16]。

引理2如果函数f0(x)有嵌套性,将异常点检测规则定为R(xt)≤α,可以将虚警率控制在α[16]。

我们根据算法历史相似度数据来估计经验分布函数Rh(Simt),从而近似分布函数R(Simt),如式(10)所示:

(10)

式中:Ⅱ{·}是一个指示函数,满足不等式时输出1,否则输出0。

(11)

(12)

假设偏差异常和模式异常的虚警情况独立,总虚警率α为:

α=α1+α2-α1α2

(13)

4 实验数据和误差分析

4.1 数据采集系统

本文搭建了实验平台用来采集交通灯的数据验证算法的有效性和实用性。交通信号灯系统不同位置安装开关,从而模拟部分短路和部分断路故障。硬件部分包括交通灯、直流电源、电磁式的交流电电流传感器,Fluke45万用表和电脑,如图3所示。交流电通过一个直流电源给交通灯里的LED阵列供电。LED阵列是由四组LED串联而成,每一组由21个LED灯并联组成,额定总电流140mA,每个LED灯额定电压为3 V。使用Fluke万用表测量交通信号灯输入电压和电流,通过RS232串口将数据采集到计算机,然后用MATLAB软件对交通信号灯功率数据进行处理和实验。

图3 实验平台

4.2 误差分析

系统误差的主要来源是电网电压波动、直流电源效率波动、电磁场干扰、传感器误差和ADC量化误差。随着输出功率的改变,电源效率也会随之改变,不同电源的效率一致性不一样,合格的直流电源效率波动程度小于10%[17]。虽然直流电源效率存在变化,但输入功率和输出功率总是正相关的。

电网电压不稳定主要表现为电压偏差和电压波动两个方面。电压偏差是指实际电压有效值缓慢变换而偏离了额定电压,偏差是稳态的,电压偏差大小主要取决于电力系统运行方式、线路阻抗和负荷的变换。电压波动是在某一时段内,实际电压有效值快速改变而偏离了额定电压,主要是由大型用电设备快速变化引起的冲击性负荷造成的,这种快速的电压波动会造成交通信号灯供电电流的波动。为了减少电压波动的干扰,系统设计上实时测量供电线上的电压有效值,与测得电流值相乘得到交通信号灯输入功率序列。

环境中的电磁场会在功率序列中形成加性噪声。电磁传感器安装在给交通信号灯供电的某根导线上,测量导线上的交流电流有效值,在测量过程中会存在测量误差。传感器信号转换为数字量时存在量化误差。

5 实验结果

为了验证恒虚警率异常检测算法在交通灯上的效果,本文采集了交通灯系统的功率数据进行实验,测试偏差检测和模式异常检测恒虚警率效果和检测性能。

检测性能的评价指标采用受试者工作特性曲线(Receiver Operating Characteristic,ROC),和受试者工作特性曲线下的面积(Area Under the Curve,AUC)。

5.1 偏差检测恒虚警率效果

第一个实验研究了算法进行偏差检测时控制虚警率的能力。本实验采集2 h处于亮暗周期变化的交通信号灯序列,周期1 min。测试了在不同窗口长度和不同指定虚警率下的实际虚警率,如图4所示。交通信号灯的虚警率误差基本在10%以内,窗口长度L对虚警率的误差影响可忽略。测试虚警率和给定虚警率之间的误差有两个原因:一是统计量真实分布模型和理论上的高斯分布模型存在差异,二是通过不充足的历史数据估计统计量的分布参数存在误差。

图4 偏差检测控制虚警率的能力

图5 不同故障情况下的ROC曲线

5.2 不同故障情况下的检测能力

第二个实验研究了不同故障情况下的偏差异常检测能力。实验采集了四种不同的故障,包括断路5个LED,断路10个LED,断路15个LED以及部分短路导致21个LED不亮。每种故障采集五组持续30 min的数据,在第15分钟发生异常。交通灯有亮暗两种状态,周期为1 min。

如图5所示,随着虚警率的增加,偏差检测的检出率也随之增加。对于部分短路的故障情况,由于其导致的亮灯功率减小约9%,所以容易检测出来,在较低的虚警率情况下就能达到近100%的检出率。部分断路故障导致的亮灯功率变化比较小,所以偏差检测能力相对较差。

5.3 模型参数对偏差检测的影响

第三个实验研究了历史窗口长度、高斯混合成分数量K对偏差检测算法检测能力的影响,使用第二个实验的数据。

如图6所示,交通信号灯周期为150个样本点,当K=2符合状态数量且滑动窗口长度大于一个周期时AUC值最大,有较好的检测能力。当K=3大于状态数量时AUC值略微降低。当K=1小于状态数量时AUC值大幅度降低,此时交通信号灯两个状态被混合,对检测性能的负面影响很大,实际应用中要避免这种情况。

图6 不同长度下的AUC值

5.4 模式异常检测恒虚警率效果

第四个实验研究了算法进行模式异常检测时控制虚警率的能力。实验采集交通信号灯四种状态的功率信号,分别为亮84个LED灯,亮72个LED灯,亮63个LED灯以及关闭所有LED灯,将四种功率信号交错构造周期为400个样本点的近似平稳的信号。测试了在不同历史相似度数据长度M下控制虚警率的能力。

如图7所示,虚警率误差随着历史数据M长度的增加而增加。当历史长度M为8 000个样本点的时候,虚警率误差可以控制在10%范围内。测试虚警率和给定虚警率之间的误差有两个原因:一是相似度的正常分布存在概念漂移[15],二是通过少量的历史数据估计相似度的经验分布函数存在误差。

图7 模式异常检测控制虚警率的能力

5.5 模型参数对模式异常检测的影响

第五个实验研究了当前滑动窗口长度和历史滑动窗口长度对异常模式检测能力的影响。实验采集交通信号灯四种状态的功率信号,构造周期为100个样本点的近似平稳的信号。然后通过改变状态顺序、状态数量和周期构造三种模式异常,拼接于正常模式结尾进行实验,重复500次取平均。

如图8所示,异常模式检测的AUC值随着信噪比的增加而增加,较大的噪声会导致转换为状态序列时较多的错误。当K=4符合状态数量时检测性能最好,当K大于状态数量时检测性能相差不大,当K小于状态数量时检测能力大幅下降。较大的K容易导致某个状态被分割为多个聚类,但可以减少多个状态被不恰当的合并的概率。

图8 不同信噪比下的AUC值

6 结束语

通过测量交通信号灯的输入电压和电流,本文利用功率时间序列检测偏差异常和模式异常。实验表明混合高斯模型的统计方法可以有效减小观测噪声的干扰,并且可以通过拟合统计量分布控制偏差检测的虚警率。混合高斯模型聚类方法可以由观测序列估计状态序列,利用状态序列的相似性来检测模式的改变,并通过经验分布函数拟合相似性的分布获得近似的恒虚警特性。本文方法不仅可以适用于多种类型的交通信号灯异常检测,而且对周期多状态信号异常检测问题有参考意义。

猜你喜欢

交通灯信号灯高斯
数学王子高斯
天才数学家——高斯
基于单片机的交通灯模糊控制器研究
交通信号灯
信号灯为什么选这三个颜色?
为什么交通灯是红黄蓝三种颜色?
一直飘红的交通灯
基于单片机的LED模拟交通灯设计
安装在路面的交通信号灯
从自卑到自信 瑞恩·高斯林