一种基于FPGA的智能导盲方法及头盔式系统

未命名 08-13 阅读:90 评论:0

一种基于fpga的智能导盲方法及头盔式系统
技术领域
1.本发明涉及计算机视觉的技术领域,尤其涉及一种基于fpga的智能导盲方法及头盔式系统。


背景技术:

2.随着人民生活水平的提升,盲人对于生活质量优化需求强烈,进而带动智能助视器市场需求攀升。但盲人智能助视器生产技术门槛较高,且产品价格昂贵,长期得不到重视。目前,盲人出行携带的辅助导盲设备主要为导盲杖和导盲眼镜,然而由于他们的外形构造及使用特点的原因,并不能观测携带者周围全面的环境状况。同时,当前导盲设备主要以避障功能为主,尚不能更好地满足盲人出行线路导航的需求。
3.近年来,在机器学习和深度学习的支持下,计算机视觉迅速发展。尽管在这一领域取得了巨大的进展,计算机视觉的能力也很强,但目标检测是一个复杂的过程,存在着诸多挑战。目标检测挑战之一是视角的多样性,不同角度观看同一物体看起来完全不同,因此检测器的目标是从不同角度识别物体。其次,变形与遮挡使得难以检测物体真实类别与距离,这些都增加了确定目标的困难,对目标检测精度存在威胁。同时,在视频方面,探测器需要经过训练,以便在不断变化的环境中进行分析。这意味着目标检测算法不仅必须准确地分类重要的目标,而且还必须有较高的预测速度,以便能够识别不断变化的目标。为保证目标检测精度和实时性,需要强大算力支持,但以gpu为代表的算法加速硬件功耗较大,难以满足盲人导航的实用性需求。现有的导盲设备少有完备的线路导航功能,且产品价格较高。
4.有发明专利公开了一种利用多目立体视觉的盲人智慧导航方法,以多目图像采集装置采集图像数据,据以利用预置标定法获取相机标定结果,采集定位信息;将图像数据、定位信息以及相机标定结果上传至预置数据处理中心;获取三维模型,据以根据图像数据处理红绿、定位信息以及相机标定结果进行障碍物检测、移动物体跟踪、人脸检测及红绿灯检测,以供规划盲人行进路线;根据红绿灯提示信息、人物识别数据、固定障碍位置及移动障碍轨迹规划盲人行进路线;灯提示信息、人物识别数据、固定障碍位置及移动障碍轨迹及盲人行进路线,据以得到提示信号,据以生成并发出盲人感官预警。该发明解决了导盲误差大、携行性较差以及使用成本高的技术问题。但是,上述发明专利仅使用了摄像头,且需要将数据上传至远程导盲平台处理,存在着障碍物测距精度低、时延大等问题。


技术实现要素:

5.针对现有导盲方法需要的硬件功耗大,成本高的技术问题,本发明提出一种基于fpga的智能导盲方法及头盔式系统,以较低的成本解决多目标检测高精度强算力产生的功耗过大的问题,同时提供盲人出行语音线路导航及避障提醒等功能。
6.为了达到上述目的,本发明的技术方案是这样实现的:一种基于fpga的智能导盲方法,其步骤如下:
7.s1:使用者通过语音识别模块和语音提示模块调用头盔内置的盲人导航地图和
gps/北斗导航模块,设置目的地及出发地信息;盲人导航地图依据盲人特点规划行走路线,并反馈给使用者,经使用者确认后,启用导航功能;
8.s2:双目摄像头实时采集头盔的前方和后方的图像,将图像传入fpga处理模块;
9.s3:fpga处理模块对输入的图像执行多目标检测算法进行目标检测,执行双目测距算法实现双目测距;
10.s4:fpga处理模块对多目标检测算法进行硬件加速,加速工作采用分阶段开启卷积运算加速方法;
11.s5:使用超声波测距模块进行近距离障碍物的精确距离测量;
12.s6:融合导航信息、多目标检测结果、双目测距结果及超声测距结果,经决策算法分析后,给出详细的盲人导航语音提示信息;
13.s7:采用自适应节能策略,通过影差法分析各方位环境动态程度,图像的画面变化微小时不进行步骤s3的多目标检测及双目测距。
14.优选地,所述多目标检测算法将检测出交通场景的常见景物,双目测距算法将计算检测出的目标物体与摄像头之间的距离,具体实现方法为:
15.(1)输入的图像经yolo v5神经网络推理与非极大值抑制处理,生成目标框;
16.(2)双目测距算法对输入的图像进行处理生成深度图,根据深度图与目标框的坐标计算每个目标与摄像头的距离;
17.(3)对目标框内的道路图像通过yolo v5进行语义分割,得到道路的精确位置;
18.(4)对识别到的信号灯的信息进行分析,告知当前道路通行情况。
19.优选地,所述多目标检测算法采用yolo v5算法,并利用fpga处理模块基于winograd算法的卷积运算硬件加速处理;所述yolo v5算法的输出头部分的张量维度变换和非线性激活函数的运算在cpu端进行处理,神经网络的其他部分的卷积操作进行fpga的硬件加速;其中,神经网络的其他部分的卷积操作采用基于winograd算法思想设计的改进型卷积运算硬件加速单元进行加速处理。
20.优选地,所述fpga处理模块基于winograd算法的卷积运算硬件加速处理的整体过程为:fpga处理模块通过前后两个双目摄像头采集周围环境的实时信息,将数据存入存储器中;多目标检测算法的yolo v5算法的神经网络权重的相关信息提前保存在存储器中,winograd变换卷积核直接存储在存储器中,存储器中设置特征图缓存与权重缓存分别存储输入图像和winograd变换卷积核;芯片内部可编程端实现卷积单元与池化单元的硬件加速,通过dma方式完成数据的传输;在神经网络的卷积层与池化层硬件加速后,将结果输出给fpga芯片内的cpu端。
21.优选地,所述基于winograd算法的卷积运算硬件加速处理的方法为:对于输入尺寸为h
×
w的图像,将图像划分为若干个图像块,每个图像块的尺寸为h
×
w,输出参数大小为m
×
n,卷积核大小为r
×
r的卷积运算为:
22.y=a
t
[[ggg
t
]

[b
t
db]]a
[0023]
其中,

