CN112801975B - 一种基于双目视觉的轨道道砟检验系统及其工作方法 - Google Patents
一种基于双目视觉的轨道道砟检验系统及其工作方法 Download PDFInfo
- Publication number
- CN112801975B CN112801975B CN202110114343.0A CN202110114343A CN112801975B CN 112801975 B CN112801975 B CN 112801975B CN 202110114343 A CN202110114343 A CN 202110114343A CN 112801975 B CN112801975 B CN 112801975B
- Authority
- CN
- China
- Prior art keywords
- module
- image
- depth map
- fpga
- railway ballast
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007689 inspection Methods 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004891 communication Methods 0.000 claims abstract description 17
- 230000003993 interaction Effects 0.000 claims abstract description 14
- 230000003287 optical effect Effects 0.000 claims abstract description 5
- 239000011159 matrix material Substances 0.000 claims description 20
- 239000000284 extract Substances 0.000 claims description 15
- 101100386719 Caenorhabditis elegans dcs-1 gene Proteins 0.000 claims description 9
- 238000012937 correction Methods 0.000 claims description 9
- 240000004282 Grewia occidentalis Species 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 abstract description 10
- 208000003464 asthenopia Diseases 0.000 abstract description 4
- 241001669679 Eleotris Species 0.000 description 10
- 230000008901 benefit Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20216—Image averaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20228—Disparity calculation for image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于双目视觉的轨道道砟检验系统,其是设置在铁轨上,且包括车轮驱动模块、多个车轮、MCU模块、存储模块、通讯模块、FPGA模块、第一CCD传感模块、以及第二CCD传感模块、以及人机交互模块,车轮驱动模块与多个车轮、以及MCU模块电连接,MCU模块与通讯模块和FPGA模块电连接,FPGA模块与存储模块、第一CCD传感模块、第二CCD传感模块、以及人机交互模块电连接,第一CCD传感模块和第二CCD传感模块的光轴垂直于铁轨。本发明能够解决现有道砟人工检验存在的检测误差大的技术问题,以及由于道砟检验的工作量大导致人力疲劳、视觉疲劳,且相当消耗时间成本的技术问题,以及由于道砟检验的工作量大导致人力疲劳、视觉疲劳,且相当消耗时间成本的技术问题。
Description
技术领域
本发明属于铁路运营安全技术领域,更具体地,涉及一种基于双目视觉的轨道道砟检验系统及其工作方法。
背景技术
在铁路维护保养过程中,经常会安装一些线缆及传感器,这些传感器和线缆为了避免人为损坏和影响铁路外观,一般都埋在位于道砟下的较深位置,并在安装完成后进行回填,经过较长时间后,由于人来人往对道砟的踩踏和挖掘回填,会丢失不少的道砟石子,并导致道砟的高度会越来越低。
目前铁路系统对于轨道道砟的检验通常是采用人工检验的方式,然而人工检验的方式存在较多缺点:第一,由于人工检验只能通过目测去判断道砟的高低,因此检测误差大;第二,道砟检验的工作量大,容易导致人力疲劳、视觉疲劳,且相当消耗时间成本;第三,对于道砟这种路线长、分布广、厚度不一的检测对象,检测标准很难统一,进而造成检测结果并不准确客观。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于双目视觉的轨道道砟检验系统及其工作方法,其目的在于,解决现有道砟人工检验存在的检测误差大的技术问题,以及由于道砟检验的工作量大导致人力疲劳、视觉疲劳,且相当消耗时间成本的技术问题,以及由于检测标准的不统一,导致检测结果不准确客观的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于双目视觉的轨道道砟检验系统,其是设置在铁轨上,且包括车轮驱动模块、多个车轮、MCU模块、存储模块、通讯模块、FPGA模块、第一CCD传感模块、以及第二CCD传感模块、以及人机交互模块,车轮驱动模块与多个车轮、以及MCU模块电连接,MCU模块与通讯模块和FPGA模块电连接,FPGA模块与存储模块、第一CCD传感模块、第二CCD传感模块、以及人机交互模块电连接,第一CCD传感模块和第二CCD传感模块的光轴垂直于铁轨。
优选地,车轮驱动模块是伺服电机;
车轮的数量是4个,其中至少一个是动力车轮;
通讯模块是4G、5G、或GPRS通讯模块;
存储模块使用的是DDR2或DDR3芯片;
第一CCD传感模块和第二CCD传感模块完全相同,且均包括CCD传感器、模数转换器、以及CPLD;
人机交互模块包括一个显示屏和一个键盘。
按照本发明的另一方面,提供了一种基于双目视觉的轨道道砟检验系统的工作方法,包括以下步骤:
(1)FPGA模块控制人机交互模块接收用户输入的道砟检验指令,该道砟检验指令指示道砟巡检方向和道砟巡检路程,并将该道砟检验指令发送到MCU模块,并设置计数器i=1;
(2)MCU模块根据来自FPGA模块的道砟检验指令,控制车轮驱动模块驱动车轮沿着该道砟检验指令指示的巡检方向运行单次步进值;
(3)FPGA模块控制第一CCD传感模块获取第i次步进时的图像,并将该第i次步进时的图像存入存储模块;
(4)FPGA模块从存储模块中提取第i次步进时的图像,将该图像转换为灰度图像,利用Sobel算子提取该灰度图像中的边缘,并对提取边缘后的灰度图像进行二值化处理,以得到第i次步进时的二值化图像;
(5)FGPA模块从步骤(4)得到的第i次步进时的二值化图像中提取所有封闭轮廓,将所有封闭轮廓按照其各自占用像素点的总数进行排序,并保留像素点总数最大值所对应的封闭轮廓、以及像素点总数第二最大值所对应的封闭轮廓;
(6)FPGA模块获取刚好能够框住步骤(5)得到的像素点总数最大值对应封闭轮廓的矩形框A,获取该矩形框A的长度和宽度,并判断长度与宽度的比值是否大于a且小于b,如果是则进入步骤(7),否则转入步骤(9),并返回步骤(2);其中a是3到4之间的小数,b是1到2之间的小数;
(7)FPGA模块使用获取刚好能够框住步骤(5)得到的像素点总数第二最大值对应封闭轮廓的矩形框B,获取该矩形框B的长度和宽度,并判断长度与宽度的比值是否大于c且小于d,如果是则进入步骤(8),否则转入步骤(9);其中c是7到8之间的小数,d是4到5之间的小数;
(8)FPGA模块获取矩形框A的两个长边与步骤(3)得到的第i次步进时的图像的上下边界之间的四个距离,从中获取最小距离d1min,获取矩形框B的两个长边与步骤(3)得到的第i次步进时的图像的上下边界之间的四个距离,从中获取最小距离d2min,计算两个最小距离之间的两个比值a1和a2,并判断是否有e>a1>f或e>a2>f,如果是则进入步骤(10),否则进入步骤(9);其中e是1.8到2之间的小数,f是1到1.2之间的小数;
(9)FPGA模块设置i=i+1,然后返回步骤(2);
(10)MCU模块设置路程L的初始值等于0;
(11)FPGA模块控制第一CCD传感模块和第二CCD传感模块同时获取图像,通知MCU模块控制车轮驱动模块驱动车轮以0.6m/s的速度前行,并将第一CCD传感模块和第二CCD传感模块在同一时间分别获取的图像M和N存入存储模块中;
(12)FPGA模块从存储模块中提取第一CCD传感模块和第二CCD传感模块在同一时间分别获取的图像M和N,并使用Bouguet算法对获取的这两幅图像M和N进行极线校正,以分别得到第一图像旋转矩阵R1和第二图像旋转矩阵R2;
(13)FGPA模块判断路程L与相邻轨枕间距的商是否是整数,如果是则进入步骤(14),否则返回步骤(11);
(14)FGPA模块对图像M和N分别进行预处理,以得到预处理后的图像,并将预处理后的两幅图像分别转换为灰度图像M’和N’;
(15)FPGA模块分别计算步骤(14)得到的灰度图像M’的亮度平均值hsl1、以及灰度图像N’的亮度平均值hsl2,并计算二者的比值hsl=hsl1/hsl2,并将灰度图像N’中的每个像素值与比值hsl相乘,以得到新的灰度图像N”;
(16)FGPA模块将步骤(12)得到的第一图像旋转矩阵R1与灰度图像M’中的每个像素值相乘,以得到更新后的灰度图像M”’,将步骤(12)得到的第二图像旋转矩阵R2与灰度图像N”中的每个像素值相乘,以得到更新后的灰度图像N”’;
(17)FGPA模块从步骤(16)得到的更新后的灰度图像M”’中提取所有封闭轮廓,将所有封闭轮廓按照其各自占用像素点的总数进行排序,并保留像素点总数最大值所对应的封闭轮廓、以及像素点总数第二最大值所对应的封闭轮廓,获取刚好能够框住像素点总数最大值对应封闭轮廓的矩形框C,并获取刚好能够框住像素点总数第二最大值对应封闭轮廓的矩形框D;
(18)FGPA模块从灰度图像M’中分别截取与矩形框C具有相同四角坐标的图像块E、以及与矩形框D具有相同四角坐标的图像块F,并利用MAD算法从灰度图像N’中搜索分别与图像块E和F匹配的图像块X和Y,并利用SGBM算法获取图像块E和X之间的视差图、以及图像块F和Y之间的视差图,并将图像块E和X之间的视差图转换为深度图D1,将图像块F和Y之间的视差图转换为深度图D2;
(19)FPGA模块判断图像块E的长宽比是否大于图像块F的长宽比,如果是则进入步骤(20),否则进入步骤(23);
(20)FPGA模块计算深度图D1的平均值d1,根据平均值d1对深度图D2进行更新以得到更新后的深度图D2’=(d10/d1)*D2,其中d10表示第一CCD传感模块到所检测的轨枕的实际统计距离,与深度图D2相乘实质上就是和深度图D2中的每个像素值相乘,
(21)FPGA模块根据步骤(20)更新后的深度图D2’获取归一化深度图D3:D3=D2’-(d10+h0),并对归一化深度图D3进行二值化处理,以得到二值化后的图像,其中常数h0的取值范围是20到40厘米;
(22)FPGA模块利用MAD算法从步骤(21)二值化后的图像中搜索与p*p的全1矩阵匹配的图像块,并判断图像块的总数是否大于预设阈值q,如果是则说明存在道砟缺失情况,并进入步骤(26),否则返回步骤(13);其中p是10到50之间的整数,阈值q是5到20之间的整数,优选为10;
(23)FPGA模块计算深度图D2的平均值d2,根据平均值d2对深度图D1进行更新以得到更新后的深度图D1’=(d20/d2)*D1,其中d20表示第二CCD传感模块到所检测的轨枕的实际统计距离,与深度图D1相乘实质上就是和深度图D1中的每个像素值相乘,
(24)FPGA模块根据步骤(23)更新后的深度图D1’获取归一化深度图D4:D4=D1’-(d20+h0),并对归一化深度图D4进行二值化处理,以得到二值化后的图像,其中常数h0的取值范围是20到40厘米;
(25)FPGA模块利用MAD算法从步骤(24)二值化后的图像中搜索与p*p的全1矩阵匹配的图像块,并判断图像块的总数是否大于预设阈值q,如果是则说明存在道砟缺失情况,进入步骤(26),否则返回步骤(13);
(26)FPGA模块将道砟缺失通知和车轮当前的路程L发送到MCU模块中暂存;
(27)MCU模块以固定时间间隔通过通讯模块将道砟缺失通知和车轮当前的路程L发送给后台管理系统;
(28)FPGA模块判断车轮当前的路程L是否大于道砟检验指令所指示的道砟巡检路程,如果是则进入步骤(29),否则返回步骤(13);
(29)FPGA模块通知第一CCD传感模块和第二CCD传感模块停止工作,并通知MCU模块控制车轮驱动模块驱动车轮以与道砟检验指令所指示的道砟巡检方向相反的方向回到L=0的地点。
优选地,步骤(2)中,车轮的单次步进值为10cm,车轮的运行速度为0.1m/s。
优选地,步骤(14)的预处理过程先后包括颜色校正和Gamma校正。
优选地,步骤(18)中,
D1=(f*bl)/Dv1,其中f为归一化焦距,其是通过提前标定获取,bl为第一CCD传感模块的CCD传感器镜头中心和第二CCD传感模块的CCD传感器镜头中心之间的间距,Dv1为图像块E和X之间的视差图;
D2=(f*bl)/Dv2,其中Dv2为图像块F和Y之间的视差图。
优选地,在步骤(21)和步骤(24)的二值化处理过程中,如果归一化深度图中的像素值大于0,则二值化后的图像中该像素值为1,如果归一化深度图中的像素值小于等于0,则二值化后的图像中该像素值为0。
优选地,步骤(26)中,车轮当前的路程L是从步骤(11)的执行时刻开始计时,一直到当前时刻为止,以0.6米/秒速度前行的路程。
优选地,步骤(29)中,车轮的运行速度为1.2m/s。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、由于本发明采用了步骤(20)和(23),其利用已知的CCD传感模块到所检测的轨枕的实际统计距离对检测到的轨枕到CCD传感模块的距离进行校正,提高了道砟检测的精度,从而能够解决现有道砟人工检验存在的检测误差大的技术问题;
2、由于本发明采用了步骤(10)、(13)和(28),其通过对装置移动路程L进行监测,实现装置的自动巡检和自动返回,全程无需操作人员跟随,因此能够解决现有道砟人工检验存在的人力疲劳、视觉疲劳、工作量大、消耗时间成本的技术问题;
3、本发明通过步骤(23)和(24)设置统一的道砟高度标准,对铁路道砟进行检验,并输出检验结果到后台管理系统,使得铁路工人能够根据检验结果进行精准道砟补充,使得铁路道砟受力更均匀,列车运行更安全;
4、本发明通过双目视觉技术,实现图像获取和深度信息获取,不需要额外的测量高度的传感器,能够提高设备精简程度,降低重量,方便携带搬运,降低整台设备成本。
5、由于本发明采用了步骤(1),其通过设置较小且适合的单次步进值10cm,在权衡效率和误差的基础上,最小化装置在首次搜寻完整轨枕和相邻一侧完整道砟的误差,减小搜寻次数,提高搜寻效率。
6、由于本发明采用了步骤(1)到(7),其通过在装置开始进行巡检作业前,装置通过设置较小的单次步进值和较小的速度,通过第一CCD传感模块获取第i次步进时的图像,并在第i次步进时的图像中搜索该图像中是否有完整轨枕和相邻完整道砟,以减少步骤(8)到步骤(25)之间的图像数据完整轨枕和相邻完整道砟搜索步骤,降低图像数据计算量,提高装置巡检速度,提高巡检效率。
7、由于本发明采用了步骤(25),其通过设置适中大小的p*p的全1矩阵匹配的图像块,排除道砟缝隙和较小道砟块的对检验结果的干扰,进而筛选出缺失较多道砟的区域,从而提高该系统检验准确率,减少因系统误判而导致的浪费人力物力财力等情况的发生。
8、由于本发明采用了步骤(6)、(7)和(19),其通过判断图像块E的长宽比和图像块F的长宽比,对图像块E和图像块F进行轨枕图像和道砟图像的区分,相对于常规图像匹配算法,大大减小了数据计算量,降低了计算延时,提高了检验效率。
9、由于本发明采用了步骤(8),其通过获取矩形框A的两个长边与步骤(3)得到的第i次步进时的图像的上下边界之间的最小距离d1min和矩形框B的两个长边与步骤(3)得到的第i次步进时的图像的上下边界之间的最小距离d2min,来判断矩形框A和矩形框B所形成的集合是否在第i次步进时的图像的中间位置,降低了图像数据计算量,提高装置巡检速度,提高了巡检效率。
附图说明
图1是本发明基于双目视觉的轨道道砟检验系统的模块框图;
图2是本发明基于双目视觉的轨道道砟检验系统的工作方法流程图;
图3是本发明基于双目视觉的轨道道砟检验系统的应用示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1和图3所示,根据本发明的第一方面,提供了一种基于双目视觉的轨道道砟检验系统,其是设置在铁轨上(同时参照图3所示),且包括车轮驱动模块1、多个车轮2、MCU模块3、存储模块4、通讯模块5、FPGA模块6、第一CCD传感模块7、以及第二CCD传感模块8、以及人机交互模块9。
车轮驱动模块1与多个车轮、以及MCU模块3电连接,车轮驱动模块1具体是伺服电机,车轮的数量是4个,其中至少一个是动力车轮。在本发明中,MCU模块3的型号是STM32F103RCT6。
MCU模块3还与通讯模块5和FPGA模块6电连接。在本发明中,通讯模块5使用的是4G、5G、或GPRS通讯模块,FPGA模块6的型号是5CEFA5U19I7。
FPGA模块6还与存储模块4、第一CCD传感模块7、第二CCD传感模块8、以及人机交互模块9电连接。其中存储模块4使用的是DDR2或DDR3芯片,第一CCD传感模块7和第二CCD传感模块8完全相同,其包括CCD传感器、模数转换器、以及复杂可编程逻辑器件(ComplexProgrammable Logic Device,简称CPLD),其中CCD传感器的型号为TSL1401CL,模数转换器的型号为AD9462BCPZ-125,CPLD的型号为MAX7000。人机交互模块9包括一个显示屏和一个键盘。
第一CCD传感模块7和第二CCD传感模块8的光轴垂直于铁轨。
如图2所示,根据本发明的第二方面,提供了上述基于双目视觉的轨道道砟检验系统的工作方法,包括以下步骤:
(1)FPGA模块控制人机交互模块接收用户输入的道砟检验指令,该道砟检验指令指示道砟巡检方向和道砟巡检路程,并将该道砟检验指令发送到MCU模块,并设置计数器i=1;
(2)MCU模块根据来自FPGA模块的道砟检验指令,控制车轮驱动模块驱动车轮沿着该道砟检验指令指示的巡检方向运行单次步进值,其中车轮的单次步进值为10cm,车轮的运行速度为0.1m/s;
本步骤的优点在于,通过设置较小且适合的单次步进值10cm,在权衡效率和误差的基础上,最小化装置在首次搜寻完整轨枕和相邻一侧完整道砟的误差,减小搜寻次数,提高搜寻效率。
(3)FPGA模块控制第一CCD传感模块获取第i次步进时的图像,并将该第i次步进时的图像存入存储模块;
(4)FPGA模块从存储模块中提取第i次步进时的图像,将该图像转换为灰度图像,利用Sobel算子提取该灰度图像中的边缘,并对提取边缘后的灰度图像进行二值化处理,以得到第i次步进时的二值化图像;
(5)FGPA模块从步骤(4)得到的第i次步进时的二值化图像中提取所有封闭轮廓,将所有封闭轮廓按照其各自占用像素点的总数进行排序,并保留像素点总数最大值所对应的封闭轮廓、以及像素点总数第二最大值所对应的封闭轮廓;
具体而言,本步骤中是使用掏空内部点法提取封闭轮廓。
(6)FPGA模块使用FindContours算法获取刚好能够框住步骤(5)得到的像素点总数最大值对应封闭轮廓的矩形框A,获取该矩形框A的长度和宽度,并判断长度与宽度的比值是否大于a且小于b,如果是则进入步骤(7),否则转入步骤(9),并返回步骤(2);
具体而言,a的取值范围是3到4之间的小数,b的取值范围是1到2之间的小数。
(7)FPGA模块使用FindContours算法获取刚好能够框住步骤(5)得到的像素点总数第二最大值对应封闭轮廓的矩形框B,获取该矩形框B的长度和宽度,并判断长度与宽度的比值是否大于c且小于d,如果是则进入步骤(8),否则转入步骤(9),并返回步骤(2);
具体而言,c的取值范围是7到8之间的小数,d的取值范围4到5之间的小数。
上述步骤(1)到(7)的优点在于,在装置开始进行巡检作业前,装置通过设置较小的单次步进值和较小的速度,通过第一CCD传感模块获取第i次步进时的图像,并在第i次步进时的图像中搜索该图像中是否有完整轨枕和相邻完整道砟,以减少步骤(8)到步骤(25)之间的图像数据完整轨枕和相邻完整道砟搜索步骤,降低图像数据计算量,提高装置巡检速度,提高巡检效率。
(8)FPGA模块获取矩形框A的两个长边与步骤(3)得到的第i次步进时的图像的上下边界之间的四个距离,从中获取最小距离d1min,获取矩形框B的两个长边与步骤(3)得到的第i次步进时的图像的上下边界之间的四个距离,从中获取最小距离d2min,计算两个最小距离之间的两个比值a1和a2,并判断是否有e>a1>f或e>a2>f,如果是则进入步骤(10),否则进入步骤(9);
具体而言,a1=d1min/d2min,a2=d2min/d1min;
本步骤中e是1.8到2之间的小数,f是1到1.2之间的小数。
本步骤的优点在于,通过获取矩形框A的两个长边与步骤(3)得到的第i次步进时的图像的上下边界之间的最小距离d1min和矩形框B的两个长边与步骤(3)得到的第i次步进时的图像的上下边界之间的最小距离d2min,来判断矩形框A和矩形框B所形成的集合是否在第i次步进时的图像的中间位置,降低了图像数据计算量,提高装置巡检速度,提高了巡检效率。
(9)FPGA模块设置i=i+1,然后返回步骤(2);
(10)MCU模块设置路程L的初始值等于0;
(11)FPGA模块控制第一CCD传感模块和第二CCD传感模块同时获取图像,通知MCU模块控制车轮驱动模块驱动车轮以0.6m/s的速度前行,并将第一CCD传感模块和第二CCD传感模块在同一时间分别获取的图像M和N存入存储模块中;
(12)FPGA模块从存储模块中提取第一CCD传感模块和第二CCD传感模块在同一时间分别获取的图像M和N,并使用Bouguet算法对获取的这两幅图像M和N进行极线校正,以分别得到第一图像旋转矩阵R1和第二图像旋转矩阵R2;
(13)FGPA模块判断路程L与相邻轨枕间距的商是否是整数,如果是则进入步骤(14),否则返回步骤(11);
具体而言,相邻轨枕的间距通常是0.6米。
(14)FGPA模块对图像M和N分别进行预处理,以得到预处理后的图像,并将预处理后的两幅图像分别转换为灰度图像M’和N’;
具体而言,预处理过程先后包括:颜色校正和Gamma校正。
(15)FPGA模块分别计算步骤(14)得到的灰度图像M’的亮度平均值hsl1、以及灰度图像N’的亮度平均值hsl2,并计算二者的比值hsl=hsl1/hsl2,并将灰度图像N’中的每个像素值与比值hsl相乘,以得到新的灰度图像N”;
本步骤的目的,是为了实现灰度图像M’和N’亮度的统一。
(16)FGPA模块将步骤(12)得到的第一图像旋转矩阵R1与灰度图像M’中的每个像素值相乘,以得到更新后的灰度图像M”’,将步骤(12)得到的第二图像旋转矩阵R2与灰度图像N”中的每个像素值相乘,以得到更新后的灰度图像N”’;
本步骤的目的,是得到两张光轴彼此平行的灰度图像。
(17)FGPA模块从步骤(16)得到的更新后的灰度图像M”’中提取所有封闭轮廓,将所有封闭轮廓按照其各自占用像素点的总数进行排序,并保留像素点总数最大值所对应的封闭轮廓、以及像素点总数第二最大值所对应的封闭轮廓,使用FindContours算法获取刚好能够框住像素点总数最大值对应封闭轮廓的矩形框C,并使用FindContours算法获取刚好能够框住像素点总数第二最大值对应封闭轮廓的矩形框D;
(18)FGPA模块从灰度图像M’中分别截取与矩形框C具有相同四角坐标的图像块E、以及与矩形框D具有相同四角坐标的图像块F,并利用平均绝对差算法(MeanAbsoluteDifferences,简称MAD)从灰度图像N’中搜索分别与图像块E和F匹配的图像块X和Y,并利用半全局块匹配(Semi-global block matching,简称SGBM)算法获取图像块E和X之间的视差图、以及图像块F和Y之间的视差图,并将图像块E和X之间的视差图转换为深度图D1,将图像块F和Y之间的视差图转换为深度图D2;
具体而言,视差图转换为深度图的计算公式如下:
Dp=(f*bl)/Dv,其中Dp为深度图,f为归一化焦距(该参数是通过提前标定获取),bl为第一CCD传感模块7的CCD传感器镜头中心和第二CCD传感模块8的CCD传感器镜头中心之间的间距,Dv为视差图。
(19)FPGA模块判断图像块E的长宽比是否大于图像块F的长宽比,如果是则进入步骤(20),否则进入步骤(23);
本步骤的优点在于,通过判断图像块E的长宽比和图像块F的长宽比,对图像块E和图像块F进行轨枕图像和道砟图像的区分,相对于常规图像匹配算法,大大减小了数据计算量,降低了计算延时,提高了检验效率。
(20)FPGA模块计算深度图D1的平均值d1,根据平均值d1对深度图D2进行更新以得到更新后的深度图D2’=(d10/d1)*D2,其中d10表示第一CCD传感模块到所检测的轨枕的实际统计距离,与深度图D2相乘实质上就是和深度图D2中的每个像素值相乘,
具体而言,平均值d1就等于深度图D1中所有像素值的和除以像素点的个数。
(21)FPGA模块根据步骤(20)更新后的深度图D2’获取归一化深度图D3:D3=D2’-(d10+h0),并对归一化深度图D3进行二值化处理,以得到二值化后的图像,其中常数h0的取值范围是20到40厘米;
具体而言,二值化处理过程中,如果归一化深度图D3中的像素值大于0,则二值化后的图像中该像素值为1,如果归一化深度图D3中的像素值小于等于0,则二值化后的图像中该像素值为0。
(22)FPGA模块利用MAD算法从步骤(21)二值化后的图像中搜索与p*p的全1矩阵匹配的图像块,并判断图像块的总数是否大于预设阈值q,如果是则说明存在道砟缺失情况,并进入步骤(26),否则返回步骤(13);
其中p的取值为10到50之间的整数,优选为20;
阈值q的取值范围是5到20之间的整数,优选为10。
(23)FPGA模块计算深度图D2的平均值d2,根据平均值d2对深度图D1进行更新以得到更新后的深度图D1’=(d20/d2)*D1,其中d20表示第二CCD传感模块到所检测的轨枕的实际统计距离,与深度图D1相乘实质上就是和深度图D1中的每个像素值相乘,
具体而言,平均值d2就等于深度图D2中所有像素值的和除以像素点的个数。
(24)FPGA模块根据步骤(23)更新后的深度图D1’获取归一化深度图D4:D4=D1’-(d20+h0),并对归一化深度图D4进行二值化处理,以得到二值化后的图像,其中常数h0的取值范围是20到40厘米;
具体而言,二值化处理过程中,如果归一化深度图D4中的像素值大于0,则二值化后的图像中该像素值为1,如果归一化深度图D4中的像素值小于等于0,则二值化后的图像中该像素值为0。
(25)FPGA模块利用MAD算法从步骤(24)二值化后的图像中搜索与p*p的全1矩阵匹配的图像块,并判断图像块的总数是否大于预设阈值q,如果是则说明存在道砟缺失情况,进入步骤(26),否则返回步骤(13);
其中p的取值为10到50之间的整数,优选为20;
阈值q的取值范围是5到20之间的整数,优选为10。
本步骤的优点在于,通过设置适中大小的p*p的全1矩阵匹配的图像块,排除道砟缝隙和较小道砟块的对检验结果的干扰,进而筛选出缺失较多道砟的区域,从而提高该系统检验准确率,减少因系统误判而导致的浪费人力物力财力等情况的发生。
(26)FPGA模块将道砟缺失通知和车轮当前的路程L(其是从步骤(11)的执行时刻开始计时,一直到当前时刻为止,以0.6米/秒速度前行的路程)发送到MCU模块中暂存;
(27)MCU模块以固定时间间隔通过通讯模块将道砟缺失通知和车轮当前的路程L发送给后台管理系统;
具体而言,本步骤中的时间间隔是10秒到1分钟,优选为30秒。
(28)FPGA模块判断车轮当前的路程L是否大于道砟检验指令所指示的道砟巡检路程,如果是则进入步骤(29),否则返回步骤(13);
(29)FPGA模块通知第一CCD传感模块和第二CCD传感模块停止工作,并通知MCU模块控制车轮驱动模块驱动车轮以与道砟检验指令所指示的道砟巡检方向相反的方向回到L=0的地点,其中车轮的运行速度为1.2m/s。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于双目视觉的轨道道砟检验系统的工作方法,所述基于双目视觉的轨道道砟检验系统是设置在铁轨上,且包括车轮驱动模块、多个车轮、MCU模块、存储模块、通讯模块、FPGA模块、第一CCD传感模块、以及第二CCD传感模块、以及人机交互模块,车轮驱动模块与多个车轮、以及MCU模块电连接,MCU模块与通讯模块和FPGA模块电连接,FPGA模块与存储模块、第一CCD传感模块、第二CCD传感模块、以及人机交互模块电连接,第一CCD传感模块和第二CCD传感模块的光轴垂直于铁轨;其特征在于,包括以下步骤:
(1)FPGA模块控制人机交互模块接收用户输入的道砟检验指令,该道砟检验指令指示道砟巡检方向和道砟巡检路程,并将该道砟检验指令发送到MCU模块,并设置计数器i=1;
(2)MCU模块根据来自FPGA模块的道砟检验指令,控制车轮驱动模块驱动车轮沿着该道砟检验指令指示的巡检方向运行单次步进值;
(3)FPGA模块控制第一CCD传感模块获取第i次步进时的图像,并将该第i次步进时的图像存入存储模块;
(4)FPGA模块从存储模块中提取第i次步进时的图像,将该图像转换为灰度图像,利用Sobel算子提取该灰度图像中的边缘,并对提取边缘后的灰度图像进行二值化处理,以得到第i次步进时的二值化图像;
(5)FGPA模块从步骤(4)得到的第i次步进时的二值化图像中提取所有封闭轮廓,将所有封闭轮廓按照其各自占用像素点的总数进行排序,并保留像素点总数最大值所对应的封闭轮廓、以及像素点总数第二最大值所对应的封闭轮廓;
(6)FPGA模块获取刚好能够框住步骤(5)得到的像素点总数最大值对应封闭轮廓的矩形框A,获取该矩形框A的长度和宽度,并判断长度与宽度的比值是否大于a且小于b,如果是则进入步骤(7),否则转入步骤(9),并返回步骤(2);其中a是3到4之间的小数,b是1到2之间的小数;
(7)FPGA模块使用获取刚好能够框住步骤(5)得到的像素点总数第二最大值对应封闭轮廓的矩形框B,获取该矩形框B的长度和宽度,并判断长度与宽度的比值是否大于c且小于d,如果是则进入步骤(8),否则转入步骤(9);其中c是7到8之间的小数,d是4到5之间的小数;
(8)FPGA模块获取矩形框A的两个长边与步骤(3)得到的第i次步进时的图像的上下边界之间的四个距离,从中获取最小距离d1min,获取矩形框B的两个长边与步骤(3)得到的第i次步进时的图像的上下边界之间的四个距离,从中获取最小距离d2min,计算两个最小距离之间的两个比值a1和a2,并判断是否有e>a1>f或e>a2>f,如果是则进入步骤(10),否则进入步骤(9);其中e是1.8到2之间的小数,f是1到1.2之间的小数;
(9)FPGA模块设置i=i+1,然后返回步骤(2);
(10)MCU模块设置路程L的初始值等于0;
(11)FPGA模块控制第一CCD传感模块和第二CCD传感模块同时获取图像,通知MCU模块控制车轮驱动模块驱动车轮以0.6m/s的速度前行,并将第一CCD传感模块和第二CCD传感模块在同一时间分别获取的图像M和N存入存储模块中;
(12)FPGA模块从存储模块中提取第一CCD传感模块和第二CCD传感模块在同一时间分别获取的图像M和N,并使用Bouguet算法对获取的这两幅图像M和N进行极线校正,以分别得到第一图像旋转矩阵R1和第二图像旋转矩阵R2;
(13)FGPA模块判断路程L与相邻轨枕间距的商是否是整数,如果是则进入步骤(14),否则返回步骤(11);
(14)FGPA模块对图像M和N分别进行预处理,以得到预处理后的图像,并将预处理后的两幅图像分别转换为灰度图像M’和N’;
(15)FPGA模块分别计算步骤(14)得到的灰度图像M’的亮度平均值hsl1、以及灰度图像N’的亮度平均值hsl2,并计算二者的比值hsl=hsl1/hsl2,并将灰度图像N’中的每个像素值与比值hsl相乘,以得到新的灰度图像N”;
(16)FGPA模块将步骤(12)得到的第一图像旋转矩阵R1与灰度图像M’中的每个像素值相乘,以得到更新后的灰度图像M”’,将步骤(12)得到的第二图像旋转矩阵R2与灰度图像N”中的每个像素值相乘,以得到更新后的灰度图像N”’;
(17)FGPA模块从步骤(16)得到的更新后的灰度图像M”’中提取所有封闭轮廓,将所有封闭轮廓按照其各自占用像素点的总数进行排序,并保留像素点总数最大值所对应的封闭轮廓、以及像素点总数第二最大值所对应的封闭轮廓,获取刚好能够框住像素点总数最大值对应封闭轮廓的矩形框C,并获取刚好能够框住像素点总数第二最大值对应封闭轮廓的矩形框D;
(18)FGPA模块从灰度图像M’中分别截取与矩形框C具有相同四角坐标的图像块E、以及与矩形框D具有相同四角坐标的图像块F,并利用MAD算法从灰度图像N’中搜索分别与图像块E和F匹配的图像块X和Y,并利用SGBM算法获取图像块E和X之间的视差图、以及图像块F和Y之间的视差图,并将图像块E和X之间的视差图转换为深度图D1,将图像块F和Y之间的视差图转换为深度图D2;
(19)FPGA模块判断图像块E的长宽比是否大于图像块F的长宽比,如果是则进入步骤(20),否则进入步骤(23);
(20)FPGA模块计算深度图D1的平均值d1,根据平均值d1对深度图D2进行更新以得到更新后的深度图D2’=(d10/d1)*D2,其中d10表示第一CCD传感模块到所检测的轨枕的实际统计距离,与深度图D2相乘实质上就是和深度图D2中的每个像素值相乘,
(21)FPGA模块根据步骤(20)更新后的深度图D2’获取归一化深度图D3:D3=D2’-(d10+h0),并对归一化深度图D3进行二值化处理,以得到二值化后的图像,其中常数h0的取值范围是20到40厘米;
(22)FPGA模块利用MAD算法从步骤(21)二值化后的图像中搜索与p*p的全1矩阵匹配的图像块,并判断图像块的总数是否大于预设阈值q,如果是则说明存在道砟缺失情况,并进入步骤(26),否则返回步骤(13);其中p是10到50之间的整数,阈值q是5到20之间的整数;
(23)FPGA模块计算深度图D2的平均值d2,根据平均值d2对深度图D1进行更新以得到更新后的深度图D1’=(d20/d2)*D1,其中d20表示第二CCD传感模块到所检测的轨枕的实际统计距离,与深度图D1相乘实质上就是和深度图D1中的每个像素值相乘,
(24)FPGA模块根据步骤(23)更新后的深度图D1’获取归一化深度图D4:D4=D1’-(d20+h0),并对归一化深度图D4进行二值化处理,以得到二值化后的图像,其中常数h0的取值范围是20到40厘米;
(25)FPGA模块利用MAD算法从步骤(24)二值化后的图像中搜索与p*p的全1矩阵匹配的图像块,并判断图像块的总数是否大于预设阈值q,如果是则说明存在道砟缺失情况,进入步骤(26),否则返回步骤(13);
(26)FPGA模块将道砟缺失通知和车轮当前的路程L发送到MCU模块中暂存;
(27)MCU模块以固定时间间隔通过通讯模块将道砟缺失通知和车轮当前的路程L发送给后台管理系统;
(28)FPGA模块判断车轮当前的路程L是否大于道砟检验指令所指示的道砟巡检路程,如果是则进入步骤(29),否则返回步骤(13);
(29)FPGA模块通知第一CCD传感模块和第二CCD传感模块停止工作,并通知MCU模块控制车轮驱动模块驱动车轮以与道砟检验指令所指示的道砟巡检方向相反的方向回到L=0的地点。
2.根据权利要求1所述的基于双目视觉的轨道道砟检验系统的工作方法,其特征在于,步骤(2)中,车轮的单次步进值为10cm,车轮的运行速度为0.1m/s。
3.根据权利要求1所述的基于双目视觉的轨道道砟检验系统的工作方法,其特征在于,步骤(14)的预处理过程先后包括颜色校正和Gamma校正。
4.根据权利要求1所述的基于双目视觉的轨道道砟检验系统的工作方法,其特征在于,步骤(18)中,
D1=(f*bl)/Dv1,其中f为归一化焦距,其是通过提前标定获取,bl为第一CCD传感模块的CCD传感器镜头中心和第二CCD传感模块的CCD传感器镜头中心之间的间距,Dv1为图像块E和X之间的视差图;
D2=(f*bl)/Dv2,其中Dv2为图像块F和Y之间的视差图。
5.根据权利要求1所述的基于双目视觉的轨道道砟检验系统的工作方法,其特征在于,在步骤(21)和步骤(24)的二值化处理过程中,如果归一化深度图中的像素值大于0,则二值化后的图像中该像素值为1,如果归一化深度图中的像素值小于等于0,则二值化后的图像中该像素值为0。
6.根据权利要求1所述的基于双目视觉的轨道道砟检验系统的工作方法,其特征在于,步骤(26)中,车轮当前的路程L是从步骤(11)的执行时刻开始计时,一直到当前时刻为止,以0.6米/秒速度前行的路程。
7.根据权利要求1所述的基于双目视觉的轨道道砟检验系统的工作方法,其特征在于,步骤(29)中,车轮的运行速度为1.2m/s。
8.根据权利要求1所述的基于双目视觉的轨道道砟检验系统的工作方法,其特征在于,
车轮驱动模块是伺服电机;
车轮的数量是4个,其中至少一个是动力车轮;
通讯模块是4G、5G、或GPRS通讯模块;
存储模块使用的是DDR2或DDR3芯片;
第一CCD传感模块和第二CCD传感模块完全相同,且均包括CCD传感器、模数转换器、以及CPLD;
人机交互模块包括一个显示屏和一个键盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110114343.0A CN112801975B (zh) | 2021-01-28 | 2021-01-28 | 一种基于双目视觉的轨道道砟检验系统及其工作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110114343.0A CN112801975B (zh) | 2021-01-28 | 2021-01-28 | 一种基于双目视觉的轨道道砟检验系统及其工作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112801975A CN112801975A (zh) | 2021-05-14 |
CN112801975B true CN112801975B (zh) | 2023-12-22 |
Family
ID=75812269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110114343.0A Active CN112801975B (zh) | 2021-01-28 | 2021-01-28 | 一种基于双目视觉的轨道道砟检验系统及其工作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112801975B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115294187B (zh) * | 2022-10-08 | 2023-01-31 | 合肥的卢深视科技有限公司 | 深度相机的图像处理方法、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005213779A (ja) * | 2004-01-27 | 2005-08-11 | Hashizume Kiko Kk | 軌道構造識別装置 |
CN102285361A (zh) * | 2011-07-15 | 2011-12-21 | 上海工程技术大学 | 一种轨距测量车 |
CN105225482A (zh) * | 2015-09-02 | 2016-01-06 | 上海大学 | 基于双目立体视觉的车辆检测系统和方法 |
WO2018086348A1 (zh) * | 2016-11-09 | 2018-05-17 | 人加智能机器人技术(北京)有限公司 | 双目立体视觉系统及深度测量方法 |
-
2021
- 2021-01-28 CN CN202110114343.0A patent/CN112801975B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005213779A (ja) * | 2004-01-27 | 2005-08-11 | Hashizume Kiko Kk | 軌道構造識別装置 |
CN102285361A (zh) * | 2011-07-15 | 2011-12-21 | 上海工程技术大学 | 一种轨距测量车 |
CN105225482A (zh) * | 2015-09-02 | 2016-01-06 | 上海大学 | 基于双目立体视觉的车辆检测系统和方法 |
WO2018086348A1 (zh) * | 2016-11-09 | 2018-05-17 | 人加智能机器人技术(北京)有限公司 | 双目立体视觉系统及深度测量方法 |
Non-Patent Citations (2)
Title |
---|
可变形与分离式铁路轨道清洁机器人机械设计实现;宋子诏;;电子制作(第Z2期);全文 * |
基于双目视觉的车辆闸杆防撞系统;王永;熊显名;李小勇;;计算机系统应用(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112801975A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023045299A1 (zh) | 基于三维轮廓的路面技术状况检测方法及设备 | |
CN104567684B (zh) | 一种接触网几何参数检测方法及装置 | |
CN104599249B (zh) | 缆索承重桥梁桥面车辆载荷分布实时检测方法 | |
CN113306991B (zh) | 基于立体视觉的煤炭运输机监测管理系统 | |
KR102017870B1 (ko) | 실시간 선로 결함 검측 시스템 | |
CN110766979A (zh) | 一种用于自动驾驶车辆的泊车车位检测方法 | |
CN103630088B (zh) | 基于双激光带的高精度隧道断面检测方法及装置 | |
CN111784657A (zh) | 一种基于数字图像的水泥路面病害自动识别的系统及方法 | |
CN108960060A (zh) | 一种无人驾驶车辆路面纹理识别系统及方法 | |
CN103955923A (zh) | 一种快速的基于图像的路面病害检测方法 | |
CN101957309A (zh) | 一种能见度的全天候视频测量方法 | |
CN112801975B (zh) | 一种基于双目视觉的轨道道砟检验系统及其工作方法 | |
CN112508911A (zh) | 基于巡检机器人的轨交接触网悬挂支撑部件裂纹检测系统及其检测方法 | |
CN115931874A (zh) | 一种搭载式磁悬浮智能动态巡检系统及缝隙宽度检测方法 | |
CN117592739A (zh) | 一种智慧城市智能管理系统 | |
CN117889767A (zh) | 一种基于地面三维激光扫描的预应力混凝土箱梁上拱度检测方法 | |
CN114612731B (zh) | 一种用于道路平整度检测的智能识别方法及系统 | |
Yao et al. | Automated measurements of road cracks using line-scan imaging | |
CN114333331B (zh) | 一种多车道桥梁车辆通行信息与车重识别方法及系统 | |
CN111102959A (zh) | 一种基于直线检测的铁轨沉降在线监测装置和方法 | |
CN115289991A (zh) | 地铁轨道形变监测方法、装置及电子设备 | |
CN207751450U (zh) | 道路检测装置及系统 | |
CN118419520B (zh) | 一种煤矿传送带表面堆煤定位识别方法 | |
CN114066895B (zh) | 一种受电弓滑板的检测方法及装置 | |
CN214882942U (zh) | 一种桥梁建模和视频图像采集装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |