当前位置: 首页 > 专利查询>兰州大学专利>正文

一种基于单目视觉的铁道路口火车识别预警系统技术方案

技术编号:31577188 阅读:24 留言:0更新日期:2021-12-25 11:19
本发明专利技术公开了一种基于单目视觉的铁道路口火车识别预警系统,包括摄像头,摄像头通讯连接有数据处理系统,数据处理系统通讯连接有报警装置;数据处理系统包括PL端和PS端,其中,PL是逻辑部分,为FPGA端,PS部分为ARM端。本发明专利技术铁道路口火车识别预警系统具有功率低、体积小识别速度快等优点,它可有效地避免火车撞人的情况发生;在硬件电路架构上,输入存储器采用了类似乒乓操作的结构,保证了输入数据的准确性。实现了一边传输一边处理的流式处理架构,节省了处理时间和存储空间。进行多并行化处理,相当于16核计算,从而节省等待时间,系统采用mobilenet_v1 SSD算法进行目标检测,对加法计算使用koggle stone算法进行优化,减少了加法计算时间。加法计算时间。加法计算时间。

【技术实现步骤摘要】
一种基于单目视觉的铁道路口火车识别预警系统


[0001]本专利技术属于计算机领域,尤其涉及一种基于单目视觉的铁道路口火车识别预警系统。

技术介绍

[0002]基于单目视觉的铁道路口火车识别预警系统主要依靠目标检测算法实现其功能。目标检测算法是很多计算机视觉任务的基础,它可以对图像中的特定目标进行识别,并提供所识别特定目标的在成像中的坐标位置信息。在基于单目视觉的铁道路口火车识别预警系统中,目标检测算法识别火车在摄像头图像中的具体位置,得到火车在成像中的坐标,通过简单的单目视觉测距算法,便可得算出火车距离摄像头的距离,一旦火车距离摄像头的距离小于设定阈值,系统便会报警。
[0003]目前,在我国广大地区,火车识别预警系统依然主要依靠人力来对火车进行观测,当然也有一小部分地区已经采用CPU或GPU部署神经网络算法来实现火车识别预警系统。然而,无论是CPU还是GPU在实际部署中都面临着成本、速度和功耗这三大问题。对于GPU而言,虽然GPU的处理速度很快,但是由于GPU所需功耗巨大,且成本过高,不利于大面积部署。对于CPU而言,CPU虽然成本和功耗较GPU低,但是处理速度过慢,无法实时高效地地对普通列车和高铁进行精确检测、跟踪、识别。

技术实现思路