表示两个矩阵的点乘运算即元素对应位置相乘;g表示尺寸为r
×
r的卷积核;d表示尺寸为(m+r-1)
×
(m+r-1)的图像块;g表示核变换矩阵,尺寸为(m+r-1)
×
r,winograd变换卷积核即为ggg
t
;b
t
表示输入变换矩阵,尺寸为(m+r-1)
×
(m+r-1);a
t
为输出变换矩阵,尺寸为m
×
(m+r-1);其中h=m+r-1,w=n+r-1;y表示卷积运算结果;最终将所有
图像块所得结果进行拼接。
[0024]
优选地,所述存储器存储了winograd变换卷积核,其中,存储器中相同通道上的二维特征图和二维卷积核的卷积运算为:
[0025]
存储在存储器中的相同通道上的二维特征图d和winograd变换卷积核通过axi总线分别进入一个卷积运算加速单元的两个寄存器中;然后,二维特征图d经过输入特征图变换模块完成b
t
db的运算,得到变换后的特征图;接着,变换后的特征图和winograd变换卷积核同时进入矩阵点积运算单元实现

运算,输出结果r;最终,结果r经过输出特征图变换模块得到结果y,结果y返回到寄存器,通过axi总线写回到存储器;
[0026]
对于一组三维特征图和一个三维卷积核的加速卷积运算,分别在特征图缓存与权重缓存中取一组三维特征图和一个三维卷积核,在该组三维特征图和该三维卷积核的每个通道上的计算中都使用一个卷积运算加速单元去并行完成,得到多张二维特征图;经过累加模块对多张二维特征图相同位置的数值进行相加求和,得到一张特征图;多组卷积运算加速单元并行完成一组特征图和四维卷积核的计算,得到三维特征图为输出结果;对每组输入特征图完成上述过程,最终输出结果构成完整的输出特征图;所述输入特征图变换模块和输出特征图变换模块的电路均采用对矩阵运算结果合并同类项的思想,对于多项式中相同变量的加法或减法运算共用一个加法器或减法器,实现对矩阵乘法的运算。
[0027]
优选地,所述决策算法的步骤如下:
[0028]
1)估计目标距离:设定超声波测距最大距离为m米,当超声波测距检测结果为最大距离时,以双目测距算法所测得的各目标距离为准;当超声波测距结果小于最大距离时,认定有障碍物存在,随后在双目测距的结果中查找与超声波测距结果最接近的目标,该目标即认定为当前的障碍物,该目标的距离为d;如无法在双目测距结果中找到目标,则认为当前障碍物为未知障碍物,该超声波测距的结果为d;
[0029]
2)计算环境复杂度:
[0030]
其中,h表示环境复杂程度,n表示目标个数,表示目标变化率,表示目标距离影响结果;a1、a2和a3为相应影响系数;
[0031]
3)根据环境复杂程度决定是否发送提醒使用者的指令:当环境复杂度h的值大于等于设定值h
t
,发送提醒指令,反之不予发送;
[0032]
4)判断提醒类型,取n、和中影响程度最大者作为提醒类型;当判断为n时,提醒使用者周围环境混乱;当判断为时,提醒使用者周围环境多变;当判断为时,提醒佩戴者与周围目标距离过近,并开启闪光灯警示外界与使用者保持距离。
[0033]
优选地,当使用者所处大型路口,检测该时间段车流量与人流量及红绿灯变化情况,实时提示使用者按交通规则前进;若偏离正常人行道或路线,提示使用者更正行进路线;当使用者处于有障碍物阻挡的盲道上,检测盲道上障碍物位置和大小情况,将信息语音告知使用者,让其提前躲避或更改行进路线;若有物体高速靠近使用者,闪光灯发出警报,语音提示使用者进行相应的避险动作。
[0034]
一种基于fpga的智能导盲方法的智慧头盔式系统,包括头盔本体,头盔本体上装有fpga处理模块、超声波测距模块、双目摄像头、语音识别模块、语音提示模块、蓝牙模块、
柔性太阳能板、闪光警示模块、锂电池及电源管理模块和gps/北斗导航模块;所述fpga处理模块、超声波测距模块、双目摄像头、语音识别模块、语音提示模块、蓝牙模块、柔性太阳能板、闪光警示模块、锂电池及电源管理模块和gps/北斗导航模块均设置在头盔本体上,柔性太阳能板与锂电池及电源管理模块相连接,超声波测距模块、双目摄像头、语音识别模块、语音提示模块、蓝牙模块、闪光警示模块、锂电池及电源管理模块和gps/北斗导航模块均与fpga处理模块相连接,蓝牙模块与移动终端相连接。
[0035]
优选地,所述柔性太阳能板覆盖于头盔本体的上方表面,gps/北斗导航模块置于头盔本体正上方,用于实时定位头盔本体;所述闪光警示模块包括闪光灯,闪光灯设置在头盔本体的后侧,用于提醒后方行人和来车;所述头盔本体的前后均装有广角的双目摄像头,头盔本体的前方和两侧均装有超声波测距模块;所述语音识别模块与麦克风相连接,麦克风置于头盔本体的侧面最下方内壁;语音提示模块通过扬声器进行语音提示信息的播报;
[0036]
所述fpga处理模块包括内置cpu内核的fpga芯片、存储器、电源管理电路及接口电路;所述fpga芯片分别与存储器和电源管理电路相连接,fpga芯片通过接口电路分别与超声波测距模块、双目摄像头、语音识别模块、语音提示模块、蓝牙模块、闪光警示模块、锂电池及电源管理模块和gps/北斗导航模块相连接,锂电池及电源管理模块至少包含锂电池以及多路电源管理模块,锂电池及电源管理模块与柔性太阳能板相连接;
[0037]
所述fpga芯片内配置有多目标检测单元和双目测距单元,实现图像的多目标检测以及目标距离的检测,fpga芯片的可编程端设有卷积运算加速单元,进行硬件加速;
[0038]
根据环境自适应调整双目摄像头的采样速率,当目标数量稳定且目标距离安全时,fpga处理模块隔几帧检测一次。
[0039]
本发明的有益效果:
[0040]
(1)本发明的头盔式系统中包括语音识别和语音提示模块,并内置地图与北斗/gps定位系统,使盲人在出行指定目的地后全程跟随语音导航从而安全抵达目的地。
[0041]
(2)本发明在正常运行模式下,采用嵌入了双目测距和道路实例分割算法的多目标检测算法,并结合超声波测距,使得检测结果更加精确。
[0042]
(3)本发明利用fpga的高能效特点,基于fpga对多目标检测算法和双目测距算法进行加速,在确保了检测精度和实时性的同时降低功耗;通过实时的语音播报有效地提醒佩戴者附近是否有障碍物。
[0043]
(4)本发明的头盔式系统能在事故发生情况下最大限度的保护佩戴者的头部与颈部,实现盲人的日常安全出行。
[0044]
(5)本发明的头盔式系统结合柔性太阳能板特性,能够实时为系统充电,提高系统的续航能力。
[0045]
(6)本发明的头盔式系统成本低,降低使用者经济负担,提高盲人出行的安全性,具有较高经济效益。
附图说明
[0046]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
[0047]
图1为本发明的头盔式系统的结构示意图。
[0048]
图2为图1所示的右视图。
[0049]
图3为本发明双目测距算法流程图。
[0050]
图4为本发明yolo v5算法与双目测距算法的流程图。
[0051]
图5为本发明导盲方法的流程图。
[0052]
图6为本发明实施例的卷积运算中加速运算的流程示意图。
[0053]
图7为本发明实施例的卷积运算加速单元的示意图。
[0054]
图8为本发明的头盔式系统的电路结构示意图。
[0055]
图9为本发明实施例的输入特征图变换模块的电路运算示意图。
[0056]
图10为本发明实施例的输出特征图变换模块的电路运算示意图。
[0057]
图中,1-语音提示模块,2-语音识别模块,3-gps/北斗导航模块,4-柔性太阳能板,5-锂电池及电源管理模块,6-蓝牙模块,7-超声波测距模块,8-双目摄像头;9-闪光警示模块,10-fpga处理模块。
具体实施方式
[0058]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0059]
实施例1
[0060]
如图1和图2所示,本发明实施例提供了一种基于fpga的智慧头盔式系统,包括头盔本体、fpga处理模块10、超声波测距模块7、双目摄像头8、语音识别模块2、语音提示模块1、蓝牙模块6、柔性太阳能板4、闪光警示模块9、锂电池及电源管理模块5和gps/北斗导航模块3。fpga处理模块10、超声波测距模块7、双目摄像头8、语音识别模块2、语音提示模块1、蓝牙模块6、柔性太阳能板4、闪光警示模块9、锂电池及电源管理模块5和gps/北斗导航模块3均设置在头盔本体上,柔性太阳能板4与锂电池及电源管理模块5相连接,超声波测距模块7、双目摄像头8、语音识别模块2、语音提示模块1、蓝牙模块6、闪光警示模块9、锂电池及电源管理模块5和gps/北斗导航模块3均与fpga处理模块10相连接,蓝牙模块6与移动终端相连接。
[0061]
图1仅为示意图,柔性太阳能板4覆盖于头盔本体的上方表面,收集使用中的太阳能,锂电池及电源管理模块5为锂电池进行充电控制,并为各模块供电。gps/北斗导航模块3置于头盔本体正上方,用于实时定位头盔本体。除上述二者外,其余模块均安装于头盔侧面;闪光警示模块9包括闪光灯,设置在头盔本体的后侧,用于提醒后方行人和来车。其中,头盔本体前后均装有广角的双目摄像头,用于采集前方或后方的图像信息,以保证多方位图像的检测。头盔本体的前方和两侧装有超声波测距模块7,以实现多方位距离信息的捕获,减少盲区;语音识别模块2、语音播报模块1和蓝牙模块6置于头盔本体的左右两侧的超声波测距模块上方;语音识别模块2与麦克风相连接,用于识别语音信息;语音提示模块1通过扬声器进行语音提示信息的播报。麦克风置于头盔本体的侧面最下方内壁,用于收集语
音信息;头盔式系统根据环境自适应调整双目摄像头的采样速率,当目标数量稳定且目标距离安全时,可以暂停目标检测,当暂停时跳过的帧数到达预先设定的数值后,再进行目标检测;蓝牙模块,具备蓝牙通信功能,可与手机等蓝牙设备连接,借助手机等通信设备实现远程通信功能或报警求助功能。
[0062]
其中,fpga处理模块10包括内置cpu内核的fpga芯片、存储器、电源管理电路、usb接口、串口接口、iic接口、spi接口和gpio接口,其中usb接口支持给系统充电和系统软件升级功能;锂电池及电源管理模块5至少包含高性能锂电池以及电源管理模块,为系统中各模块供电,电源管理模块与电源管理电路相连接;存储器用于存储采集的图像信息,fpga芯片分别与存储器、电源管理电路相连接,fpga芯片通过接口电路分别与超声波测距模块7、双目摄像头8、语音识别模块2、语音提示模块1、蓝牙模块6、闪光警示模块9、锂电池及电源管理模块5和gps/北斗导航模块3,fpga芯片分别与usb接口、串口接口、iic接口、spi接口和通用gpio接口相连接,串口接口、iic接口、spi接口和gpio接口控制其他模块和与其他模块通信。上述多种接口,易于适配多方产品。
[0063]
fpga芯片中设有多目标检测单元和双目测距单元,实现图像的多目标检测和目标与距离的检测,fpga芯片的可编程端设有卷积运算加速单元。
[0064]
如图8所示,柔性太阳能板4与锂电池及电源管理模块5相连接,锂电池及电源管理模块为该头盔式系统所有模块供电;fpga处理模块10与双目摄像头相连,通过多目标检测算法、双目测距算法对图像进行加速处理;fpga处理模块10接收语音识别模块2识别的指令,调用嵌入式定制操作系统中内置的地图和gps/北斗导航模块3实现导航功能,fpga处理模块10根据导航需求发送信息,选择对头盔使用者和其他交通参与者进行语音、灯光提醒;嵌入式定制操作系统通过蓝牙模块6与用户智能手机相连,结合语音识别模块2内的麦克风和语音提示模块1的扬声器,实现通话等功能。
[0065]
嵌入式定制操作系统除了包含通常必备的cpu管理、存储器管理、设备管理、文件管理与作业管理五大功能外,还内置用于盲人导航的地图系统,同时支持北斗导航系统车道级导航功能。
[0066]
进一步地,本发明实施例中头盔式系统还可以包括骨传导模块,提供骨传导语音提示;当遇紧急情况,佩戴者在受骨传导语音提示的情况下仍能听到环境音,避免了因听不到外界声音而引发的事故危险。
[0067]
本发明的实施例中,还可以包括两种运行模式:智能省电模式和强制节能模式;其中智能省电模式,即所述头盔式系统中所有模块皆处于运行状态,采用自适应节能策略即调整双目摄像头的采样速率,即调整pl端处理图像的速率;其中强制节能模式,即双目摄像头和gps/北斗导航处于静眠模式,头盔式系统中其他模块处于运行状态。当佩戴者相对周围事物处于运动状态,摄像头处于开启状态,正常检测,此时系统不会自行决策关闭摄像头,头盔式系统处于智能省电模式;头盔式系统默认为智能省电模式,电量过低系统自动切换为强制节能模式,使用者可通过语音主动切换强制节能模式。
[0068]
实施例2
[0069]
基于现有技术缺点,本发明实施例提供了一种基于fpga的智慧导盲方法的具体实施方式,如图5所示,具体包括以下步骤:
[0070]
s1:使用者通过语音识别模块和语音提示模块调用头盔内置的用于盲人导航的地
图,设置目的地及出发地信息;系统依据盲人特点规划行走路线,并反馈给佩戴者,经佩戴者确认后,启用导航功能。
[0071]
具体地,当使用者语音指定目的地,嵌入式定制操作系统接收语音识别的指令,调用gps/北斗导航模块和语音提示模块进行实时语音播报距离和路线。
[0072]
s2:双目摄像头实时采集前方和后方的图像,将图像信息传入fpga处理模块。
[0073]
具体地,头盔式系统的头盔本体前、后安装两个双目摄像头,以较全面地捕获佩戴者的周围环境。双目摄像头将实时采集的图像信息传入与之相连的fpga处理模块,对图像进行多目标检测和双目测距,同时,根据环境自适应调整采样速率,当目标数量稳定且目标距离合适时,可以暂停目标检测,当暂停时跳过的帧数到达预先设定的数值后,再进行目标检测。
[0074]
s3:fpga处理模块执行多目标检测算法进行目标检测,执行双目测距算法实现双目测距。
[0075]
如图4所示,多目标检测算法将检测出交通场景的常见景物,双目测距算法将计算检测出的目标物体与摄像头之间的距离。
[0076]
具体地,本实施例多目标检测算法和双目测距算法具有如下特征:
[0077]
(1)输入的图像经yolo v5神经网络推理与非极大值抑制处理,生成目标框。
[0078]
(2)双目测距算法对输入的图像进行处理生成深度图,根据深度图与目标框的坐标计算每个目标与摄像头的距离。
[0079]
(3)对道路图像通过yolo v5进行实例分割,并根据识别出目标框位置,计算出道路所在的精确位置。
[0080]
(4)对识别到的信号灯的信息进行分析,告知当前道路通行情况。
[0081]
s4:fpga处理模块对多目标检测算法进行硬件加速,加速工作分阶段开启卷积运算加速方法。
[0082]
对于一个完整的多目标检测算法的卷积神经网络,其存在如下特点:
[0083]

