一种列车注水口检测定位方法与流程

文档序号:17583616发布日期:2019-05-03 21:07阅读:509来源:国知局
一种列车注水口检测定位方法与流程

本发明属于列车注水口检测技术领域,具体涉及一种列车注水口检测定位方法。



背景技术:

当前我国铁路飞速发展,高铁技术更是享誉全球,但是普通列车在我国铁路运输中仍占据主要地位。由于列车旅客等对水的需求以及消耗,列车储水箱中的水需要不断进行补给,目前我国对列车储水箱的加水工作需要人工完成。列车进站停靠时间短暂,而且每节车厢同时需要加水,依靠铁路工人往返于各列车注水口与水井之间,效率低下。因为列车对水的需求,铁路工人无论天气状况必须24小时不间断工作,因此会对铁路工人的健康造成一定影响。人工注水不仅劳动力成本巨大,而且效率低下,因此研制新型的列车自动上水装置尤为重要。目前已有的列车上水装置大部分都是通过机械装置配合铁路工人将注水枪与列车注水口进行对接。由于停靠处列车周边环境等因素的限制,现有的列车上水转置不能够脱离人工配合,进行全自动化上水。



技术实现要素:

有鉴于此,本发明的主要目的在于提供一种列车注水口检测定位方法。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供一种列车注水口检测定位方法,该方法为:采集连续的列车注水口视频图像,同时对列车注水口视频图像进行阈值分割获得二值化的列车注水口视频图像;对所述二值化的列车注水口视频图像进行处理并且与列车注水口模板图像进行匹配,检测出注水口在列车注水口视频图像中的位置,并与注水口所在的预设位置范围进行比较,如果已经匹配则将匹配有效信号传输至机械装置控制模块控制机械装置移动停止,以及开始注水与停止注水。

上述方案中,所述对列车注水口视频图像进行阈值分割获得二值化的列车注水口视频图像,具体为:根据二值化阈值对列车注水口视频图像进行二值化分割,将二值化的视频图像按像素按照步长为1的大小依次生成m×n的视频图像窗口。

上述方案中,在所述视频图像窗口位置中标记所述视频图像窗口中第一行第一列的像素在整帧图像中的位置为视频图像窗口位置坐标p(i,j)。

上述方案中,所述二值化阈值获得的具体过程为:统计所述列车注水口视频图像中当前帧图像中每个灰度值对应的像素数目,形成抽象的灰度直方图,并根据所述抽象的灰度直方图计算出分割效果最佳的二值化阈值。

上述方案中,确定所述抽象的灰度直方图中的最大值m1与对应的灰度值g1,确定所述抽象的灰度直方图中灰度值g1右侧部分的次高峰值m2与对应的灰度值g2,对所述g1与g2之间的直方图进行计算获得峰谷最小值m3与对应的灰度值g3,并定义g3为二值化阈值。

上述方案中,所述与注水口所在的预设位置范围进行比较,如果已经匹配则将匹配有效信号传输至机械装置控制模块控制机械装置移动或停止,以及开始注水或停止注水,具体为:对生成的所述视频图像窗口与列车注水口模板图像进行比较,计算出二者在同位置像素点相同的总数目,记录为窗口匹配结果,对所述窗口匹配结果进行匹配程度验证,以及结合视频图像窗口位置p(i,j)进行窗口匹配位置验证获得匹配有效信号,并将匹配有效信号发送至机械装置控制模块。

上述方案中,所述对生成的所述视频图像窗口与列车注水口模板图像进行比较,计算出二者在同位置像素点相同的总数目,记录为窗口匹配结果,具体为:将所述二值化的视频图像中的m行依次存入m个fifo中,将m个fifo中读出的数据分别作为移位位左移至对应的m个n位移位寄存器中,对读入的m个n位移位寄存器与m个n位模板寄存器进行按位同或,对每行的同或结果进行相加,统计每个对应n位寄存器中相同像素的个数,成为n个行匹配结果,对m个对应n位寄存器行匹配结果再次进行求和,统计视频图像窗口与列车注水口模板图像相同像素的个数,即窗口匹配结果。

