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

一种基于FPGA实现的二值神经网络立体视觉匹配方法组成比例

技术编号:25309611 阅读:25 留言:0更新日期:2020-08-18 22:28
本发明专利技术涉及一种基于FPGA实现的二值神经网络立体视觉匹配方法,包括以下步骤:步骤一:获取双目匹配灰度图像中的像素的周期性输入流;步骤二:从像素中获取图像块;步骤三:将步骤二中的图像块输入预设权值与参数的二值神经网络获取二值的特征向量;步骤四:将特征向量在最大搜索视差内进行代价计算,获得匹配代价;步骤五:将代价输入半全局代价聚合进行代价聚合,得到聚合后的代价;步骤六:在聚合后的代价中选择代价最小的位置作为视差;步骤七:对选择的视差进行一致性检测和视差细致化计算,得到视差图,并且按周期逐个输出像素的视差值。通过二值化的方法可以有效的降低网络的计算和存储资源,从而可以将高精度的立体匹配网络部署到FPGA中。

【技术实现步骤摘要】
一种基于FPGA实现的二值神经网络立体视觉匹配方法
本专利技术涉及视觉匹配领域,更具体地,涉及一种基于FPGA实现的二值神经网络立体视觉匹配方法。
技术介绍
实时获取图像的深度信息是当前生物视觉的热点,使用数学特征进行特征匹配是当前的主要方法。双目立体视觉技术的步骤包括:获取双目相机的内外参数;根据内外参数对双目图像进行基线矫正与对齐;计算双目图像的匹配代价;代价聚合;深度选择;深度优化。计算双目图像的匹配代价是获取深度的关键所在,在计算代价时,目前主要使用ADCensus,SAD和SSD,这些方法虽然易于实现,但是精度普遍很低。随着深度学习的发展,卷积神经网络在图像识别与分类上取得了巨大的进步。目前使用神经网络是一种立体视觉计算匹配代价的研究方向,例如利用CNN的MC-CNN方法,使用场景相关的数据集训练后可以通过可以大幅度提高代价的匹配精度。但是神经网络的计算量通常非常大,需要消耗大量的计算单元和计算能量,无法移植到嵌入式系统中。
技术实现思路
本专利技术为克服上述现有技术中采用神经网络计算匹配代价造成资源消耗大的问题,提供一种基于FPGA实现的二值神经网络立体视觉匹配方法,本专利技术通过神经网络的二值化,降低了神经网络的资源消耗,最终能够移植到嵌入式系统中。为解决上述技术问题,本专利技术采用的技术方案是:一种基于FPGA实现的二值神经网络立体视觉匹配方法,包括以下步骤:步骤一:获取双目匹配灰度图像中像素的周期性输入流;步骤二:从像素中获取用于计算代价的图像块;步骤三:使用二值化策略将卷积神经网络进行二值化处理;将步骤二中的图像块输入预设权值与参数的二值神经网络获取二值的特征向量;步骤四:将特征向量在最大搜索视差内进行代价计算,获得匹配代价;步骤五:将代价输入半全局代价聚合进行代价聚合,得到聚合后的代价;步骤六:在聚合后的代价中选择代价最小的位置作为视差;步骤七:对选择的视差进行一致性检测和视差细致化计算,得到最终的视差图,并且按周期逐个输出像素的视差值。优选的,所述步骤一的具体流程为输入图片后双目左右标定后的图片经过矫正后按照相同的时钟周期逐个像素输入系统。优选的,在所述步骤二中,将输入的像素按照匹配时钟输入移位寄存器中,经过预定的延时后,并行多行数据后得到一个由预设像素大小的图像块。优选的,所述步骤三的具体步骤为将左右两个图像块周期性的输入两个完全相同的神经网络中,经过预先设定层数与权值的网络计算,得到图像块的特征向量,分表表示为fl和fr。优选的,在所述步骤四中,左图像素点pl(x,y)特征,在右图像素pr(x,y)到pr(x,y-d)中进行最大搜索视差匹配,得到视差的匹配代价公式为:其中,d∈{0,1,…,dmax},dmax为预设的最大搜索视差,可以设置为(2,4,8,16,32,64,128,…);CBNN(p,d)为视差的匹配代价;Σ为求和计算,wh为对应的特征相关性权值;fl和fr分别为左右图像块的特征向量。优选的,在所述步骤五中,在匹配图像上对步骤四中的匹配代价在预设的方向进行聚合,对应的数学表达式:其中,Cr(p,d)为聚合后的代价;CBNN(p,d)为像素点p对应d视差的代价;r是预先选定的聚合方向;Cr(p-r,d)为聚合方向r上的代价;P1和P2为预先设置的聚合参数;k为变量,选择最小值时作为变量用。优选的,在步骤六中,选择视差的原则是选择两个匹配计算块代价最小的两个图像块的水平位置差,具体的公式为:其中,D(p)为所述系统得到的视差;Cf(p,d)为最终的代价;argmin为求最小代价的位置差计算。优选的,在所述步骤七中,在得到的视差值上做中值滤波和左右一致性检测,使用5*5的图像块进行中值滤波与左右一致性检测的后处理,得到最终的视差图,并且按周期逐个输出像素的视差值。优选的,所述二值神经网络一共四层,前一层网络的输出为下一层网络的输入,直至得到最后的特征向量;所述二值神经网络第一层有四个子层:8位量化卷积层、缩放比例层单元、归一化层单元、激活层单元,其余三层具有四个子层:二值卷积层网络单元、缩放比例层单元、归一化层单元、激活层单元;前一个单元的输出为下一个单元的输入,最后一个单元的输出即为整层的输出。与现有技术相比,本专利技术的有益效果是:该双目视觉立体匹配方法包括获取匹配图像块、代价计算、代价聚合、深度选择、后处理的步骤。与全精度神经网络相比,二值神经网络的权值和激活度均限制在-1和1,网络中的这种1位表示法一方面可以降低存储资源消耗,另一方面可以用高效的二进制运算代替浮点乘法和加法运算。当使用二进制值表示1时,卷积的权值与输入之间的点积计算可以简化为位运算,降低计算资源消耗,从而可以将高精度的立体匹配网络部署到FPGA中。附图说明图1是本专利技术的一种基于FPGA实现的二值神经网络立体视觉匹配方法的执行流程图。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本专利的限制。下面通过具体实施例,并结合附图,对本专利技术的技术方案作进一步的具体描述:实施例1如图1所示为一种基于FPGA实现的二值神经网络立体视觉匹配方法的实施例,包括以下步骤:步骤一:输入图片后双目左右标定后的图片经过矫正后按照相同的时钟周期逐个像素输入系统,得到双目匹配灰度图像中的像素的周期性输入流;步骤二:将步骤一的像素按照匹配时钟输入移位寄存器中,经过预定的延时后,并行多行数据后得到一个由预设像素大小的用于计算代价的图像块;步骤三:使用二值化策略将卷积神经网络进行二值化处理;将步骤二中的左右两个图像块输入周期性的输入两个完全相同的神经网络中,经过预设权值与参数的二值神经网络计算后得到图像块的特征向量;步骤四:左图像素点pl(x,y)特征,在右图像素pr(x,y)到pr(x,y-d)中进行最大搜索视差匹配,得到视差的匹配代价公式为:其中,d∈{0,1,…,dmax},dmax为预设的最大搜索视差,可以设置为(2,4,8,16,32,64,128,…);CBNN(p,d)为视差的匹配代价;Σ为求和,wh为对应的特征相关性权值;fl和fr分别为左右图像块的特征向量。步骤五:将代价输入半全局代价聚合进行代价聚合,得到聚合后的代价;在匹配图像上对步骤四中的匹配代价在预设的方向进行聚合,对应的数学表达式:其中,Cr(p,d)为聚合后的代价;CBNN(p,d)为像素点p对应d视差的代价;r是预先选定的聚合方向;Cr(p-r,d)为聚合方向r上的代价;P1和P2为预先设置的聚合参数;k为变量,选择最小值时作为变量用。本文档来自技高网...

