1、第 卷 第期 年 月成都工业学院学报 ,:收稿日期:基金项目:湖南省自然科学基金资助项目();湖南省教育厅项目();湖南省三维重建与智能应用技术工程研究中心项目()第一作者简介:刘子濠(),男,在读硕士研究生,研究方向:立体视觉。通信作者简介:曾毅(),男,在读硕士研究生,研究方向:深度学习,电子邮箱:。结合超像素分割和多尺度的快速半全局立体匹配算法刘子濠,郭龙源,王 琼,赵业涛,唐 峰,曾 毅,(湖南理工学院.信息科学与工程学院;.机器视觉与人工智能研究中心,湖南 岳阳)摘要:半全局立体匹配算法采用最大视差范围进行搜索,有较大冗余。为提高算法的效率,提出一种结合超像素分割和多尺度的快速半全局
2、立体匹配算法。首先获得原图 大小的视差图;其次,结合原图像超像素分割结果,计算每个分割块的平均视差,并在平均视差基础上设置上下阈值,作为该分割区域所有点的视差搜索范围。这样,既减少了视差搜索范围,也保证了搜索结果的精度;同时,为降低原始视差图误匹配率,在计算弱纹理区域的聚合值时,叠加了下采样层对应区域的聚合值。弱纹理区域是根据超像素分割区域的灰度直方图确定的;最后,在已缩小的搜索范围内,根据代价最小原则获得最终的视差。实验结果表明:该方法在保证视差精度的前提下,计算复杂度大幅降低,计算时间缩短为原来的。关键词:多尺度;超像素分割;立体匹配;视差搜索范围中图分类号:文献标志码:文章编号:(),(
3、.;.,):,;,;,:;半全局匹配(,)算法由首先提出,采用了全局匹配算法中最优化能量函数的思想,即寻找每个像素的最优视差来使得整张图像的全局能量函数最小。但和全局算法相比计算成本较低,在精度和效率上有较好的平衡。算法广泛应用于 地图、机器人和无人机导航以及辅助导航驾驶等领域。算法高效且可并行化,适用于现场可编程门阵列和图形处理单元上的实时立体重建。多年来,一些学者对 算法做了改进,等的立体匹配算法成都工业学院学报:第 卷(,)将基于扫描线的星形支撑区域替换为基于“区域”的支撑区域,使支持区域的感知更丰富,提高了匹配精度;的,通过由粗到细的方式进行匹配,提高了匹配的速度。利用边缘检测来提升匹
4、配精度。王旭初等融合多尺度的局部特征对立体匹配算法进行改进。虽然经过改进后半全局的匹配精度已经比较高,但随着人们对算法实时性要求的不断提高,算法匹配时间随着分辨率增加呈指数增加,对分辨率大的图像难以达到实时计算。并且图像的分辨率随着相机技术的发展而不断提高,这使得立体匹配算法计算量和需要的内存也大大提高;同时,视差搜索范围也会不断增大,使计算量增加的同时,误匹配率也上升了。所以本文结合超像素分割和多尺度信息来减小视差搜索范围,让视差搜索更准确。在局部匹配中,匹配窗口的选择至关重要。过大的窗口会使计算量加大,过小的窗口则匹配效果不好,尤其是对于弱纹理区域,弱纹理区域指的是特征不明显的区域(如大片
5、的白墙,万里无云的天空),弱纹理区域像素相似度很高,使用较小的窗口难以获得足够的匹配信息,容易产生误匹配。事实上想提高弱纹理区域最有效的办法就是扩大匹配窗口,使窗口内的信息量增加,减少错误匹配的概率。所以本文对于弱纹理区域,利用多尺度信息来提高匹配精度。当计算弱纹理区域的聚合值时,叠加了下采样层对应区域的聚合值。通过实验,对改进后的半全局算法和原半全局算法进行比较,本文的算法能够有效提升立体匹配算法的计算效率,提升匹配精度。快速半全局立体匹配算法.算法概述本文的基本思路是:首先对图像进行超像素分割和下采样,用 算法计算下采样图像的视差再上采样到原图像大小作为初始视差图;然后利用超像素分割,对分
6、割块内像素对应初始视差图的视差求平均作为该超像素块的平均视差,并在平均视差基础上设置上下阈值,得到该分割块内所有点的视差搜索范围;在此视差搜索范围内,采用 算法获得所有点的视差。最后,对每个分割块做灰度直方图分析,将每个分割块分成弱纹理区域和非弱纹理区域,对于弱纹理区域进行视差优化,计算得到最终视差值。本文算法如图 所示。图 快速半全局立体匹配算法示意图 超像素分割是图像分割的一种类型,能够将图像按照像素点的相似程度分割成多个子区域,每个分割块被称为 个超像素。超像素是超越像素的表现形式,同一分割块内的像素点具有相似纹理、颜色、亮度等特征,超像素块内像素点位置和特征都相近,位置和特征都相近的区
7、域视差值比较接近,在进行立体匹配时,可以先算出超像素分割块的部分视差值,其他点的视差搜索范围由已算出的部分视差值确定。简单线性迭代聚类(,)算法是一种超像素分割算法,它的优点是生成的超像素紧凑整齐,领域特征容易表达,并且运行速度快,比较实用。同时,高分辨图像的细节比较丰富,缺点是在同一大小的窗口下信息量较小,所以在一些弱纹理区域,误匹配率高。低分辨图像则相反,弱纹理区域得到压缩,使窗口内信息量增大,有利于弱纹理区域的 年第 期刘刘子子濠濠,等等:结结合合超超像像素素分分割割和和多多尺尺度度的的快快速速半半全全局局立立体体匹匹配配算算法法匹。所以对于弱纹理区域,在视差优化阶段,可以叠加小尺度的聚
8、合值,以降低误匹配率。.生成多尺度图像图像金字塔是对原始图像按照设定的级数进行逐层降采样,通常设定每层的分辨率是上层的,可以得到同一图像的不同分辨率表达形式。分辨率较低的位于金字塔上层,分辨率较高的位于金字塔下层,采样时使用高斯降采样,可以提高算法的抗噪性。对左右图像采用高斯金字塔变换,生成高斯金字塔,金字塔从底层至顶层有 层,分别为,则,;(,)(,)(,)。()式中:,是左右图金字塔的第 层,;(,)为高斯滤波窗口函数;,为第 层的高和宽。.超像素分割为了得到图像的超像素分割信息,对图像用 算法进行超像素分割。先将图像由 空间转为 空间,空间是由亮度,从红色至绿色的范围,从黄色至蓝色的范围
9、 组成,可以在数字图像的处理中保留尽量宽阔的色域和丰富的色彩;接着,初始化聚类中心,在种子点的 的领域内重新选择种子点,为每个种子点领域内的像素点分配标签;再进行距离度量的计算,对于每个搜索到的像素点,分别计算它和该种子点的距离:()();()()()。()式中:,是图像的 色彩空间值;是颜色距离;是空间距离。假设图片总共有 个像素点,预分割为 个相同尺寸的超像素,那么每个超像素的大小为 ,类内最大空间距离 ,取一个常数,得到最终的距离度量:。()期望的超像素尺寸是,标准的 算法是在整幅图像中搜索,的搜索范围是,如图 所示。能够减少算法的计算量,这也是 算法效率高的原因。每个像素周围有多个种子
10、点,会被进行多次搜索,利用该像素和种子点的距离,让距离最小的种子点成为该像素的中心点;之后对全图像的像素进行同样的处理,并进行多次迭代优化,实践证明循环迭代 次时,大部分图片都可以得到不错的效果。图 与 算法搜索区别经过循环迭代后,还会出现单个超像素过小(像素数量小于 个)的问题,单个超像素被分割成多个不连续超像素等,可以用连通性增强来处理,将不连续的超像素和尺寸过小的超像素分配给距离最近的超像素。选择合适的参数(为预生成超像素块数量,为图像每个维度的预处理的高斯平滑核的宽度),可以得到符合需求的分割结果,图 可以看出分割块的个数越多,对边缘的拟合越好,分割的效果也就越好。原图 图 时,迭代
11、次 超像素分割结果.结合超像素分割的由粗到细的匹配利用图像金字塔得到了对双目图像对的不同分辨率表达后,进行匹配时,从最顶层的低分辨率开始匹配,用 算法得到初始匹配的结果;再对其进成都工业学院学报:第 卷行上采样到原图像大小得到初始视差图 (,);依据原图像的超像素分割区域和初始视差图,对每个分割区域的初始视差结果求平均,得到每个分割块的平均视差,再加上 个上下阈值(,)作为该分割块内每个像素的视差搜索范围,为一个小的常数。这样最初的视差搜索被限制在最小分辨率图像上进行,而低层的大分辨率的搜索范围为上层传递下来的初值附近,计算复杂度降低,提高了算法的效率。为直观展示搜索范围的变化和对最终视差的影
12、响,现以 图像的某像素为例,图像金字塔的层数设为 层。如图 所示,纵坐标是匹配代价,横坐标是视差值。半全局算法需要在最大视差范围内()计算代价值。而根据本文的方法,在平均视差 确定后,只需要计算 个像素的匹配代价,图 中 条虚线之间的范围。计算量大幅降低。同时,由图 可见,匹配代价的最低值依然在这个缩小的范围内,说明匹配的精度也是有保障的。图 本文方法确定的视差搜索范围和最大视差对比.视差优化对一小块区域进行灰度直方图进行分析,发现弱纹理区域灰度值比较集中,非弱纹理区域比较分散。根据这一特征,计算每个分割块内像素灰度值的方差,将方差小于固定值 的区域判别为弱纹理区域,反之为非弱纹理区域。()(
13、)。()对于弱纹理区域,融合上一层图像对应位置的聚合值,如在某一层图像对应位置的聚合值为,则最终聚合值 为:(,)。()对于非弱纹理区域直接用原图像的聚合值。得到非弱纹理区域和弱纹理区域的聚合值后,对图像中每个像素的匹配代价使用局部优化(,)策略选取最小匹配代价对应的视差值为最终视差。实验与结果分析.实验平台本文算法基于 开发,在()().,的设备上进行运行测试,基础算法为 算法。本文算法在立体匹配常用的 立体视觉图片库上进行测试,含有 组室内图像,每组图像有高中低 种分辨率,并且提供了由结构光相机生成的视差图作为真实视差图,为了验证本文算法的有效性和可行性,将从定量和定性 个方面进行分析。.
14、立体匹配算法的评价标准由于遮挡区域没有有效的视差信息,采用非遮挡条件下的误匹配率(,)来进行实验结果的衡量。与真实视差图相差大于 个像素距离被视为错误匹配的像素,表示错误匹配的像素和非遮挡图像像素的比值,即(,)(,)(,)。()式中:为所有非遮挡像素的数量;为通过算法计算该位置像素点的视差值;为该位置真实视差值;为阈值,目前 有.,.,.,.等多种取值,本文选用.。越小说明匹配错误的点越少,算法的准确度越高。.实验结果分析.实验结果定性分析图 为本文算法在 数据集上的结果,为了突出本文算法和原 算法的区别,选取的图片为最高分辨率的 图像。由图 可知,本文算法生成的视差图更好。所得的视差图更接
15、近真实视差图。逐行对比图 的结果可知,算法对弱纹理 年第 期刘刘子子濠濠,等等:结结合合超超像像素素分分割割和和多多尺尺度度的的快快速速半半全全局局立立体体匹匹配配算算法法区域生成的视差图效果差,而本文算法通过添加多尺度信息和超像素分割,让视差搜索范围更加精准,并且结合多尺度的聚合值,所以本文算法在弱纹理区域上有更好的效果。()原始图像()超像素分割()真实视差()结果()本文算法结果图 匹配效果对比.实验结果定量分析为确定超像素参数对误匹配率的影响,选取不同的超像素分割数量进行实验,如图()所示,随着分割块的增多,匹配的精度越来越高,并且随着分割块的增多,分割所需要的时间没有明显增加,如图(
16、)所示。()超像素分割块的数量与误匹配率关系()超像素分割的数量与分割时间关系图 超像素数量对立体匹配效果的影响为了从原理层面分析本文算法复杂度降低的原因,以分辨率为 的 为例,分别是图像的宽、高和默认视差搜索范围,默认视差范围 为,此处顶层的视差搜索范围阈值设为,图片下采样 次,小尺度的分辨率为原图像的成都工业学院学报:第 卷,算法的复杂度为()。本文算法的复杂度为 。本文算法的复杂度远远小于原算法的复杂度,图像的分辨率越大,本文算法的优势越大。在双目相机确定的情况下,重合区域所占像素和宽度的图像成正比,图 是原 算法和本文算法在代价聚合时所需要搜索的像素宽度随着图像宽度变化的情况。图 本文算法和 算法视差搜索范围与图像宽度的变化为了确定本文算法在运行时间、所用内存、降低弱纹理区域误匹配的优越性,利用 算法和添加超像素分割和多尺度优化后的本文算法进行定量对比分析。从实验对比结果可以看出,本文算法与 算法相比,计算效率提升明显,对于同一张图片,对 改进后只需要 算法的 时间,在同一条件上 算法和本文算法计算时间比较如表 所示。表 不同算法的计算时间比较算法计算时间.本文.并且由于精确的