范钰萍,唐权华,黄龙军
江西师范大学 软件学院,南昌 330022
现代铁路运输普遍使用电气化设施,主要通过接触网供电,接触网安全是铁路运输安全的关键问题之一。威胁接触网安全的一个主要因素是侵入铁轨及其附属设施区域的树木,这类树木被称为危树。危树可能引起漏电、火灾、供电中断等事故和灾害,需要及时地检测和发现危树。危树产生是一个渐进的过程,因而危树检测也是一个长期不间断的工作。由于铁路线路长,经常需要穿越无人地带,危树检测需要耗费大量的人力物力,为提高效率、降低成本,必须探索危树的自动检测方法。危树检测过程主要对树木与铁路设施间的距离进行判断,本质上是对树木区域识别和测距。图像采集设备成本低,方便携带和安装,且图像包含了颜色信息,有利于危树区域的识别,同时图像中也包含了空间信息,可以用于测距,因此基于图像处理的危树检测方法成为了首选方案。
基于图像处理的危树检测首先需要对树木区域进行分割和识别。区域分割是图像内容分析的基础和前提,研究较为广泛。现有区域分割技术主要包括阈值分割[1]、边缘轮廓划分[2-3]、聚类[4-5]、随机场建模[6-7]等,最近的研究成果主要集中在随机场建模和深度学习方法。基于随机场建模的区域分割方法建立像素的概率分布模型,在数学理论上具有较好的支持,能较好体现样本区域特征,对边缘不明确的区域划分效果有显著优势,但建模速度较慢,结果划分粒度相关。基于深度学习的区域划分[8-9]方法训练区域分割的多层卷积神经网络,具有一定的鲁棒性,但对学习样本有较大数量和质量上的需求,划分速度随着划分精度增加而降低。铁路危树检测对区域划分更注重计算的实时性,对精度要求相对较低,铁路图像拍摄是一个连续的过程,危树检测过程中需要利用前后两帧对比信息,分割结果应相对稳定,而现有区域分割研究主要针对单帧图像的应用提高精度,有必要研究针对连续图像的区域分割和识别方法。
危树检测的另一个任务是对树木区域进行测距,现有图像测距主要包括双目视觉和参照物两种方法。双目视觉是指利用两个摄像机拍摄同一目标物体不同视角的两幅图像并对其进行立体匹配,由此计算得到视差图算出目标物体的位置,广泛应用于目标测距[10-11]、定位[12-13]以及三维重建[14-15]等领域。视差图是双目视觉方法计算图像深度和测距的主要依据,视差估计也是近年研究的一个重点,现有视差估计方法包括局部估计、全局估计、合作和半全局估计等,视差估计在立体视频[16]、3D重建[17]、自动驾驶[18]等领域应用广泛。双目视觉测距方法有效解决了图像中缺少深度信息的问题,但对拍摄设备、拍摄条件有较高的要求。图像测距的另一条思路是利用测距对象上或测距环境中的特殊参照物,通过参照物的尺寸和距离来估计待测距离,参照物可以人为添加或利用现有图形,这种方法在自动驾驶、手术导航等问题中得到有效应用。基于参照的测距方法计算简单,精度较高,限制是需要在测距位置同一深度有合适的参照物,或方便添加人工参照物。铁路危树检测图像拍摄过程中震动较为严重,很难固定两摄像机的拍摄角度,给双目视觉测距带来不便。铁路两侧虽然有接触网支架和轨道线可作为测距参照物,但支架存在位置不连续,不能用于支架间的树木区域测距;轨线深度连续,但其高度仅限地面,对较高的树木区域失去参考意义。
为解决铁路危树检测中区域划分、识别和测距的问题,本文设计了基于多颜色阈值的多尺度区域分割方法,尝试基于颜色特征和分形维数对树木区域进行识别,以连续拍摄的图像的区域对应及移动信息估计区域与摄像机的距离。通过对测试路段的视频处理,证实本文的方法可以有效地对危树区域进行检测。
为识别树木区域,发现危树,首先要对图像进行区域分割。树木区域与山体、铁路不一定存在明显边缘,树木之间可能存在一定差异,因此很难通过边缘轮廓或聚类的思路进行区域分割。在分割对象与背景环境有较为明显颜色区分的场景中,基于颜色特征的图像分割方法有着的广泛应用,例如在绿色植物、水果蔬菜等图像识别与分割中的应用,有研究学者利用绿色植物的颜色特征将其与土壤等环境背景进行分割,再通过颜色阈值分割得到绿色植物叶片的病害病斑部分[19]。树木区域最突出的特征是颜色,实验的铁路图像素材以树木区域、铁路、山体以及天空为基本组成,可根据树木区域与其他组成部分之间存在的颜色差异,将基于颜色空间的阈值分割算法引入树木区域的分割。根据识别和测距的需要,采用多颜色阈值对图像进行区域分割。另外,基于颜色阈值的危树的识别需要考虑区域间的包含和匹配的问题,有必要研究多尺度的区域分割和识别方法。最大类间方差法可以简单快速地将图像分割成前景和背景两个部分,而分割后的区域将进一步阈值分割细分区域,即多尺度区域分割[20],细分得到的区域分割结果有利于下一步树木区域的识别和匹配。
首先,对图像进行预处理,即图像灰度化后使用平滑滤波的方法对图像进行增强和去噪,以免图像噪声对区域分割产生影响;其次,通过循环计算不同类别方差,选取使类间方差最大的灰度值为最优阈值,将图像分割为前景和背景,计算得到两个区域的阈值T1、T2:
使用T1、T2可以将图像分割为较大的区域,为测量区域距离,需要进一步细分区域。令已有阈值总数为max,应用已有Ti计算新的阈值:
利用新的阈值对图像进行区域分割,则可以比上次获得更细的分割结果,并且与上次的分割结果形成包含关系。重复利用式(2)计算阈值进行区域分割,则可以获得多组具有包含关系的区域分割结果,并将第k次分割的结果记录为{Bi}k。
由于铁路两侧包含草丛、灌木、乔木等不同种类的绿色植被,各类植物显示不同的纹理特征,使得后续区域识别与匹配过程比较困难。通过多尺度的颜色阈值分割可以将图片区域进一步细分,得到不同植被以及树木分支结构的区域分割,将植被区域的颜色特征与分形维数相结合,可以对树木区域进行识别和匹配。
铁路两侧一般种植四季常青的树木,在冬天树木凋零基本停止生长,不会产生新的危树区域,因此只需要对绿色树木进行识别,颜色成为识别树木区域的明显特征。传统的RGB颜色模型中的颜色会受光照影响而改变,不便于进一步的树木区域分割,而HSV颜色空间由色调、饱和度和亮度三个要素组成,可以比较直观地反映事物的颜色,且应用广泛,利用HSV颜色空间对区域进行分割和识别成为一种常见的方法,广泛应用于人脸检测、车牌识别等问题的研究中。危树检测过程中的树木区域色调相近,因此可也采用HSV 颜色空间对区域进行判定。应用拍摄样本和网络收集的树木图片分割和标注,在保证不产生漏检的情况下选取最小的颜色区间,获得树木区域的颜色判定条件为:
HSV 颜色空间判定可以将图像区分为植物和非植物区域,但铁路的路基上也可能会生长一些其他植物,接触网支柱也可能因为苔藓等因素显现绿色,因此需要进一步对绿色区域进行识别。
树木与一般植物的区别在于,单株树木的体积较大,呈现明显的分支结构,这种分支结构在图像区域展现为区域的层级包含关系。分形理论可以对树木的这种分支结构进行区分,且在图像处理中已有成功案例,故引入分形理论识别树木区域是一个自然选择。分形维数是分形几何理论的重要概念之一,广泛应用于图像分割[21]、植物分形研究[22]等领域,分形维数反映事物分化时细节的增长速度,可以计算植物区域的分形维数,然后根据区域分形维数值的对比对其加以区分,达到树木区域分割和识别的目的。已有学者利用双毯法计算树木的分形维数,从而确定图像中的树木区域[21]。双毯法较精确地统计每个像素领域的分形维数,对区域的划分有较大帮助,但计算复杂度高,不利于实时运算。为提高分形维数的计算效率,本文利用多尺度区域分割的边缘长度计算区域的分形维数,计算公式如下:
其中,B指计算维数的区域,s指用于阈值分割的阈值尺度,即阈值间的最小距离,lgEB(s)指经过尺度s的阈值分割后,区域B内的边缘总长度。
通过分形维数的计算与比较判断得到不同的植物区域以及同一树木的分支结构区域,结合颜色特征的限定,即可得到树木区域识别的综合判别方法。令符合颜色值要求的区域集TC={Ti}C,树木区域的维数范围为Fd=(fmin,fmax),则最终获得树木区域为:
在获得树木区域后,测量它们与轨道间的距离是判定危树区域的主要任务。由于成像过程中的透视效果,图像中像素距离不能直接映射到现实距离,需要获得成像点到相机的距离,即图像的尝试信息。为还原尝试信息获得目标物体的实际位置,主流研究主要使用双目视觉的计算方法。双目视觉以两个不同视点拍摄同一目标物体,然后通过立体匹配和三角测量原理计算得到图像像素间的位置偏差,即视差值,最后利用大小为单帧视频图像,元素值为视差值的视差图来计算目标物体的位置。铁路目标图像的获取是通过摄像机在列车行驶过程中所产生的一系列图像,双目视觉的双目平行模型算法获取目标物体的图像相似,然而双目平行模型的测距是利用同一目标物体在水平方向的两张图像像素间的位置变化来得到物体深度信息,树木区域与铁路安全区域之间的测距则需要根据图像测量两个目标物体间的纵向距离。借鉴双目平行模型的测距算法的思想,本文提出基于纵向视差的测距算法。
列车向前行驶,接触网、铁轨、树木等背景相对静止,背景区域在不同时刻从列车上观察的位置产生相对变化,可以利用这些变化估计背景相对列车的绝对位置。在列车行驶过程中,由于摄像机移动,同一对象的成像产生变化。对成像物品上一点P(x),设它在成像面上的成像位置为I(XB) ,当摄像机向前移动距离S后,物体成像到I(XF),其中X、XB、XF分别为P点及其成像到摄像机中心线的水平距离,摄像机焦距为F,物体与摄像机的初始距离为D,如图1所示。
图1 纵向视差与横向距离
据三角形相似可得:
于是有:
上式与距离D无关,XB、XF可以通过图像测距获得,焦距F摄像机固定参数,摄像机移动的距离S可以通过摄像机移动速度和拍摄时间计算,因此成像物体与摄像机中心轴的距离可以通过上式计算。根据式(6),只要找到点P在不同时刻的成像,就可计算P与中心轴的距离。
与双目视觉的计算相似,计算纵向视差的前提是对成像点进行匹配,图像立体匹配首先需要考虑的是匹配的最小单元,即图像点特征、线特征和块特征等匹配基元的选取,根据匹配基元的不同可以分为基于区域、特征、相位的立体匹配算法;其次是对匹配范围的确定,根据参与匹配的图像像素范围的大小可以将常用的立体匹配算法分为全局匹配、局部匹配和半全局匹配。由于铁路图像树木区域颜色相近,列车高速运行中前后两帧图像会产生变形,很难通过传统的匹配方式对像素进行匹配。为解决像素匹配问题,利用同一树木区域包含关系不变的特点,设计多尺度的区域匹配方法,即首先对大的区域匹配,然后再对其子区域进行匹配,直到匹配区域无子区域,再对最小的区域进行形状的拓普学对应,从而达到像素点的匹配。
图像测距的精确度较低,摄像机焦距的误差和抖动必然产生一定的测量误差,很难用测距的绝对值判定危树。所幸的是,铁路两边的接触网支架与铁轨的距离固定,并限定了铁路的安全区域,可以通过纵向视差计算支架的位置然后与实际位置进行对比,从而对纵向视差距离估计的结果进行评估和校正。接触网支架在图像中的突出特征是包含几条位置相对固定的直线,可以先检测直线,然后分析直线间的位置关系以检测支架。图像处理领域中,直线检测的经典方法是Hough 变换,对Hough变换的计算方法研究改进很多,如采用一种多约束的Hough变换提取特征线,并且利用概率表决估计消失点,然后用消失点约束特征线,最后多次迭代K-means聚类实现车道线检测[23]。本文采用累计概率Hough 线变换算法识别并标记图像中的直线,由此识别出图像中接触网支柱、支架等线型模型,然后采用朴素贝叶斯分类器对Hough变换所检测得到的线段进行判断,从而识别接触网支柱结构。
令Hough 变换检测到的线段集为L={li|i=1,2,…,N},将线段li与lj间的夹角表示为Aij,最近端点间相对距离(使用实际距离除以li与lj的最大长度为Dij,则三条线段li、lj、lk组成接触网支架的事件P概率为:
因为Aij与Dij的变化主要是由于拍摄距离和角度引起,可以简单地认为它们服从均匀分布,设置变化范围,则可以计算P(R|Aij)与P(R|Dij)。支架检测的结果如图2所示。
图2 接触网支柱检测结果
接触网支架的位置不能直接用于树木区域的估计,但可以通过支架位置的计算获得视差计算的误差,用于校正相邻树木区域位置估计可能存在的误差,从而提高危树检测的准确性。
为验证算法的有效性,对成都至达州的某段铁路进行了拍摄和树木区域测距实验。实验中拍摄图片采用1 920×1 080 的分辨率,通过人工对树木区域进行标注和距离估计。实验程序采用单线程在Dell M3800移动图形工作站(Intel i7-4712HQ处理器,16 GB内存)上运行,统计区域分割和测距误差,部分结果如表1 所示。实验中,利用正反样本各10 000 张进行训练,正反样本主要通过拍摄视频及网络收集的样本进行切割和分选获得,得到树木区域的分形维数在开区间(1.315,1.422)内。
实验中以树木区域距离匹配为目标,基于纵向视差估计树木区域与铁轨中心的距离,主要流程如图3所示。
图3 树木区域距离估计流程
表1 中树木区域总数指在进行最大类间方差分割后,选取包含树木区域的部分灰度中间值进行第一次分割并识别的树木区域数量,区域数误差指由于区域分割和识别的误差的树木区域数量变化,距离最大指各区域测得距离与实测距离误差的最大值,距离平均误差指各区域测得距离与实测距离误差的平均值。
表1 测距实验结果
从表1所示的实验结果看,程序计算每帧图像所需要的时间平均在330 ms 左右,每秒可检测2~3 帧,实际应用中可以使用并行计算和调用GPU运算等手段进一步提高运行速度,在配置了8CPU的电脑每秒至少可检测24 帧以上,按高铁速度每秒行驶100 m 估计,检测的间距为4 m左右,而实际拍摄图像的可视范围远远超过4 m,因此算法可以达到实时检测的要求,并不会出现检测遗漏区域。检测过程中出现了一定的区域分割误差,这个误差主要存在较远的区域,在后续检测过程通常可以获得校正,不影响最终检测的结果。检测计算出的距离与人工估计的距离存在0.2 m 左右的误差,主要是由于摄像机抖动所引起。
实际对危树的判定应以树木区域与接触网支架的距离(即铁路的侧面限界)对比为标准,但由于目前相关路段对铁路的维护,很难获得存在危树的实验素材。为增加检测精度,进一步通过侧面限界对测量结果进行校正,即计算测量所得的侧面限界数据与实际侧面限界的偏差,测量所得的树木区域距离与之相减的结果作为最终测量结果,改进的后估计流程如图4所示。
实验铁路的实际侧面限界为2.9 m,统计实验结果的误差概率分布如图5所示。
图5 表明,通过支架距离校正后测量误差降低到0.15 m 以下,平均在0.07 m 左右,这一方面为进一步降低测量误差奠定了基础,另一方面也证明了通过支架相对位置检测危树思路的正确性。
为分析测量误差的来源,选取测量过程中误差较大的两帧图片进行分析。图6 分别展示了相邻两帧图像及其区域分割、匹配的结果。
图4 校正后的树木区域距离估计流程
图5 校正前后的误差分布
图6 区域分割与匹配的结果
图6中的黄色为不同尺度所分割区域的轮廓,红色小圆标注了其中两个树木区域的匹配结果。从结果看,主要区域分割前后一致,匹配结果基本正确,但由于摄像机抖动,匹配点与摄像机中心的相对位置发生了一定变化,导致了测量误差产生。
本文对基于图像的铁路危树检测方法进行了探索,设计了针对危树检测的区域分割方法、树木区域的分形维数计算方法、区域多尺度匹配方法,通过图像区域在前后两帧中的位移和摄像机移动测量区域距离成像面中心的距离,通过对比树木区域与接触网支架的位置关系对危树区域进行差别。实验证明,本文所设计的方法具有良好的测量精确性,计算复杂度在可接受的范围内。为解决危树判定过程中,树木区域与铁路安全区域的检测易受摄像机抖动而产生较大误差等问题,根据同一图像中两目标物体相邻两帧的位置变化计算物体的实际距离,即对双目视觉测距算法进行改进提出基于纵向视差的计算方法。由于真实铁路维护的状况良好,危树的实验素材采集困难,未能对实际的危树视频进行直接检测,后续研究将通过布置模拟场景的方式获得危树的视频以进一步证实算法的有效性。对于列车的高速行驶引起的图像抖动,本文仅通过区域匹配等方法消除其影响,在后续研究中将结合去抖动等图像稳定技术增加测量的精度。