网络起始部分可能使用focus等切片操作频繁但运算量低的模块;
[0084]

网络输出头部分通常进行较多的张量维度变换和sigmoid等非线性激活函数;
[0085]

主干部分主要为卷积操作,在网络前向推理的过程中,图像经多次下采样具有尺寸变小的趋势。
[0086]
分段策略为:对上述阶段
①②
在cpu端进行处理,对阶段

进行fpga的硬件加速。针对阶段

靠后阶段采用基于winograd算法思想设计的卷积运算硬件加速单元进行加速处理。
[0087]
具体地,多目标检测算法采用yolo v5算法,并利用fpga基于winograd算法的卷积运算硬件加速处理,加速方法如下:
[0088]
在fpga处理模块中对该算法进行fpga硬件加速处理,整体过程如下:fpga处理模块通过前后两个双目摄像头采集周围环境的实时信息,将数据存入存储器中,如ddr3;多目标检测算法的yolo v5算法的神经网络权重等相关信息提前保存在存储器中,winograd变换卷积核即ggg
t
也提前存入存储器;该系统启动后完成初始化设置;fpga芯片内部可编程端(pl)实现卷积单元与池化单元的ip硬件加速,通过dma方式完成数据的传输,可以减少cpu的工作量。在神经网络的卷积层与池化层硬件加速后,将结果输出给fpga内的cpu端;完
成后续结果的提取和可视化等运算后以日志文件、图像、视频等形式记录于设备内置存储设备,完成对目标的检测。
[0089]
对于输入尺寸为h
×
w的图像数据,将图像数据划分为若干个图像块,每个图像块的尺寸为h
×
w,然后分别对每组按如下公式,进行输出参数大小为m
×
n,卷积核大小为r
×
r的卷积运算:
[0090]
y=a
t
[[ggg
t
]

[b
t
db]]a
[0091]
其中,