【技术保护点】
1.一种基于FPGA实现的二值神经网络立体视觉匹配方法,其特征在于,包括以下步骤:/n步骤一:获取双目匹配灰度图像中的像素的周期性输入流;/n步骤二:从像素中获取用于计算代价的图像块;/n步骤三:使用二值化策略将卷积神经网络进行二值化处理得到二值神经网络;将步骤二中的图像块输入预设权值与参数的二值神经网络获取二值的特征向量;/n步骤四:将特征向量在最大搜索视差内进行代价计算,获得匹配代价;/n步骤五:将代价输入半全局代价聚合进行代价聚合,得到聚合后的代价;/n步骤六:在聚合后的代价中选择代价最小的位置作为视差;/n步骤七:对选择的视差进行一致性检测和视差细致化计算,得到视差图,并且按周期逐个输出像素的视差值。/n

【技术特征摘要】
1.一种基于FPGA实现的二值神经网络立体视觉匹配方法,其特征在于,包括以下步骤:
步骤一:获取双目匹配灰度图像中的像素的周期性输入流;
步骤二:从像素中获取用于计算代价的图像块;
步骤三:使用二值化策略将卷积神经网络进行二值化处理得到二值神经网络;将步骤二中的图像块输入预设权值与参数的二值神经网络获取二值的特征向量;
步骤四:将特征向量在最大搜索视差内进行代价计算,获得匹配代价;
步骤五:将代价输入半全局代价聚合进行代价聚合,得到聚合后的代价;
步骤六:在聚合后的代价中选择代价最小的位置作为视差;
步骤七:对选择的视差进行一致性检测和视差细致化计算,得到视差图,并且按周期逐个输出像素的视差值。


2.根据权利要求1所述的一种基于FPGA实现的二值神经网络立体视觉匹配方法,其特征在于,所述步骤一的具体流程为:输入图片并进行双目左右标定,标定后的图片经过矫正后按照相同的时钟周期逐个像素输入系统。


3.根据权利要求1所述的一种基于FPGA实现的二值神经网络立体视觉匹配方法,其特征在于,在所述步骤二中,将输入的像素按照匹配时钟输入移位寄存器中,经过预定的延时后,并行多行数据后得到一个由预设像素大小的图像块。


4.根据权利要求1所述的一种基于FPGA实现的二值神经网络立体视觉匹配方法,其特征在于,所述步骤三的具体步骤为将左右两个图像块周期性的输入两个完全相同的神经网络中,经过预先设定层数与权值的网络计算,得到图像块的特征向量。


5.根据权利要求4所述的一种基于FPGA实现的二值神经网络立体视觉匹配方法,其特征在于,在所述步骤四中,左图像素点pl(x,y)特征,在右图像素pr(x,y)到pr(x,y-d)中进行最大搜索视差匹配,视差的匹配代价公式为:



其中,d∈{0,1,…,dmax},dmax为预设的最大搜索视差,...

【专利技术属性】
技术研发人员:陈刚凌晔华何涛何晟宇张余孟海涛黄凯
申请(专利权)人:中山大学
类型:发明
国别省市:广东;44

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

1