上述方案中,该方法还包括:对所述窗口匹配结果进行验证,对比窗口匹配结果与所设定匹配阈值:如果窗口匹配结果大于匹配阈值,则像素数目匹配,然后进行位置匹配,如果窗口匹配结果小于匹配阈值,则等待下一时钟窗口匹配结果的到来,继续进行像素数目匹配。

上述方案中,该方法还包括:对像素数目匹配成功的视频图像窗口进行位置验证,对比位置匹配结果p(i,j)与所设定窗口位置范围:如果pi,j在所设定窗口位置范围内部,则位置匹配成功,并将匹配有效信号传输至机械装置控制模块,如果pi,j不在所设定窗口位置范围内部,则等待下一次的验证。

上述方案中,该方法还包括:对周围环境中的光线强度进行实时探测,当探测到的环境光照度低于设定光照度阈值时,控制外接照明灯的打开与关闭。

与现有技术相比,本发明能够实现对火车注水口的自动化检测识别,可24小时实时对停靠的列车进行检测,节省大量人工成本且工作效率高。

附图说明

图1为本发明实施提供一种列车注水口检测定位方法中的像素统计的原理图;

图2为本发明实施提供一种列车注水口检测定位方法中阈值分割的原理图;

图3为本发明实施提供一种列车注水口检测定位方法中视频图像窗口生成的原理图;

图4为本发明实施提供一种列车注水口检测定位方法中模板匹配的原理图;

图5为本发明实施提供一种基于fpga的列车注水口检测定位系统的结构图;

图6为本发明实施提供一种基于fpga的列车注水口检测定位系统的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例提供一种列车注水口检测定位方法,该方法为:采集连续的列车注水口视频图像,同时对列车注水口视频图像进行阈值分割获得二值化的列车注水口视频图像;对所述二值化的列车注水口视频图像进行处理并且与列车注水口模板图像进行匹配,检测出注水口在列车注水口视频图像中的位置,并与注水口所在的预设位置范围进行比较,如果已经匹配则将匹配有效信号传输至机械装置控制模块控制机械装置移动或停止,以及开始注水或停止注水。

所述对列车注水口视频图像进行阈值分割获得二值化的列车注水口视频图像,具体为:根据二值化阈值对列车注水口视频图像进行二值化分割,将二值化的视频图像按像素按照步长为1的大小依次生成m×n的视频图像窗口。

在所述视频图像窗口位置中标记所述视频图像窗口中第一行第一列的像素在整帧图像中的位置为视频图像窗口位置坐标p(i,j)。

所述二值化阈值获得的具体过程为:统计所述列车注水口视频图像中当前帧图像中每个灰度值对应的像素数目,形成抽象的灰度直方图,并根据所述抽象的灰度直方图计算出分割效果最佳的二值化阈值。

确定所述抽象的灰度直方图中的最大值m1与对应的灰度值g1,确定所述抽象的灰度直方图中灰度值g1右侧部分的次高峰值m2与对应的灰度值g2,对所述g1与g2之间的直方图进行计算获得峰谷最小值m3与对应的灰度值g3,并定义g3为二值化阈值。

具体地,如图1所示,本发明中采集的连续的列车注水口视频图像分辨率为640×480,因此设置双口ram的位宽为16。双口ram的两个端口都支持读写,以当前到达的视频图像像素灰度值作为双口ram的a端口的地址,从双口ram的a端口读出存储的数据至加一加法器中;同时对到达的视频图像像素通过缓存寄存器做一个时钟的延时至双口ram的b端口,作为双口ram的b端口的地址,将加一加法器计算后的数据通过b端口存储到双口ram中。当一帧图像全部统计结束后,在帧消隐期间通过给双口ram的b端口的地址进行控制读出像素统计结果。

