CN111553296B - 一种基于fpga实现的二值神经网络立体视觉匹配方法 - Google Patents

一种基于fpga实现的二值神经网络立体视觉匹配方法 Download PDF

Info

Publication number
CN111553296B
CN111553296B CN202010370995.6A CN202010370995A CN111553296B CN 111553296 B CN111553296 B CN 111553296B CN 202010370995 A CN202010370995 A CN 202010370995A CN 111553296 B CN111553296 B CN 111553296B
Authority
CN
China
Prior art keywords
cost
parallax
matching
neural network
polymerization
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.)
Active
Application number
CN202010370995.6A
Other languages
English (en)
Other versions
CN111553296A (zh
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
Original Assignee
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 Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202010370995.6A priority Critical patent/CN111553296B/zh
Publication of CN111553296A publication Critical patent/CN111553296A/zh
Application granted granted Critical
Publication of CN111553296B publication Critical patent/CN111553296B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/653Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

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

Description

一种基于FPGA实现的二值神经网络立体视觉匹配方法
技术领域
本发明涉及视觉匹配领域,更具体地,涉及一种基于FPGA实现的二值神经网络立体视觉匹配方法。
背景技术
实时获取图像的深度信息是当前生物视觉的热点,使用数学特征进行特征匹配是当前的主要方法。双目立体视觉技术的步骤包括:获取双目相机的内外参数;根据内外参数对双目图像进行基线矫正与对齐;计算双目图像的匹配代价;代价聚合;深度选择;深度优化。计算双目图像的匹配代价是获取深度的关键所在,在计算代价时,目前主要使用ADCensus,SAD和SSD,这些方法虽然易于实现,但是精度普遍很低。
随着深度学习的发展,卷积神经网络在图像识别与分类上取得了巨大的进步。目前使用神经网络是一种立体视觉计算匹配代价的研究方向,例如利用CNN的MC-CNN方法,使用场景相关的数据集训练后可以通过可以大幅度提高代价的匹配精度。但是神经网络的计算量通常非常大,需要消耗大量的计算单元和计算能量,无法移植到嵌入式系统中。
发明内容
本发明为克服上述现有技术中采用神经网络计算匹配代价造成资源消耗大的问题,提供一种基于FPGA实现的二值神经网络立体视觉匹配方法,本发明通过神经网络的二值化,降低了神经网络的资源消耗,最终能够移植到嵌入式系统中。
为解决上述技术问题,本发明采用的技术方案是:一种基于FPGA实现的二值神经网络立体视觉匹配方法,包括以下步骤:
步骤一:获取双目匹配灰度图像中像素的周期性输入流;
步骤二:从像素中获取用于计算代价的图像块;
步骤三:使用二值化策略将卷积神经网络进行二值化处理;将步骤二中的图像块输入预设权值与参数的二值神经网络获取二值的特征向量;
步骤四:将特征向量在最大搜索视差内进行代价计算,获得匹配代价;
步骤五:将代价输入半全局代价聚合进行代价聚合,得到聚合后的代价;
步骤六:在聚合后的代价中选择代价最小的位置作为视差;
步骤七:对选择的视差进行一致性检测和视差细致化计算,得到最终的视差图,并且按周期逐个输出像素的视差值。
优选的,所述步骤一的具体流程为输入图片后双目左右标定后的图片经过矫正后按照相同的时钟周期逐个像素输入系统。
优选的,在所述步骤二中,将输入的像素按照匹配时钟输入移位寄存器中,经过预定的延时后,并行多行数据后得到一个由预设像素大小的图像块。
优选的,所述步骤三的具体步骤为将左右两个图像块周期性的输入两个完全相同的神经网络中,经过预先设定层数与权值的网络计算,得到图像块的特征向量,分表表示为fl和fr
优选的,在所述步骤四中,左图像素点pl(x,y)特征,在右图像素pr(x,y)到pr(x,y-d)中进行最大搜索视差匹配,得到视差的匹配代价公式为:
Figure BDA0002476456800000021
其中,d∈{0,1,…,dmax},dmax为预设的最大搜索视差,可以设置为(2,4,8,16,32,64,128,…);CBNN(p,d)为视差的匹配代价;Σ为求和计算,wh为对应的特征相关性权值;fl和fr分别为左右图像块的特征向量。
优选的,在所述步骤五中,在匹配图像上对步骤四中的匹配代价在预设的方向进行聚合,对应的数学表达式:
Figure BDA0002476456800000022
其中,Cr(p,d)为聚合后的代价;CBNN(p,d)为像素点p对应d视差的代价;r是预先选定的聚合方向;Cr(p-r,d)为聚合方向r上的代价;P1和P2为预先设置的聚合参数;k为变量,选择最小值时作为变量用。
优选的,在步骤六中,选择视差的原则是选择两个匹配计算块代价最小的两个图像块的水平位置差,具体的公式为:
Figure BDA0002476456800000023
其中,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)中进行最大搜索视差匹配,得到视差的匹配代价公式为:
Figure BDA0002476456800000041
其中,d∈{0,1,…,dmax},dmax为预设的最大搜索视差,可以设置为(2,4,8,16,32,64,128,…);CBNN(p,d)为视差的匹配代价;Σ为求和,wh为对应的特征相关性权值;fl和fr分别为左右图像块的特征向量。
步骤五:将代价输入半全局代价聚合进行代价聚合,得到聚合后的代价;在匹配图像上对步骤四中的匹配代价在预设的方向进行聚合,对应的数学表达式:
Figure BDA0002476456800000042
其中,Cr(p,d)为聚合后的代价;CBNN(p,d)为像素点p对应d视差的代价;r是预先选定的聚合方向;Cr(p-r,d)为聚合方向r上的代价;P1和P2为预先设置的聚合参数;k为变量,选择最小值时作为变量用。
步骤六:在聚合后的代价中选择代价最小的位置作为视差;选择视差的原则是选择两个匹配计算块最相像的两个图像块的水平位置差,具体的公式为:
Figure BDA0002476456800000043
其中,D(p)为所述系统得到的视差;Cf(p,d)为最终的代价;argmin为求最小代价的位置差计算。
步骤七:对选择的视差进行做中值滤波和左右一致性检测,使用5*5的图像块进行中值滤波与左右一致性检测的后处理,得到最终的视差图,并且按周期逐个输出像素的视差值。
本实施例的有益效果:该双目视觉立体匹配方法包括获取匹配图像块、代价计算、代价聚合、深度选择、后处理的步骤,通过二值化的方法可以有效的降低网络的计算和存储资源,从而可以将高精度的立体匹配网络部署到FPGA中。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (6)