表示两个矩阵元素对应位置相乘;g表示尺寸为r
×
r的卷积核;d表示尺寸为(m+r-1)
×
(m+r-1)的图像块;g表示核变换矩阵,尺寸为(m+r-1)
×
r;b
t
表示输入变换矩阵,尺寸为(m+r-1)
×
(m+r-1);a
t
为输出变换矩阵,尺寸为m
×
(m+r-1);其中h=m+r-1,w=n+r-1;y表示卷积运算结果,最终将所有图像块所得结果进行堆叠。
[0092]
本实施例中,相关参数采用如下具体值:
[0093][0094]
具体实施中,选取m=2,n=2,r=3,h=4,w=4。
[0095]
在一组三维特征图和一个三维卷积核进行加速卷积运算的过程中,需经过卷积运算加速单元,如图7所示,首先,存储在存储器ddr3中的相同通道上的二维特征图d和二维卷积核g通过axi总线分别进入一个卷积运算加速单元的两个寄存器中;然后,二维特征图d经过输入特征图变换模块完成b
t
db的运算,得到变换后的特征图;接着,变换后的特征图和winograd变换卷积核同时进入矩阵点积运算单元实现

运算输出结果r;最终,结果r经过输出特征图变换模块得到结果y,结果y返回到寄存器,通过axi总线写回到存储器ddr3。
[0096]
上述过程是存储器ddr3中相同通道上的二维特征图和二维卷积核的卷积运算。对于一组三维特征图和一个三维卷积核的加速卷积运算,请参阅图6,图6为卷积加速运算流程示意图。如图6所示,分别在特征图缓存与权重缓存中取一组三维特征图和一个三维卷积核,在该组三维特征图和该三维卷积核的每个通道上的计算中都使用一个卷积运算加速单元去并行完成,得到多张二维特征图为输出结果;上述输出结果经过累加模块,对多张二维特征图相同位置的数值进行相加求和,得到一张特征图;多组卷积运算加速单元并行完成一组特征图和四维卷积核的计算,得到三维特征图为输出结果;对每组输入特征图完成上述过程,最终输出结果构成完整的输出特征图。
[0097]
具体地,输入特征图变换模块的电路实现请参阅图9,图9为输入特征图变换模块电路结构示意图;在本实施例的输入特征图变换模块中,采用对矩阵运算结果合并同类项的思想,即对于多项式中相同变量的加法或减法运算复用一个加法器或减法器,实现对b
t
db运算由原始所需的48个加法减法器精简为32个加法减法器,具体实现方式如下:
[0098]
输入图像b
t
db原始计算结
果为
[0099]
在输入特征图变换模块中,对矩阵元素中多次出现的诸如d
8-d
10
、d9+d
10
等变量的运算仅采用一个运算器进行多次运算,合并后的b
t
db矩阵结果为:
[0100]
其中,d
8s10
表示d
8-d
10
,d
9a10
表示d9+d
10
,其他表达式以此类推;最终实现仅用32个加法减法器对b
t
db矩阵的运算。
[0101]
同理,输出特征图变换模块的电路实现请参阅图10,图10为输出特征图变换模块电路结构示意图。图10表示的硬件电路运算过程,表示加法器,表示的是减法器,加法器和减法器的左侧均是2个输入端,右侧是输出端。
[0102]
s5:使用超声波测距模块,进行近距离障碍物的精确距离测量。
[0103]
具体地,超声波测距模块安装在头盔前侧与左右两侧,以避免视觉识别模块因环境光线暗淡而无法准确测量的不足,起辅助测距功能;超声波测距范围为0.1-3米,且更为精准。
[0104]
s6:融合导航信息、多目标检测结果、双目测距结果及超声测距结果,经决策算法分析后,给出详细的盲人导航语音提示信息。
[0105]
具体地,决策算法的步骤如下:
[0106]
1)估计目标距离:设定超声波测距最大距离为m=3米,当超声波测距检测结果为最大距离时,以双目测距算法所测得的各目标距离为准。当超声波测距结果小于最大距离时,认定有障碍物存在,随后在双目测距的结果中查找与超声波测距结果最接近的目标,该目标即认定为当前的障碍物,该目标的距离为d。如无法在双目测距结果中找到目标,则认为当前障碍物为未知障碍物,该超声波测距的结果为d。
[0107]
2)计算环境复杂度:
[0108][0109]
其中,h表示环境复杂程度,n表示目标个数(根据目标检测结果可计算出n,超声波结果如不是最大值,也算作一个目标),表示目标变化率,表示目标距离影响结果;a1、a2和a3为相应影响系数。
[0110]
3)根据环境复杂程度决定是否发送提醒佩戴者的指令:当环境复杂度h的值大于等于设定值h
t
,发送提醒指令,否则不予发送。
[0111]
4)判断提醒类型,取n、和中影响程度最大者作为提醒类型(比较数值大小);当判断为n时,提醒佩戴者周围环境混乱;当判断为时,提醒佩戴者周围环境多变;当判断为时,提醒佩戴者与周围目标距离过近,并开启闪光灯警示外界与佩戴者保持距离。
[0112]
s7:采用自适应节能策略,主要通过差影法分析各方位环境动态程度,画面变化微小时将不进行双目检测与目标检测,同理超声波测距模块根据测得距离的变化率进行调整检测帧率。此外,根据使用者具体情况和实地环境将给予各摄像头不同的关注程度,控制其捕获帧率。
[0113]
进一步地,当使用者所处大型路口,该头盔式系统会检测该时间段车流量与人流量及红绿灯变化情况(通过目标检测,系统记录该时间段内目标个数),实时提示使用者按交通规则前进;若偏离正常人行道或路线,提示使用者更正行进路线;当使用者所处有障碍物阻挡的盲道上,该头盔式系统会检测盲道上障碍物位置和大小(目标框面积与整张图像大小的比值)情况,提前将这一信息语音告知使用者,让其提前躲避或更改行进路线;若有物体高速靠近使用者(同一目标,一定时间内的大小变化程度),头盔式系统会发出警报,语音提示使用者进行相应的避险动作;上述为几个特定场景的异常状态判别与决策,本发明实施例包括但不限于以上几种情况。
[0114]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种基于fpga的智能导盲方法,其特征在于,其步骤如下:s1:使用者通过语音识别模块和语音提示模块调用头盔内置的盲人导航地图和gps/北斗导航模块,设置目的地及出发地信息;盲人导航地图依据盲人特点规划行走路线,并反馈给使用者,经使用者确认后,启用导航功能;s2:双目摄像头实时采集头盔的前方和后方的图像,将图像传入fpga处理模块;s3:fpga处理模块对输入的图像执行多目标检测算法进行目标检测,执行双目测距算法实现双目测距;s4:fpga处理模块对多目标检测算法进行硬件加速,加速工作采用分阶段开启的卷积运算加速方法;s5:使用超声波测距模块进行对近距离障碍物的精确距离测量;s6:融合导航信息、多目标检测结果、双目测距结果及超声测距结果,经决策算法分析后,给出详细的盲人导航语音提示信息;s7:采用自适应节能策略,通过差影法分析各方位环境动态程度,图像的画面变化微小时不进行步骤s3的多目标检测及双目测距。2.根据权利要求1所述的基于fpga的智能导盲方法,其特征在于,所述多目标检测算法将检测出交通场景的常见景物,双目测距算法将计算检测出的目标物体与摄像头之间的距离,具体实现方法为:(1)输入的图像经yolo v5神经网络推理与非极大值抑制处理,生成目标框;(2)双目测距算法对输入的图像进行处理生成深度图,根据深度图与目标框的坐标计算每个目标与摄像头的距离;(3)对目标框内的道路图像通过yolo v5进行语义分割,得到道路的精确位置;(4)对识别到的信号灯的信息进行分析,告知当前道路通行情况。3.根据权利要求2所述的基于fpga的智能导盲方法,其特征在于,所述多目标检测算法采用yolo v5算法,并利用fpga处理模块基于winograd算法的卷积运算硬件加速处理;所述yolo v5算法的输出头部分的张量维度变换和非线性激活函数的运算在cpu端进行处理,神经网络的其他部分的卷积操作进行fpga的硬件加速;其中,神经网络的其他部分的卷积操作采用基于winograd算法思想设计的改进型卷积运算硬件加速单元进行加速处理。4.根据权利要求3所述的基于fpga的智能导盲方法,其特征在于,所述fpga处理模块基于winograd算法的卷积运算硬件加速处理的整体过程为:fpga处理模块通过前后两个双目摄像头采集周围环境的实时信息,将数据存入存储器中;多目标检测算法的yolo v5算法的神经网络权重的相关信息提前保存在存储器中,winograd变换卷积核直接存储在存储器中,存储器中设置特征图缓存与权重缓存分别存储输入图像和winograd变换卷积核;fpga芯片内部可编程端实现卷积单元与池化单元的硬件加速,通过dma方式完成数据的传输;在神经网络的卷积层与池化层硬件加速后,将结果输出给fpga芯片内的cpu端。5.根据权利要求4所述的基于fpga的智能导盲方法,其特征在于,所述基于winograd算法的卷积运算硬件加速处理的方法为:对于输入尺寸为h
×
w的图像,将图像划分为若干个图像块,每个图像块的尺寸为h
×
w,输出参数大小为m
×
n,卷积核大小为r
×
r的卷积运算为:y=a
t
[[ggg
t
]

[b
t
db]]a
其中,

