CN111445380B - 基于zynq实现实时双目立体匹配的方法及装置 - Google Patents

基于zynq实现实时双目立体匹配的方法及装置 Download PDF

Info

Publication number
CN111445380B
CN111445380B CN202010194689.1A CN202010194689A CN111445380B CN 111445380 B CN111445380 B CN 111445380B CN 202010194689 A CN202010194689 A CN 202010194689A CN 111445380 B CN111445380 B CN 111445380B
Authority
CN
China
Prior art keywords
image
programmable logic
cost
module
right images
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
CN202010194689.1A
Other languages
English (en)
Other versions
CN111445380A (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.)
Shenzhen Robot Vision Technology Co Ltd
Original Assignee
Seizet Technology Shenzhen Co Ltd
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 Seizet Technology Shenzhen Co Ltd filed Critical Seizet Technology Shenzhen Co Ltd
Priority to CN202010194689.1A priority Critical patent/CN111445380B/zh
Publication of CN111445380A publication Critical patent/CN111445380A/zh
Application granted granted Critical
Publication of CN111445380B publication Critical patent/CN111445380B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于ZYNQ实现实时双目立体匹配的方法及装置,属于3D立体视觉领域,该方法基于ZYNQ平台实现,该ZYNQ平台包括:处理系统PS和可编程逻辑PL,可编程逻辑PL外挂存储模块对左右图像及中间计算结果进行存储,以采用流水线及并行化处理方式完成双目立体匹配的实时计算处理;处理系统PS驱动左右相机的拍照触发及左右图像的提取,与可编程逻辑PL进行数据交互,对可编程逻辑PL进行控制,并从存储模块中读取视差计算结果及中间计算结果。本发明利用FPGA硬件逻辑资源并行化处理数据的优势解决立体视觉匹配快速实时的应用需求。

Description

