CN110738241A - 一种基于神经网络的双目立体视觉匹配方法及其运算框架 - Google Patents

一种基于神经网络的双目立体视觉匹配方法及其运算框架 Download PDF

Info

Publication number
CN110738241A
CN110738241A CN201910907166.4A CN201910907166A CN110738241A CN 110738241 A CN110738241 A CN 110738241A CN 201910907166 A CN201910907166 A CN 201910907166A CN 110738241 A CN110738241 A CN 110738241A
Authority
CN
China
Prior art keywords
neural network
binary
layer
data
calculation
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.)
Pending
Application number
CN201910907166.4A
Other languages
English (en)
Inventor
陈刚
孟海涛
黄凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
National Sun Yat Sen University
Original Assignee
National Sun Yat Sen University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Sun Yat Sen University filed Critical National Sun Yat Sen University
Priority to CN201910907166.4A priority Critical patent/CN110738241A/zh
Publication of CN110738241A publication Critical patent/CN110738241A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Abstract

本发明涉及一种基于神经网络的双目立体视觉匹配方法及其运算框架,匹配方法包括如下步骤,构建神经网络运算框架、构建二值神经网络并进行训练;初始化神经网络运算框架;步骤三:将左图像和右图像输入二值神经网络进行图像特征提取,得到一串二值序列作为图像像素点的特征描述;使用二值神经网络代理卷积神经网络用于图像的特征提取,并设计专门针对二值神经网络的神经网络训练方式和运算的运算框架,使得双目立体视觉的匹配不仅有更高的精度,同时有更快的运算速度。

Description

