基于像素类别优化的PatchMatch立体匹配算法 下载: 1049次
1 引言
双目立体匹配技术作为三维重建研究领域的核心技术之一,已广泛应用于无人驾驶、机器人导航定位、增强/虚拟现实、物体识别与跟踪、地理信息系统(GIS)等领域[1]。在正向平行表面的视差一致性假设下(窗口内视差相等),对于在斜面及曲面区域的视差计算,传统匹配算法会产生阶梯效应。针对这一问题,Bleyer等[2]提出了基于3D标签的倾斜窗口假设(窗口内视差值存在渐变),利用PatchMatch(patch match)[3]算法中图像修复的思想来解决立体匹配中视差问题,通过对像素点3D标签分别进行随机初始化、邻域传播、左右视图传播、随机搜索以及平面细化等来估计视差,并将该方法称为PMS(patch match stereo)。3D标签相对于单一视差值,增加了像素点的切平面法向量信息,更能表征像素点所在平面的空间信息。但采用PatchMatch算法进行立体匹配时存在以下问题:1)随机对每个像素点进行参数初始化,初始化过程并不能保证每个像素都有一个几何意义下可行的视差平面参数;2)平面细化过程使用Luus和Jaakola[4]提出的优化方法来最小化代价函数,并不能保证找到代价的局部最小值;3)受代价函数或能量函数的限制,该方法不能有效解决弱或无纹理区域的错误匹配。
不同学者针对这些问题提出了不同的立体匹配解决方案。Besse等[5]将PMS算法和粒子置信传播算法整合到统一的结构下,提出了一种基于置信传播BP(belief propagation)的加速全局立体匹配算法(PMBP)。该方法在BP框架下将粒子采样标签更新和PatchMatch算法的邻域传播相融合解决了连续性标签处理问题。同时,该方法在PMS算法的代价函数基础上,考虑邻域平面的平滑项约束构造能量函数,得到了比PMS算法更准确的视差,但BP作为优化算法会陷入局部极小值。Lu等[6]提出的PMF(patch match filter)算法采用超像素作为匹配单元代替PMS算法中的固定尺寸窗口,在代价函数中引入由粗到精的尺度一致性约束关系以缓解无纹理区域中的错误匹配,并通过在PMS标签搜索策略中增加一种有效的超像素相似性计算方案来搜索候选标签。该方法比PMS算法的运行速度快,但在能量函数中无正则化约束视差平滑变化。Heise等[7]提出的PM-huber算法将PatchMatch随机搜索环节同Huber算子约束的显式变分平滑方法相结合,构建能量函数的视差约束平滑项,并在PMS视差标签初始化时,根据经验限定标签取值范围,该方案相对于PMF能获得较好的精度。Li等[8]提出的PMSC(PatchMatch-based superpixel cut)算法步骤为:1)利用超像素单元构建顶层匹配代价,以Žbontar等[9]提出的卷积神经网络(CNN)方法计算得到的像素块相似度作为底层代价,并将两层代价进行组合以构建匹配能量函数,同时将基于曲率的二阶平滑项用于视差平滑;2)在视差优化过程中,在超像素间使用PatchMatch算法更新当前超像素区域标签,在超像素内利用GC(graph cut)[10]优化每一像素点的最优标签值;3)融合超像素块标签和像素点标签以获得最终视差图。由于利用GC算法在节点间的优化可同步改善连接节点状态,因此该方案可有效地减少图像在弱/无纹理区域的误匹配。不同于PMSC算法,Li等[11]提出的3DMST(3D minimum spanning tree)匹配方案的步骤为:1)采用分割树分割[12]代替超像素分割,将图像分成多个最小生成树图结构;2)使用Yang[13]提出的代价聚合方法计算每个MST上像素点的匹配代价值;3)基于PatchMatch算法优化每个MST标签状态,并求解像素点标签。该方案进一步降低了图像在无纹理区域的匹配错误率。Taniai等[14]提出的局部扩展移动优化算法LocalExp与PMSC、3DMST算法的整体思想相似,但存在几点区别:1)构造由小到大的多尺寸规则窗口金字塔模型,在不同尺寸的窗口内计算匹配代价,进行标签传播;2)针对每一个窗口单元构造扩散区域用于PatchMatch的空间传播,构造滤波区域用于基于快速代价滤波的代价聚合方法中,求取粗略视差值;3)利用GC优化更新细化局部窗口内像素点的标签。目前该方法的结果在Middlebury网站上排名前列。
虽然上述匹配算法针对PatchMatch算法的局限性给出了不同的解决方法,但这些方法仍不能较好地解决图像中无纹理和弱纹理区域的误匹配问题。针对这一问题,本文基于LocalExp算法提出了一种新的基于像素分类的立体匹配解决方案。
2 基本原理
LocalExp算法的流程如下:1)随机初始化图像的3D标签图,为每个像素点
1) 提出一种能够提取更多局部窗口用于计算像素点匹配代价和共享标签的交叉窗口模型,将颜色内相关性信息作为权重构建因素,在局部窗口内对匹配代价进行多维权重滤波运算,构建能量函数;同时,用Geman-McClure函数[15]代替传统的截断函数处理异常值,以保证初始代价值的稳定与平滑。
2) 采用具有约束信息的视差标签初始化方法(IPMS),使初始化视差标签值更合理有效。
3) 根据像素分类信息改进LocalExp算法标签建议机制,即在迭代过程中通过多种机制生成候选标签集合用于迭代更新视差标签。
4) 在像素点视差值优化处理方面,设计了一种基于像素分类的视差优化方法,利用交叉线搜索同标签下可靠的视差标签对图像弱纹理和无纹理区域中的视差误匹配点进行错误填充;采用最近邻域填充方法对边缘、纹理区域以及遮挡区域中的错误点进行填充。
2.1 多维权重能量函数
利用在PairwiseMRF模型下定义的最小化能量函数来估计像素点的3D视差标签。能量函数表达式为
式中:
式中:
其中
利用由颜色分量、图像水平和垂直梯度分量组合的相似度函数
由颜色分量、图像水平和垂直梯度分量组合的相似度函数
式中:
表示的约束函数替代线性截断函数,当代价值
图 2. Geman-McClure函数不同参数对比曲线
Fig. 2. Comparison curves for different parameters of Geman-McClure function
能量函数中用于约束视差变化的平滑项
式中:
相对于LocalExp,本文将颜色内相关性分量
式中:
式中:
式中:
2.2 局部优化窗口模型
2.2.1 交叉窗口
在LocalExp中设定网格大小将图像分割成网格区域
图 3. 分组索引。(a)图像细胞索引分组;(b)局部扩张区域
Fig. 3. Grouping index. (a) Image cell index groups; (b) locally extended region
受局部立体匹配中多窗口和自适应窗口思想的启发,提出一种交叉窗口模型以获取更多局部特性窗口。相对于LocalExp的窗口模型,本文模型中心窗口的滑动距离小于细胞单元尺寸大小,即保留相连细胞单元的部分区域作为新细胞的中心区域。新中心区域与原细胞区域存在局部信息交叉,故称交叉窗口。
图 4. 交叉窗口。(a)不同分组的扩展区域;(b)局部图像区域
Fig. 4. Cross windows. (a) Expansion regions for different groups; (b) local image region
图 5. 交叉窗口与原窗口方案在测试图像上的错误匹配率
Fig. 5. Error matching rates of cross window and original method on test images
2.2.2 窗口标签初始化
基于PatchMatch算法的匹配算法流程如下:1)初始化窗口内像素点标签;2)在每次迭代过程中,在窗口间对标签进行空间传播和随机搜索,通过判断窗口在当前标签下的能量函数增减性来改变窗口内像素的视差分布。算法迭代收敛速度取决于初始化过程的随机3D标签,随机数值越可靠,算法收敛速度越快。所以,初始化阶段是重要组成部分。本文替换LocalExp中视差标签初始化方式,采用Ahmed等[18]提出的增加约束原则的PatchMatch推理方法IPMS,该方法建立窗口内的像素点所在视差平面法向量、视差范围以及窗口内视差分布关系,给出可靠的初始化标签以加速收敛速度。
IPMS中给出了两种初始化约束手段:
1) 左右视图下视差可见性约束原则。根据射影变换关系
建立左视图
2) 在窗口内的视差约束。基于中心点
式中:
将(13)式代入(12)式中可得
式中:
求解(12) ~(16)式可得
即获取左视图像素点
式中:
2.3 基于像素类型的迭代优化
2.3.1 像素分类器
像素分类器由Meanshift分类器
式中:
式中:
图 6. 多分类信息图。(a) Plastic;(b) Meanshift;(c) SNIC;(d)纹理结构图
Fig. 6. Multi-category graphs. (a) Plastic; (b) Meanshift; (c) SNIC; (d) texture structure graph
2.3.2 基于像素分割类的标签生成机制
利用2.3.1节的Meanshift和SNIC像素分类先验知识和PatchMatch算法优化原理,改进了LocalExp算法的标签生成机制:
1) 传播机制。在局部窗口的中心区域的对角线上选取1~2个像素点的3D标签,加入更新候选标签集合。
2) 局部最优标签机制。利用局部随机一致性算法(LO-RANSAC)[21]拟合局部最优视差平面参数,并将该参数加入到候选标签集合中。
3) 基于像素分类的标签机制。在像素分类集合
4) 视图传播机制。选取在其他视图下对应区域的有效视差标签加入到候选标签集合中。
5) 随机扰动细化机制。对当前窗口内选取的一个标签量增加归一化的扰动量,细化标签值,直至扰动量足够小,并将扰动标签加入候选标签集合中。
式中:
图 8. 对比改进标签生成机制和原方法在一次迭代后的错误率
Fig. 8. Comparison of error rates between improved generation mechanism and the original method in one iteration
2.3.3 基于像素分割、纹理及一致性分类的视差优化
从
图 9. 填充方法。(a)纹理区域;(b)弱纹理分区域。红色为稳定点,黑色为不稳定点,白色为剔除点
Fig. 9. Filling methods. (a) Texture region; (b) texture-less region. Red regions represent stable points, black regions represent unstable points, and white regions represent culling points
图 10. 迭代优化过程。(a) LocalExp;(b)提出的算法
Fig. 10. Iterative optimization process. (a) LocalExp; (b) proposed algorithm
2.4 算法流程
3 实验结果及分析
实验环境为:Windows 7,64位系统,Intel(R) Core(TM)i5-3210M,CPU主频为2.50 GHz,4核,内存为8 GB。为了验证本文算法对无/弱纹理区域的适用性与准确性以及纹理丰富区域的通用性,实验数据采用Middlebury大学的立体视觉数据库中Midd2003 Datasets、Midd2006 Datasets。该数据集含有真实的视差数据,可用于衡量算法的误差精度,以及有效验证算法的正确性。本文实验参数为
图 13. 几种全局PatchMatch算法的视差图(匹配错误率大于1 pixel的点用红色显示)。(a) Image;(b) PMBP;(c) SPM-BP;(d) GCLSL;(e) PMSC;(f) LocalExp;(g) proposed
Fig. 13. Disparities of some global PatchMatch algorithms (points with error matching rate greater than 1 pixel are shown in red). (a) Image; (b) PMBP; (c) SPM-BP; (d) GCLSL; (e) PMSC; (f) LocalExp; (g) proposed
表 1. 几种基于PatchMatch优化的匹配算法在Midd2006数据集中非遮挡区域的匹配结果(阈值为1 pixel,最好的实验结果用粗体显示)
Table 1. Matching results of some PatchMatch based stereo algorithms in Midd2006 datasets with nonocc regions (threshold is 1 pixel, and the best results are shown in bold)
|
表 2. 本文算法与LocalExp在 Midd2003数据集的错误率对比(阈值为0.5 pixel)
Table 2. Comparison of error rates between proposed method and LocalExp on Midd2003 datasets (threshold is 0.5 pixel)
4 结论
提出一种基于像素类别优化的全局匹配算法。与多种相近算法比较,本文算法在Midd2006图像数据集上取得了最低的平均错误匹配率,相对于LocalExp算法降低了9.07%,而且在存在大量无纹理区域图像Midd1、Plastic上取得了最低的误匹配率,实验验证以下结论:本文算法能够有效改善图像中弱纹理和无纹理区域的误匹配问题。但本文算法还存在一些不足:1)利用不同分类方法构建图像中像素点的类别信息,其作为一种人工设计的方法,对不同分割方法的准确性依赖较大;2)由于迭代过程中加入视差优化算法,运行比LocalExp耗时。在接下来的工作中,将研究以深度学习和传统方法相结合的方式获取可靠的全局像素信息,以提升匹配算法精确度并进一步缩短算法的运行时间。
[1] 马瑞浩, 朱枫, 吴清潇, 等. 基于图像分割的稠密立体匹配算法[J]. 光学学报, 2019, 39(3): 0315001.
[2] BleyerM, RhemannC, RotherC. PatchMatch stereo-stereo matching with slanted support windows[C]∥Procedings of the British Machine Vision Conference 2011, August 29-September 1, 2011, Dundee.Durham: BMVA Press, 2011: 14.
[6] Lu JB, Yang HS, Min DB, et al. Patch match filter: efficient edge-aware filtering meets randomized search for fast correspondence field estimation[C]∥2013 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 23-28, 2013, Portland, OR, USA. New York: IEEE, 2013: 1854- 1861.
[7] HeiseP, KloseS, JensenB, et al. PM-huber: PatchMatch with huber regularization for stereo matching[C]∥2013 IEEE International Conference on Computer Vision (ICCV), December 1-8, 2013, Sydney, NSW, Australia. New York: IEEE, 2013: 2360- 2367.
[13] Yang QX. A non-local cost aggregation method for stereo matching[C]∥2012 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 16-21, 2012, Providence, RI, USA. New York: IEEE, 2012: 1402- 1409.
[17] OlssonC, UlénJ, BoykovY. In defense of 3D-label stereo[C]∥2013 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 23-28, 2013, Portland, OR, USA. New York: IEEE, 2013: 1730- 1737.
[20] AchantaR, SüsstrunkS. Superpixels and polygons using simple non-iterative clustering[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 4895- 4904.
[21] ChumO, MatasJ, KittlerJ. Locally optimized RANSAC[M] ∥Michaelis B, Krell G. Lecture notes in computer science. Berlin, Heidelberg: Springer, 2003, 2781: 236- 243.
[22] LiY, Min DB, Brown MS, et al. SPM-BP: sped-up PatchMatch belief propagation for continuous MRFs[C]∥2015 IEEE International Conference on Computer Vision (ICCV), December 7-13, 2015, Santiago, Chile. New York: IEEE, 2015: 4006- 4014.
[23] TaniaiT, MatsushitaY, NaemuraT. Graph cut based continuous stereo matching using locally shared labels[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 23-28, 2014, Columbus, OH, USA. New York: IEEE, 2014: 1613- 1620.
高雅昆, 刘涛, 李海滨, 张文明. 基于像素类别优化的PatchMatch立体匹配算法[J]. 光学学报, 2019, 39(7): 0715006. Yakun Gao, Tao Liu, Haibin Li, Wenming Zhang. Stereo Matching Algorithm Based on Pixel Category Optimized PatchMatch[J]. Acta Optica Sinica, 2019, 39(7): 0715006.