CN117422749A - 融合立体视觉与稀疏深度的基于十字臂的稠密深度估计 - Google Patents
融合立体视觉与稀疏深度的基于十字臂的稠密深度估计 Download PDFInfo
- Publication number
- CN117422749A CN117422749A CN202210797193.2A CN202210797193A CN117422749A CN 117422749 A CN117422749 A CN 117422749A CN 202210797193 A CN202210797193 A CN 202210797193A CN 117422749 A CN117422749 A CN 117422749A
- Authority
- CN
- China
- Prior art keywords
- pixel
- cost
- value
- depth
- cross arm
- 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
Links
- 230000004927 fusion Effects 0.000 title claims description 14
- 238000000034 method Methods 0.000 claims abstract description 71
- 238000005259 measurement Methods 0.000 claims abstract description 29
- 238000002474 experimental method Methods 0.000 claims abstract description 16
- 230000003044 adaptive effect Effects 0.000 claims abstract description 10
- 230000002776 aggregation Effects 0.000 claims description 21
- 238000004220 aggregation Methods 0.000 claims description 21
- 238000009792 diffusion process Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000012937 correction Methods 0.000 claims description 5
- 239000002131 composite material Substances 0.000 claims description 3
- 238000006073 displacement reaction Methods 0.000 claims description 3
- 238000009499 grossing Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 241001270131 Agaricus moelleri Species 0.000 claims 1
- 238000007500 overflow downdraw method Methods 0.000 abstract description 10
- 230000000694 effects Effects 0.000 abstract description 6
- 230000000052 comparative effect Effects 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 abstract description 2
- 230000007613 environmental effect Effects 0.000 abstract 1
- 230000004807 localization Effects 0.000 abstract 1
- 238000013507 mapping Methods 0.000 abstract 1
- 230000008859 change Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 241000282693 Cercopithecidae Species 0.000 description 1
- 241001660917 Crassula ovata Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20192—Edge enhancement; Edge preservation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
稠密的深度估计在机器人系统中非常重要的一些技术,应用场景如建图、定位和物体识别等。对于多个传感器来说,一个主动深度传感器可以提供准确但稀疏的环境测量,一对相机可以提供稠密但不精确的三维重建效果。本发明提出了一种紧密耦合的主动深度传感器和立体摄像机对的融合方法,以完成稠密的深度估计,并结合两种传感器的优势,从而实现更好的深度估计精度。开发了一种自适应的动态十字臂算法,将稀疏的深度测量整合到相机主导的半全局立体匹配中。为了获得被测像素点的最佳臂长,每个十字臂的形状都是可变的,并自动计算。使用KITTI、Middlebury和Scene Flow数据集的公共数据集进行对比实验,以测试所提出的方法的性能,并进一步进行现实世界的实验来验证。
Description
技术领域
本发明属于计算机视觉的技术领域,特别是涉及一种实现动态自适应十字臂的稠密深度估计方法。
背景技术
双目立体视觉是计算机视觉领域的经典课题,其目的是重建场景的三维几何信息,即准确估计场景深度。另一方面,通常可以通过多传感器融合来获得场景深度,弥补每种传感器的优缺点,以实现更好的测量。在稠密的三维重建任务中,融合高分辨率图像和低分辨率深度测量是一个典型的需求。被动立体摄像机经常用于机器人系统的三维感知,通过图像对的全像素匹配来估计稠密深度。然而,为了解决沉重的计算负担,在机器人应用中,应该使用嵌入式硬件加速器(如NVIDIA TX2)来执行立体匹配算法。立体深度估计算法容易受到光线、视觉噪声和场景纹理的影响,导致重建的三维点不准确甚至错误。对于主动深度传感器,光探测和测距(LiDAR)是最受欢迎的一种,它可以提供精确但稀疏的深度信息。然而,在小型机器人平台(如无人机)上装备激光雷达的成本和重量是一个棘手的问题。ToF传感器是相对于LiDAR的一种替代设备,它也可以主动获得精确但稀疏的深度信息。小型主动传感器具有价格便宜、体积小等优点,已广泛应用于移动机器人和无人机上完成各种任务。
发明内容
本发明的目的是解决现有计算机视觉稠密深度估计的方法没有考虑融合窗的形状的不足,提供了一种自适应动态十字臂来进行扩散稀疏深度测量的方法。
本文提出了一种动态自适应十字臂方法来实现稠密深度估计,该方法融合了来自立体相机对的测量值和来自有源深度传感器的稀疏距离测量值。为了提高估计精度,将测量点分散,使更多的像素点能够匹配真深度值。基于十字臂区域的灰度值与深度值的关系,设计了十字臂窗口,十字臂窗口是一个动态形状的自适应局部支撑区域。在公共数据集和我们自己的数据集上进行的对比实验表明,该方法能够实现准确、鲁棒的稠密深度估计。
本发明主要做出了以下几方面贡献:1.与现有的形状固定窗融合方法不同,该方法的主要贡献在于设计了一种自适应动态十字臂窗来进行扩散稀疏深度测量,可以很好地覆盖锚点周围具有相同深度值的像素点,从而获得更精确的稠密深度估计结果;2.十字臂方法能充分扩散稀疏测量深度数据的信息,使大多数无纹理区域得到适当的处理;3.十字臂方法在深度不连续区域的定位精度更高;4.与传统的SGM方法和其他融合方法相比,该方法能提供清晰的边缘信息。
本发明提供的融合立体视觉与实测稀疏深度的十字的稠密深度估计方法包括:
第1,紧耦合扩散策略
第1.1,设定代价值
由于Census方法可以保留窗口中的像素位置,并且对亮度偏差更有鲁棒性,所以我们使用它来计算每个像素周围的窗口代价,分别得到左右图像中每个像素点的代价向量Icen(x,y)和Jcen(x,y)。
X轴和Y轴对应二维图像坐标,Z轴对应视差范围。符号d=1,2,...,DMAX表示同一特征点在左右两幅图像上的水平投影位移,结合极坐标对齐校正算法将两个像素点设置在同一轴线上计算。每个像素点(x,y)的成本差距d被表示为C((x,y),d),并计算
C((x,y),d)=H(Icen(x,y),Jcen(x,y-d))
这里H(·,·)表示Census位向量对左右图像之间的汉明距离。
第1.2,更新代价值
复合符号((xm,ym),dm)用于表示由主动传感器测量深度值的像素点,深度测量精度高,但稀疏。这些直接测量的实体被认为是高度可信的点,并用于修改原始代价值。为了更好地利用这些点来改进匹配结果,通过考虑插值和扩散两步来更新像素点的代价值。由于置信度高,设((xm,ym),dm)处的代价值为零。直观来说,对于每个视差空间元素((x,y),d),如果深度测量图中仅存在一个像素点(x,y)=(xm,ym),且dm值也存在,则深度值d为dm,代价更新方程如下
式中di为像素点(xm,ym)的不同视差,di=1,2,...,DMAX。根据插补技术,对与实测值重合的像素点的代价值进行修正,并给予较高的置信度。
第1.3,代价聚合
采用基于能量最小化的代价聚合方法,更新上述代价值直接作为像素的初始代价值进行代价聚合。扫描线优化选择了8个方向的代价聚合,而不是16个方向,减少了大量的计算量,同时保证了匹配效果的准确性。然后,计算包含多个不同方向的聚合代价
其中C′r(·,·)为给定路径r的聚合代价,p表示沿r方向的像素点,p-1表示沿r方向上p之前的点,设置参数P1和P2用于消除误差。
对于代价聚合窗口中每个像素的邻域,为了适应视差变化较小的情况,如倾斜平面或连续曲面,用光惩罚项P1的值较小。P2通常有一个很大的值,为正确处理视差不连续提供了很大的惩罚。为了保持真实场景中视差的不连续性,根据常规值选取代价聚合的平滑参数P1和P2的初始值,然后利用相邻像素点的灰度差动态调整P2,如下图所示:
其中P′2为P2的初值,ξ(p,pq)为相邻像素点的灰度差值。进一步,在代价聚合后,采用WTA策略进行最终的差异选择。
第2,自适应动态十字臂方法的建立过程
第2.1,结构和生成规则
适当地搜索每个像素的局部支持区域,可以大大扩展被测像素点的传播范围,提高立体匹配精度。在截面中,为每个测量的像素点p提供的窗口是一个自适应的长度交错,而不是固定的矩形或圆形。
如附图3所示,每个自适应十字臂对应主动传感器提供的每个锚点像素的局部支撑骨架,如图中的像素p,十字臂上所有像素的深度值设置与锚点像素的深度值相同。符号H(p)和V(p)分别表示水平线和垂直线段,构成十字臂,定义了像素p的局部支撑骨架。附图4提供了锚点像素p的局部垂直十字H(p)∪V(p)的结构,其居中并沿垂直十字臂的四个方向延伸。值得注意的是,每个锚点p是已知深度的测量像素,每个十字臂的长度是可变的,以获得灵活性。
一般情况下,对于小邻域内灰度近似的像素点,深度值是一致的,因此可以根据四个方向上相似的灰度强度,沿着锚点p扩展十字臂窗口。然后,灰度图像的十字臂窗口中的像素共享锚点像素p的深度值。
根据像素点的局部特征依次自适应选择手臂长度。因此,四个臂之间没有耦合,每个臂的长度可以单独计算。使用四元{Lp,Rp,Up,BP}表示锚点像素p分别向左、右、上、下方向扩展的最大距离,如附图4所示,臂的扩展距离取决于灰度图像上的强度相似度。
设计的算法是在连通约束下基于强度相似度进行的。由于RGB图像是转换成灰度图像的,所以只需要考虑像素之间的强度关系。在相似深度对应相似灰度强度的约束下,可以对各臂的灰度值和最大长度进行极限值参数的调整。在此基础上,制定了以下十字臂的构造规则:
·限制像素点pi与锚点p的灰度值差不大于极限参数τ,以保证整个窗口灰度值的一致性。同时,计算像素pi+1与锚点像素p之间的灰度值差,以防止十字臂超出区域边缘。
·设置手臂长度L1和L2的两个限制参数(L2<L1),以扩展无纹理区域以包含更多的像素,并防止锚深值在图像上扩散得太远。当手臂长度在0和L2之间时,扩展灰度极限参数为τ1,当手臂长度在L2和L1之间时,设置τ2<τ1的更严格的灰度极限参数τ2。从而保证十字臂内所有像素点的深度值与锚点的深度值相似,实现锚点深度值的合理共享。
·比较手臂上第i个像素与随后的(i+1)个像素在同一方向上的灰度值,并限制其差值,以防止手臂十字边缘像素。由于边缘像素点之间的灰度值差异较大,其像素灰度值受到限制小于极限参数τ3。
第2.2,传播步骤
此外,在锚点的每个方向上对一组连续像素执行十字臂搜索。以十字臂向上方向为例,最大跨度Up计算如下:
其中,锚点像素p的坐标为(xp,yp),像素pi坐标为(xp,yp+1),L为预设的最大臂长。表示pi与p的相似度:
ξ(p,pi)表示p与pi之间的灰度差。
对于不同长度的L1和L2,得到上式中的极限参数τ控制灰度相似度的置信度如下:
其中,ε(p,pi)为pi到p的像素距离,当ε(p,pi)发生变化时,τ也随之变化。上式中,当像素点位于L2和L1之间时,取极限参数τ1,当像素点小于L2时,取极限参数τ2。τ1和τ2的值将在下一个实验中给出。
另外,其他三个方向Lp、Rp、BP的十字臂长度也采用与Up相同的方式更新,只需替换算法1相应的下标即可。得到四个方向的横臂长度后,记录每个横臂的显示的水平垂直正交段H(p)和V(p)的信息,可分别计算如下:
然后在每个锚点像素的窗口中对相邻像素进行代价更新
式中(xi,yi)为窗口区域内每个像素点的坐标,与锚点像素坐标(xm,ym)有关,Ψ(HV)为臂十字范围。由上式可知,设置十字臂窗口中像素点的视差值与锚点的视差值相同。
本发明的优点和有益效果
本发明提出了一种动态自适应十字臂方法来实现稠密深度估计。本发明主要做出了以下几方面贡献:1.与现有的形状固定窗融合方法不同,该方法的主要贡献在于设计了一种自适应动态十字臂窗来进行扩散稀疏深度测量,可以很好地覆盖锚点周围具有相同深度值的像素点,从而获得更精确的稠密深度估计结果;2.十字臂方法能充分扩散稀疏测量深度数据的信息,使大多数无纹理区域得到适当的处理;3.十字臂方法在深度不连续区域的定位精度更高;4.与传统的SGM方法和Naive融合方法相比,该方法能更清晰地形成边缘信息。
附图说明:
图1为立体视觉传感器套件ToF(Intel RealSense D415)安装在移动机器人和一个无人机上(底部图:分别为D415立体匹配的左、右图像,红线(手工标注)表示进行极坐标校正,确保两幅图像上相同的像素点在同一水平轴上);
图2为基于十字的稠密深度估计策略的框图;
图3为在Middlebury数据集的图片ArtL上进行基于十字的本地支持区域表示和构建;
图4为锚点像素p的局部垂直十字H(p)∪V(p)的配置(四元{Lp,Rp,Up,BP}分别定义了十字的左臂、右臂、上臂和下臂的长度);
图5为Teddy图像对上深度不连续区域的视差结果(左图为设计算法匹配,右图为SGM算法匹配,虚线框为标记的典型比较结果);
图6为Jadeplant图像对上无纹理区域的差值结果(左图:采用设计算法进行匹配,右图:采用SGM算法进行匹配,虚线框:标记出典型的比较结果);
图7为KITTI 2015数据集的视差结果(T-B:左校正图像、SGM结果、Naive Fusion结果、本文方法的结果、选取采样种子点的地面真实数据);
图8为Middlebury 2014数据集的视差结果(L-R:相对于全分辨率的左校正图像、SGM结果、Naive Fusion结果、本文方法的结果以及选取采样种子点的地面真实数据);
图9为Scene Flow数据集的视差结果(T-B:左校正图像、SGM结果、Naive Fusion结果、本文方法的结果、选取采样种子点的地面真实数据);
图10为Realsense D415数据集的视差结果(L-R:校正左灰度图像、SGM结果、NaiveFusion结果、本文方法的结果、滤波噪声后的ToF点);
具体实施方式:
实施例1
第1,紧耦合扩散策略
第1.1,设定代价值
由于Census方法可以保留窗口中的像素位置,并且对亮度偏差更有鲁棒性,所以我们使用它来计算每个像素周围的窗口代价,分别得到左右图像中每个像素点的代价向量Icen(x,y)和Jcen(x,y)。
X轴和Y轴对应二维图像坐标,Z轴对应视差范围。符号d=1,2,...,DMAX表示同一特征点在左右两幅图像上的水平投影位移,结合极坐标对齐校正算法将两个像素点设置在同一轴线上计算。每个像素点(x,y)的成本差距d被表示为C((x,y),d),并计算
C((x,y),d)=H(Icen(x,y),Jcen(x,y-d))
这里H(·,·)表示Census位向量对左右图像之间的汉明距离。
第1.2,更新代价值
复合符号((xm,ym),dm)用于表示由主动传感器测量深度值的像素点,深度测量精度高,但稀疏。这些直接测量的实体被认为是高度可信的点,并用于修改原始代价值。为了更好地利用这些点来改进匹配结果,通过考虑插值和扩散两步来更新像素点的代价值。由于置信度高,设((xm,ym),dm)处的代价值为零。直观来说,对于每个视差空间元素((x,y),d),如果深度测量图中仅存在一个像素点(x,y)=(xm,ym),且dm值也存在,则深度值d为dm,代价更新方程如下
式中di为像素点(xm,ym)的不同视差,di=1,2,...,DMAX。根据插补技术,对与实测值重合的像素点的代价值进行修正,并给予较高的置信度。
第1.3,代价聚合
采用基于能量最小化的代价聚合方法,更新上述代价值直接作为像素的初始代价值进行代价聚合。扫描线优化选择了8个方向的代价聚合,而不是16个方向,减少了大量的计算量,同时保证了匹配效果的准确性。然后,计算包含多个不同方向的聚合代价
其中C′r(·,·)为给定路径r的聚合代价,p表示沿r方向的像素点,p-1表示沿r方向上p之前的点,设置参数P1和P2用于消除误差。
对于代价聚合窗口中每个像素的邻域,为了适应视差变化较小的情况,如倾斜平面或连续曲面,用光惩罚项P1的值较小。P2通常有一个很大的值,为正确处理视差不连续提供了很大的惩罚。为了保持真实场景中视差的不连续性,根据常规值选取代价聚合的平滑参数P1和P2的初始值,然后利用相邻像素点的灰度差动态调整P2,如下图所示:
其中P′2为P2的初值,ξ(p,pq)为相邻像素点的灰度差值。进一步,在代价聚合后,采用WTA策略进行最终的差异选择。
第2,自适应动态十字臂方法的预处理
适当地搜索每个像素的局部支持区域,可以大大扩展被测像素点的传播范围,提高立体匹配精度。在截面中,为每个测量的像素点p提供的窗口是一个自适应的长度交错,而不是固定的矩形或圆形。
如附图3所示,每个像素级自适应十字臂对应主动传感器提供的每个锚点像素的局部支撑骨架,如图中的像素p,十字臂上所有像素的深度值设置与锚点像素的深度值相同。符号H(p)和V(p)分别表示水平线和垂直线段,构成十字臂,定义了像素p的局部支撑骨架。附图4提供了锚点像素p的局部垂直十字H(p)∪V(p)的结构,其居中并沿垂直十字臂的四个方向延伸。值得注意的是,每个锚点p是已知深度的测量像素,每个十字臂的长度是可变的,以获得灵活性。
一般情况下,对于小邻域内灰度近似的像素点,深度值是一致的,因此可以根据四个方向上相似的灰度强度,沿着锚点p扩展十字臂窗口。然后,灰度图像的十字臂窗口中的像素共享锚点像素p的深度值。
根据像素点的局部特征依次自适应选择手臂长度。因此,四个臂之间没有耦合,每个臂的长度可以单独计算。使用四元{Lp,Rp,Up,BP}表示锚点像素p分别向左、右、上、下方向扩展的最大距离,如附图4所示,臂的扩展距离取决于灰度图像上的强度相似度。
设计的算法是在连通约束下基于强度相似度进行的。由于RGB图像是转换成灰度图像的,所以只需要考虑像素之间的强度关系。在相似深度对应相似灰度强度的约束下,可以对各臂的灰度值和最大长度进行极限值参数的调整。在此基础上,制定了以下十字臂的构造规则:
·限制像素点pi与锚点p的灰度值差不大于极限参数τ,以保证整个窗口灰度值的一致性。同时,计算像素pi+1与锚点像素p之间的灰度值差,以防止十字臂超出区域边缘。
·设置手臂长度L1和L2的两个限制参数(L2<L1),以扩展无纹理区域以包含更多的像素,并防止锚深值在图像上扩散得太远。当手臂长度在0和L2之间时,扩展灰度极限参数为τ1,当手臂长度在L2和L1之间时,设置τ2<τ1的更严格的灰度极限参数τ2。从而保证十字臂内所有像素点的深度值与锚点的深度值相似,实现锚点深度值的合理共享。
·比较手臂上第i个像素与随后的(i+1)个像素在同一方向上的灰度值,并限制其差值,以防止手臂十字边缘像素。由于边缘像素点之间的灰度值差异较大,其像素灰度值受到限制小于极限参数τ3。
此外,在锚点的每个方向上对一组连续像素执行十字臂搜索。以十字臂向上方向为例,最大跨度Up计算如下:
其中,锚点像素p的坐标为(xp,yp),像素pi坐标为(xp,yp+1),L为预设的最大臂长。表示pi与p的相似度:
ξ(p,pi)表示p与pi之间的灰度差。
对于不同长度的L1和L2,得到上式中的极限参数τ控制灰度相似度的置信度如下:
其中,ε(p,pi)为pi到p的像素距离,当ε(p,pi)发生变化时,τ也随之变化。上式中,当像素点位于L2和L1之间时,取极限参数τ1,当像素点小于L2时,取极限参数τ2。τ1和τ2的值将在下一个实验中给出。
另外,其他三个方向Lp、Rp、BP的十字臂长度也采用与Up相同的方式更新,只需替换算法1相应的下标即可。得到四个方向的横臂长度后,记录每个横臂的显示的水平垂直正交段H(p)和V(p)的信息,可分别计算如下:
然后在每个锚点像素的窗口中对相邻像素进行代价更新
式中(xi,yi)为窗口区域内每个像素点的坐标,与锚点像素坐标(xm,ym)有关,Ψ(HV)为臂十字范围。由上式可知,十字臂窗口中像素点的视差值与锚点的视差值相同。
第3,实验结果及结论
第3.1实验结果
为了验证所设计方法的性能,在KITTI 2015、Middlebury 2014和Scene Flow的公共数据集以及RealSense D415传感器采集的我们的数据集上进行了对比实验。每次实验都采用经典的SGM算法和最新的Naive Fusion深度增强方法作为对比。此外,为了使结果不受其他因素的影响,不使用立体匹配的优化操作,如左右一致性检查,并在每个数据集中对所有图像设置相同的参数。
对于本发明提出的方法,L1、L2、τ1和τ2在一定范围内可调,分别取L1=25、L2=15、τ1=3和τ2=1。考虑到KITTI和Middlebury数据集的视差值范围不同,为了兼容它们的适用性,选择DMAX为256。对于每个数据集中的所有图像,参数P1和P2设置相同。
实验1(KITTI 2015数据集):对于KITTI 2015数据集,在真实世界的光照条件下捕获立体对,它们有很大一部分没有纹理的区域,如墙壁和道路。对于传统的立体匹配算法来说,大面积无纹理区域的匹配是一个比较严重的问题,本发明提出的方法对稀疏测点进行了融合处理。为了模拟主动传感器数据的稀疏性和准确性,从深度数据的地面真实中随机选取15%的样本点,将这些稀疏的样本点作为已知深度测点,作为三种方法的输入。
利用数据集中大量的立体图像对对这三种方法进行评价,一些典型的视差结果见附图7所示。数据集中提供的开发工具包用于显示1到5个指定的小公差视差误差。错误率如表1所示,其中每个元素分别代表视差误差大于1、3和5个视差距离地面真值的像素的百分比。
表1
从比较结果可以看出,本文提出的十字臂方法比其他方法具有更好的性能。特别是对于无纹理区域,由于缺少足够的特征,SGM方法难以准确评估深度,而Naive融合方法在无纹理区域上的匹配效果得到了改善。此外,该方法能充分扩散稀疏测量深度数据的信息,使大多数无纹理区域得到适当的处理。
需要指出的是,在深度测量像素周围覆盖更大的影响区域对于提高匹配性能非常重要。采用设计的十字臂算法,在寻找扩散窗口的过程中,扩展了被测像素的影响范围,与Naive融合算法相比,提高了匹配性能。
实验2(Middlebury 2014数据集):Middlebury 2014数据集提供了23对高精度静态室内场景的立体视觉对,这些立体视觉对的地真数据比KITTI数据集更稠密。为了更真实地模拟主动传感器,随机采样地面真实深度的2.5%作为输入测量数据,并添加高达5%的噪声。
对这三种方法进行评价,定量分析结果如表2所示,选取部分结果如附图8所示。可以看出,Naive融合方法比SGM有更好的性能,但在边缘和部分遮挡方面仍然存在误差。该方法即使在少量测点的情况下也能提供优异的性能,对噪声具有鲁棒性,并能保持边缘。结果表明,与传统的SGM方法和Naive融合方法相比,该方法能更清晰地形成边缘信息,如工作台和架子。
表2
另一方面,以附图8中的第二次实验为例,SGM方法在图像中心区域不能清晰地看到堆叠的管道轮廓。该方法能很好地处理这一区域,管道剖面更接近地面真实情况。结果表明,该方法能够准确地确定深度不连续区域的边缘,并限制区域边缘内的扩散。
而且,由于右摄像头拍摄的图像不包含左摄像头图像最左边边缘信息,用立体匹配方法很难计算出最左边边缘信息。以附图8中的第三个实验为例,比较法计算最左边的书架形状是不正确的,Naive Fusion方法只直接替换最左边视差图上的深度信息。该方法基于测点的融合,利用已知深度信息确定和选择最接近的真深度值,从而解决了这一问题。
实验三(Scene Flow数据集):Scene Flow数据集提供了由各种合成序列呈现的具有足够真实性、变化性和尺寸的立体视频。为了模拟深度传感器,2.5%的地面真实深度被随机抽样作为输入的测量数据,噪声被添加到5%。三种方法的误差率见表3,一些选定的结果见图9。十字臂方法可以有效地利用表面的稀疏深度,如图9第三幅图中的花藤和灌木,从而很好地保留边缘信息。如图9第五列所示,NaiveFusion方法不能通过稀疏深度为汽车和树木区域分配正确的差异,也没有明显地超过SGM的表现。我们提出的方法对汽车和树木区域表现出良好的性能,对猴子的手掌和尾巴区域也是如此。因此,在拟议的方法中,深度数据点向相邻区域的传播产生了更好的表现。
表3
实验四(RealSense数据集):我们实验室使用RealSense D415传感器套件采集图像和深度值,形成数据集,如附图1所示。传感器提供640×360分辨率的深度图和65×40度的视场,立体相机对的基线为55毫米。对其红外辐射图像对进行极坐标校正,并将校正结果作为立体匹配的输入。
由于在数据集中无法采集视差图的地面真实情况,因此定性地展示了三种方法的性能,并选取了部分结果如附图10所示。SGM在均匀纹理(如棋盘和纸板)上的结果并不好,Naive融合比SGM表现更好,但仍然难以填充错误的立体估计。此外,以白墙和椅子深度不连续区域为例,SGM方法不能正确估计墙和椅子深度的差异,Naive融合方法也不能准确估计视差,但该方法在保留边缘信息和识别墙和椅子深度方面表现良好。
最后我们在时间消耗上进行了分析。我们用英特尔i7-9750H CPU在2.60GHz下对每个数据集进行了比较实验。比较方法的耗时统计如表4所示(单位:秒)。从效率的角度来看,与Naive Fusion相比,建议的方法确实平均多花了2.45%的时间。尽管如此,在准确度方面,所提出的方法通过增加很少的计算时间获得了27.3%的准确度。
表4
结果表明,本发明提出的十字臂方法在深度不连续区域的定位精度更高,边缘保持效果更好,特别是在无纹理区域的定位效果更好。
第3.2,结论
本发明提出了一种动态自适应十字臂方法来实现稠密深度估计,该方法融合了来自立体相机对的测量值和来自有源深度传感器的稀疏距离测量值。为了提高估计精度,将测量点分散,使更多的像素点能够匹配真深度值。基于十字臂区域的灰度值与深度值的关系,设计了十字臂窗口,十字臂窗口是一个动态形状的自适应局部支撑区域。在公共数据集和我们自己的数据集上进行的对比实验表明,该方法能够实现准确、鲁棒的稠密深度估计。
Claims (1)
1.一种融合立体视觉和稀疏深度的基于十字臂的稠密深度估计方法,其特征在于包括以下步骤:
第1,融合框架
第1.1,设定代价值
我们使用Census方法来计算每个像素周围的窗口代价,分别得到左右图像中每个像素点的代价向量Icen(x,y)和Jcen(x,y);
X轴和Y轴对应二维图像坐标,Z轴对应视差范围,符号d=1,2,...,DMAX表示同一特征点在左右两幅图像上的水平投影位移,结合极坐标对齐校正算法将两个像素点设置在同一轴线上计算,每个像素点(x,y)的代价值差距d被表示为C((x,y),d),并计算
C((x,y),d)=H(Icen(x,y),Jcen(x,y-d))
这里H(·,·)表示Census位向量对左右图像之间的汉明距离;
第1.2,更新代价值
复合符号((xm,ym),dm)用于表示由主动传感器测量深度值的像素点,这些直接测量的实体被认为是高度可信的点,并用于修改原始代价值,为了更好地利用这些点来改进匹配结果,通过考虑插值和扩散两步来更新像素点的代价值,设((xm,ym),dm)处的代价值为零,对于每个视差空间元素((x,y),d),如果深度测量图中仅存在一个像素点(x,y)=(xm,ym),且dm值也存在,则深度值d为dm,代价更新方程如下
式中di为像素点(xm,ym)的不同视差,di=1,2,...,DMAX;但是,上述操作不足以处理与测量点无关的其他点。为了解决这个问题,插值后,通过扩大每个测量像素点的影响范围,设计了十字臂扩散算法。在该策略中,被测点可以修正对应像素点的代价值,并且能够尽可能多地更新相邻像素点的代价值。具体细节在下一章介绍。
第1.3,代价聚合
采用基于能量最小化的代价聚合方法,更新上述代价值直接作为像素的初始代价值进行代价聚合,扫描线优化选择了8个方向的代价聚合,而不是16个方向,计算包含多个不同方向的聚合代价
其中C′r(·,·)为给定路径r的聚合代价,p表示沿r方向的像素点,p-1表示沿r方向上p之前的点,设置参数P1和P2用于消除误差;
根据常规值选取代价聚合的平滑参数P1和P2的初始值,然后利用相邻像素点的灰度差动态调整P2:
其中P′2为P2的初值,ξ(p,pq)为相邻像素点的灰度差值,在代价聚合后,采用WTA策略进行最终的差异选择;
第2,自适应动态十字臂方法的建立过程
第2.1,结构和生成规则
每个深度数据点通过自适应动态横臂算法扩散到具有相同深度的周围区域,如附图3中的黑色十字臂。附图4提供了自适应动态横臂的详细结构,它从锚像素p向四个方向延伸,由于在小邻域内具有近似灰度的像素点的深度值通常是一致的,因此可以根据相似的灰度强度扩展交叉臂窗口,即根据局部像素特征自适应地确定臂长。四元组{Lp,Rp,Up,BP}表示锚点像素p分别向左、右、上、下方向扩展的最大距离,形成横臂的水平和垂直线段分别用H(p)和V(p)表示。在连通性和相似灰度强度的约束下,通过确定每个臂长的灰度值和最大值,开发了三条规则用于构建交叉臂。
第2.2,传播步骤
基于上述规则,在锚点的每个方向上对一组连续像素执行十字臂搜索。以十字臂向上方向为例,最大跨度Up计算如下:
其中,锚点像素p的坐标为(xp,yp),像素pi坐标为(xp,yp+1),L为预设的最大臂长;表示pi与p的相似度:
ξ(p,pi)表示p与pi之间的灰度差,τ、τ3为极限参数;
设置手臂长度L1和L2的两个限制参数(L2<L1),得到上式中的极限参数τ控制灰度相似度的置信度如下:
其中,ε(p,pi)为pi到p的像素距离,τ1和τ2的值将在下一个实验中给出;
其他三个方向Lp、Rp、BP的十字臂长度也采用与Up相同的方式更新,得到四个方向的横臂长度后,记录每个横臂的显示的水平垂直正交段H(p)和V(p)的信息,可分别计算如下:
然后在每个锚点像素的窗口中对相邻像素进行代价更新
式中(xi,yi)为窗口区域内每个像素点的坐标,与锚点像素坐标(xm,ym)有关,Ψ(HV)为臂十字范围,由上式可知,设置十字臂窗口中像素点的视差值与锚点的视差值相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210797193.2A CN117422749A (zh) | 2022-07-11 | 2022-07-11 | 融合立体视觉与稀疏深度的基于十字臂的稠密深度估计 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210797193.2A CN117422749A (zh) | 2022-07-11 | 2022-07-11 | 融合立体视觉与稀疏深度的基于十字臂的稠密深度估计 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117422749A true CN117422749A (zh) | 2024-01-19 |
Family
ID=89528899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210797193.2A Pending CN117422749A (zh) | 2022-07-11 | 2022-07-11 | 融合立体视觉与稀疏深度的基于十字臂的稠密深度估计 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117422749A (zh) |
-
2022
- 2022-07-11 CN CN202210797193.2A patent/CN117422749A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ishikawa et al. | Lidar and camera calibration using motions estimated by sensor fusion odometry | |
CN106780590B (zh) | 一种深度图的获取方法及系统 | |
US9420265B2 (en) | Tracking poses of 3D camera using points and planes | |
US9330504B2 (en) | 3D building model construction tools | |
US6671399B1 (en) | Fast epipolar line adjustment of stereo pairs | |
US10477178B2 (en) | High-speed and tunable scene reconstruction systems and methods using stereo imagery | |
CN108010081B (zh) | 一种基于Census变换和局部图优化的RGB-D视觉里程计方法 | |
US10288425B2 (en) | Generation of map data | |
CN109579825B (zh) | 基于双目视觉和卷积神经网络的机器人定位系统及方法 | |
CN103106688A (zh) | 基于双层配准方法的室内三维场景重建方法 | |
CN110796691B (zh) | 一种基于形状上下文和hog特征的异源图像配准方法 | |
CN113256698B (zh) | 一种具有深度预测的单目3d重建方法 | |
Li et al. | Dense surface reconstruction from monocular vision and LiDAR | |
JP2001067463A (ja) | 異なる視点からの複数のフェイシャル画像に基づき新たな視点からのフェイシャル画像を生成するフェイシャル画像生成装置及び方法並びにその応用装置及び記録媒体 | |
CN113393577B (zh) | 一种倾斜摄影地形重建方法 | |
CN111998862A (zh) | 一种基于bnn的稠密双目slam方法 | |
CN116129037B (zh) | 视触觉传感器及其三维重建方法、系统、设备及存储介质 | |
US8340399B2 (en) | Method for determining a depth map from images, device for determining a depth map | |
Wan et al. | A study in 3D-reconstruction using kinect sensor | |
CN116188558A (zh) | 基于双目视觉的立体摄影测量方法 | |
CN105339981B (zh) | 用于使用一组基元配准数据的方法 | |
CN113642397A (zh) | 一种基于手机视频的物体长度测量方法 | |
Le Besnerais et al. | Dense height map estimation from oblique aerial image sequences | |
Coorg | Pose imagery and automated three-dimensional modeling of urban environments | |
CN111197976A (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 |