如图2所示,首先将像素统计结果,逐一进入第一比较器,第一比较器留下大的数值舍弃小的数值,最终将得到像素统计结果的最大值m1,读出最大值对应的双口ram存储空间地址为对应的灰度值g1。其次,设置5级比较器,这5级比较器留下小的数值舍弃大的数值,灰度值大于g1的像素统计结果依次进入5级比较器中,若某一灰度统计的数值依次出现在五级比较器中,则认为该数值为g1右侧的第一个低谷m12,再通过比较器计算出对应灰度值g12右侧的次高峰值m2,其对应灰度值为g2。最后,设置第二比较器,第二比较器留下小的数值舍弃大的数值,g1到g2之间的像素统计结果依次进入第二比较器,计算得到最小值m3,对应灰度值为g3,定义g3为二值化阈值。

所述对生成的所述视频图像窗口与列车注水口模板图像进行比较,计算出二者在同位置像素点相同的总数目,记录为窗口匹配结果,具体为:将所述二值化的视频图像中的m行依次存入m个fifo中,将m个fifo中读出的数据分别作为移位位左移至对应的m个n位左移位寄存器中,对读入的m个n位左移位寄存器与m个n位模板图像寄存器进行按位同或,对每行的同或结果的每一位进行相加,即统计每个对应n位寄存器中相同像素的个数,成为n个行匹配结果,对m个对应n位寄存器行匹配结果再次进行求和,即统计视频图像窗口与列车注水口模板图像相同像素的个数,也就是窗口匹配结果。

具体地,如图3所示,由m个fifo以及左移位寄存器组成,列车注水口模板图像的行数为24,所以此处为m的数值为24;二值化的视频图像每行有640个像素,所以设置fifo的深度为640;因为每个像素灰度值位宽为1,所以fifo的宽度为1。二值化的视频图像像素首先进入fifo1中,当填满fifo后进入fifo2中,当24个fifo全部填满后24行图像缓存结束,即生成24行的二维图像矩阵。设置24个16位左移位寄存器对应24个fifo,当24个fifo全部写满后同时读出至左移位寄存器的进位位,24个16位左移位寄存器构成一个16×24的视频图像窗口。24个fifo全部写满时,设置窗口列计数器与窗口行计数器,fifo每读出一个数据,窗口列计数器加一用于标定窗口第一个像素的行坐标,当窗口列计数器计数到达640时窗口行计数器加一,用于标定窗口第一个像素的行坐标。

如图4所示,通过对视频图像窗口与列车注水口模板图像按位同或得到匹配结果。列车注水口模板图像存放在24个16位模板图像寄存器中,对应视频图像窗口的24个16位左移位寄存器,对每一对寄存器进行按位同或操作,得到一组16×24的同或结果,放在24个16位同或结果寄存器中。首先对同或结果的每一个寄存器中数据的每一位进行相加得到行匹配结果,相加的和为寄存器中1的个数,即与列车注水口模板图像第一行匹配成功的像素数目,然后再对24个行匹配结果进行相加,得到窗口匹配结果。

通过确定视频图像窗口是否与列车注水口模板图像匹配成功,然后确定匹配成功的窗口是否在指定位置范围内部。设定匹配阈值pe,当窗口匹配结果大于pe时则匹配成功,然后从视频图像窗口生成模块读入已经该匹配成功窗口的坐标,通过比较器判断该匹配成功窗口的坐标是否在设定范围内部,即横坐标大于ra小于rb,纵坐标大于ca小于cb范围内部,如果在该范围内部,则匹配成功,发送匹配有效信号至机械装置。pe、ra、rb、ca、cb为预设数值,一般的pe等于325,ra等于298,rb等于318,ca等于222,cb等于242。

所述机械装置当火车停靠后,启动机械装置,并启动移动时间计时器。当匹配有效信号传输至机械装置的控制模块后,机械装置停止移动,移动时间计时器停止计时,并伸出注水枪开始注水。6分钟后停止注水,机械装置根据移动时间计时器计时的时间原路返回。

该方法还包括:对周围环境中的光线强度进行实时探测,当探测到的环境光照度低于设定光照度阈值时,控制外接照明灯的打开与关闭。