基于ZYNQ实现实时双目立体匹配的方法及装置
技术领域
本发明属于3D立体视觉领域,更具体地,涉及一种基于ZYNQ实现实时双目立体匹配的方法及装置。
背景技术
双目立体视觉是直接模拟人类双眼视觉的生理结构,它是三维场景下深度信息提取的重要技术手段,在机器人引导、物流分拣、工业自动化制造及3D测量中具有广泛的运用,立体视觉中关键和难点在于双目图像的立体匹配,匹配过程中由于需要进行大量数据的重复运算,而且随着应用对精度的要求越来越高,有时需采用高分辨率相机,进一步加大了数据量和运算量,因此在CPU或者GPU上对双目图像进行立体匹配需要花费大量的运算时间,难以满足实时性的要求。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提出了一种基于ZYNQ实现实时双目立体匹配的方法及装置,由此解决在CPU或者GPU上对双目图像进行立体匹配需要花费大量的运算时间,难以满足实时性要求的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于ZYNQ实现实时双目立体匹配的方法,其中,所述ZYNQ包括:处理系统PS和可编程逻辑PL,所述处理系统PS基于ARM处理器实现,所述可编程逻辑PL基于FPGA实现,所述方法包括:
利用所述处理系统PS驱动左右相机进行触发拍照并获取左右图像,然后将所述左右图像下发至所述可编程逻辑PL,同时将所述可编程逻辑PL进行双目立体匹配计算所需的参数配置和转换矩阵下发至所述可编程逻辑PL;
利用所述可编程逻辑PL将接收到的所述左右图像及所述转换矩阵存储在外挂的存储模块中,进而由所述可编程逻辑PL根据所述参数配置及从所述存储模块中获取的所述左右图像和所述转换矩阵,采用流水线及并行化处理方式完成双目立体匹配的实时计算,并将计算结果上传至所述处理系统PS。
优选地,所述存储模块采用乒乓存储结构存储前后次拍摄的左右图像。
优选地,所述并行化处理方式表示所述可编程逻辑PL从所述存储模块中同时获取所述左右图像,并对所述左右图像中的左图像及右图像分别同时进行处理;
和/或,所述并行化处理方式表示所述可编程逻辑PL对左图像及右图像中的各行同时进行处理。
优选地,所述流水线处理方式表示所述可编程逻辑PL在启动处理当前次拍摄的左右图像后,间隔预设时间后启动处理下一次拍摄的左右图像;
和/或,所述流水线处理方式表示对左图像及右图像中各行进行处理时,在启动处理某一行中某一像素点后,间隔所述预设时间后启动处理同一行中的下一个像素点。
优选地,所述采用流水线及并行化处理方式完成双目立体匹配的实时计算,包括:
从所述存储模块中获取左右图像及所述坐标转换矩阵,并根据所述坐标转换矩阵同时对左右图像中的左图像及右图像进行重映射,并在间隔所述预设时间后,从所述存储模块中获取下一次拍摄的左右图像进行重映射,同时将重映射后的左右图像通过所述可编程逻辑PL存入所述存储模块;
采用并行化处理方式同时计算左图像及右图像中各行像素点视差范围内的所有代价,采用流水线处理方式计算同一行中不同像素点之间的代价,并将计算得到的各像素点的代价通过所述可编程逻辑PL存入所述存储模块,其中,所述代价由第一代价和第二代价权重求和得到,所述第一代价表示根据重映射后的左右图像的梯度信息得到的梯度代价,所述第二代价表示左右图像的代价;
从所述存储模块中获取各像素点的代价,进而对各像素点的代价进行聚合,将聚合后的最小代价的视差值作为最优视差。
按照本发明的另一个方面,提供了一种基于ZYNQ实现实时双目立体匹配的装置,所述装置包括处理系统PS和可编程逻辑PL,所述处理系统PS基于ARM处理器实现,所述可编程逻辑PL基于FPGA实现;
所述处理系统PS,用于驱动左右相机进行触发拍照并获取左右图像,然后将所述左右图像下发至所述可编程逻辑PL,同时将所述可编程逻辑PL进行双目立体匹配计算所需的参数配置和转换矩阵下发至所述可编程逻辑PL;
所述可编程逻辑PL,用于将接收到的所述左右图像及所述转换矩阵存储在外挂的存储模块中,进而根据所述参数配置及从所述存储模块中获取的所述左右图像和所述转换矩阵,采用流水线及并行化处理方式完成双目立体匹配的实时计算,并将计算结果上传至所述处理系统PS。
优选地,所述存储模块采用乒乓存储结构存储前后次拍摄的左右图像。
优选地,所述并行化处理方式表示所述可编程逻辑PL从所述存储模块中同时获取所述左右图像,并对所述左右图像中的左图像及右图像分别同时进行处理;
和/或,所述并行化处理方式表示所述可编程逻辑PL对左图像及右图像中的各行同时进行处理。
优选地,所述流水线处理方式表示所述可编程逻辑PL在启动处理当前次拍摄的左右图像后,间隔预设时间后启动处理下一次拍摄的左右图像;
和/或,所述流水线处理方式表示对左图像及右图像中各行进行处理时,在启动处理某一行中某一像素点后,间隔所述预设时间后启动处理同一行中的下一个像素点。
优选地,所述可编程逻辑PL包括:存储控制模块、图像重映射模块、预处理模块、代价计算模块、动态规划模块及视差计算模块;
所述图像重映射模块,用于通过所述存储控制模块从所述存储模块中获取左右图像及所述坐标转换矩阵,并根据所述坐标转换矩阵同时对左右图像中的左图像及右图像进行重映射,并在间隔所述预设时间后,通过所述存储控制模块从所述存储模块中获取下一次拍摄的左右图像进行重映射,同时将重映射后的左右图像通过所述存储控制模块存入所述存储模块;
所述预处理模块,用于通过所述存储控制模块从所述存储模块中获取重映射后的左右图像,同时根据重映射后的左右图像的梯度信息得到左右图像的梯度代价,并将左右图像的梯度代价通过所述存储控制模块存入所述存储模块;
所述代价计算模块,用于通过所述存储控制模块从所述存储模块中获取左右图像的梯度代价,采用并行化处理方式同时计算左图像及右图像中各行像素点视差范围内的所有代价,采用流水线处理方式计算同一行中不同像素点之间的代价,并将计算得到的各像素点的代价通过所述存储控制模块存入所述存储模块,其中,所述代价由第一代价和第二代价权重求和得到,所述第一代价表示根据重映射后的左右图像的梯度信息得到的梯度代价,所述第二代价表示左右图像的代价;
所述动态规划模块,用于通过所述存储控制模块从所述存储模块中获取各像素点的代价,并对各像素点的代价进行聚合,将聚合后的代价通过所述存储控制模块存入所述存储模块;
所述视差计算模块,用于通过所述存储控制模块从所述存储模块中获取各聚合后的代价,并将聚合后的最小代价的视差值作为最优视差。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、采用流水线及并行化处理方式,充分利用了FPGA并行运行的特性,极大的提高了立体视觉匹配算法的实现速度;
2、利用ZYNQ丰富的IO资源,外挂存储模块用以存储坐标转换矩阵、原始左右相机图片数据、重映射后的左右转换矩阵以及计算的中间数据,解决立体匹配计算中大量数据交互的瓶颈,进一步提高并行化的程度;
3、利用ZYNQ丰富的IO资源,外挂存储模块,采用乒乓操作,存储多幅图片的数据,采用流水线的方式,减少两次立体匹配的中间等待时间,提高立体匹配的效率,实时快速的提供视差数据;
4、利用ZYNQ中集成的ARM处理器,完成相机图片的采集、双目标定、视差后处理及用户控制等操作,完成逻辑资源无法实现的操作,软硬协同完成双目立体视觉算法的实现。
附图说明
图1是本发明实施例提供的一种基于ZYNQ实现实时双目立体匹配的方法的流程示意图;
图2是本发明实施例提供的一种乒乓结构流水线处理过程示意图;
图3是本发明实施例提供的一种基于ZYNQ实现实时双目立体匹配的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明利用FPGA硬件逻辑资源并行化处理数据的优势解决立体视觉匹配快速实时的应用需求。立体视觉的目的在于利用两个或者多个不同位置的相机拍摄的图片重构场景的三维几何信息,可用于机器人引导、物流分拣、工业自动化制造及3D测量等领域,应用场景复杂度的提高,对图像三维重建的精度和实时性也提出了新的要求,本发明将立体匹配复杂的计算移植到FPGA中实现,利用流水线及并行化计算的架构,快速实现立体匹配计算,输出视差信息。
如图1所示是本发明实施例提供的一种基于ZYNQ实现实时双目立体匹配的方法的流程示意图,该方法基于ZYNQ平台实现,该ZYNQ平台包括:处理系统PS和可编程逻辑PL,处理系统PS基于ARM处理器实现,可编程逻辑PL基于FPGA实现,在图1所示的方法中,包括以下步骤:
S1:利用处理系统PS驱动左右相机进行触发拍照并获取左右图像,然后将左右图像下发至可编程逻辑PL,同时将可编程逻辑PL进行双目立体匹配计算所需的参数配置和转换矩阵下发至可编程逻辑PL;
双目视觉的理论建立在对人类视觉系统研究的基础上,通过左右两个相机拍摄两幅图像,通过对左右两幅图像的处理,通过特征点的匹配计算出两幅图像之间的视差值,继而进一步构造三维立体场景。为达到双目立体匹配实时性的要求,在本发明实施例中,可以采取XILINX公司的SOC产品ZYNQ平台完成双目立体匹配的算法,其PL端外挂存储模块对图像数据及中间计算结果进行存储。利用存储模块的大容量及快速读写的特点,最大限度的进行并行化计算,解决图像数据交互的瓶颈。
S2:利用可编程逻辑PL将接收到的左右图像及转换矩阵存储在外挂的存储模块中,进而由可编程逻辑PL根据参数配置及从存储模块中获取的左右图像和转换矩阵,采用流水线及并行化处理方式完成双目立体匹配的实时计算,并将计算结果上传至处理系统PS。
在本发明实施例中,如图2所示,存储模块可以采用乒乓存储的结构,存储前后次拍摄的左右图像。
在本发明实施例中,并行化处理方式表示可编程逻辑PL从存储模块中同时获取左右图像,并对左右图像中的左图像及右图像分别同时进行处理;
和/或,并行化处理方式表示可编程逻辑PL对左图像及右图像中的各行同时进行处理。
如图2所示,流水线处理方式表示可编程逻辑PL在启动处理当前次拍摄的左右图像后,间隔预设时间后从存储模块中获取下一次拍摄的左右图像,以启动处理下一次拍摄的左右图像的处理;
和/或,流水线处理方式表示对左图像及右图像中各行进行处理时,在启动处理某一行中某一像素点后,间隔预设时间后启动处理同一行中的下一个像素点。
采用上述流水线处理方式,可以进一步提高处理的速度,其中,预设时间可以根据实际需要确定,本发明实施例不做唯一性限定。
在本发明实施例中,存储模块可以是DDR3或其它具有大容量及快速读写功能的存储设备,具体采用何种类型的存储模块本发明实施例不做唯一性限定。
在本发明实施例中,处理系统PS通过AXI总线向可编程逻辑PL传送左右图像及坐标转换矩阵,并由可编程逻辑PL在接收到左右图像及坐标转换矩阵后,将左右图像及坐标转换矩阵存储到外挂的存储模块中,处理系统PS通过AXI-LITE接口对可编程逻辑PL下发可编程逻辑PL进行双目立体匹配计算所需的参数配置,在可编程逻辑PL完成双目立体匹配的实时计算后,将计算结果上传至处理系统PS。
其中,坐标转换矩阵只需开机上电初始化时下发一次存入存储模块中即可。
在本发明实施例中,采用流水线及并行化处理方式完成双目立体匹配的实时计算,包括:
从存储模块中获取左右图像及坐标转换矩阵,并根据坐标转换矩阵同时对左右图像中的左图像及右图像进行重映射,并在间隔预设时间后,从存储模块中获取下一次拍摄的左右图像进行重映射,同时将重映射后的左右图像通过可编程逻辑PL存入所述存储模块;
采用并行化处理方式同时计算左图像及右图像中各行像素点视差范围内的所有代价,采用流水线处理方式计算同一行中不同像素点之间的代价,并将计算得到的各像素点的代价通过可编程逻辑PL存入所述存储模块,其中,代价由第一代价和第二代价权重求和得到,第一代价表示根据重映射后的左右图像的梯度信息得到的梯度代价,第二代价表示左右图像的代价;
从存储模块中获取各像素点的代价,进而对各像素点的代价进行聚合,将聚合后的最小代价的视差值作为最优视差。
在本发明实施例中,图像重映射是为了实现原始图像的坐标转换,同时将两个左右图像的像素坐标系通过内参矩阵变换、旋转矩阵调节及相机的去畸变操作将左右图像转换到同一图像坐标系下,采用左右原始图像的像素点对新的图像坐标系下的左右像素点采用插值法进行基线校正,让光轴平行并垂直于基线,左右相机重映射后的图像在同一水平面上。这样做是为了缩小对应的搜索空间,只有水平方向的视差,简化了匹配的过程。坐标转换矩阵从存储模块中获取,可并行获取多个左右图像以及转换矩阵的数值进行快速转换,转换后的图像数据同时写入存储模块中。
在本发明实施例中,可以通过水平sobel算子得出重映射后的左右图像的梯度信息得到的梯度代价,以补偿测量的损失。
在本发明实施例中,代价为衡量待匹配像素与候选像素相关性的重要指标,代价越小表示相关性越大。代价有两部分组成:经过预处理得到的图像的梯度信息经过基于采样方法得到的梯度代价、原图像经过基于采样方法得到的代价,将两部分代价根据权重求和。
在本发明实施例中,由于代价计算步骤只考虑了局部的相关性,对噪声非常敏感,无法直接用来计算最优视差,因此,需要进行代价聚合,使聚合后的代价值能够更准确的反应像素之间的相关性。通过周围路径的代价聚合,寻找代价最小的视差值即为最优解。
其中,动态规划算法本身存在拖尾效应,视差突变处易产生错误的匹配,利用动态规划进行一维能量累积,会将错误的视差信息传播给后面的路径上。半全局算法利用多个方向上的信息,试图消除错误信息的干扰,能明显减弱动态规划算法产生的拖尾效应。半全局算法试图通过图像上多个方向上一维路径的约束,来建立一个全局的马尔科夫能量方程,每个像素最终的匹配代价是所有路径信息的叠加,每个像素的视差选择都只是简单通过WTA(Winner Takes All)决定的。
如图3所示是本发明实施例提供的一种基于ZYNQ实现实时双目立体匹配的装置的结构示意图,该装置包括处理系统PS 2和可编程逻辑PL 1,处理系统PS 2基于ARM处理器实现,可编程逻辑PL 1基于FPGA实现;
处理系统PS 2,用于驱动左右相机进行触发拍照并获取左右图像,然后将左右图像下发至可编程逻辑PL 1,同时将可编程逻辑PL 1进行双目立体匹配计算所需的参数配置和转换矩阵下发至可编程逻辑PL 1;
可编程逻辑PL 1,用于将接收到的左右图像及转换矩阵存储在外挂的存储模块3中,进而根据参数配置及从存储模块3中获取的左右图像和转换矩阵,采用流水线及并行化处理方式完成双目立体匹配的实时计算,并将计算结果上传至处理系统PS 2。
在本发明实施例中,存储模块3可以是DDR3或其它具有大容量及快速读写功能的存储设备,具体采用何种类型的存储模块本发明实施例不做唯一性限定。
在本发明实施例中,存储模块3采用乒乓存储结构存储前后次拍摄的左右图像。
在本发明实施例中,并行化处理方式表示可编程逻辑PL 1从存储模块3中同时获取左右图像,并对左右图像中的左图像及右图像分别同时进行处理;
和/或,并行化处理方式表示可编程逻辑PL 1对左图像及右图像中的各行同时进行处理。
在本发明实施例中,流水线处理方式表示可编程逻辑PL 1在启动处理当前次拍摄的左右图像后,间隔预设时间后启动处理下一次拍摄的左右图像;
和/或,流水线处理方式表示对左图像及右图像中各行进行处理时,在启动处理某一行中某一像素点后,间隔预设时间后启动处理同一行中的下一个像素点。
在本发明实施例中,可编程逻辑PL 1包括:存储控制模块4、图像重映射模块5、预处理模块6、代价计算模块7、动态规划模块8及视差计算模块9;
图像重映射模块4,用于通过存储控制模块4从存储模块3中获取左右图像及坐标转换矩阵,并根据坐标转换矩阵同时对左右图像中的左图像及右图像进行重映射,并在间隔预设时间后,通过存储控制模块4从存储模块3中获取下一次拍摄的左右图像进行重映射,同时将重映射后的左右图像通过存储控制模块4存入存储模块3;
预处理模块6,用于通过存储控制模块4从存储模块3中获取重映射后的左右图像,同时根据重映射后的左右图像的梯度信息得到左右图像的梯度代价,并将左右图像的梯度代价通过存储控制模块4存入存储模块3;
代价计算模块7,用于通过存储控制模块4从存储模块3中获取左右图像的梯度代价,采用并行化处理方式同时计算左图像及右图像中各行像素点视差范围内的所有代价,采用流水线处理方式计算同一行中不同像素点之间的代价,并将计算得到的各像素点的代价通过存储控制模块4存入存储模块3,其中,代价由第一代价和第二代价权重求和得到,第一代价表示根据重映射后的左右图像的梯度信息得到的梯度代价,第二代价表示左右图像的代价;
动态规划模块8,用于通过存储控制模块4从存储模块3中获取各像素点的代价,并对各像素点的代价进行聚合,将聚合后的代价通过存储控制模块4存入存储模块3;
视差计算模块9,用于通过存储控制模块4从存储模块3中获取各聚合后的代价,并将聚合后的最小代价的视差值作为最优视差。
在本发明实施例中,存储控制模块4为控制向存储模块3中写入数据的控制器,在存储模块3为DDR3时,存储控制模块4可以为DDR控制器。
其中,各模块的具体实施方式可以参考方法实施例的描述,本发明实施例将不再复述。
本发明提出了一种基于ZYNQ实现实时双目立体匹配的方法及装置,在满足精度的要求下,快速的实现立体匹配算法,达到实时结算的目的。
需要指出,根据实施的需要,可将本申请中描述的各个步骤/部件拆分为更多步骤/部件,也可将两个或多个步骤/部件或者步骤/部件的部分操作组合成新的步骤/部件,以实现本发明的目的。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于ZYNQ实现实时双目立体匹配的方法,其特征在于,所述ZYNQ包括:处理系统PS和可编程逻辑PL,所述处理系统PS基于ARM处理器实现,所述可编程逻辑PL基于FPGA实现,所述方法包括:
利用所述处理系统PS驱动左右相机进行触发拍照并获取左右图像,然后将所述左右图像下发至所述可编程逻辑PL,同时将所述可编程逻辑PL进行双目立体匹配计算所需的参数配置和转换矩阵下发至所述可编程逻辑PL;
利用所述可编程逻辑PL将接收到的所述左右图像及所述转换矩阵存储在外挂的存储模块中,进而由所述可编程逻辑PL根据所述参数配置及从所述存储模块中获取的所述左右图像和所述转换矩阵,采用流水线及并行化处理方式完成双目立体匹配的实时计算,并将计算结果上传至所述处理系统PS;
其中,所述并行化处理方式表示所述可编程逻辑PL从所述存储模块中同时获取左右图像,并对左右图像中的左图像及右图像分别同时进行处理;
和/或,所述并行化处理方式表示所述可编程逻辑PL对左图像及右图像中的各行同时进行处理;
所述流水线处理方式表示所述可编程逻辑PL在启动处理当前次拍摄的左右图像后,间隔预设时间后启动处理下一次拍摄的左右图像;
和/或,所述流水线处理方式表示对左图像及右图像中各行进行处理时,在启动处理某一行中某一像素点后,间隔所述预设时间后启动处理同一行中的下一个像素点;
其中,所述采用流水线及并行化处理方式完成双目立体匹配的实时计算,包括:
从所述存储模块中获取左右图像及所述转换矩阵,并根据所述转换矩阵同时对左右图像中的左图像及右图像进行重映射,并在间隔所述预设时间后,从所述存储模块中获取下一次拍摄的左右图像进行重映射,同时将重映射后的左右图像通过所述可编程逻辑PL存入所述存储模块;
采用并行化处理方式同时计算左图像及右图像中各行像素点视差范围内的所有代价,采用流水线处理方式计算同一行中不同像素点之间的代价,并将计算得到的各像素点的代价通过所述可编程逻辑PL存入所述存储模块,其中,所述代价由第一代价和第二代价权重求和得到,所述第一代价表示根据重映射后的左右图像的梯度信息得到的梯度代价,所述第二代价表示左右图像的代价;
从所述存储模块中获取各像素点的代价,进而对各像素点的代价进行聚合,将聚合后的最小代价的视差值作为最优视差。
2.根据权利要求1所述的方法,其特征在于,所述存储模块采用乒乓存储结构存储前后次拍摄的左右图像。
3.一种基于ZYNQ实现实时双目立体匹配的装置,其特征在于,所述装置包括处理系统PS和可编程逻辑PL,所述处理系统PS基于ARM处理器实现,所述可编程逻辑PL基于FPGA实现;
所述处理系统PS,用于驱动左右相机进行触发拍照并获取左右图像,然后将所述左右图像下发至所述可编程逻辑PL,同时将所述可编程逻辑PL进行双目立体匹配计算所需的参数配置和转换矩阵下发至所述可编程逻辑PL;
所述可编程逻辑PL,用于将接收到的所述左右图像及所述转换矩阵存储在外挂的存储模块中,进而根据所述参数配置及从所述存储模块中获取的所述左右图像和所述转换矩阵,采用流水线及并行化处理方式完成双目立体匹配的实时计算,并将计算结果上传至所述处理系统PS;
其中,所述并行化处理方式表示所述可编程逻辑PL从所述存储模块中同时获取所述左右图像,并对所述左右图像中的左图像及右图像分别同时进行处理;
和/或,所述并行化处理方式表示所述可编程逻辑PL对左图像及右图像中的各行同时进行处理;
所述流水线处理方式表示所述可编程逻辑PL在启动处理当前次拍摄的左右图像后,间隔预设时间后启动处理下一次拍摄的左右图像;
和/或,所述流水线处理方式表示对左图像及右图像中各行进行处理时,在启动处理某一行中某一像素点后,间隔所述预设时间后启动处理同一行中的下一个像素点;
其中,所述可编程逻辑PL包括:存储控制模块、图像重映射模块、预处理模块、代价计算模块、动态规划模块及视差计算模块;
所述图像重映射模块,用于通过所述存储控制模块从所述存储模块中获取左右图像及所述转换矩阵,并根据所述转换矩阵同时对左右图像中的左图像及右图像进行重映射,并在间隔所述预设时间后,通过所述存储控制模块从所述存储模块中获取下一次拍摄的左右图像进行重映射,同时将重映射后的左右图像通过所述存储控制模块存入所述存储模块;
所述预处理模块,用于通过所述存储控制模块从所述存储模块中获取重映射后的左右图像,同时根据重映射后的左右图像的梯度信息得到左右图像的梯度代价,并将左右图像的梯度代价通过所述存储控制模块存入所述存储模块;
所述代价计算模块,用于通过所述存储控制模块从所述存储模块中获取左右图像的梯度代价,采用并行化处理方式同时计算左图像及右图像中各行像素点视差范围内的所有代价,采用流水线处理方式计算同一行中不同像素点之间的代价,并将计算得到的各像素点的代价通过所述存储控制模块存入所述存储模块,其中,所述代价由第一代价和第二代价权重求和得到,所述第一代价表示根据重映射后的左右图像的梯度信息得到的梯度代价,所述第二代价表示左右图像的代价;
所述动态规划模块,用于通过所述存储控制模块从所述存储模块中获取各像素点的代价,并对各像素点的代价进行聚合,将聚合后的代价通过所述存储控制模块存入所述存储模块;
所述视差计算模块,用于通过所述存储控制模块从所述存储模块中获取各聚合后的代价,并将聚合后的最小代价的视差值作为最优视差。
4.根据权利要求3所述的装置,其特征在于,所述存储模块采用乒乓存储结构存储前后次拍摄的左右图像。
CN202010194689.1A 2020-03-19 2020-03-19 基于zynq实现实时双目立体匹配的方法及装置 Active CN111445380B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010194689.1A CN111445380B (zh) 2020-03-19 2020-03-19 基于zynq实现实时双目立体匹配的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010194689.1A CN111445380B (zh) 2020-03-19 2020-03-19 基于zynq实现实时双目立体匹配的方法及装置