1.一种基于FPGA实现的二值神经网络立体视觉匹配方法,其特征在于,包括以下步骤:
步骤一:获取双目匹配灰度图像中的像素的周期性输入流;输入图片并进行双目左右标定,标定后的图片经过矫正后按照相同的时钟周期逐个像素输入系统;
步骤二:从像素中获取用于计算代价的图像块;将输入的像素按照匹配时钟输入移位寄存器中,经过预定的延时后,并行多行数据后得到一个由预设像素大小的图像块;
步骤三:使用二值化策略将卷积神经网络进行二值化处理得到二值神经网络;将步骤二中的图像块输入预设权值与参数的二值神经网络获取二值的特征向量;所述二值神经网络一共四层,前一层网络的输出为下一层网络的输入,直至得到最后的特征向量;
所述二值神经网络第一层有四个子层:8位量化卷积层、缩放比例层单元、归一化层单元、激活层单元;其余三层共具有四个子层:二值卷积层网络单元、缩放比例层单元、归一化层单元、激活层单元;前一个单元的输出为下一个单元的输入,最后一个单元的输出即为整层的输出;
步骤四:将特征向量在最大搜索视差内进行代价计算,获得匹配代价;
步骤五:将代价输入半全局代价聚合进行代价聚合,得到聚合后的代价;
步骤六:在聚合后的代价中选择代价最小的位置作为视差;
步骤七:对选择的视差进行一致性检测和视差细致化计算,得到视差图,并且按周期逐个输出像素的视差值。
2.根据权利要求1所述的一种基于FPGA实现的二值神经网络立体视觉匹配方法,其特征在于,所述步骤三的具体步骤为将左右两个图像块周期性的输入两个完全相同的神经网络中,经过预先设定层数与权值的网络计算,得到图像块的特征向量。
3.根据权利要求2所述的一种基于FPGA实现的二值神经网络立体视觉匹配方法,其特征在于,在所述步骤四中,左图像素点pl(x,y)特征,在右图像素pr(x,y)到pr(x,y-d)中进行最大搜索视差匹配,视差的匹配代价公式为:
Figure FDA0003109023670000011
其中,d∈{0,1,…,dmax},dmax为预设的最大搜索视差,可以设置为(2,4,8,16,32,64,128,…);CBNN(p,d)为视差的匹配代价;Σ为求和,wh为对应的特征相关性权值;fl和fr分别为左右图像块的特征向量。
4.根据权利要求3所述的一种基于FPGA实现的二值神经网络立体视觉匹配方法,其特征在于,在所述步骤五中,在匹配图像上对步骤四中的匹配代价在预设的方向进行聚合,对应的数学表达式:
Figure FDA0003109023670000012
其中,Cr(p,d)为聚合后的代价;CBNN(p,d)为像素点p对应d视差的代价;r是预先选定的聚合方向;Cr(p-r,d)为聚合方向r上的代价;P1和P2为预先设置的聚合参数;k为变量,选择最小值时作为变量用。
5.根据权利要求4所述的一种基于FPGA实现的二值神经网络立体视觉匹配方法,其特征在于,在步骤六中,选择视差的原则是选择两个匹配计算块最相像的两个图像块的水平位置差,具体的公式为:
Figure FDA0003109023670000021
其中,D(p)为所述系统得到的视差;Cf(p,d)为最终的代价;argmin为求最小代价的位置差计算。
6.根据权利要求1-5任一所述的一种基于FPGA实现的二值神经网络立体视觉匹配方法,其特征在于,在所述步骤七中,在得到的视差值上做中值滤波和左右一致性检测,使用5*5的图像块进行中值滤波与左右一致性检测的后处理,得到视差图,并且按周期逐个输出像素的视差值。
CN202010370995.6A 2020-04-30 2020-04-30 一种基于fpga实现的二值神经网络立体视觉匹配方法 Active CN111553296B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010370995.6A CN111553296B (zh) 2020-04-30 2020-04-30 一种基于fpga实现的二值神经网络立体视觉匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010370995.6A CN111553296B (zh) 2020-04-30 2020-04-30 一种基于fpga实现的二值神经网络立体视觉匹配方法

