基于改进概率霍夫直线检测的电梯门状态检测方法
2020-05-24张国福
张国福,王 呈
(江南大学 物联网工程学院,江苏 无锡 214122)
我国电梯保有量每年持续增长,截止到2018年底,全国共有623万台电梯正常服役,并以每年60万台的速度快速增长。电梯故障会引发安全事故,主要故障包括门系统、冲顶或蹲底、溜梯等。据统计,各类事故中由门系统故障导致的事故占比最高,约为80%[1]。电梯门系统发生故障的主要原因包括:(1)电梯在每次运行之前都要至少进行开关门两次动作,门锁工作频繁,易磨损老化;(2)由于外部因素导致门锁短接等故障,造成门安全回路导通,控制器不能正确判断电梯门状态,从而引起电梯事故。因此,对电梯门状态的正确检测十分重要。电梯物联网技术能够实现电梯运行状态的远程监控,其实现方式可分为“前装监测”和“后装监测”。“前装监测”指新电梯在出厂前配置的远程监测方式,通过总线技术从电梯控制板中直接采集数据实现监测电梯运行状态。目前,电梯控制器可以采集开关门故障,运行中门锁断开、短接等故障,但各电梯主控板生产厂家出于安全考虑,较难对外提供数据接口协议。“后装监测”指在电梯运营阶段采用加装传感器和远程监测终端的方式监测电梯的运行状态,无需主控商提供协议,但通常改造难度较大,同时会带来成本、权责等系列问题。因此,利用现有摄像头加装边缘侧计算设备,在边缘侧实现电梯门状态图像检测,能够在降低电梯物联网对网络连通、带宽以及视频处理能力等要求的基础上,进一步有效降低后装改造成本和风险。
电梯门结构呈长方形,边缘具有直线特征,电梯门在开关过程中,边缘直线距离在时域上呈线性变化。同时,由于电梯使用场景不同,造成电梯门打开后的背景各异,对图像的精确识别造成干扰,例如,图1中右侧窗户栅栏影响右侧门边缘的检测。另外,为了美观,电梯轿厢表面工艺也不尽相同,如图2所示,电梯门后镶嵌的竖直条纹影响门缝直线的定位。因此,如何降低不同使用场景、不同制造工艺对电梯门缝直线定位的影响,是进行基于图像处理的门状态检测研究的难点。
目前,国内对基于图像处理的门状态检测研究较少,文献[2]基于图像处理的算法针对电梯开关状态完成判别,但未考虑电梯结构特点和外部使用环境对电梯状态判断的干扰,以及故障状态的判别。电梯在使用过程中由于外部原因,会导致电梯电气门锁短接或者其他误动作,造成开门走梯等故障[3]。因此,对电梯故障的检测尤为重要。针对识别算法,文献[4]利用链码法提取票据中表格框线,但该法易受噪声干扰。霍夫直线检测[5-7]具有较强的鲁棒性和较高的精度,适用于提取噪声较多图像中的直线,文献[8]对文档图像作行程平滑处理,然后提取文本行的边缘像素,最后利用二级霍夫变换提取直线,得到文档的倾角。文献[9]利用霍夫变换检测电力线,并结合决策树分类方法将实际的电力线和虚检的电力线分离。上述文献在检测直线时会将同一条直线分成多条短直线段,通过局部检测完成整条直线的检测。为了提高直线检测正确率,文献[10]利用概率霍夫变换提取车道标识线特征点,并采用最小二乘法对特征点点集进行直线拟合,提升车道标识线的检测输出效果。上述文献只是识别了白天情况下的车道标识线,文献[11]利用拉普拉斯算子增强图像边缘,然后利用霍夫直线检测算法检测夜间的车道标识线。霍夫直线检测算法检测直线时,需要人为调整参数,而直线段检测(Line segment detector,LSD)算法[12]能够自动更新参数,不需要人工干预,但其相对霍夫直线检测算法耗时较长。文献[13]利用改进LSD算法实现电线杆遮挡检测。文献[14]利用霍夫圆检测算法统计电梯内乘客人数。本文借鉴了上述文献提取图像中直线的思想,并在考虑外界窗户栅栏和电梯门板后的竖直条纹对算法干扰的情况下,结合电梯门特性,对基于概率霍夫直线检测算法和LSD算法检测电梯门开、关和两种故障状态进行了研究。
1 基于电梯门特性的直线检测算法
电梯门处于关闭状态时,电梯门边缘合并,门缝可以视为相邻很近的两条直线;当电梯门处于正在开启或者完全开启状态时,电梯门分离,门边缘可以视为两条平行直线;对于电梯门故障状态(电梯门不能完全开启或者关闭),可认为是门开关状态在时域上的特征。正常状态和故障状态可以利用直线检测算法检测电梯门边缘,结合先验知识进行判断。其中,概率霍夫直线检测(Probability Hough transform,PHT)算法0和LSD算法是常用的直线提取算法。
在直角坐标系xoy平面内,当斜率存在时,直线可表示为y=kx+b;当斜率不存在时,直线可表示为x=c。无论直线斜率是否存在,均可将直角坐标系xoy平面内的直线对应到参数空间中,直线方程在参数空间中可写成ρ=xcosθ+ysinθ,其中ρ是原点o到直线的距离,θ是直线y=kx+b的垂线om与x轴正向的夹角,如图3所示。
传统概率霍夫直线检测算法的检测精度和检测速率受限于累加器角度的分辨率。当分辨率设置较小时,检测精度高,但检测速率较低。例如当累加器角度的分辨率设置为1°时,累加器将统计θ从0°到180°时的ρ,即
ρ=x0cosθ+y0sinθ
θ∈{0°,1°,2°,3°,…,178°,179°,180°}
此时检测速率非常慢。
本文后续实验将算法集成到嵌入式设备,完成检测电梯门状态。由于边缘侧设备计算能力有限,需要降低算法复杂度,提高运行速度。本文结合电梯门特征,提出一种改进概率霍夫直线检测算法,即限角概率霍夫直线检测(Limited-angle probability Hough transform,LA-PHT)算法,通过重新设定累加器角度θ的计算范围,提取固定角度区间内的直线
θmin≤θ≤θmax
式中:θmin是累加器起始角度,θmax是累加器终点角度。计算角度θ从θmin到θmax时的ρ,即
ρji=xjcosθi+yjsinθi
2 基于直线检测的电梯门状态判断
门状态主要包括:闭合状态、开启状态和故障状态。为了正确判断电梯门状态,需要结合先验知识,并考虑电梯实际使用环境和门板工艺特点对直线检测算法的干扰。本文基于限角概率霍夫直线检测算法检测电梯门状态,并与基于概率霍夫直线检测算法和LSD算法的结果进行对比。
2.1 基于先验知识的电梯门状态检测方法
电梯使用场景和自身结构(如图1和2所示)影响电梯门边缘的定位。采用直线检测算法检测时,会将窗户栅栏和竖直条纹检测出来,如果不对此处理,将直接影响电梯门边缘的定位。本文根据电梯实际使用场景和结构特点,结合基于先验知识的判断规则,设计门状态检测方法实现对电梯门状态的实时检测,程序流程如图4所示。
(1)图像预处理。首先从视频流中等间隔截取电梯门状态的图像,保留图像中电梯门上面1/3部分,后续只对此部分图像进行处理;然后对图像进行灰度化和Canny边缘检测[15],将灰度图像变成边缘特征明显的边缘图像;最后对电梯门边缘图像进行膨胀[16]处理,使直线段目标增大,填补比较相近的两条直线段之间的空白;
(2)霍夫圆检测[17]。图像预处理后,对图像进行霍夫圆检测,提取竖直条纹上半部分的半圆。若检测到圆,记录最靠近门边缘处两个圆的圆心坐标;
(3)直线检测。若检测到圆,根据记录的圆心坐标,只保留两个圆之间的直线;否则,保留所有检测到的直线;
(4)直线分类。将保留的直线按照横坐标从小到大的顺序排序,并找到横坐标之间的最大间隔,根据最大间隔将检测到的直线分为左右两侧门边缘形成的直线;
(5)计算偏移距离。计算当前时刻检测到的左侧门边缘直线最大横坐标与电梯门关闭时左侧门边缘横坐标之间的距离,记为lleft(t);计算当前时刻检测到的右侧门边缘直线最小横坐标(默认定位的是电梯门边缘)与电梯门关闭时右侧门边缘横坐标之间的距离,记为lright(t);
(6)确定左右电梯门边缘。计算lleft与lright之间的距离是否小于等于距离阈值γ,即
|lleft(t)-lright(t)|≤γ
(1)
若式(1)成立,表示检测到电梯左右门边缘;否则,表示未定位到电梯右侧门边缘;
(7)关闭状态判断。若检测到左右电梯门边缘,根据关闭状态检测算法判断电梯门是否处于关闭状态;
(8)开启状态判断。若电梯门未处于关闭状态,根据开启状态检测算法判断电梯门是否处于开启状态;
(9)故障状态判断。若电梯未处于开启状态,根据故障检测算法判断电梯是否处于故障状态;若电梯未处于故障状态,进入下一帧图像的处理。
2.2 关闭状态检测算法
当电梯门关闭时,电梯门边缘合并,门缝可以视为相邻很近的两条直线。满足式(2)则电梯处于关闭状态
|xleft(t)-xright(t)|≤Δ
(2)
式中:xleft(t)是当前时刻左侧门边缘直线最大横坐标,xright(t)是当前时刻右侧门边缘直线最小横坐标,Δ是关闭阈值。
2.3 开启状态检测算法
电梯门完全开启时,门边缘之间的距离达到最大。满足式(3)时表示电梯门处于完全开启状态
|xleft(t)-xright(t)|≥2l或者
|xleft(t)-xleft|≥l
(3)
式中:xleft是电梯关闭时左侧电梯门边缘直线最大横坐标,l是开启阈值。
2.4 故障状态检测方法
当电梯门未处于关闭状态或开启状态时,判断电梯门是否处于故障状态。本文研究了如下两种故障状态:(1)电梯门在开启或关闭过程中,卡在某一位置停止开启或关闭动作,表现为电梯门卡住不动(简称故障1);(2)电梯门在关闭过程中,由于障碍物阻挡导致电梯门重复开启和关闭轮回动作,不能完成关闭动作,表现为电梯门在关闭时遇到障碍物阻挡使电梯门重新开启,再关闭时,该障碍物又导致电梯门重新开启(简称故障2)。以左侧电梯门为例,故障状态检测流程如图5所示。
图5中,err1_count和err2_count分别表示故障1计数器和故障2计数器,err1_value和err2_value分别表示故障1阈值和故障2阈值。will_close=1表示电梯门将要关闭或正在关闭过程中,will_close=0则相反。x(t)表示当前时刻左侧电梯门边缘直线的最大横坐标,x(t-1)表示上一时刻左侧电梯门边缘直线的最大横坐标;x(t)-x(t-1)>0表示电梯处于正在关闭过程中,x(t)-x(t-1)<0表示电梯正在开启过程中,x(t)-x(t-1)=0表示电梯门停止不动。
(1)电梯处于关闭状态时,将故障1计数器、故障2计数器和will_close标志位清0;电梯处于开启状态时,将will_close置1;
(2)电梯处于正在关闭过程中时,始终满足x(t)-x(t-1)>0。当发生x(t)-x(t-1)<0时说明发生故障2,则故障2计数器加一;当发生x(t)-x(t-1)=0时表示发生故障1,此时故障1计数器加一。故障1计数器大于设定的故障1阈值时,发出故障1报警,否则返回“正在关闭”提示语;故障2计数器大于设定的故障2阈值时,发出故障2报警,否则返回“正在开启”提示语;
(3)电梯处于正在开启过程中时,始终满足x(t)-x(t-1)<0。当发生x(t)-x(t-1)=0时表示发生故障1,此时故障1计数器加一。当故障1计数器大于设定的故障1阈值时,发出故障1报警,否则返回“正在开启”提示语。
2.5 实验结果与分析
本次实验从视频流中共截取100帧电梯关闭、开启、开启过程中和关闭过程中的图像,其中相关的软件环境为Python3.5和Opencv3.4.5计算机视觉库;硬件环境为Broadcom BCM2837 1.2 GHz四核处理器,1G内存;算法主要参数设置为,限角概率霍夫直线检测算法累加器的起始角度为0°,终止角度为10°,累加器角度的分辨率为2°,概率霍夫直线检测算法累加器角度分辨率为90°,其他参数与LA-PHT相同,LSD算法采用默认参数。
(1)故障状态检测结果
利用多张电梯开关图像模拟电梯故障1和故障2发生场景,验证了故障状态检测算法的有效性。
(a)故障1检测结果
选取电梯关闭过程中的3帧图像(电梯门几乎在同一位置),模拟故障1场景。设置故障1阈值为2,则判断出第3帧图像中电梯门处于故障1状态,检测结果如图6所示。
(b)故障2检测结果
选取电梯开启过程中、关闭过程中和开启的6帧图像,将其分成2组,模拟故障2场景,即电梯重复“开启—关闭中—开启中”状态,重复两次。设置故障2阈值为1,则判断出第2组图像中电梯“开启中”为故障2状态,检测结果如图7所示。
(2)干扰情况检测结果对比
(a)电梯花纹干扰下的检测结果
检测闭合状态时,需要消除电梯门后镶嵌的竖直花纹对电梯门缝定位的影响,利用霍夫圆检测算法检测出竖直条纹上的半圆,由此确定电梯门缝直线坐标所在范围,根据关闭状态检测算法判断电梯门为关闭状态,结果如图8所示。
(b)带栅栏干扰的检测结果
电梯门开启时,右侧窗户栅栏会影响电梯右侧门边缘的定位,根据开启状态检测算法,以电梯左侧门边缘为主要判定条件,判断电梯门处于开启状态,结果如图9所示。
为了更全面评价上述3个算法在电梯门边缘直线提取中的效果,本文引入查准率P和查全率R,计算公式如下
式中:mT为正确帧数,即在100帧图像中正确检测到电梯门边缘图像的帧数;mF为误检帧数,即将窗户栅栏视为电梯门边缘图像的帧数;mN为漏检帧数,即未检测到电梯门边缘图像的帧数,检测结果如表1所示。由表1可知,在电梯门状态监测的应用中,LSD算法拥有最高的查准率和查全率,但耗时较长;限角概率霍夫直线检测算法的查准率优于概率霍夫直线检测算法,查全率与概率霍夫直线检测算法接近,低于LSD算法;但LA-PHT提高了计算速率,具有更高的实时性,能够满足电梯物联网远程监控电梯门运行状态的时间要求。
表1 3种直线检测算法电梯门状态实验结果
(3)检测耗时分析
(a)图像预处理耗时比较
图像预处理包括提取视频图像、图像缩减、图像灰度化、图像滤波、Canny边缘检测和图像膨胀。下面将提取视频图像和图像缩减统称为获取图像,其余部分统称为图像处理,耗时如表2所示。
表2 图像预处理耗时
(b)直线检测算法耗时比较
基于概率霍夫直线检测算法、LSD算法和限角概率霍夫直线检测算法检测电梯门边缘直线,并据此判断电梯门是处于关闭还是开启状态,耗时分别如表3-5所示。
表3 PHT算法判断电梯门关闭和开启状态耗时
表4 LSD算法判断电梯门关闭和开启状态耗时
表5 LA-PHT算法判断电梯门关闭和开启状态耗时
由表3和表5可知,采用限角概率霍夫直线检测算法提取电梯关闭和开启状态边缘直线并判断电梯门状态,其耗时比概率霍夫直线检测算法减少10%。由表4和表5可知,LSD算法判断电梯关闭和开启状态的耗时分别是限角概率霍夫直线检测算法的9.1倍和13.4倍。实验结果表明,限角概率霍夫直线检测算法的计算速率较高。
(c)判断电梯状态总耗时
概率霍夫直线检测算法、LSD算法和限角概率霍夫直线检测算法判断电梯门状态(不包括故障状态)的总耗时对比如表6所示。
表6 3种直线检测算法判断电梯门状态总耗时对比
由表6可知,LSD算法判断电梯门状态的总耗时最长,LA-PHT算法判断电梯门状态的总耗时最少,比LSD算法判断电梯门状态速率提高了39.0%,比PHT算法提高了6.0%。图像预处理占LA-PHT算法总耗时的89.5%,其中获取图像占用57.5%,耗时较多,影响响应速度。
3 结论
本文针对电梯门状态后装监测问题,设计了一种基于前置图像处理的电梯门状态检测方法,提出的限角概率霍夫直线检测算法在保证准确率的情况下能够有效减少算法时间复杂度。实验结果表明,限角概率霍夫直线检测算法的查准率和查全率均优于概率霍夫直线检测算法,比LSD算法判断电梯门状态速率提高了39.0%,比概率霍夫直线检测算法提高了6.0%,具有更高的实时性,在电梯运行监测中具有较大应用价值。其中获取视频流图像占用算法57.5%的时间,后期将对获取视频流图像的耗时进行优化。
本文提出的边缘侧电梯门状态检测方法在工程实施中具有以下优势:(1)更好的工程实施适应性。可通过窄带网络将处理结果(开关量)上传到服务器,降低了对网络环境、带宽和服务器性能的要求;(2)更低的成本,可满足实时检测要求。可在轿厢原摄像头位置部署边缘侧计算设备,降低了改造成本和风险,易于工程实现。