CN116563087B - 一种梯度计算、缓存装置和节约资源的代价计算方法 - Google Patents
一种梯度计算、缓存装置和节约资源的代价计算方法 Download PDFInfo
- Publication number
- CN116563087B CN116563087B CN202310544020.4A CN202310544020A CN116563087B CN 116563087 B CN116563087 B CN 116563087B CN 202310544020 A CN202310544020 A CN 202310544020A CN 116563087 B CN116563087 B CN 116563087B
- Authority
- CN
- China
- Prior art keywords
- gradient
- cost
- cache
- registers
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 91
- 238000010586 diagram Methods 0.000 claims abstract description 28
- 238000010606 normalization Methods 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 18
- 230000009466 transformation Effects 0.000 claims description 13
- 230000003139 buffering effect Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 8
- 239000000872 buffer Substances 0.000 claims description 7
- 230000004927 fusion Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种梯度计算、缓存装置和节约资源的代价计算方法,装置包括若干行缓存和窗口缓存;窗口缓存包括排布成行列的若干寄存器,每一行缓存对应一行寄存器;首个行缓存的输入数据为左目或右目的灰度图,两个灰度图的行缓存长度不同;其他每一行缓存的输入数据基于上一行缓存的一个寄存器确定;窗口缓存中A列寄存器用于梯度计算,A列寄存器组成B个梯度计算模块,每一梯度计算模块包括连续的若干行寄存器,A和B基于窗口大小确定;各梯度计算模块分别对应的一行寄存器包含梯度信息,用于计算匹配代价。本发明通过设置多个梯度计算模块,避免缓存大量的梯度信息,解决了目前应用于代价计算的硬件架构会消耗大量的资源和缓存空间的问题。
Description
技术领域
本发明涉及双目立体匹配领域,尤其涉及的是一种梯度计算、缓存装置和节约资源的代价计算方法。
背景技术
双目立体视觉是通过模拟人类视觉原理,实现三维深度感知的技术。其目标是从左右相机拍到的同一场景的图片中找到对应点,利用相似三角形原理生成参考图像视差图。其广泛运用于无人机、自动驾驶和目标检测等领域。目前主流的双目算法有全局匹配,半全局匹配和局部匹配。其中,半全局立体匹配可以较好平衡计算量和精度,但是由于其复杂度极高,硬件实现方面仍存在挑战。梯度计算和代价计算是双目立体匹配中的重要步骤。其中,代价计算直接影响到双目立体匹配的精度和效率,其目的是衡量待匹配像素和候选像素之间的相关性。具体地,在梯度计算中,需要利用窗口和索贝尔算子进行卷积操作,同时在代价计算中的普查变换里也需要窗口。普遍思维是将输入的灰度数据通过缓存形成梯度计算所需窗口,计算后传输梯度信息。梯度信息也通过行缓存进入窗口,为代价计算做准备。因此需要三行灰度缓存和三行梯度信息缓存,且梯度信息需要缓存x方向,y方向以及总方向,因此现有的应用于代价计算的硬件架构会消耗大量的资源和缓存空间。目前急需一种融合代价信息量大并设计资源消耗少的硬件架构。
因此,现有技术还有待改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种梯度计算、缓存装置和节约资源的代价计算方法,旨在解决现有的应用于代价计算的硬件架构会消耗大量的资源和缓存空间的问题。
本发明解决问题所采用的技术方案如下:
第一方面,本发明实施例提供一种梯度计算、缓存装置,其中,所述装置包括若干行缓存和窗口缓存;所述窗口缓存包括排布成行列的若干寄存器,每一所述行缓存对应一行所述寄存器;
首个所述行缓存的输入数据为左目或右目的灰度图,左目和右目的灰度图分别对应的所述行缓存的长度不同;除首个所述行缓存之外,每一所述行缓存的输入数据基于上一所述行缓存对应的其中一个所述寄存器确定;
所述窗口缓存中A列所述寄存器用于进行梯度计算,A列所述寄存器组成B个梯度计算模块;每一所述梯度计算模块包括连续的若干行所述寄存器,其中,所述A和所述B的数值基于预设的窗口大小确定;
各所述梯度计算模块分别对应的一行所述寄存器包含像素点的梯度信息,所述梯度信息用于计算像素点的匹配代价。
在一种实施方式中,各所述梯度计算模块的梯度计算过程相互独立。
在一种实施方式中,所述寄存器的总数量基于预设的视差范围,所述窗口大小以及所述行缓存的总行数确定。
第二方面,本发明实施例还提供一种节约资源的代价计算方法,其中,所述方法包括:
获取左目和右目分别对应的灰度图;
将左目和右目的所述灰度图输入如上述任一所述的梯度计算、缓存装置,得到左目和右目的所述灰度图分别对应的梯度信息;
针对两个所述灰度图中相对应的每一像素点,根据所述梯度信息确定该像素点的梯度代价,并通过普查变换基于所述梯度信息确定该像素点的汉明距离;
分别对所述梯度代价和所述汉明距离进行归一化处理,根据归一化处理后的所述梯度代价和所述汉明距离进行加权融合,得到该像素点的匹配代价。
在一种实施方式中,所述根据所述梯度信息确定该像素点的梯度代价,包括:
根据所述梯度信息获取该像素点在两个所述灰度图中沿x方向和y方向的梯度;
根据x方向梯度相减的绝对值和y方向梯度相减的绝对值之和,确定该像素点对应的所述梯度代价。
在一种实施方式中,所述普查变换中每一像素点的普查比特串基于该像素点与周围预设范围内的像素点的梯度大小关系确定。
在一种实施方式中,所述梯度代价的归一化处理通过线性拟合执行,所述汉明距离的归一化处理通过选择器执行。
在一种实施方式中,所述方法还包括:
根据所述匹配代价计算视差,得到视差图。
第三方面,本发明实施例还提供一种终端,其中,所述终端包括有存储器和一个以上处理器;所述存储器存储有一个以上的程序;所述程序包含用于执行如上述任一所述的节约资源的代价计算方法的指令;所述处理器用于执行所述程序。
第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有多条指令,其中,所述指令适用于由处理器加载并执行,以实现上述任一所述的节约资源的代价计算方法的步骤。
本发明的有益效果:本发明实施例公开了一种梯度计算、缓存装置和节约资源的代价计算方法,装置包括若干行缓存和窗口缓存;窗口缓存包括排布成行列的若干寄存器,每一行缓存对应一行寄存器;首个行缓存的输入数据为左目或右目的灰度图,两个灰度图的行缓存长度不同;其他每一行缓存的输入数据基于上一行缓存的一个寄存器确定;窗口缓存中A列寄存器用于梯度计算,A列寄存器组成B个梯度计算模块,每一梯度计算模块包括连续的若干行寄存器,A和B基于窗口大小确定;各梯度计算模块分别对应的一行寄存器包含梯度信息,用于计算匹配代价。本发明通过设置多个梯度计算模块,避免缓存大量的梯度信息,解决了目前应用于代价计算的硬件架构会消耗大量的资源和缓存空间的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的梯度计算、缓存装置的架构示意图。
图2是本发明实施例提供的梯度重复计算时序图。
图3是本发明实施例提供的节约资源的代价计算方法的流程示意图。
图4是本发明实施例提供的代价计算架构图。
图5是本发明实施例提供的线性拟合e指数归一化原理图及架构图。
图6是本发明实施例提供的双目立体匹配的主要步骤示意图。
图7是本发明实施例提供的终端的原理框图。
具体实施方式
本发明公开了一种梯度计算、缓存装置和节约资源的代价计算方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
针对现有技术的上述缺陷,本发明提供一种梯度计算、缓存装置,如图1所示,所述装置包括若干行缓存和窗口缓存;所述窗口缓存包括排布成行列的若干寄存器,每一所述行缓存对应一行所述寄存器;
首个所述行缓存的输入数据为左目或右目的灰度图,左目和右目的灰度图分别对应的所述行缓存的长度不同;除首个所述行缓存之外,每一所述行缓存的输入数据基于上一所述行缓存对应的其中一个所述寄存器确定;
所述窗口缓存中A列所述寄存器用于进行梯度计算,A列所述寄存器组成B个梯度计算模块;每一所述梯度计算模块包括连续的若干行所述寄存器,其中,所述A和所述B的数值基于预设的窗口大小确定;
各所述梯度计算模块分别对应的一行所述寄存器包含像素点的梯度信息,所述梯度信息用于计算像素点的匹配代价。
简单来说,由于梯度计算和代价计算这两步计算都需要窗口,为了避免缓存巨大的梯度信息,本实施例采用了共用行缓存和窗口缓存的方式以节省资源的消耗,并设计了多个梯度计算模块,每个梯度计算模块都可以独立地进行梯度计算,即像素由第一个梯度计算模块传入第二个梯度计算模块,梯度信息并没有缓存,从而免去缓存梯度信息的困扰。计算梯度向后传递,窗口缓存中其他寄存器就拥有了梯度信息,可用于计算像素点之间的匹配代价。由于左图中的像素在右图中匹配像素在左侧,右图中的像素在左图中匹配像素在左侧,因此按照行缓存的数据流,左图和右图分别对应的梯度计算、缓存装置的不同之处在于行缓存的长度不同。本实施例通过设置多个梯度计算模块,可以避免缓存大量的梯度信息,解决了现有的应用于代价计算的硬件架构会消耗大量的资源和缓存空间的问题。
举例说明,如图1所示,以左目的灰度图为例,共有五个行缓存。输入的灰度图进入行缓存,缓存的数据输入到多个寄存器,为计算梯度和代价做准备。预设的窗口大小为3x3,因此最靠近行缓存的三列寄存器(即A=3)用于进行梯度计算,即图中最左侧的3x5的蓝色窗口是用于进行梯度计算的寄存器。3x5的蓝色窗口内任意连续三行寄存器(即B=3)为一个梯度计算模块,因此共有三个同步进行的梯度计算模块。梯度计算模块的原理为:对中心的三个像素进行索贝尔算子的卷积操作,得到X、Y两个方向的梯度,根据两个方向的梯度进行加和得到总梯度。计算梯度向后传递,窗口缓存中对应的寄存器就拥有了梯度信息(即图中包含有多条竖线的寄存器),可用于计算匹配代价。需要说明的是,各梯度计算模块的计算过程相互独立,如图2所示,3x3的窗口数据依次成为梯度计算模块的中心像素,经过一行的时钟,a22像素由第一个梯度计算模块传入第二个梯度计算模块,由于梯度信息并没有缓存,a22的梯度将被重新计算。
在一种实现方式中,所述寄存器的总数量基于预设的视差范围,所述窗口大小以及所述行缓存的总行数确定。
具体地,各寄存器是以行列排布的,根据视差范围、梯度计算/普查变换对应的窗口大小可以计算出一行寄存器有多少。每行寄存器对应一个行缓存,根据行缓存的总行数又可以确定共有几行寄存器。一行寄存器的数量和寄存器对应的行数二者相乘即可得到寄存器的总数量。
举例说明,假设视差范围是256,梯度计算和普查变换的窗口大小都为3x3,则寄存器共有(256+3)x5个。由于窗口缓存中都有256个3x3的窗口,因此可以同时计算左图和右图的初步代价(包括梯度代价和基于普查变换确定的汉明距离),在实现计算梯度和计算代价的流水线的同时,还能保证左右图代价计算的同步性,提高资源的利用率。
在一种实现方式中,所述窗口缓存中包含两类寄存器,两类寄存器分别对应的位数不同,其中,包含梯度信息的寄存器的位数大于不包含梯度信息的寄存器,以达到节省资源的目的。如图1所示,纯灰色的寄存器表示输入的灰度数据,只有8比特。竖条纹的寄存器则有四部分,分别是灰度数据,x方向梯度,y方向梯度和总梯度,共41比特。
基于上述实施例,本发明还提供了一种节约资源的代价计算方法,如图3所示,所述方法包括:
步骤S100、获取左目和右目分别对应的灰度图;
步骤S200、将左目和右目的所述灰度图输入如上述任一所述的梯度计算、缓存装置,得到左目和右目的所述灰度图分别对应的梯度信息;
步骤S300、针对两个所述灰度图中相对应的每一像素点,根据所述梯度信息确定该像素点的梯度代价,并通过普查变换基于所述梯度信息确定该像素点的汉明距离;
步骤S400、分别对所述梯度代价和所述汉明距离进行归一化处理,根据归一化处理后的所述梯度代价和所述汉明距离进行加权融合,得到该像素点的匹配代价。
具体地,双目立体匹配中的代价计算是为了衡量待匹配像素和候选像素之间的相关性,当代价越大时,左目和右目的灰度图中相应的像素点越不相似。本实施例中为了提高匹配代价的准确性和可靠性,先将左目和右目的灰度图输入各自对应的梯度计算、缓存装置,得到两个灰度图分别对应的梯度信息。然后根据两个灰度图的梯度信息计算两个灰度图中相应的像素点的梯度代价和汉明距离。其中,梯度代价用于反映待匹配像素和候选像素之间梯度的相似程度(可以包括横向的梯度差距和纵向的梯度差距);汉明距离通过普查变换和梯度信息确定的,基于梯度的普查变换可以突出视差不连续的区域。然后分别对梯度代价和汉明距离进行归一化后再融合,根据融合结果确定左目和右目的灰度图中相应的像素点最终的匹配代价。
在一种实现方式中,所述根据所述梯度信息确定该像素点的梯度代价,包括:
根据所述梯度信息获取该像素点在两个所述灰度图中沿x方向和y方向的梯度;
根据x方向梯度相减的绝对值和y方向梯度相减的绝对值之和,确定该像素点对应的所述梯度代价。
简单来说,针对每一个像素点p,其在视差d下的梯度代价需要参考水平方向和竖直方向的梯度确定。梯度代价具体为该像素点p在x方向梯度相减的绝对值和y方向梯度相减的绝对值之和,具体公式如下:
其中,和/>分别表示像素p沿x和y方向的梯度信息,IL和IR表示左图和右图。
在一种实现方式中,所述普查变换中每一像素点的普查比特串基于该像素点与周围预设范围内的像素点的梯度大小关系确定。
具体地,传统的普查变换是用一个比特串来表示一个像素窗口,该比特串是由中心像素和周围像素的灰度值大小关系确定的,换言之,传统的普查变换是利用像素的原始图像的灰度值实现的。而本实施例中对传统的普查变换进行了改进,通过对像素的梯度幅度进行比较来提高重复纹理区域的匹配精度。具体地,普查变换用一个比特串来表示一个像素窗口,该比特串由中心像素和周围像素的梯度大小关系确定。固定窗口大小后,每个像素有其相应的普查比特串,计算左目和右目图像的普查变换码,便可将其转换为汉明距离来判断像素对的相似程度。
在一种实现方式中,改进的普查变换可以用下式表示:
表示按位连接,NP表示p的领域,一般是3x3或5x5的窗口,IGRAD表示灰度图片I的梯度,普查变换后利用汉明距离计算两个像素点的相似性:
在一种实现方式中,将梯度代价和汉明距离进行加权融合得到最终的匹配代价的表达公式如下:
C(p,d)=Hamming[CL(p),CR(p-d)];
其中,λ为正则化系数。在一种实现方式中,为便于硬件计算,在保证精度的前提下,λGRAD和λCensus分别设置为32和16。
在一种实现方式中,所述梯度代价的归一化处理通过线性拟合执行,所述汉明距离的归一化处理通过选择器执行。
具体地,代价融合归一化在软件上可以使用e指数进行计算,然而硬件实现e指数需要消耗极大的资源。因此为了节约资源,本实施例通过分析两种代价值的特点,在不影响精度的前提下采用查找表和线性拟合分别对两种代价值进行归一化处理,再将归一化处理后的两种代价值进行融合得到最终的匹配代价。
在一种实现方式中,通过选择器对基于普查变换确定的汉明距离进行归一化处理,具体包括:根据预设的窗口大小,确定窗口内计算的汉明距离的若干可能的整数结果值,将各整数结果值分别对应的归一化后的值放入查找表中,基于查找表利用选择器即可得到基于普查变换确定的汉明距离的归一化结果。
举例说明,如图4右上方所示,在3x3的窗口内计算汉明距离所得到的值只有0-9共10个整数值,将对应归一化后的值放入查找表中,利用简单的选择器即可得到归一化结果。
在一种实现方式中,通过线性拟合对梯度代价进行归一化处理,具体包括:根据指数部分的位数将指数部分分为若干区间,根据各区间生成若干线性拟合点,其中,靠近0的区间区分范围较小,且各线性拟合点应当满足对应的区间/范围的二进制数据可以使用简单的与非门表示。
具体地,梯度代价的归一化处理必须采用e指数来实现。e指数的实现在硬件有多种方式,比如将指数的整数部分和小数部分分开,将e指数的小数位结果存在查找表中,然后按照整数部分进对查找表中的数据进行移位操作,但是此方法并不适用目前所需要的计算。泰勒展开e指数是可用的方法,但是一次指数运算需要用到六个浮点乘法器,且时延较大,无法达到资源和精度上的平衡。因此本实施例选择采用线性拟合的方式对梯度代价进行归一化处理。首先根据指数部分的位数将指数部分分为若干区间,由于指数部分越靠近0变化越快,因此靠近0的区间区分范围较小。此外,为了不使用比较符号判断,每一线性拟合点的选取需要满足一定的特点,即线性拟合点所对应的区间/范围的二进制数据,最好是可以采用简单的与非门表示。
举例说明,如图5所示,按照指数部分的位数,将其分成11个区间,靠近0的区间区分范围较小。同时,选取的拟合点也满足一定的特点,比如R0表示的范围是[0,0.125],其对应的二进制是0.00000~0.00010(五位二进制小数位),因此可以用简单的与非门表示此范围。所有的范围都可以这样表示,就能很大程度节省了多位数使用比较器的资源。提前计算好每个拟合直线的k和b,判断范围后进行移位相加即可得到GAD归一化后的结果。
在一种实现方式中,如图6所示,所述方法还包括:
根据所述匹配代价计算视差,得到视差图。
具体地,双目立体匹配主要包含四个步骤:初始代价计算,代价聚合,后处理视差优化以及视差计算。本实施例通过采用融合后的匹配代价进行后处理和视差计算,可以得到准确的视差图。
本发明的优点在于:
1.利用重计算的架构,以少量的逻辑资源节省大量的存储;
2.对非线性函数进行基于查找表的分段线性拟合架构。
3.设计的硬件架构易于实现且资源消耗好,相较于软件计算不损失精度,实现了视差图精度的极大提升且边缘更加明显。
基于上述实施例,本发明还提供了一种终端,其原理框图可以如图7所示。该终端包括通过***总线连接的处理器、存储器、网络接口、显示屏。其中,该终端的处理器用于提供计算和控制能力。该终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现节约资源的代价计算方法。该终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
本领域技术人员可以理解,图7中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一种实现方式中,所述终端的存储器中存储有一个以上的程序,且经配置以由一个以上处理器执行所述一个以上程序包含用于进行节约资源的代价计算方法的指令。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本发明公开了一种梯度计算、缓存装置和节约资源的代价计算方法,装置包括若干行缓存和窗口缓存;窗口缓存包括排布成行列的若干寄存器,每一行缓存对应一行寄存器;首个行缓存的输入数据为左目或右目的灰度图,两个灰度图的行缓存长度不同;其他每一行缓存的输入数据基于上一行缓存的一个寄存器确定;窗口缓存中A列寄存器用于梯度计算,A列寄存器组成B个梯度计算模块,每一梯度计算模块包括连续的若干行寄存器,A和B基于窗口大小确定;各梯度计算模块分别对应的一行寄存器包含梯度信息,用于计算匹配代价。本发明通过设置多个梯度计算模块,避免缓存大量的梯度信息,解决了目前应用于代价计算的硬件架构会消耗大量的资源和缓存空间的问题。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种梯度计算、缓存装置,其特征在于,所述装置包括若干行缓存和窗口缓存;所述窗口缓存包括排布成行列的若干寄存器,每一所述行缓存对应一行所述寄存器;所述窗口缓存中包含两类寄存器,两类寄存器分别对应的位数不同,其中,包含梯度信息的寄存器的位数大于不包含梯度信息的寄存器;
首个所述行缓存的输入数据为左目或右目的灰度图,左目和右目的灰度图分别对应的所述行缓存的长度不同;除首个所述行缓存之外,每一所述行缓存的输入数据基于上一所述行缓存对应的其中一个不包含梯度计算的所述寄存器确定;
所述窗口缓存中A列所述寄存器用于进行梯度计算,A列所述寄存器组成B个梯度计算模块;每一所述梯度计算模块包括连续的若干行所述寄存器,其中,所述A和所述B的数值基于预设的窗口大小确定;
各所述梯度计算模块分别对应的一行所述寄存器包含像素点的梯度信息,所述梯度信息用于计算像素点的匹配代价。
2.根据权利要求1所述的梯度计算、缓存装置,其特征在于,各所述梯度计算模块的梯度计算过程相互独立。
3.根据权利要求1所述的梯度计算、缓存装置,其特征在于,所述寄存器的总数量基于预设的视差范围,所述窗口大小以及所述行缓存的总行数确定。
4.一种节约资源的代价计算方法,其特征在于,所述方法包括:
获取左目和右目分别对应的灰度图;
将左目和右目的所述灰度图输入如权利要求1-3任一所述的梯度计算、缓存装置,得到左目和右目的所述灰度图分别对应的梯度信息;
针对两个所述灰度图中相对应的每一像素点,根据所述梯度信息确定该像素点的梯度代价,并通过普查变换基于所述梯度信息确定该像素点的汉明距离;
分别对所述梯度代价和所述汉明距离进行归一化处理,根据归一化处理后的所述梯度代价和所述汉明距离进行加权融合,得到该像素点的匹配代价。
5.根据权利要求4所述的节约资源的代价计算方法,其特征在于,所述根据所述梯度信息确定该像素点的梯度代价,包括:
根据所述梯度信息获取该像素点在两个所述灰度图中沿x方向和y方向的梯度;
根据x方向梯度相减的绝对值和y方向梯度相减的绝对值之和,确定该像素点对应的所述梯度代价。
6.根据权利要求4所述的节约资源的代价计算方法,其特征在于,所述普查变换中每一像素点的普查比特串基于该像素点与周围预设范围内的像素点的梯度大小关系确定。
7.根据权利要求4所述的节约资源的代价计算方法,其特征在于,所述梯度代价的归一化处理通过线性拟合执行,所述汉明距离的归一化处理通过选择器执行。
8.根据权利要求4所述的节约资源的代价计算方法,其特征在于,所述方法还包括:
根据所述匹配代价计算视差,得到视差图。
9.一种终端,其特征在于,所述终端包括有存储器和一个以上处理器;所述存储器存储有一个以上的程序;所述程序包含用于执行如权利要求4-8中任一所述的节约资源的代价计算方法的指令;所述处理器用于执行所述程序。
10.一种计算机可读存储介质,其上存储有多条指令,其特征在于,所述指令适用于由处理器加载并执行,以实现上述权利要求4-8任一所述的节约资源的代价计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310544020.4A CN116563087B (zh) | 2023-05-12 | 2023-05-12 | 一种梯度计算、缓存装置和节约资源的代价计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310544020.4A CN116563087B (zh) | 2023-05-12 | 2023-05-12 | 一种梯度计算、缓存装置和节约资源的代价计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116563087A CN116563087A (zh) | 2023-08-08 |
CN116563087B true CN116563087B (zh) | 2024-05-14 |
Family
ID=87501517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310544020.4A Active CN116563087B (zh) | 2023-05-12 | 2023-05-12 | 一种梯度计算、缓存装置和节约资源的代价计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116563087B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020889A (zh) * | 2012-12-04 | 2013-04-03 | 江南大学 | 图像梯度计算方法及装置 |
WO2017202244A1 (zh) * | 2016-05-26 | 2017-11-30 | 深圳市中兴微电子技术有限公司 | 一种图像增强方法和装置、计算机存储介质 |
CN110717852A (zh) * | 2019-06-13 | 2020-01-21 | 内蒙古大学 | 一种基于fpga的田间视频图像实时分割***及方法 |
CN111402280A (zh) * | 2020-03-10 | 2020-07-10 | 西安电子科技大学 | 基于对数图像处理模型的图像边缘检测***及方法 |
CN112907714A (zh) * | 2021-03-05 | 2021-06-04 | 兰州大学 | 一种基于Census变换和灰度绝对差的混合匹配双目视觉*** |
CN113436057A (zh) * | 2021-08-27 | 2021-09-24 | 绍兴埃瓦科技有限公司 | 数据处理方法及双目立体匹配方法 |
CN114219699A (zh) * | 2022-02-22 | 2022-03-22 | 绍兴埃瓦科技有限公司 | 匹配代价处理方法及电路和代价聚合处理方法 |
CN115714855A (zh) * | 2022-10-11 | 2023-02-24 | 华中科技大学 | 一种基于立体视觉与tof融合的三维视觉感知方法及*** |
-
2023
- 2023-05-12 CN CN202310544020.4A patent/CN116563087B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020889A (zh) * | 2012-12-04 | 2013-04-03 | 江南大学 | 图像梯度计算方法及装置 |
WO2017202244A1 (zh) * | 2016-05-26 | 2017-11-30 | 深圳市中兴微电子技术有限公司 | 一种图像增强方法和装置、计算机存储介质 |
CN110717852A (zh) * | 2019-06-13 | 2020-01-21 | 内蒙古大学 | 一种基于fpga的田间视频图像实时分割***及方法 |
CN111402280A (zh) * | 2020-03-10 | 2020-07-10 | 西安电子科技大学 | 基于对数图像处理模型的图像边缘检测***及方法 |
CN112907714A (zh) * | 2021-03-05 | 2021-06-04 | 兰州大学 | 一种基于Census变换和灰度绝对差的混合匹配双目视觉*** |
CN113436057A (zh) * | 2021-08-27 | 2021-09-24 | 绍兴埃瓦科技有限公司 | 数据处理方法及双目立体匹配方法 |
CN114219699A (zh) * | 2022-02-22 | 2022-03-22 | 绍兴埃瓦科技有限公司 | 匹配代价处理方法及电路和代价聚合处理方法 |
CN115714855A (zh) * | 2022-10-11 | 2023-02-24 | 华中科技大学 | 一种基于立体视觉与tof融合的三维视觉感知方法及*** |
Non-Patent Citations (1)
Title |
---|
基于Vivado HLS的Canny算法实时加速设计;谭检成 等;电子技术应用;20180906;第44卷(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116563087A (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tang et al. | Learning guided convolutional network for depth completion | |
CN109300190B (zh) | 三维数据的处理方法、装置、设备和存储介质 | |
CN111066063B (zh) | 利用卷积空间传播网络学习的亲和度进行深度估计的***和方法 | |
US11995854B2 (en) | Mesh reconstruction using data-driven priors | |
US11461911B2 (en) | Depth information calculation method and device based on light-field-binocular system | |
Ttofis et al. | Edge-directed hardware architecture for real-time disparity map computation | |
Chandraker et al. | Globally optimal algorithms for stratified autocalibration | |
US11651507B2 (en) | Content-adaptive binocular matching method and apparatus | |
US20120075287A1 (en) | Image processing apparatus and method | |
CN111105452A (zh) | 基于双目视觉的高低分辨率融合立体匹配方法 | |
Han et al. | Brnet: Exploring comprehensive features for monocular depth estimation | |
Chen et al. | Perspective phase angle model for polarimetric 3d reconstruction | |
CN116310410A (zh) | 多尺度计数方法、装置及计算机可读存储介质 | |
Ceruso et al. | Relative multiscale deep depth from focus | |
Mehl et al. | M-fuse: Multi-frame fusion for scene flow estimation | |
CN116563087B (zh) | 一种梯度计算、缓存装置和节约资源的代价计算方法 | |
CN117635444A (zh) | 基于辐射差和空间距离的深度补全方法、装置和设备 | |
CN111079523B (zh) | 物体检测方法、装置、计算机设备和存储介质 | |
CN116758146A (zh) | 基于图像的无人机集群目标定位方法、装置、设备及介质 | |
US11657530B2 (en) | Stereo matching method and apparatus of images | |
Cai et al. | Bi-direction direct RGB-D visual odometry | |
Peng et al. | High-speed dense matching algorithm for high-resolution aerial image based on CPU-FPGA | |
CN115375740A (zh) | 位姿确定方法和三维模型的生成方法、装置、设备、介质 | |
CN114549927A (zh) | 特征检测网络训练、增强现虚实注册跟踪及遮挡处理方法 | |
CN116416290A (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 |