Publications (2)

Publication Number Publication Date
CN111553296A CN111553296A (zh) 2020-08-18
CN111553296B true CN111553296B (zh) 2021-08-03

Family

ID=72006201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010370995.6A Active CN111553296B (zh) 2020-04-30 2020-04-30 一种基于fpga实现的二值神经网络立体视觉匹配方法

Country Status (1)

Country Link
CN (1) CN111553296B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112184833B (zh) * 2020-09-29 2023-09-15 南京蕴智科技有限公司 一种双目立体匹配算法的硬件实现系统和方法
CN112633324A (zh) * 2020-11-27 2021-04-09 中山大学 一种基于神经网络的环视立体视觉匹配系统、方法及介质
CN115619740B (zh) * 2022-10-19 2023-08-08 广西交科集团有限公司 一种高精度视频测速方法、系统、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110738241A (zh) * 2019-09-24 2020-01-31 中山大学 一种基于神经网络的双目立体视觉匹配方法及其运算框架

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104616304A (zh) * 2015-02-11 2015-05-13 南京理工大学 一种基于fpga的自适应支撑权重的立体匹配方法
CN106355570B (zh) * 2016-10-21 2019-03-19 昆明理工大学 一种结合深度特征的双目立体视觉匹配方法
CN206177294U (zh) * 2016-11-09 2017-05-17 人加智能机器人技术(北京)有限公司 双目立体视觉系统
CN106952304B (zh) * 2017-03-22 2019-09-20 南京大学 一种利用视频序列帧间相关性的深度图像计算方法
CN107481271B (zh) * 2017-07-25 2020-08-11 成都通甲优博科技有限责任公司 一种立体匹配方法、系统及移动终端
CN108682026B (zh) * 2018-03-22 2021-08-06 江大白 一种基于多匹配基元融合的双目视觉立体匹配方法
CN110210303B (zh) * 2019-04-29 2023-04-25 山东大学 一种北斗视觉融合精准车道辨识与定位方法及其实现装置
CN110264527A (zh) * 2019-06-19 2019-09-20 上海物联网有限公司 基于zynq的实时双目立体视觉输出方法
CN110766623A (zh) * 2019-10-12 2020-02-07 北京工业大学 一种基于深度学习的立体图像修复方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110738241A (zh) * 2019-09-24 2020-01-31 中山大学 一种基于神经网络的双目立体视觉匹配方法及其运算框架

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于卷积神经网络的双目立体匹配VLSI架构设计;李智伟;《中国优秀硕士学位论文全文数据库信息科技辑》;20190115;第2-5章 *