一种基于神经网络的双目立体视觉匹配方法及其运算框架
技术领域
本发明涉及双目立体视觉匹配算法领域,更具体地,涉及一种基于神经网络的双目立体视觉匹配方法及其运算框架。
背景技术
双目立体视觉是一种使用仿生学原理设计的被动测距传感方法,它可以在捕捉到两张图片的同时,通过算法计算得到一张像素点级别的包含深度信息的图片,为计算机视觉的应用提供了更多的可能性。
双目立体视觉在场景重建、事件检测、视频跟踪、目标识别、姿态估计、运动估计等等领域应用越来越多。它以其成本低、结构简单、精度高等优点,广泛应用于工业生产非接触式测距、智能机器人导航、无人驾驶汽车、医学诊断、安防监控和无人机等,存在巨大的商业价值和军事价值。
在双目立体视觉匹配中,一般来说算法都分为4个步骤:1、匹配代价计算;2、代价聚合;3、视差计算;4、后处理。而目前的双目立体视觉匹配的方法也主要分为三种:局部匹配算法、全局匹配算法、半全局匹配算法。局部匹配算法包括采用匹配窗的代价聚合算法、采用特征点的匹配的算法、采用相位匹配的匹配算法等等。这些算法的优点是运算速度快,能够快速恢复出纹理丰富区域的视差。缺点是低纹理区域会造成误匹配,得到的视差图不致密,需要后期运用插值算法进行修正。全局匹配算法主要包括图割法、人工智能算法、置信传播法等等。这些算法运算时间长并会产生一些误匹配,但基本能从所有的视差信息中获得稠密的视察图。半全局匹配算法是介于局部匹配算法和全局匹配算法之间的一种算法,半全局匹配算法既没有只考虑像素的局部区域,也没有将全部像素都纳入考虑,是一种均衡速度与精度的方法。
发明内容
本发明为克服上述现有技术中双目立体视觉的匹配算法无法实现快速高精度匹配的问题,提供一种基于神经网络的双目立体视觉匹配方法及其运算框架,采用二值神经网络进行匹配计算,并对用于运算的神经网络框架进行优化设计,实现双目立体视觉匹配的高精度以及快速运算。
为解决上述技术问题,本发明采用的技术方案是:提供一种基于神经网络的双目立体视觉匹配方法,包括如下步骤:
步骤一:构建神经网络运算框架、构建二值神经网络并进行训练;
步骤二:将左图像和右图像输入二值神经网络进行图像特征提取,得到一串二值序列作为图像像素点的特征描述;
步骤三:二值神经网络通过匹配算法对左图像和右图像进行匹配。
二值神经网络通过将传统神经网络中的大量浮点权值数据使用二值数据(+1,-1)替换,将神经网络的中的乘法运算替换为二值数据的逻辑运算,由于二值数据可以被映射到计算机中的(1,0),所以二值运算是一种非常符合计算机硬件结构的运算方式。二值神经网络可以在减少32倍的数据量读写的同时,获得6倍的计算速度的提升。因此,二值神经网络通过提取高维度非线性特征代替传统匹配算法中的低维度特征进行匹配,在精度上取得了明显提升的情况下,运算速度依然保持快速。
优选的,在所述步骤一中,二值神经网络包括浮点卷积神经网络层、批规范化层、二值卷积神经网、二值化层和汉明距离相似度计算层;
批规范化层:用于对数据分布进行归一化调整,批规范化层用于将输入数据按照如下公式进行计算
Figure BDA0002213608120000021
其中,x代表本层的输入结果,μ代表批数据的均值,σ代表批数据的标准差,γ代表神经网络训练得到的缩放系数,β代表神经网络训练得到的偏置参数。BN代表经过二值化层之后的输出结果;
二值卷积神经网络:二值卷积神经网络结构类似于通常的卷积神经网络,但二值卷积神经网络层中的权值并不是浮点类型的权值,而全部都为+1或者-1。二值化层:用于将输入数据按照
Figure BDA0002213608120000022
其中,x代表本层的输入结果,S代表经过二值化层之后的输出结果;
汉明距离相似度计算层:使用汉明距离计算数据之间的相似度。相似度计算公式为:
Figure BDA0002213608120000031
其中,
Figure BDA0002213608120000033
为经由神经网络输出的代表图像特征的长度为n的二值向量V1的第i个分量,
Figure BDA0002213608120000034
为经由神经网络输出的代表图像特征的长度为n的二值向量V2的第i个分量。
优选的,在所述步骤一中,所述二值神经网络在训练过程的前向传播中,将浮点权值进行二值化,并使用二值化后的权值计算结果;在反向传播中,只更新浮点权值,更新之后的浮点权值用于下一次的前向传播过程;所述二值神经网络通过引入缩放系数,使得二值卷积核结果尽量的接近浮点卷积核结果,卷积核缩放系数α的计算公式如下:
其中,h为卷积核的高,w为卷积核的宽,c为卷积层的输入通道个数,W为一个输出通道对应的h×w×c个权值。
引入缩放系数的做法弥补了由于权值直接量化带来的精度损失,相比于未引入缩放系数的结果,显著的提高了精度。同时优化了网络推理过程的计算逻辑,将浮点计算进行转移,完整的保持了卷积部分二值化逻辑计算的特性。实际上,经过高性能的算法实现方法的优化之后,在计算带有缩放系数的卷积层相比于未引入缩放系数的卷积层额外花费的时间为0。
优选的,二值神经网络采用图片块进行训练,训练使用正负两对样本,分别记为<P,Q>,两对样本均包含两个分别从左图像和右图像中截取出的图像块,其中P包含左图中图像坐标为(x,y)为中心的一个n×n的图像块和右图中图像坐标为(x,y-d)为中心的一个n×n的图像块,Q中包含左图中图像坐标为(x,y)为中心的一个n×n的图像块和右图中图像坐标为(x,y-d+r)为中心的一个n×n的图像块,其中d为两张图像中对应像素在x方向的差值,r为一个取值在[4,10]的随机值;
得到正负样本对通过二值神经网络得到的相似分数,使用铰链函数通过计算两个样本对之间的损失并将损失用于反向传播过程进行二值神经网络的训练,损失计算的公式如下:
△=max(0,S2-S1+margin)
其中,△为样本对之间的损失,S1为正样本的相似分数,S2为负样本的相似分数,maigin为铰链函数的保险系数,本发明中,maigin取值为0.3。
优选的,在所述步骤三中,包括以下步骤:
S1:视差代价值计算,对两个像素点的二值序列进行相似度计算,计算得到的相似性分数代表了两个像素为中心的图像块之间的相似性,作为两个像素点之间的匹配代价值。
S2:平滑性约束代价聚合,使用SGM算法对S1中得到匹配代价值施加平滑性约束;算法将能量函数最小问题分解为多个单方向的动态规划优化问题。公式L中包含了两个超参P1和P2,分别增加了像素视差为1和大于的1的匹配代价,改变两个参数的值可以对视差图施加不同效果的平滑性约束。本发明使用定值P1与P2的设置,采用多方向并行的对代价进行计算,针对算法的计算速度过慢问题,首先量化float32浮点数据为uint8,由于使用浮点数据访存与计算都花费更多的时间,uint8是一种更合理的选择;使用了SIMD指令集进行数据的向量化并行优化,每一条指令处理4byte数据(uint32);应用CUDA Warp-LevelPrimitives进行高效的寄存器-寄存器的数据处理,避免了昂贵的访存操作。以上优化在sgm算法部分带来了38x的速度提升。
S3:左图像和右图像匹配结果一致性检测;用于消除时差图中的遮挡区域。
S4:通过左右两张视差图对遮挡点的进行检测,并使用遮挡点附近的正确匹配点进行修补。
S5:对视差图进行高斯滤波处理,使得最终的视差图更加的平滑,同时对画面中未能成功匹配的像素点进行插值填充,提高了画面的准确性。
S6:对经过高斯滤波处理的视差图使用双边滤波进行边缘加强,在保留了图片中边界信息的前提下,进一步消除图像中的噪声。
S7:获得高精度视差图。
一种用于上述匹配方法的运算框架,具体为在所述步骤一中,构建的神经网络运算框架为模块式的神经网络运算框架,并通过通道打包的方式压缩数据,通过层流运算技术降低计算时间。
由于目前主流的运算框架都基于浮点神经网络进行计算,但是如果直接将现有的框架用于二值网络模型的运算,那么实际上的效率将会非常差,因为浮点网络框架并没有针对二值网络比特层面运算特点进行优化,导致框架的数据运算效率并没有因为二值数据而得到提高,针对这个问题。本发明提出的框架采用了特殊的数据排布顺序:通道打包技术,将二值数据进行高度压缩使之能节约大量存储空间,并且优化了卷积计算过程中的image-to-column操作,使之对于更适合处理二值数据;同时为了降低框架中因为数据的I/O操作而浪费大量时间,应用层流运算技术,将常用的神经网络操作合并在一起,在同样的神经网络层操作的情况下,层流技术可以显著降低多个网络层计算所需要花费的时间。
优选的,模块式神经网络运算框架按照由粗到细的粒度划分为网络、层、张量和数据块;在模块式的神经网络运算框架中,网络被分为若干个的层结构,每一个层中设置有相应的参数,神经网络运算框架中的数据都被存储在张量中,并由数据块进行数据存储。网络框架使用自己的GPU内存管理与回收系统,在框架初始化过程中就从GPU申请一块内存资源,并在框架内使用内存指针进行管理,框架内的数据初始化与释放都通过框内的资源管理器进行相应分配与回收。
用T=RMxNxC表示一个张量,其中M,N,C分别表示张量的长,宽,通道,并且有m,n,c使得m∈[0,M),n∈[0,N),c∈[0,C)。张量的数据块被存储在受框架管理的块内存中,并且按照行优先进行数据存储,也就是说,访问tm,n,c可以使用公式m×N×C+n×C+c进行寻址访问。
优选的,神经网络运算框架进行运算前需进行初始化(即在进行上述匹配方法的步骤二前),具体步骤为:
S1:对需要使用的显存一次性申请,并读入需要使用的模型文件;
S2:将模型文件数据按照bit压缩入uint64变量中,并进行数据压缩,调整模型文件权值数据分布。
优选的,数据压缩具体为通过通道维度对二值数据进行压缩,对于压缩后的二值数据采用的计算方式为:
设神经网络特征向量A(a1,a2,a3....an),有ai∈{+1,-1},A=Rn×1,神经网络特征向量B(b1,b2,b3....bn),有bi∈{+1,-1},B=Rn×1
二值神经网络层的点积运算采用的公式为:
A·B=n-2×(popcount(A^B))
其中,n为特征向量的长度,popcount为获取数据二进制方式表示的1的个数,^为逻辑异或运算。
本发明采用了和caffe神经网络框架同样的卷积处理方式,并且得益于使用的通道压缩的技术,image-to-column操作内存访问字节数仅仅是压缩之前的字节访问数的32分之一。在乘法计算过程中,将原本的32-bit单精度浮点乘法运算替换成为1-bit逻辑计算,显著提高了运算速度。
优选的,神经网络运算框架运用了层流运算,将二值卷积神经网络层,批规范化层与二值化层的层流合并计算,计算公式如下:
Figure BDA0002213608120000061
Figure BDA0002213608120000062
其中,x为二值卷积神经网络层的输入,conv(x)为不计算偏执项参数b的二值卷积神经网络输出,α为二值卷积神经网络层中卷积核缩放系数参数。μ代表批规范化层数据的均值,σ代表批规范化层数据的标准差,γ代表批规范化层缩放系数参数,β代表批规范化偏置项参数,bnMap代表经过二值化层之后的输出结果。
与现有技术相比,有益效果是:使用二值神经网络代理卷积神经网络用于图像的特征提取,并设计专门针对二值神经网络的神经网络训练方式和运算框架,使得双目立体视觉的匹配不仅有更高的精度,同时有更快的运算速度。
附图说明
图1是本发明一种基于神经网络的双目立体视觉匹配方法的流程图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本专利的限制。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”“长”“短”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体描述:
实施例1
如图1所示为一种基于神经网络的双目立体视觉匹配方法的是实施例,包括以下步骤:
步骤一:构建神经网络运算框架、构建二值神经网络并进行训练;对KITTI2012数据库中提供的194对准确的深度图进行处理,构建得到共24472099个正负样本对,用于训练得到一个二值神经网络模型。
步骤二:将左图像和右图像输入二值神经网络进行图像特征提取,得到一串二值序列作为图像像素点的特征描述;
步骤三:二值神经网络通过匹配算法对左图像和右图像进行匹配,具体为:
S1:视差代价值计算,对两个像素点的二值序列进行相似度计算,计算得到的相似性分数代表了两个像素为中心的图像块之间的相似性,作为两个像素点之间的匹配代价值;
S2:平滑性约束代价聚合,使用SGM算法对S1中得到匹配代价值施加平滑性约束;算法将能量函数最小问题分解为多个单方向的动态规划优化问题。公式L中包含了两个超参P1和P2,分别增加了像素视差为1和大于的1的匹配代价,改变两个参数的值可以对视差图施加不同效果的平滑性约束。本发明使用定值P1与P2的设置,采用多方向并行的对代价进行计算,针对算法的计算速度过慢问题,首先量化float32浮点数据为uint8,由于使用浮点数据访存与计算都花费更多的时间,uint8是一种更合理的选择;使用了SIMD指令集进行数据的向量化并行优化,每一条指令处理4byte数据(uint32);应用CUDA Warp-LevelPrimitives进行高效的寄存器-寄存器的数据处理,避免了昂贵的访存操作。
S3:左图像和右图像匹配结果一致性检测;用于消除时差图中的遮挡区域。
S4:通过左右两张视差图对遮挡点的进行检测,并使用遮挡点附近的正确匹配点进行修补;
S5:对视差图进行高斯滤波处理,使得最终的视差图更加的平滑,同时对画面中未能成功匹配的像素点进行插值填充,提高了画面的准确性;
S6:对经过高斯滤波处理的视差图使用双边滤波进行边缘加强,在保留了图片中边界信息的前提下,进一步消除图像中的噪声;
S7:获得高精度视差图。
其中,在步骤一中,二值神经网络包括浮点卷积神经网络层、批规范化层、二值卷积神经网、二值化层和汉明距离相似度计算层;
批规范化层:用于对数据分布进行归一化调整,批规范化层用于将输入数据按照如下公式进行计算
其中,x代表本层的输入结果,μ代表批数据的均值,σ代表批数据的标准差,γ代表神经网络训练得到的缩放系数,β代表神经网络训练得到的偏置参数。BN代表经过二值化层之后的输出结果;
二值化层:用于将输入数据按照
Figure BDA0002213608120000082
其中,x代表本层的输入结果,S代表经过二值化层之后的输出结果;
二值卷积神经网络:二值卷积神经网络结构类似于通常的卷积神经网络,但二值卷积神经网络层中的权值并不是浮点类型的权值,而全部都为+1或者-1。
汉明距离相似度计算层:使用汉明距离计算数据之间的相似度。相似度计算公式为:
其中,为经由神经网络输出的代表图像特征的长度为n的二值向量V1的第i个分量,
Figure BDA0002213608120000094
为经由神经网络输出的代表图像特征的长度为n的二值向量V2的第i个分量。
具体的,所述二值神经网络在训练过程的前向传播中,将浮点权值进行二值化,并使用二值化后的权值计算结果;在反向传播中,只更新浮点权值,更新之后的浮点权值用于下一次的前向传播过程;所述二值神经网络通过引入缩放系数,使得二值卷积核结果尽量的接近浮点卷积核结果,卷积核缩放系数α的计算公式如下:
Figure BDA0002213608120000092
其中,h为卷积核的高,w为卷积核的宽,c为卷积层的输入通道个数,W为一个输出通道对应的h×w×c个权值。
引入缩放系数的做法弥补了由于权值直接量化带来的精度损失,相比于未引入缩放系数的结果,显著的提高了精度。同时优化了网络推理过程的计算逻辑,将浮点计算进行转移,完整的保持了卷积部分二值化逻辑计算的特性。实际上,经过高性能的算法实现方法的优化之后,在计算带有缩放系数的卷积层相比于未引入缩放系数的卷积层额外花费的时间为0。
还有的,二值神经网络采用图片块进行训练,训练使用正负两对样本,分别记为<P,Q>,两对样本均包含两个分别从左图像和右图像中截取出的图像块,其中P包含左图中图像坐标为(x,y)为中心的一个n×n的图像块和右图中图像坐标为(x,y-d)为中心的一个n×n的图像块,Q中包含左图中图像坐标为(x,y)为中心的一个n×n的图像块和右图中图像坐标为(x,y-d+r)为中心的一个n×n的图像块,其中d为两张图像中对应像素在x方向的差值,r为一个取值在[4,10]的随机值;
得到正负样本对通过二值神经网络得到的相似分数,使用铰链函数通过计算两个样本对之间的损失并将损失用于反向传播过程进行二值神经网络的训练,损失计算的公式如下:
△=max(0,S2-S1+margin)
式中,△为样本对之间的损失,S1为正样本的相似分数,S2为负样本的相似分数,maigin为铰链函数的保险系数,本发明中,maigin取值为0.3。
本实施例的有益效果:使用二值神经网络代替卷积神经网络用于图像的特征提取并进行匹配,提升匹配精度;二值神经网络的逻辑运算替换乘法运算,在精度得到提升的同时,保持快速的运算速度。
实施例2
一种用于实施例1的运算框架,在实施例1的步骤一中,构建神经网络运算框架为模块式的神经网络运算框架,并通过通道打包的方式压缩数据,通过层流技术降低计算时间。
具体的,模块式的神经网络运算框架按照由粗到细的粒度划分为网络、层、张量和数据块;在模块式的神经网络运算框架中,网络被分为若干个的层结构,每一个层中设置有相应的参数,神经网络运算框架中的数据都被存储在张量中,并由数据块进行数据存储。网络框架使用自己的GPU内存管理与回收系统,在框架初始化过程中就从GPU申请一块内存资源,并在框架内使用内存指针进行管理,框架内的数据初始化与释放都通过框内的资源管理器进行相应分配与回收。
用T=RMxNxC表示一个张量,其中M,N,C分别表示张量的长,宽,通道,并且有m,n,c使得m∈[0,M),n∈[0,N),c∈[0,C)。张量的数据块被存储在受框架管理的块内存中,并且按照行优先进行数据存储,也就是说,访问tm,n,c可以使用公式m×N×C+n×C+c进行寻址访问。
进一步的,神经网络运算框架进行运算前需进行初始化(即在实施例1进行步骤二前,初始化神经网络运算框架),具体步骤为:
S1:对需要使用的显存一次性申请,并读入需要使用的模型文件;
S2:将模型文件数据按照bit压缩入uint64变量中,并进行数据压缩,调整模型文件权值数据分布。
其中,数据压缩具体为通过通道维度对二值数据进行压缩,对于压缩后的二值数据采用的计算方式为:
设神经网络特征向量A(a1,a2,a3....an),有ai∈{+1,-1},A=Rn×1,神经网络特征向量B(b1,b2,b3....bn),有bi∈{+1,-1},B=Rn×1
二值神经网络层的点积运算采用的公式为:
A·B=n-2×(popcount(A^B))
其中,n为特征向量的长度,popcount为获取数据二进制方式表示的1的个数,^为逻辑异或运算。
本发明采用了和caffe神经网络框架同样的卷积处理方式,并且得益于使用的通道压缩的技术,image-to-column操作内存访问字节数仅仅是压缩之前的字节访问数的32分之一。在乘法计算过程中,将原本的32-bit单精度浮点乘法运算替换成为1-bit逻辑计算,显著提高了运算速度。
还有的,神经网络运算框架运用了层流运算,将二值卷积神经网络层,批规范化层与二值化层的层流合并计算,计算公式如下:
Figure BDA0002213608120000111
Figure BDA0002213608120000112
其中,x为二值卷积神经网络层的输入,conv(x)为不计算偏执项参数b的二值卷积神经网络输出,α为二值卷积神经网络层中卷积核缩放系数参数。μ代表批规范化层数据的均值,σ代表批规范化层数据的标准差,γ代表批规范化层缩放系数参数,β代表批规范化偏置项参数。bnMap代表经过二值化层之后的输出结果。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种基于神经网络的双目立体视觉匹配方法,其特征在于,包括如下步骤:
步骤一:构建神经网络运算框架、构建二值神经网络并进行训练;
步骤二:将左图像和右图像输入二值神经网络进行图像特征提取,得到一串二值序列作为图像像素点的特征描述;
步骤三:二值神经网络通过匹配算法对左图像和右图像进行匹配。
2.根据权利要求1所述的一种基于神经网络的双目立体视觉匹配方法,其特征在于,在所述步骤一中,二值神经网络包括浮点卷积神经网络层、批规范化层、二值卷积神经网、二值化层和汉明距离相似度计算层;
批规范化层:用于对数据分布进行归一化调整,批规范化层用于将输入数据按照如下公式进行计算
Figure FDA0002213608110000011
其中,x代表本层的输入结果,μ代表批数据的均值,σ代表批数据的标准差,γ代表神经网络训练得到的缩放系数,β代表神经网络训练得到的偏置参数,BN代表经过二值化层之后的输出结果;
二值卷积神经网络:二值卷积神经网络层中的权值全部都为+1或者-1。
二值化层:用于将输入数据按照
Figure FDA0002213608110000012
其中,x代表本层的输入结果,S代表经过二值化层之后的输出结果;
汉明距离相似度计算层:使用汉明距离计算数据之间的相似度,相似度计算公式为:
其中,Vi 1为经由神经网络输出的代表图像特征的长度为n的二值向量V1的第i个分量,Vi 2为经由神经网络输出的代表图像特征的长度为n的二值向量V2的第i个分量。
3.根据权利要求2所述的一种基于神经网络的双目立体视觉匹配方法,其特征在于,在所述步骤一中,所述二值神经网络在训练过程的前向传播中,将浮点权值进行二值化,并使用二值化后的权值计算结果;在反向传播中,只更新浮点权值,更新之后的浮点权值用于下一次的前向传播过程;所述二值神经网络通过引入缩放系数,使得二值卷积核结果尽量的接近浮点卷积核结果,卷积核缩放系数α的计算公式如下:
Figure FDA0002213608110000021
其中,h为卷积核的高,w为卷积核的宽,c为卷积层的输入通道个数,W为一个输出通道对应的h×w×c个权值。
4.根据权利要求2所述的一种基于神经网络的双目立体视觉匹配方法,其特征在于,二值神经网络采用图片块进行训练,训练使用正负两对样本,并分别得到正负样本对通过二值神经网络得到的相似分数;使用铰链函数通过计算两个样本对之间的损失并将损失用于反向传播过程进行二值神经网络的训练,损失计算的公式如下:
△=max(0,S2-S1+margin)
其中,△代表正负样本对之间产生的损失,S1为正样本的相似分数,S2为负样本的相似分数,margin为铰链函数的保险系数。
5.根据权利要求1所述的一种基于神经网络的双目立体视觉匹配方法,其特征在于,在所述步骤三中,包括以下步骤:
S1:视差代价值计算,对两个像素点的二值序列进行相似度计算,计算得到的相似性分数代表了两个像素为中心的图像块之间的相似性,作为两个像素点之间的匹配代价值;
S2:平滑性约束代价聚合,使用SGM算法对S1中得到匹配代价值施加平滑性约束;
S3:左图像和右图像匹配结果一致性检测;
S4:通过左右两张视差图对遮挡点的进行检测,并使用遮挡点附近的正确匹配点进行修补;
S5:对视差图进行高斯滤波处理;
S6:对经过高斯滤波处理的视差图使用双边滤波进行边缘加强;
S7:获得高精度视差图。
6.一种基于神经网络的双目立体视觉匹配方法的运算框架,其特征在于,在所述步骤一中,神经网络运算框架为模块式的神经网络运算框架,并通过通道打包的方式压缩数据,通过层流运算降低计算时间。
7.根据权利要求6所述的一种基于神经网络的双目立体视觉匹配方法的运算框架,其特征在于,神经网络运算框架按照由粗到细的粒度划分为网络、层、张量和数据块;在神经网络运算框架中,网络被分为若干个的层结构,每一个层中设置有相应的参数,神经网络运算框架中的数据都被存储在张量中,并由数据块进行数据存储。
8.根据权利要求7所述的一种基于神经网络的双目立体视觉匹配方法的运算框架,其特征在于,神经网络运算框架进行运算前需进行初始化,具体步骤为:
S1:对需要使用的显存一次性申请,并读入需要使用的模型文件;
S2:将模型文件数据按照bit压缩入uint64变量中,并进行数据压缩,调整模型文件权值数据分布。
9.根据权利要求8所述的一种基于神经网络的双目立体视觉匹配方法的运算框架,其特征在于,所述数据压缩具体为通过通道维度对二值数据进行压缩,对于压缩后的二值数据采用的计算方式为:
设神经网络特征向量A(a1,a2,a3….an),有ai∈{+1,-1},A=Rn×1,神经网络特征向量B(b1,b2,b3….bn),有bi∈{+1,-1},B=Rn×1
二值神经网络层的点积运算采用的公式为:
A·B=n-2×(popcount(A^B))
其中,n为特征向量的长度,popcount为获取数据二进制方式表示的1的个数,^为逻辑异或运算。
10.根据权利要求6所述的一种基于神经网络的双目立体视觉匹配方法的运算框架,其特征在于,神经网络运算框架运用了层流运算,将二值卷积神经网络层,批规范化层与二值化层的层流合并计算,计算公式如下:
Figure FDA0002213608110000041
Figure FDA0002213608110000042
其中,x为二值卷积神经网络层的输入,conv(x)为不计算偏执项参数b的二值卷积神经网络输出,α为二值卷积神经网络层中卷积核缩放系数参数。μ代表批规范化层数据的均值,σ代表批规范化层数据的标准差,γ代表批规范化层缩放系数参数,β代表批规范化偏置项参数,bnMap代表经过二值化层之后的输出结果。
CN201910907166.4A 2019-09-24 2019-09-24 一种基于神经网络的双目立体视觉匹配方法及其运算框架 Pending CN110738241A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910907166.4A CN110738241A (zh) 2019-09-24 2019-09-24 一种基于神经网络的双目立体视觉匹配方法及其运算框架

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910907166.4A CN110738241A (zh) 2019-09-24 2019-09-24 一种基于神经网络的双目立体视觉匹配方法及其运算框架