具体地,当列车注水口周围光线昏暗时,cmos相机不能正常工作,因此利用光照探测器实时监测周围环境的光线,当光照度过低时,光照探测器发送照明启动信号控制打开照明灯。

本发明实施例还提供一种基于fpga的列车注水口检测定位系统,如图5、6所示,包括:视频采集模块1、图像缓存模块2、图像处理模块3、机械装置控制模块4和环境光调节模块5;

所述视频采集模块1,用于采集连续的列车注水口视频图像,同时对列车注水口视频图像进行解码,并将解码后的列车注水口视频图像分别传输到图像缓存模块2、图像处理模块3和机械装置控制模块4;

所述图像缓存模块2,用于接收解码后的列车注水口视频图像,并缓存两帧列车注水口视频图像及所有像素位置坐标信息,同时将缓存后的列车注水口视频图像和像素位置坐标信息发送至图像处理模块3;

所述图像处理模块3,用于对采集到的列车注水口视频图像进行预处理,然后与列车注水口模板图像进行匹配,检测出注水口在列车注水口视频图像中的位置,并与注水口所在的预设位置范围进行比较,确定是否已经匹配,如果已经匹配则将匹配有效信号传输至机械装置控制模块4;

所述机械装置控制模块4,用于将机械装置工作模式控制信号发送至机械装置的接收单元控制机械装置的移动与停止,同时结合匹配有效信号控制机械装置开始注水与停止注水;

所述环境光调节模块5,用于探测周围环境中光线的强度,并控制照明灯的打开与关闭,实时调节环境亮度;

所述视频采集模块1,包括cmos相机11、usb2.0视频接口12、视频解码芯片13、fpga视频控制子模块14;

cmos相机11,用于采集分辨率为m×n像素、帧频为f的列车注水口视频图像,其中采集的每个像素的灰度值是一个8bit的整型数据,同时通过usb数据线将采集到的数据传输至usb2.0视频接口12;

usb2.0视频接口12,用于接收cmos相机11采集到的列车注水口视频图像,并使用差分传输方式将列车注水口视频图像传输至视频解码芯片13;

视频解码芯片13,用于将usb2.0视频接口12传输来的列车注水口视频图像重新编码成8位像素信号、行同步信号与帧同步信号,并将这些10位信号称为解码后的视频图像,然后将解码后的视频图像并行传输至fpga视频控制子模块14中;

fpga视频控制子模块14,用于接收视频解码芯片13传输的解码后的视频图像,同时根据行同步信号与帧同步信号为每一个像素标定像素位置坐标信息,并将解码后的视频图像传输至图像缓存模块2和图像处理模块3中,将解码后的视频图像中第一行像素发送至机械装置控制模块4中;

所述图像缓存模块2,包括fpga缓存控制子模块21、sdram存储器22,其中sdram存储器包括sdram1与sdram2;

fpga缓存控制子模块21,用于接收视频采集模块1传输来的解码后的视频图像,并写入一片sdram中,同时读出另一片sdram中的解码后的视频图像,并将其传输至图像处理模块3;

sdram存储器22,包括两片sdram,每片sdram用于存储一帧解码后的视频图像,模块从fpga缓存控制子模块21读入解码后的视频图像,并将解码后的视频图像存入一片sdram的存储单元中,每个存储单元存放一个像素;

所述图像处理模块3,包括:像素统计模块31、阈值计算模块32、图像分割模块33、视频图像窗口生成模块34、模板匹配模块35、匹配结果验证模块36;

像素统计模块31,用于从fpga视频采集模块1接收解码后的视频图像,同时统计当前帧图像中每个灰度值对应的像素数目,形成抽象的灰度直方图,并在帧消隐期间将每帧图像的像素统计结果输出至阈值计算模块32;

阈值计算模块32,用于接收像素统计模块31传输来的像素统计结果,并根据抽象的灰度直方图计算出分割效果最佳的二值化阈值,并将此二值化阈值传输至图像分割模块33中;