Also Published As

Publication number Publication date
CN111553296A (zh) 2020-08-18

Similar Documents

Publication Publication Date Title
CN109493346B (zh) 一种基于多损失的胃癌病理切片图像分割方法和装置
US20210042954A1 (en) Binocular matching method and apparatus, device and storage medium
CN107767413B (zh) 一种基于卷积神经网络的图像深度估计方法
CN111553296B (zh) 一种基于fpga实现的二值神经网络立体视觉匹配方法
US11763433B2 (en) Depth image generation method and device
CN107358293B (zh) 一种神经网络训练方法及装置
US11274922B2 (en) Method and apparatus for binocular ranging
CN109377530A (zh) 一种基于深度神经网络的双目深度估计方法
CN107103285B (zh) 基于卷积神经网络的人脸深度预测方法
CN109389667B (zh) 一种基于深度学习的高效全局光照明绘制方法
CN111414931B (zh) 一种基于图像深度的多分支多尺度小目标检测方法
CN108171249B (zh) 一种基于rgbd数据的局部描述子学习方法
CN112802078A (zh) 深度图生成方法和装置
CN115273244B (zh) 基于图神经网络的人体动作识别方法和系统
CN114004754B (zh) 一种基于深度学习的场景深度补全系统及方法
CN109410266A (zh) 基于四模Census变换和离散视差搜索的立体匹配算法
Yan et al. Monocular depth estimation with guidance of surface normal map
CN111310821A (zh) 多视图特征融合方法、系统、计算机设备及存储介质
CN113313176A (zh) 一种基于动态图卷积神经网络的点云分析方法
CN106952304A (zh) 一种利用视频序列帧间相关性的深度图像计算方法
CN112509021A (zh) 一种基于注意力机制的视差优化方法
CN107451617B (zh) 一种图转导半监督分类方法
CN112990336B (zh) 基于竞争注意力融合的深度三维点云分类网络构建方法
CN107194931A (zh) 一种基于双目图像匹配获取目标深度信息的方法和系统
CN110910438B (zh) 一种超高分辨率双目图像的高速立体匹配算法

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
GR01 Patent grant
GR01 Patent grant