表示两个矩阵的点乘运算即元素对应位置相乘;g表示尺寸为r
×
r的卷积核;d表示尺寸为(m+r-1)
×
(m+r-1)的图像块;g表示核变换矩阵,尺寸为(m+r-1)
×
r,winograd变换卷积核即为ggg
t
;b
t
表示输入变换矩阵,尺寸为(m+r-1)
×
(m+r-1);a
t
为输出变换矩阵,尺寸为m
×
(m+r-1);其中h=m+r-1,w=n+r-1;y表示卷积运算结果;最终将所有图像块所得结果进行拼接。6.根据权利要求4所述的基于fpga的智能导盲方法,其特征在于,所述存储器存储了winograd变换卷积核,其中,存储器中相同通道上的二维特征图和二维卷积核的卷积运算为:存储在存储器中的相同通道上的二维特征图d和winograd变换卷积核通过axi总线分别进入一个卷积运算加速单元的两个寄存器中;然后,二维特征图d经过输入特征图变换模块完成b
t
db的运算,得到变换后的特征图;接着,变换后的特征图和winograd变换卷积核同时进入矩阵点积运算单元实现

运算,输出结果r;最终,结果r经过输出特征图变换模块得到结果y,结果y返回到寄存器,通过axi总线写回到存储器;对于一组三维特征图和一个三维卷积核的加速卷积运算,分别在特征图缓存与权重缓存中取一组三维特征图和一个三维卷积核,在该组三维特征图和该三维卷积核的每个通道上的计算中都使用一个卷积运算加速单元去并行完成,得到多张二维特征图;经过累加模块对多张二维特征图相同位置的数值进行相加求和,得到一张特征图;多组卷积运算加速单元并行完成一组特征图和四维卷积核的计算,得到三维特征图为输出结果;对每组输入特征图完成上述过程,最终输出结果构成完整的输出特征图;所述输入特征图变换模块和输出特征图变换模块的电路均采用对矩阵运算结果合并同类项的思想,对于多项式中相同变量的加法或减法运算共用一个加法器或减法器,实现对矩阵乘法的运算。7.根据权利要求1-6中任意一项所述的基于fpga的智能导盲方法,其特征在于,所述决策算法的步骤如下:1)估计目标距离:设定超声波测距最大距离为m米,当超声波测距检测结果为最大距离时,以双目测距算法所测得的各目标距离为准;当超声波测距结果小于最大距离时,认定有障碍物存在,随后在双目测距的结果中查找与超声波测距结果最接近的目标,该目标即认定为当前的障碍物,该目标的距离为d;如无法在双目测距结果中找到目标,则认为当前障碍物为未知障碍物,该超声波测距的结果为d;2)计算环境复杂度:其中,h表示环境复杂程度,n表示目标个数,表示目标变化率,表示目标距离影响结果;a1、a2和a3为相应影响系数;3)根据环境复杂程度决定是否发送提醒使用者的指令:当环境复杂度h的值大于等于设定值h
t
,发送提醒指令,反之不予发送;4)判断提醒类型,取n、和中影响程度最大者作为提醒类型;当判断为n时,提醒使用者周围环境混乱;当判断为时,提醒使用者周围环境多变;当判断为时,提醒佩戴者与周围目标距离过近,并开启闪光灯警示外界与使用者保持距离。8.根据权利要求7所述的基于fpga的智能导盲方法,其特征在于,当使用者所处大型路口,检测该时间段车流量与人流量及红绿灯变化情况,实时提示使用者按交通规则前进;若
偏离正常人行道或路线,提示使用者更正行进路线;当使用者处于有障碍物阻挡的盲道上,检测盲道上障碍物位置和大小情况,将信息语音告知使用者,让其提前躲避或更改行进路线;若有物体高速靠近使用者,闪光灯发出警报,语音提示使用者进行相应的避险动作。9.根据权利要求1-6、8中任意一项所述的基于fpga的智能导盲方法的智慧头盔式系统,其特征在于,包括头盔本体,头盔本体上装有fpga处理模块(10)、超声波测距模块(7)、双目摄像头(8)、语音识别模块(2)、语音提示模块(1)、蓝牙模块(6)、柔性太阳能板(4)、闪光警示模块(9)、锂电池及电源管理模块(5)和gps/北斗导航模块(3);所述fpga处理模块(10)、超声波测距模块(7)、双目摄像头(8)、语音识别模块(2)、语音提示模块(1)、蓝牙模块(6)、柔性太阳能板(4)、闪光警示模块(9)、锂电池及电源管理模块(5)和gps/北斗导航模块(3)均设置在头盔本体上,柔性太阳能板(4)与锂电池及电源管理模块(5)相连接,超声波测距模块(7)、双目摄像头(8)、语音识别模块(2)、语音提示模块(1)、蓝牙模块(6)、闪光警示模块(9)、锂电池及电源管理模块(5)和gps/北斗导航模块(3)均与fpga处理模块(10)相连接,蓝牙模块(6)与移动终端相连接。10.根据权利要求9所述的智慧头盔式系统,其特征在于,所述柔性太阳能板(4)覆盖于头盔本体的上方表面,gps/北斗导航模块(3)置于头盔本体正上方,用于实时定位头盔本体;所述闪光警示模块(9)包括闪光灯,闪光灯设置在头盔本体的后侧,用于提醒后方行人和来车;所述头盔本体的前后均装有广角的双目摄像头,头盔本体的前方和两侧均装有超声波测距模块(7);所述语音识别模块(2)与麦克风相连接,麦克风置于头盔本体的侧面最下方内壁;语音提示模块(1)通过扬声器进行语音提示信息的播报;所述fpga处理模块包括内置cpu内核的fpga芯片、存储器、电源管理电路及接口电路;所述fpga芯片分别与存储器和电源管理电路相连接,fpga芯片通过接口电路分别与超声波测距模块(7)、双目摄像头(8)、语音识别模块(2)、语音提示模块(1)、蓝牙模块(6)、闪光警示模块(9)、锂电池及电源管理模块(5)和gps/北斗导航模块(3)相连接,锂电池及电源管理模块(5)至少包含锂电池以及多路电源管理模块,锂电池及电源管理模块(5)与柔性太阳能板(4)相连接;所述fpga芯片内配置有多目标检测单元和双目测距单元,实现图像的多目标检测以及目标距离的检测,fpga芯片的可编程端设有卷积运算加速单元,进行硬件加速;根据环境自适应调整双目摄像头的采样速率,当目标数量稳定且目标距离安全时,fpga处理模块隔几帧检测一次。

技术总结
本发明提出了一种基于FPGA的智能导盲方法及头盔式系统,步骤为:调用盲人导航地图和GPS/北斗导航模块,规划行走路线;双目摄像头实时采集图像;FPGA处理模块对输入的图像执行多目标检测算法进行目标检测,对道路目标进行实例分割,执行双目测距算法实现双目测距;FPGA处理模块对多目标检测算法进行硬件加速;进行近距离障碍物的精确距离测量;融合导航信息、多目标检测结果、双目测距结果及超声测距结果,经决策算法分析给出导航语音提示;图像画面变化微小时不进行双目与目标检测。本发明基于FPGA对多目标检测和双目测距进行加速,在确保检测精度和实时性的同时降低功耗。确保检测精度和实时性的同时降低功耗。确保检测精度和实时性的同时降低功耗。


技术研发人员:敖天勇 王清桥 杨静雯 王宪东 巩海岩 刘泽源 邵定保 周毅
受保护的技术使用者:河南大学
技术研发日:2023.05.09
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