夏天,卿粼波,滕奇志
(四川大学电子信息学院,成都610065)
铁路货车担任着十分重要的运输责任,是我国重要的交通运输方式,因此保障铁路货车的安全运行意义重大。传统的铁路货车故障检测都是通过人工现场检测来完成的,工作人员的工作量大,并且工作效率低下。在高强度的工作环境下,难免会对工作人员的身心造成一些影响,工作人员或出现一些检测遗漏、检测失误的现象,而这些遗漏和失误往往会对列车的安全运行造成非常严重的安全隐患。针对这个原因,许多公司都推出了能够自动识别铁路货车运行故障的检测系统,用以改变这种人工检测的模式,来提高列检质量和列检效率,但是这些系统都还存在一些问题。
正是在这个背景的前提下,本文参考了由中华人民共和国铁道部发布的TFDS(Trouble of Moving Freight Car Detection System)标准[1],设计了一套针对货车制动梁螺栓丢失故障的检测系统。货车在运行过程中,制动梁上的螺栓很可能会因为货车抖动而导致丢失,并导致制动梁失去作用,无法减速高速运行中的货车,存在着很大的安全隐患,因此识别出制动梁上螺栓是否丢失并及时对故障位置进行报警是十分重要的。
首先在铁路采集系统端采集到货车底部原始图像,然后将货车底部图像进行图像预处理。通过已经获取到的制动梁模板图片,在货车底部图像中进行模板匹配,定位出制动梁的位置。定位出制动梁后便开始找出在制动梁上的三颗螺栓的所在位置,分别把制动梁上的螺栓提取出来,对其进行螺栓的丢失诊断,在定位和识别螺栓的过程中,多次用到Canny 边缘检测和Hough 线提取。螺栓丢失故障识别的流程图如图1,货车的底部图像如图2。
图2 货车底部原始图像
模板匹配[2]就是在一幅图片中寻找与另一幅图片最相似的部分,即以零件库中已获得的制动梁图片为模板,在货车底部原始图像中搜寻最符合的目标。制动梁模板图如图3。
图3 制动梁模板图像
我们将已获得的制动梁模板图片左上角的点,与货车底部原图像中左上角的点重合,然后将制动梁模板图像在货车底部原图像中逐像素进行移动,来寻找货车底部原始图像中与制动梁模板图最相似的匹配。模板图像T 与待匹配的图像S 之间的关系如图4所示。
图4 模板匹配原理图
原始图像S 的尺寸为W×H,模板图像T 为M×N,T在S 上平移,搜索窗口所覆盖的子图区域记为Si,j,i,j为子图的左上角定点在S 中的坐标点。通过对比T 和Si,j的相似度,来完成模板匹配的过程。归一化模板匹配的相关系数R(i,j)的计算公式如下:
由于原始图片较大,在进行模板匹配之前,先对原始图片采用了领域平均的降采样[3],图像A 尺寸为m×n,对其进行s 倍的下采样,得到一个(m/s)×(n/s)尺寸的图像。
再对降采样后的图片进行模板匹配,找到目标后,根据目标在降采样后的图片中的坐标点,在原始图片中映射出已定位的制动梁的位置。这种方式极大地优化了定位制动梁所需要的时间,而且降采样后并未丢失图像的整体特征,所以并不会对匹配结果造成影响。
由于制动梁边缘清晰且成直线,螺栓固定在制动梁所在直线,所以通过定位制动梁上的直线,便可以找到螺栓具体位置。本文采用Hough 线变换[4],进行直线检测。进行直线检测之前,首先要对已经获得的制动梁图片进行Canny 边缘检测[5],获得制动梁图片的边缘图像。
在图像x-y 极坐标空间里,一条直线用参数方程可以表示为如公式(3)所示:
其中ρ 代表这条直线到坐标原点的垂直距离,θ代表x 轴到这条垂线的角度,取值范围为±90o,在极坐标的表示下,图像坐标空间中共线的点映射到参数空间中后,会成为不同的曲线,而这些曲线在参数空间中都相交于一点p,所以可以通过在参数空间中相交的点来找出坐标空间中对应的直线,如图5 所示。
图5 坐标空间与参数空间
通过原图可以发现,固定制动梁的三颗螺栓的位置始终是固定的,并且按一定的比例和位置固定在制动梁上,所以我们可以根据比例,来确定三颗螺栓在直线上的所在位置。对已提取的边缘图进行Hough 变换直线检测,提取出其中所有满足要求的直线,而这些直线簇组成了一个三角形的框架,三颗螺栓处于制动梁上的直线上,所以提取出制动梁上的竖直线是关键所在。动车制动梁整体框架是一个等腰直角三角形,根据直线的斜率不同,可以得到一条+45°的直线,并获得最右边一条斜率趋于无穷的竖直线,可以求出两条直线的一个交点坐标(a1,b1)。同理,也可以一条斜率为-135°的直线,与竖直线的交点坐标为(a2,b2)。因此,分别以(a1,b1),(a2,b2)为端点坐标拟合出固定螺栓所处的竖直线,获得到这条直线以后,根据制动梁上三个螺栓的固定位置严格的成一定的比例,我们便可以通过螺栓在直线上的比例分别对应坐标点画矩形提取出三颗螺栓的样本图。
图6 螺栓定位
由于螺栓丢失的零件部位,会有一个均匀的黑圆孔,如图7(b)所示。
图7 正常螺栓与故障螺栓
因此对此进一步的分析,为了使圆的边缘更加突出,首先对正常螺栓图像和故障螺栓图像进行了阈值分割,将图像通过阈值分割为一幅二值图像,再对这幅二值图像进行边缘提取,为检测两幅边缘图像中的圆,采用了Hough 圆变换。同直线检测一样,曲线检测也是通过把图像空间转换到参数空间[6]。例如本文将要用圆形检测,圆的一般方程为:
(a,b)为圆心,r 是圆的半径,(x,y)为圆上的一点。坐标空间x-y 中的坐标点映射到参数空间a-b-r 上,其中a-b-r 是一个三维的锥面,图像空间中的各个点到参数空间上的圆锥将会有一个共同的交点(a0,b0,r0)。如图8 所示:
图8 曲线参数空间图
若能成功找到半径为r 的曲线圆,则代表此处螺栓已经出现丢失,向系统做出报警。
由于三个部位的螺栓掉落后形成的黑圆孔大同小异,这里仅用对底部螺栓的处理结果作详细介绍,其他两个部位的处理相同。分别选取了正常螺栓和故障螺栓的实验结果进行比对,从图中可以看出正常螺栓的边缘图中由于光照、相机景深等因素,无法找到半径为r 的圆,因此此时螺栓属于正常状态,而在故障螺栓的边缘图中我们可以看出有一个规则的小圆圈,此时用Hough 圆检测可以成功找出该圆圈,因此系统会判定该位置螺栓发生故障。
图9 识别检测故障螺栓
本文针对了对列车固定制动梁的螺栓进行了丢失检测,通过模板匹配定位出制动梁的具体位置,然后基于Canny 边缘检测和Hough 变换曲线检测,来准确定位出螺栓的所在位置,并在最后成功判断了螺栓是否掉落,本方法成功地实现了机器自动检测的效果。
这种方法在制动梁极端损坏的情况下可能会导致识别错误,因为要检测到螺栓的具体位置,必须保证制动梁并没有出现其他故障,例如制动梁产生比较严重的形变将会对实验结果带来影响,导致无法准确地定位出螺栓在制动梁中的具体位置,所以,进一步要研究如何在不确定故障的情况下定位出螺栓位置并识别检测,适应更多的可能环境。