图像分割模块33,用于对解码后的视频图像进行阈值分割,将解码后的视频图像按像素依次读入,并利用二值化阈值进行二值化分割,然后将二值化的视频图像按像素依次传输至视频图像窗口生成模块34中;

视频图像窗口生成模块34,用于将二值化的视频图像按照步长为1的大小依次生成m×n的视频图像窗口,并将视频图像窗口传输至模板匹配模块35中,同时标记视频图像窗口中第一行第一列的像素在整帧图像中的位置为视频图像窗口位置坐标p(i,j),并将p(i,j)传输至匹配结果验证模块36,m为列车注水口模板图像的行数,n为列车注水口模板图像的列数,i为视频图像窗口行坐标,j为视频图像窗口列坐标;

模板匹配模块35,用于对生成的视频图像窗口与列车注水口模板图像进行比较,计算出二者在同位置像素点相同的总数目,记录为窗口匹配结果,同时将窗口匹配结果传输至匹配结果验证模块36;

匹配结果验证模块36,用于对窗口匹配结果进行匹配程度验证,以及进行窗口匹配位置验证,得到匹配有效信号,并将匹配有效信号发送至机械装置控制模块4;

所述机械装置控制模块4,包括:启动控制模块41,开始注水控制模块42,停止注水控制模块43,原返控制模块44;

启动控制模块41,用于接收启动开关传输来的移动开始信号,并通过串口向机械装置发送移动命令,同时对移动时间进行计时,当接收到匹配结果验证模块36传输来的匹配有效信号后,通过串口向机械装置发送停止命令,同时结束移动时间的计时;

开始注水控制模块42,用于接收匹配的有效信号,并控制机械装置开始注水;

停止注水控制模块43,用于对注水时间进行计时,当计时时间到达6分钟后控制机械装置停止注水并向原返控制模块44注水结束信号;

原返控制模块44,用于接收注水结束信号,并读取启动控制模块41移动时间的计时值,控制机械装置反向移动时间的计时值至出发位置;

所述环境光调节模块5,包括:光强感知模块51、照明控制模块52;

光强感知模块51,用于对周围环境中的光线强度进行实时探测,当探测到的环境光照度低于设定光照度阈值时,向照明控制模块52发送照明启动信号;

照明控制模块52,用于接收光强感知模块51发送的照明启动信号,然后控制外接照明灯的打开与关闭;

所述fpga缓存控制子模块21,包括像素流接收单元21a、读写控制单元21b、像素流发送单元21c;

所述像素流接收单元21a,用于从视频采集模块1中读取解码后的视频图像,并根据帧同步信号对视频帧进行计数,并将帧计数值传输至读写控制单元21b中;

所述读写控制单元21b,用于接收帧计数值,并控制sdram的读写:如果帧计数值为2a,则写入sdram1中,同时从sdram2中读取第2a-1帧的图像,如果帧计数值为2a+1,则写入sdram2中,同时从sdram1中读取第2a帧的图像,a=0,1,2,…,以此方式进行反复读写;

所述像素流发送单元21c,用于将从sdram中读出的解码后的视频图像发送至图像处理模块3,并对解码后的视频图像中的像素进行计数生成像素位置坐标信息、缓存行同步信号与缓存帧同步信号,同时传输至图像处理模块3中;

所述像素统计模块31包括双口ram31a、缓存寄存器31b、加一加法器31c;

双口ram31a,用于存储位深为256,位宽为16的像素统计结果,并将从fpga视频采集模块1传输来的解码后的视频图像的灰度值作为存储空间的地址,通过双口ram的双口ram的a端口读出对应地址中存储的数据,同时以缓存寄存器31b缓存后的数据作为地址,通过双口ram的双口ram的b端口将加一加法器31c计算后的结果写入对应地址存储空间中,待全帧统计结束后通过双口ram的双口ram的b端口依灰度值从小到达读出存储的所有数据至阈值计算模块32;

