[发明专利]一种基于FPGA实现的二值神经网络立体视觉匹配方法有效
申请号: | 202010370995.6 | 申请日: | 2020-04-30 |
公开(公告)号: | CN111553296B | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 陈刚;凌晔华;何涛;何晟宇;张余;孟海涛;黄凯 | 申请(专利权)人: | 中山大学 |
主分类号: | G06K9/00 | 分类号: | G06K9/00;G06K9/62;G06N3/04;G06N3/08;G06T1/20 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 陈伟斌 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 实现 神经网络 立体 视觉 匹配 方法 | ||
本发明涉及一种基于FPGA实现的二值神经网络立体视觉匹配方法,包括以下步骤:步骤一:获取双目匹配灰度图像中的像素的周期性输入流;步骤二:从像素中获取图像块;步骤三:将步骤二中的图像块输入预设权值与参数的二值神经网络获取二值的特征向量;步骤四:将特征向量在最大搜索视差内进行代价计算,获得匹配代价;步骤五:将代价输入半全局代价聚合进行代价聚合,得到聚合后的代价;步骤六:在聚合后的代价中选择代价最小的位置作为视差;步骤七:对选择的视差进行一致性检测和视差细致化计算,得到视差图,并且按周期逐个输出像素的视差值。通过二值化的方法可以有效的降低网络的计算和存储资源,从而可以将高精度的立体匹配网络部署到FPGA中。
技术领域
本发明涉及视觉匹配领域,更具体地,涉及一种基于FPGA实现的二值神经网络立体视觉匹配方法。
背景技术
实时获取图像的深度信息是当前生物视觉的热点,使用数学特征进行特征匹配是当前的主要方法。双目立体视觉技术的步骤包括:获取双目相机的内外参数;根据内外参数对双目图像进行基线矫正与对齐;计算双目图像的匹配代价;代价聚合;深度选择;深度优化。计算双目图像的匹配代价是获取深度的关键所在,在计算代价时,目前主要使用ADCensus,SAD和SSD,这些方法虽然易于实现,但是精度普遍很低。
随着深度学习的发展,卷积神经网络在图像识别与分类上取得了巨大的进步。目前使用神经网络是一种立体视觉计算匹配代价的研究方向,例如利用CNN的MC-CNN方法,使用场景相关的数据集训练后可以通过可以大幅度提高代价的匹配精度。但是神经网络的计算量通常非常大,需要消耗大量的计算单元和计算能量,无法移植到嵌入式系统中。
发明内容
本发明为克服上述现有技术中采用神经网络计算匹配代价造成资源消耗大的问题,提供一种基于FPGA实现的二值神经网络立体视觉匹配方法,本发明通过神经网络的二值化,降低了神经网络的资源消耗,最终能够移植到嵌入式系统中。
为解决上述技术问题,本发明采用的技术方案是:一种基于FPGA实现的二值神经网络立体视觉匹配方法,包括以下步骤:
步骤一:获取双目匹配灰度图像中像素的周期性输入流;
步骤二:从像素中获取用于计算代价的图像块;
步骤三:使用二值化策略将卷积神经网络进行二值化处理;将步骤二中的图像块输入预设权值与参数的二值神经网络获取二值的特征向量;
步骤四:将特征向量在最大搜索视差内进行代价计算,获得匹配代价;
步骤五:将代价输入半全局代价聚合进行代价聚合,得到聚合后的代价;
步骤六:在聚合后的代价中选择代价最小的位置作为视差;
步骤七:对选择的视差进行一致性检测和视差细致化计算,得到最终的视差图,并且按周期逐个输出像素的视差值。
优选的,所述步骤一的具体流程为输入图片后双目左右标定后的图片经过矫正后按照相同的时钟周期逐个像素输入系统。
优选的,在所述步骤二中,将输入的像素按照匹配时钟输入移位寄存器中,经过预定的延时后,并行多行数据后得到一个由预设像素大小的图像块。
优选的,所述步骤三的具体步骤为将左右两个图像块周期性的输入两个完全相同的神经网络中,经过预先设定层数与权值的网络计算,得到图像块的特征向量,分表表示为fl和fr。
优选的,在所述步骤四中,左图像素点pl(x,y)特征,在右图像素pr(x,y)到pr(x,y-d)中进行最大搜索视差匹配,得到视差的匹配代价公式为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010370995.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:调整方法、调整装置、车辆和存储介质
- 下一篇:终端、系统和应用程序的运行方法