Publications (2)

Publication Number Publication Date
CN111445380A CN111445380A (zh) 2020-07-24
CN111445380B true CN111445380B (zh) 2021-01-19

Family

ID=71629637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010194689.1A Active CN111445380B (zh) 2020-03-19 2020-03-19 基于zynq实现实时双目立体匹配的方法及装置

Country Status (1)

Country Link
CN (1) CN111445380B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112146589A (zh) * 2020-09-16 2020-12-29 天津大学 一种基于zynq平台的三维形貌测量系统及方法
CN113269826A (zh) * 2021-05-13 2021-08-17 南京邮电大学 一种基于fpga的三维物体体积测量系统及其测量方法
CN114757985A (zh) * 2022-04-15 2022-07-15 湖南工程学院 基于zynq改进算法的双目深度感知装置及图像处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714586A (zh) * 2018-12-14 2019-05-03 上海物联网有限公司 基于zynq的实时双目立体视觉软硬件协同设计方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105849547A (zh) * 2013-08-30 2016-08-10 马格诺米克斯公司 可扩展的高通量生物感测平台
CN103869292B (zh) * 2014-04-02 2014-12-24 清华大学 基于嵌入式gpu的通用雷达成像处理系统
CN109737902B (zh) * 2016-07-25 2021-01-26 珞石(北京)科技有限公司 基于坐标测量仪的工业机器人运动学标定方法
US10521600B2 (en) * 2017-12-13 2019-12-31 University Of Florida Research Foundation, Inc. Reconfigurable system-on-chip security architecture
CN110264527A (zh) * 2019-06-19 2019-09-20 上海物联网有限公司 基于zynq的实时双目立体视觉输出方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714586A (zh) * 2018-12-14 2019-05-03 上海物联网有限公司 基于zynq的实时双目立体视觉软硬件协同设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Zynq的双目立体视觉系统的研究;赵复阳;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190415(第04期);第I138-836页 *