Publications (1)

Publication Number Publication Date
CN110738241A true CN110738241A (zh) 2020-01-31

Family

ID=69269467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910907166.4A Pending CN110738241A (zh) 2019-09-24 2019-09-24 一种基于神经网络的双目立体视觉匹配方法及其运算框架

Country Status (1)

Country Link
CN (1) CN110738241A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111553296A (zh) * 2020-04-30 2020-08-18 中山大学 一种基于fpga实现的二值神经网络立体视觉匹配方法
CN111998862A (zh) * 2020-07-02 2020-11-27 中山大学 一种基于bnn的稠密双目slam方法
CN112348859A (zh) * 2020-10-26 2021-02-09 浙江理工大学 一种渐近全局匹配的双目视差获取方法和系统
CN112633324A (zh) * 2020-11-27 2021-04-09 中山大学 一种基于神经网络的环视立体视觉匹配系统、方法及介质
US20210150313A1 (en) * 2019-11-15 2021-05-20 Samsung Electronics Co., Ltd. Electronic device and method for inference binary and ternary neural networks
CN113281779A (zh) * 2021-05-20 2021-08-20 中山大学 一种3d物体快速检测方法、装置、设备及介质
CN114283277A (zh) * 2021-11-24 2022-04-05 北京的卢深视科技有限公司 视差图获取方法、遮挡检测网络获取方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180032844A1 (en) * 2015-03-20 2018-02-01 Intel Corporation Object recognition based on boosting binary convolutional neural network features
CN110084215A (zh) * 2019-05-05 2019-08-02 上海海事大学 一种二值化三元组孪生网络模型的行人重识别方法及系统
CN110110852A (zh) * 2019-05-15 2019-08-09 电科瑞达(成都)科技有限公司 一种深度学习网络移植到fpag平台的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180032844A1 (en) * 2015-03-20 2018-02-01 Intel Corporation Object recognition based on boosting binary convolutional neural network features
CN110084215A (zh) * 2019-05-05 2019-08-02 上海海事大学 一种二值化三元组孪生网络模型的行人重识别方法及系统
CN110110852A (zh) * 2019-05-15 2019-08-09 电科瑞达(成都)科技有限公司 一种深度学习网络移植到fpag平台的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
肖进胜 等: "基于深度卷积神经网络的双目立体视觉匹配算法", 《光学学报》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210150313A1 (en) * 2019-11-15 2021-05-20 Samsung Electronics Co., Ltd. Electronic device and method for inference binary and ternary neural networks
CN111553296A (zh) * 2020-04-30 2020-08-18 中山大学 一种基于fpga实现的二值神经网络立体视觉匹配方法
CN111553296B (zh) * 2020-04-30 2021-08-03 中山大学 一种基于fpga实现的二值神经网络立体视觉匹配方法
CN111998862A (zh) * 2020-07-02 2020-11-27 中山大学 一种基于bnn的稠密双目slam方法
CN111998862B (zh) * 2020-07-02 2023-05-16 中山大学 一种基于bnn的稠密双目slam方法
CN112348859A (zh) * 2020-10-26 2021-02-09 浙江理工大学 一种渐近全局匹配的双目视差获取方法和系统
CN112633324A (zh) * 2020-11-27 2021-04-09 中山大学 一种基于神经网络的环视立体视觉匹配系统、方法及介质
CN113281779A (zh) * 2021-05-20 2021-08-20 中山大学 一种3d物体快速检测方法、装置、设备及介质
CN113281779B (zh) * 2021-05-20 2022-07-12 中山大学 一种3d物体快速检测方法、装置、设备及介质
CN114283277A (zh) * 2021-11-24 2022-04-05 北京的卢深视科技有限公司 视差图获取方法、遮挡检测网络获取方法及电子设备