[0004]为解决上述问题,本专利技术公开了一种基于单目视觉的铁道路口火车识别预警系统。本专利技术铁道路口火车识别预警系统具有功率低、体积小识别速度快等优点,它可有效地避免火车撞人的情况发生;在硬件电路架构上,输入存储器采用了类似乒乓操作的结构,保证了输入数据的准确性。实现了一边传输一边处理的流式处理架构,节省了处理时间和存储空间。进行多并行化处理,相当于16核计算,从而节省等待时间。系统采用mobilenet_v1 SSD算法进行目标检测,对加法计算使用koggle stone算法进行优化,减少了加法计算时间。
[0005]为实现上述目的,本专利技术的技术方案为:一种基于单目视觉的铁道路口火车识别预警系统,包括摄像头,摄像头通讯连接有数据处理系统,数据处理系统通讯连接有报警装置;摄像头用于拍摄照片,数据处理系统用于处理摄像头拍摄的照片,报警装置用当数据处理系统判断有火车驶过时进行报警;数据处理系统包括PL端和PS端,其中,PL是逻辑部分,为FPGA端,PS部分为ARM端;其中,PL端包括AccSystem单元。PS端主要包括fpgadrv单元、ssd_detection单元、Paddlelite单元、mobilenet_v1 SSD单元、lib单元和opencv单元;AccSystem单元通讯连接fpgadrv单元,fpgadrv单元通讯连接ssd_detection单元,ssd_detection单元通讯连接lib单元、opencv单元和Paddlelite单元
AccSystem单元用于对卷积部分进行了加速;fpgadrv单元为FPGA加速器在Linux端的驱动;Mobilenet_v1 SSD单元英语存储SSD模型及参数;Lib单元用于存储运行demo所需的库文件;Ssd_detection单元用处存储demo源码;Opencv单元用于存储编译好的opencv库;Paddlelite单元用于装载paddle框架。
[0006]进一步的改进,所述ConvCore模块包括din_fifo单元、ConvCompute单元和dout_fifo单元;其中din_fifo单元用于对输入数据做缓存,ConvCompute单元对卷积核的输入数据做乘加运算,dout_fifo单元用于对计算之后数据做缓存。
[0007]进一步的改进,所述din_fifo单元包括Input fifo模块、Kernal fifo模块和Convheight计数器;Input fifo模块进行对输入图像数据的缓存,Kernal fifo模块进行权重数据的缓存;在数据进入时,input fifo单元对输入图像数据进行乒乓存储;Convheight计数器对每个批次kernel行数进行计数,每32bit打包成一个单元,之后通过复制32bit单元使变成512bit,最后将权重数据和图像数据进行拼接,将拼接后的结果输入到卷积计算单元。
[0008]进一步的改进,所述ConvCompute单元对于输入进来的图像数据与权重数据进行乘加操作;ConvCompute单元包括8*8乘法器单元和加法器阵列单元;其中权重数据和图像数据通过8X8乘法器单元进行乘法操作,然后结果进入到加法器阵列单元做加法计算;其中ConvHeght计数器对每个批次的kernel行数做计数操作,控制输出。
[0009]进一步的改进,所述ConvCompute单元多核并行计算的方式,即采用64个乘法器,并行地完成16个点的计算。
[0010]进一步的改进,所述加法器阵列单元做加法计算时,使用koggle stone算法进行优化;所述基于单目视觉的铁道路口火车识别预警系统采用mobilenet_v1 SSD算法进行目标检测。
[0011]进一步的改进,所述基于单目视觉的铁道路口火车识别预警系统的数据处理流程如下:ARM端将数据按不同通道的同批次数据进行融合组装,然后每行数据为64bit,一行数据里包含16个点的数据,每个点所需要的数据按4字节进行切分组装,ConvHeight单元计算得到一行结果所需要的数据量对4字节向上取商,然后结果是按每行16个点进行输出到输出存储器,配置参数中仅配置计算深度和结果深度,ARM端需要先配置每个批次的kernel,然后将数据进行分片通过AXI总线转Avalon总线传输到FPAG端的加速核,加速核一边接受数据一边进行卷积计算,传输完成后,通过读状态寄存器得知数据是否处理完成,然后读回到ARM端重组数据。
[0012]进一步的改进,ARM端的输入存储器为2行存储结构,共128字节的存储器,而Kernel存储器为512行存储器,输出存储器为4096行存储器,可以存储65536个结果点数;在Avalon总线选择器,将Avalon地址线扩展到18bit的长度,在ARM端映射地址扩展到了4194304字节),而在FPGA端输入存储器只占了128字节,从而优化了Avalon总线地址映射选择的规则,且输入存储器采用类似乒乓操作的结构,保证了输入数据的准确性,实现了一边
传输一边处理的流式处理架构,驱动程序中将需要卷积的数据进行通道融合和卷积核归一化,即任何卷积计算都视为1*1*多通道的卷积计算,提高卷积加速核的通用性。。
[0013]本专利技术对pl端的卷积核计算进行了法创新,对存算系统进行了重新设计,重新编写了可配置卷积核和存储系统。具体创新点如下:1.将输入输出缓存和卷积计算放在一起,实现了流水式存算,边传边算大幅提高了卷积核的效率,减少了数据在总线上频繁交互浪费的时间。
[0014]2.输入缓存只打了两拍完成寄存,对输入卷积核的数据进行了乒乓式的缓存,同时扩大输出缓存的容量,提高存储和传输效率。
[0015]3.进行了多并行化的处理,数据多路进行存储和卷积运算。权重本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于单目视觉的铁道路口火车识别预警系统,其特征在于,包括摄像头,摄像头通讯连接有数据处理系统,数据处理系统通讯连接有报警装置;摄像头用于拍摄照片,数据处理系统用于处理摄像头拍摄的照片,报警装置用当数据处理系统判断有火车驶过时进行报警;数据处理系统包括PL端和PS端,其中,PL是逻辑部分,为FPGA端,PS部分为ARM端;其中,PL端包括AccSystem单元。PS端包括fpgadrv单元、ssd_detection单元、Paddlelite单元、mobilenet_v1 SSD单元、lib单元和opencv单元;AccSystem单元通讯连接fpgadrv单元,fpgadrv单元通讯连接ssd_detection单元,ssd_detection单元通讯连接lib单元、opencv单元和Paddlelite单元AccSystem单元用于对卷积部分进行了加速;fpgadrv单元为FPGA加速器在Linux端的驱动;Mobilenet_v1 SSD单元英语存储SSD模型及参数;Lib单元用于存储运行demo所需的库文件;Ssd_detection单元用处存储demo源码;Opencv单元用于存储编译好的opencv库;Paddlelite单元用于装载paddle框架。2.如权利要求1所述的基于单目视觉的铁道路口火车识别预警系统,其特征在于,所述ConvCore模块包括din_fifo单元、ConvCompute单元和dout_fifo单元;其中din_fifo单元用于对输入数据做缓存,ConvCompute单元对卷积核的输入数据做乘加运算,dout_fifo单元用于对计算之后数据做缓存。3.如权利要求2所述的基于单目视觉的铁道路口火车识别预警系统,其特征在于,所述din_fifo单元包括Input fifo模块、Kernal fifo模块和Convheight计数器;Input fifo模块进行对输入图像数据的缓存,Kernal fifo模块进行权重数据的缓存;在数据进入时,input fifo单元对输入图像数据进行乒乓存储;Convheight计数器对每个批次kernel行数进行计数,每32bit打包成一个单元,之后通过复制32bit单元使变成512bit,最后将权重数据和图像数据进行拼接,将拼接后的结果输入到卷积计算单元。4.如权利要求2所述的基于单目视觉的铁道路口火车识别预警系统,其特征在于,所述ConvCompute单元对于输入进来的...

【专利技术属性】
技术研发人员:王鹏辛纪潼石珞家龙春宇查美怡王方聪
申请(专利权)人:兰州大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1