Also Published As

Publication number Publication date
CN111445380A (zh) 2020-07-24

Similar Documents

Publication Publication Date Title
CN111445380B (zh) 基于zynq实现实时双目立体匹配的方法及装置
CN109461180B (zh) 一种基于深度学习的三维场景重建方法
CN112476434B (zh) 一种基于协作机器人的视觉3d取放方法及系统
Wang et al. 360sd-net: 360 stereo depth estimation with learnable cost volume
WO2019161813A1 (zh) 动态场景的三维重建方法以及装置和系统、服务器、介质
CN110176032B (zh) 一种三维重建方法及装置
CN107833181B (zh) 一种基于变焦立体视觉的三维全景图像生成方法
Mehta et al. Structured adversarial training for unsupervised monocular depth estimation
EP2836987B1 (en) Determining three-dimensional (3d) object data models based on object movement
CN110728715A (zh) 一种智能巡检机器人像机角度自适应调整方法
Muratov et al. 3DCapture: 3D Reconstruction for a Smartphone
CN109410316B (zh) 物体的三维重建的方法、跟踪方法、相关装置及存储介质
JP2022542858A (ja) ディープネットワークの訓練方法
CN111144349B (zh) 一种室内视觉重定位方法及系统
Mattoccia et al. A passive RGBD sensor for accurate and real-time depth sensing self-contained into an FPGA
CN112150518B (zh) 一种基于注意力机制的图像立体匹配方法及双目设备
WO2023005457A1 (zh) 位姿计算方法和装置、电子设备、可读存储介质
CN111325828B (zh) 一种基于三目相机的三维人脸采集方法及装置
CN110544278A (zh) 刚体运动捕捉方法及装置、agv位姿捕捉系统
Liu et al. The applications and summary of three dimensional reconstruction based on stereo vision
CN111696158B (zh) 基于仿射匹配点对的多像机系统相对位姿估计方法及装置
JP2022160382A (ja) 機械学習のための学習データ生成方法及びシステム
CN110148086B (zh) 稀疏深度图的深度补齐方法、装置及三维重建方法、装置
CN112288817A (zh) 基于图像的三维重建处理方法及装置
TWI785332B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231206

Address after: 518000, Building 5, Building C, Building C, Huaqiang Creative Park, Biyan Community, Guangming Street, Guangming District, Shenzhen, Guangdong Province, China 1301

Patentee after: SHENZHEN ROBOT VISION TECHNOLOGY Co.,Ltd.

Address before: 518031 703, 7th floor, Zhongdian Difu building, Zhenhua Road, Fuqiang community, Huaqiang North Street, Futian District, Shenzhen City, Guangdong Province

Patentee before: SHANGZHI TECHNOLOGY (SHENZHEN) Co.,Ltd.