缓存寄存器31b,用于对解码后的视频图像的每一个像素缓存一个时钟,在同一时钟周期,以缓存前的像素灰度值作为双口ram31a双口ram的a端口地址读出其中数据至加一加法器31c,并以缓存后的像素灰度值作为双口ram31a双口ram的b端口地址写入加一加法器输出的数据;

加一加法器31c,用于对双口ram31a双口ram的a端口读出的数据进行加一操作,然后以相同的地址将计算结果通过双口ram的b端口存储至同一存储单元;

所述阈值分割模块32包括最高峰计算模块32a、次高峰计算模块32b、极小值计算模块32c;

最高峰计算模块32a,用于计算抽象的灰度直方图中的最大值m1,并将计算出的m1与其对应的灰度值g1传输给次高峰计算模块32b和极小值计算模块32c;

次高峰计算模块32b,用于计算出直方图中g1右侧部分的次高峰值m2,并将m2与其对应的灰度值g2传输给极小值计算模块32c;

极小值计算模块32c,用于对g1与g2之间的直方图进行计算,得到峰谷最小值m3与对应的灰度值g3,并定义g3为二值化阈值;

所述视频图像窗口生成模块34包括fifo缓存模块34a、窗口寄存器组34b、窗口位置标定模块34c;

fifo缓存模块34a,用于接收图像分割模块33传输来的二值化的视频图像,并将其中的m行依次存入m个fifo中,当所有fifo全部存满后读出每个fifo至窗口寄存器组34b,m为列车注水口模板图像的行数;

窗口寄存器组34b,用于寄存fifo中读出的数据,将m个fifo中读出的数据分别作为移位为左移至对应的m个n位移位寄存器中,同时将m个n位移位寄存器中的数据读出至模板匹配模块35,n为列车注水口模板图像的列数;

窗口位置标定模块34c,用于接收图像缓存模块2中像素位置坐标信息,并将视频图像窗口第一行第一列的像素所对应的像素位置坐标信息赋值给视频图像窗口位置坐标p(i,j),同时将p(i,j)传输至模板匹配模块35中,i为视频图像窗口行坐标,j为视频图像窗口列坐标;

所述模板匹配模块35包括模板存储寄存器组35a,同或门阵列35b,匹配行加法器组35c,视频图像窗口加法器组35d;

模板存储寄存器组35a,用于存储列车注水口模板图像至m个n位模板寄存器中,同时将其中存储的数据传输到同或门阵列35b,m为列车注水口模板图像的行数,n为列车注水口模板图像的列数;

同或门阵列35b,用于对读入的m个n位移位寄存器与m个n位模板寄存器进行按位同或,同时将同或结果传输至匹配行加法器组35c;

匹配行加法器组35c,用于对每行的同或结果进行相加,统计每个对应n位寄存器中相同像素的个数,成为行匹配结果,并将行匹配结果传输至视频图像窗口加法器组35d;

视频图像窗口加法器组35d,用于对m个对应n位寄存器行匹配结果再次进行求和,统计视频图像窗口与列车注水口模板图像相同像素的个数,即窗口匹配结果,并将窗口匹配结果传输至匹配结果验证模块36;

所述匹配结果验证模块36包括像素数目匹配模块36a,位置匹配模块36b;

像素数目匹配模块36a,用于对模板匹配模块35传输来的窗口匹配结果进行验证,对比窗口匹配结果与所设定匹配阈值:如果窗口匹配结果大于匹配阈值,则像素数目匹配,然后进行位置匹配,如果窗口匹配结果小于匹配阈值,则等待下一时钟窗口匹配结果的到来,继续进行像素数目匹配;

位置匹配模块36b,用于对像素数目匹配成功的视频图像窗口进行位置验证,同时从窗口位置标定模块34c读取视频图像窗口位置坐标p(i,j),对比位置匹配结果p(i,j)与所设定窗口位置范围:如果p(i,j)在所设定窗口位置范围内部,则位置匹配成功,并将匹配有效信号传输至机械装置控制模块4,如果p(i,j)不在所设定窗口位置范围内部,则等待下一次的验证。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1