Similar Documents

Publication Publication Date Title
CN110738241A (zh) 一种基于神经网络的双目立体视觉匹配方法及其运算框架
Zhou et al. Self-supervised monocular depth estimation with internal feature fusion
CN110443842B (zh) 基于视角融合的深度图预测方法
Chen et al. A deep visual correspondence embedding model for stereo matching costs
CN111241989B (zh) 图像识别方法及装置、电子设备
CN111476806B (zh) 图像处理方法、装置、计算机设备和存储介质
Ding et al. Point cloud saliency detection by local and global feature fusion
Kim et al. Feature augmentation for learning confidence measure in stereo matching
CN114067153B (zh) 基于并行双注意力轻量残差网络的图像分类方法及系统
CN109684969B (zh) 凝视位置估计方法、计算机设备及存储介质
US20230043026A1 (en) Learning-based active surface model for medical image segmentation
CN111680678B (zh) 目标区域识别方法、装置、设备及可读存储介质
Lu et al. PatchMatch filter: edge-aware filtering meets randomized search for visual correspondence
Ding et al. Real-time stereo vision system using adaptive weight cost aggregation approach
CN115984494A (zh) 一种基于深度学习的月面导航影像三维地形重建方法
CN113129352A (zh) 一种稀疏光场重建方法及装置
CN110910456A (zh) 基于Harris角点互信息匹配的立体相机动态标定算法
CN114612902A (zh) 图像语义分割方法、装置、设备、存储介质及程序产品
Yang et al. Development of a fast transmission method for 3D point cloud
Liu et al. A survey on deep learning methods for scene flow estimation
CN115018999A (zh) 一种多机器人协作的稠密点云地图构建方法及装置
CN114842466A (zh) 目标检测方法、计算机程序产品和电子设备
CN112115786A (zh) 基于注意力U-net的单目视觉里程计方法
US20230053952A1 (en) Method and apparatus for evaluating motion state of traffic tool, device, and medium
JP2023065296A (ja) 平面検出装置及び方法

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200131