基于视频实时检测的轨旁作业预警系统研究
2022-06-11周瑞鸿黄凯峰窦礼同
周瑞鸿,黄凯峰,2,李 彦,窦礼同
(1.淮南师范学院 机械与电气工程学院,安徽 淮南 232038;2.深部煤矿采动响应与灾害防控国家重点实验室,安徽 淮南 232001)
铁路的正常运行需要铁路现场施工和对运行设备的检修维护作为保障,铁路的提速对施工及维修时间有了更高的要求。研究轨旁作业安全防护技术能够满足作业施工的安全需求、弥补传统防护及管理的缺失和保障轨旁作业人员的人身安全;研究视频实时检测可以改变传统的人工瞭望和制度制约的局限性、弥补卫星导航系统复杂和投资巨大的劣势,解决雷达检测技术误警率高的问题和提高防护系统的实时性及便携性。我国铁路现在使用的列车控制系统中,也具有列车接近预警策略,但是该系统的主要功能是保证列车的正常运行,并未对作业人员安全进行充分考虑,因此这些预警系统和方式难以满足目前铁路现场作业人员安全防护的需求。近年来国内外对铁路作业安全预警[1]及防护展开了广泛的研究,北京交通大学严博毅等人设计了铁路作业预警装置[2],利用光纤传感的原理实现作业现场防护,但难以实现轨旁作业防护对便携性的需求。德国在新线路上采用MAS90预警系统,不仅可以监督线路设备的运作情况,而且能预测影响列车正常运行可能性或设备的故障隐患。该预警方法可以定位靠近防护区段的列车并实时测量该列车的行驶速度,及时进行报警提醒作业人员及时撤离。但是外界环境对此类信号的干扰较大,因此对整个系统的稳定性与可行性造成很大的影响。日本目前使用的列车预警系统[3]则利用GPS全球定位系统对运行列车进行实时监测。GPS对铁路现场环境的要求比较高,因此该技术也有一定的限制因素。
本文针对铁路现场维修环境及预警需求,提出一种基于差分与光流结合的列车接近预警方法,将现有的铁路预警系统与视频实时检测运动物体相结合,利用对称帧间差分快速提取运动区域,仅计算运动区域的光流场,实现对防护区段接近的列车进行快速准确的检测并及时报警。从而满足铁路轨旁作业预警系统的实时性、便携性和可靠性。
1 预警方法的数学模型
设备安装的两个摄像头分别对上下行进行同时监测,防护区段原理图如图1所示。如图1所示,作业人员在进行作业时,将设备放置在轨旁,摄像头距离地面的高度H、水平方向的夹角α和β可依据现场具体情况进行调节,这样提高了设备的灵活性和适应性。
图1 防护区段原理图
设备所防护区段的范围分为左防护区h1和右边防护区h2两部分之和组成,其中摄像机距离地面的垂直距离为H,轨旁水平距离为H1,摄像头的可监测距离分别为L1和L2,其在地面的投影距离分别为L′1和L′2,具体各个量之间的数学关系式如式(1)-式(6)所示。
(1)
(2)
(3)
(4)
(5)
(6)
由于右防护区段与左防护区段对称,所以同理得式(7):
(7)
其中:Δl为轨距,我国铁路轨距一般情况下均为1.435米。
分别建立世界坐标系为Xw-Yw-Zw及摄像机坐标系Xc-Yc-Zc来表示三维空间;将图像平面利用二维坐标系u-v表示,将图像中心定义为坐标原点。对世界坐标系与相机坐标系间的坐标进行转换,可得如式(8)、式(9)所示的关系式。
(8)
(9)
以透视变换为依据,建立图像二维坐标与相机坐标之间的映射关系如式(10)所示。
(10)
2 差分与光流结合算法分析
算法的主要思想如图2所示,是利用对称差分法简单快捷的优势,对检测场景首先进行运动区域提取,只需要利用光流法检测提取出的运动区域检测运动目标。算法的主体结构如图2所示,分别计算第k-1帧和第k帧之间的绝对差分图像g(k-1,k)以及第k帧与k+1帧之间的绝对差分图像g(k,k+1);分别对g(k-1,k)和g(k,k+1)转换成二值图像进行“与”运算得到图像g(k-1,k+1)。
图2 算法框架
通过区域识别、区域扩张及叠加处理,确定可能的目标区域[4-5],并对应到第k-1帧和第k帧原始图像上;对检测出的区域进行光流场计算,准确检测出列车;将检测出的列车所在帧图像作为第k帧图像的目标进行标定,输出目标的位置,并进行报警,算法架构图如图3所示。
图3 算法的总体框架图
2.1 帧间对称差分提取运动区域
图像序列的一般表达式如式(11)所示。
F={fk(x,y),x≤M,y≤N,k=1,2,…}
(11)
式中(x,y)表示灰度图像(M×N)上的点,fk(x,y)对应关键图像中该点的灰度值大小,k表示序列图像帧的帧号。相邻帧图像fk-1(x,y),fk(x,y)和fk+1(x,y),式(12)和式(13)所示,取相邻帧的差分绝对值:
gk-1,k(x,y)=|fk-1(x,y)-fk(x,y)|
(12)
gk,k+1(x,y)=|fk+1(x,y)-fk(x,y)|
(13)
选取适当阈值T(取T=M+kσ,式中M为图像的灰度值,δ为其标准差,k为常数,一般取图像信噪比),进行二值化得到两个绝对差二值图像,如式(14)和式(15)所示。
(14)
(15)
将式(14)与式(15)的绝对差进行“与”运算,得到二值图像Bk(x,y),从而得到当前帧图像中的对称差分结果如式(16)所示。
Bk(x,y)=bk-1,k(x,y)·bk,k+1(x,y)
(16)
在二值图像中标定所有内部连通的“斑点”,计算能够包含每个“斑点”的最小矩形的位置和大小,记所有的小矩形为:{Pk(s,e,w,h)|0≤k≤m×n},其中(m×n)为整幅图像的像素值,(s,e)为小矩形左上角的位置坐标,(w,h)表示小矩形的宽度和高度。
(17)
式(18)和式(19)中w0和h0的取值为:
(18)
(19)
区域扩张后可能导致相邻区域之间有叠加部分,为了避免后续图像处理重复计算,将相互间有叠加的目标区域重构形成一个大的运动区域,如图4所示,将存在重复区域的相邻矩形A和B两个矩形重构成一个矩形C,这样防止对重叠区域的重复计算。
图4 目标区域重叠处理
区域重叠处理的具体数学算法如下:
将矩形A、B和重构矩形C分别表示为:PA(sA,eA,wA,hA)、PB(sB,eB,wB,hB)、PC(sC,eC,wC,hC),则有式(20)-式(23):
(20)
(21)
wC=wA+wB-wA·wB
(22)
hC=hA+hB-hA·hB
(23)
2.2 对运动区域进行光流准确检测运动物体
本文以基于梯度方法来实现关键连续帧光流的计算,原因在于该方法在计算量上较其他方法简单并且可靠性较其他方法高,满足本系统对算法实时性和准确性的需求。假定运动区域[9]上点(x,y)的在t时刻的灰度值为D(x,y,t),在t+dt时刻,该点的像素为:(x+dx,y+dy),其灰度值为:D′(x+dx,y+dy,t+dt)。
根据数学微分思想,当dt→0时,D=D′。
将(x+dx,y+dy,t+dt)=(x,y,t)进行泰勒级数展开如式(24)和式(25)所示。
(24)
(25)
又因为:D=D′得式(26)
D′(x+dx,y+dy,t+dt)-D(x,y,t)=0
(26)
进一步简化可得如式(27)所示。
(27)
等式左右两边同时除以dt得式(28),即:
(28)
Dxu+Dyv+Dt=0
(29)
式中Dx,Dy,Dt,分别表示像素点灰度随着位置坐标和时间的变化率;u和v分别表示像素点在图像二维坐标系中横坐标和纵坐标的速度分量,将式(29)转换成矢量的形式为式(30):
ΔD·u+Dt=0
(30)
该算法主要针对铁路现场作业防护进行视频实时检测,利用铁路现场拍摄的视频对该算法进行检验,在检测到的视频中,本文提出的算法可以准确快速的检测到视频中的运动物体,并且对捕捉到的运动物体进行区分[10]。
对称差分检测出运动区域后,计算该区域光流场,如果该区域内某个位置的光流变化很大,说明有运动物体。通过对比同一运动物体在不同位置的像素值、对比之前统计的行人、汽车和火车等其他对象在相同位置的像素值,判断运动物体是否为钢轨上行驶的列车,对运动区域的光流检测如图5所示。
图5 光流法对运动区域的检测流程图
3 实验结果
视频检测距离也是该预警策略必须考虑的因素,目前市场上比较主流的、成本较低的CCD摄像机的检测距离远远不能满足轨旁作业防护的需求,因此我们选用长焦距摄像头对作业现场进行实时监测。测量检测距离需首先对摄像头的焦距进行计算,但由于图像转换为灰度图像时分辨率会发生变化,因此在计算距离时也需要对焦距进行转换。假设有一个宽度为W的目标,然后将这个目标放在距离相机为D的位置。用相机对其进行拍照并且测量物体的像素宽度P。这样我们就得出了相机焦距的公式如式(31)和(32)所示。
F=(P×D)/W
(31)
D=(F×W)/P
(32)
当视频序列帧图像转换为灰度图处理时,帧图像的分辨率发生了改变,所以在距离计算时,引入转换公比k如式(33)所示。
(33)
式中:P为视频原始帧图像分辨率,P′为转换后灰度图像的分辨率。因为k的计算公式中只是简单的比例计算,所以只取宽度像素值进行计算,简化运算。因此像素转换后的焦距如式(34)所示。
F′=F/k
(34)
图像转换后测量实际距离如式(35)所示。
D′=(F′×W)/P″
(25)
实验选取白纸高:26.6cm;宽:8.8cm,拍摄原图像像素为:4608×3456,转换成灰度图的像素为:320×240,如图6所示。
(a)D=15.6m图像
(b)D=20.4m图像图6 距离测量原图像
图6(a)中取水平距离为D=15.6m,利用已知距离及公式(30)和公式(32)测量长焦距摄像头的焦距与转换公比:
F=(P×D)/W
=(937×15.6)/0.088
≈166104.5
测得焦距与公比之后,将相同的白纸平移到距离D=20.4m的位置进行验证实验,如图6(b)中所示,利用公式(33)与公式(31)计算转换后的焦距与测量距离,并与已知水平距离对照:
F′=F/k=166104.5/14.4≈11535
D′=(F′×W)/P″
=(11535×0.088)/50
=20.3016m
实验所得的距离D′与实际距离D非常接近,因此该实验验证了本文提出的测量视频检测距离的方法的可行性。在兰州铁路局管内某线路拍摄的实际检测列车距离的图像如图7所示。
图7 实际测量列车图像
用已经测量好焦距的长焦距摄像头检测钢轨上的列车,假设客车车厢的宽度为W=3.3m,原始视频帧图像的像素为:4608×3456,转换后灰度图像的像素为:320×240,灰度图列车的像素为:21×36,所以:
F′=F/k=72800/14.4≈5055.6
D=(F′×W)/P″
=(5055.6×3.3)/21
=794.5m
由实验结果可知,该检测距离可以满足视频检测及报警需要。由于利用对称差分法进行目标区域提取时需要估算图像的信噪比RSN,因此本文在实验中限定目标图像最小信噪比为3.0。图8截取视频序列帧灰度图像做对称差分进行目标区域提取后,进行光流计算并且检测出钢轨上的列车。
(a)对称差分结果
(b)目标区域提取结果
(c)光流对比结果
(d)算法检测结果
实验以有效检验本文算法可行性为目的,选取一段有人巡检员出现的作业现场拍摄视频进行检测,如图9所示。图9中(a)、(b)与(c)为视频关键连续三帧灰度图像,(d)为其对称差分结果,(e)为运动目标区域提取结果,从(e)可以看出,二维视场中的工作人员(图像右边)以及其他噪声引起运动区域误检区域被提取出来,(f)为图像经过光流准确检测后的结果,从图像中可以看出,这些不属于钢轨上运动的列车运动物体,本算法均未将其误检为列车,从而有效的验证了本文结合算法的可行性。
(a)第8帧
(b)第9帧
(c)第10帧
(d)对称差分结果
(e)运动区域提取
(f)光流对比结果
本文选用铁路现场拍摄的多段视频对该算法进行验证,在不同场景下以及不同角度拍摄下的运动物体进行检测,检测结果见表1。
表1 运动物体检测实验结果
本文共提取3200个不同的样本,其中实验检测准确率达98.12%,而漏检率和误检率仅有1.28%和1.06%。在多组实验数据中,列车仅有19次漏检。在这19次漏检的情况下,其中11次漏检的原因为目标刚进入摄像头的防护区段,现场存在弯道导致目标在关键帧图像中占比过小,但是在其相邻关键帧图像中准确的检测且识别;8次为在列车与摄像机所在位置非常接近关键帧图像中,虽然此时并没有实现准确识别,但是该视频的前面关键帧的图像已经检测出了钢轨上的列车,这样在实际现场已经实现了预警,这样的情况对系统有列车进入防护区段进行提前报警可靠性没有影响。
表2是本文算法与其它两种主流算法在运行时间上做的比较,由表中数据可以看出,使用本文所提出的目标检测算法,不仅可以提高检测的准确度,还能减少算法的运行时间。
表2 各算法运行时间对比结果
对于整个预警算法而言,本文所设计的基于对称差分与光流法相结合的算法,能够增强人工防护的可靠性,还能避免雷达系统很高的误警率,避免列车控制系统追求列车运行时追求整个列车控制系统“故障——安全”原则时,可能出现的预警错误或缺失现象,通过以上仿真结果及实验分析可得,本文提出的算法有较高的现场实用价值。
4 结论
本文提出了基于对称差分与光流法相结合的轨旁作业安全预警方法计算简单,对环境的要求低、检测准确性高,满足轨旁作业预警的准确性需求。本文结合对称差分与光流法各自的优点,首先利用对称差分算法简单、运算速度快的特点来对整个图像提取运动区域,然后仅对运动区域进行光流法检测,避免了对整幅图像计算光流值的复杂运算,有效提高了整个算法的实时性需求。通过“斑点”识别、区域扩张和区域叠加处理等算法提取可能的目标运动区域,最后从提取的运动区域中应用光流法检测运动目标,能够更好的实现轨旁作业预警防护对实时性和准确性的需求。实验及结果分析表明,应用基于对称差分与光流法相结合的轨旁作业安全预警方法,可以在保证光流精度的前提下,大幅减少算法运算量,满足铁路轨旁作业安全预警的要求,但是在夜间进行防护时,由于列车车头处灯光与周边其它光源的相似度较高,检测误警率较高,减少夜间防护时的误警率难度较大,这将是下一步研究的重要内容。