技术领域
[0001] 本
发明涉及立体影像密集匹配技术领域,具体涉及一种基于置信权重双边滤波的密集匹配方法。
背景技术
[0002] 立体影像密集匹配指根据
像素相似性测度和代价优化方法,逐像素地匹配出两幅影像之间同名点的过程。立体影像密集匹配是
三维建模、
虚拟现实、
计算机视觉等领域的核心技术之一,能够用于无人自动驾驶、无人机自动巡航、3D地图、3D打印、智慧城市、
机器人双目视觉、虚拟电商等应用。
[0003] 传统的立体影像密集匹配技术均采用窗口算子作为匹配代价测度。常采用的窗口算子包括Sobel算子、ZNCC算子、HOG算子、Census算子等。窗口算子的
算法简单、计算效率高,具有一定地抗影像
辐射畸变的能
力。但是,窗口算子总是假设窗口内所有像素的
视差一致。在视差边缘区域(如
建筑物边缘、电线杆边缘、物体外轮廓等等),往往不满足这种假设。如果采用窗口算子进行密集匹配,很容易在视差边缘产生误匹配,具体表现为视差边缘“毛刺”现象严重,视差边缘过度平滑等等。视差边缘的误匹配会严重影响三维模型的重建
精度和三维显示效果。
发明内容
[0004] 本发明的目的在于提供一种基于置信权重双边滤波的密集匹配方法,该方法在传统立体影像密集匹配方法的
基础上,充分利用边缘灰度特征明显的优势,提出一种基于置信权重双边滤波方法,对匹配代价矩阵进行滤波,能够在视差边缘取得高精度的匹配结果,解决目前窗口算子普遍存在的视差边缘误匹配问题。
[0005] 为解决上述技术问题,本发明所设计的基于置信权重双边滤波的密集匹配方法,其特征在于,它包括如下步骤:
[0006] 步骤1在立体影像中,选择基准影像和参考影像,采用传统的窗口算子作为测度,采用以下方法计算基准影像上每个像素的匹配代价,组成代价矩阵;
[0007] 设基准影像为Ib,参考影像为Ir,M表示窗口算子,令p表示基准影像上的像素;q表示参考影像上的像素,则基准影像上每个像素的匹配代价表示为:
[0008]
[0009] 式1中,Cost(p)表示像素p对应的匹配代价; 表示作用在基准影像Ib上的窗口算子; 表示作用在参考影像Ir上的窗口算子;依次计算参考影像上每个像素的匹配代价,组成代价矩阵;
[0010] 步骤2:根据基准影像上,每个像素对应的代价窗口内所有像素的灰度分布,采用如下方法判断像素代价的可靠性;
[0011] 如果像素对应的代价窗口内,所有像素灰度一致,则该像素为代价可靠像素;如果像素对应的代价窗口内,所有像素的灰度有一个不一致,则该像素为代价可疑像素,对基准影像上,对每个像素进行代价可靠性的判断,将整张影像的像素归纳为两个集合:代价可靠像素组成的集合QH,以及代价可疑像素组成的集合QN,如下式所示:
[0012]
[0013] 式2中,p表示基准影像上的像素;t表示像素p的邻域像素;Nw表示像素p的邻域,Nw的大小由代价计算窗口决定;QH表示代价可靠像素组成的集合;QN表示代价可疑像素组成的集合;符号 表示任意的意思;符号 表示存在的意思;C表示灰度
阈值;∩表示交集符号,if表示如果;
[0014] 步骤3:对代价可疑像素集合QN中的每个像素进行基于置信权重的双边滤波,得到新的匹配代价cost'(p);
[0015] 为了提高视差边缘区域的匹配精度,必须对代价可疑像素集合QN中的每个像素进行基于置信权重的双边滤波,具体过程为:遍历代价可疑像素集合QN中的每个像素,以当前像素为中心,定义双边滤波窗口,双边滤波窗口的窗口大小决定了中心像素的邻域范围,根据邻域像素的可靠性,定义权值w1,根据滤波窗口中心像素和邻域像素之间的灰度差,定义权值w2;根据权值w1和w2,对中心像素进行双边滤波,得到经过双边滤波后的匹配代价,如下式所示:
[0016]
[0017] 式3中,cost'(p)表示中心像素经过双边滤波后的代价;Np表示像素p的邻域,Np的大小由双边滤波窗口决定;w1(q)表示根据像素q的可靠性定义的权值;w2(p,q)表示根据像素p和q的灰度差计算出来的权值;Cost(q)表示像素q的原始匹配代价;QN表示代价可疑像素组成的集合;
[0018] 权值w1(q)根据像素q的可靠性来计算,如下式所示:
[0019]
[0020] 权值w2(p,q)根据像素p和q的灰度差来计算,如下式所示:
[0021] w2(p,q)=exp(-|Ib(p)-Ib(q)|/σ) (5)
[0022] 式5中,Ib表示基准影像;Ib(p)表示像素p的基准影像;Ib(q)表示像素q的基准影像;exp表示指数函数;σ表示灰度平滑因子;
[0023] 步骤4:根据基于置信权重双边滤波后新的匹配代价cost'(p),采用传统的半全局密集匹配方法(见参考文献,Stereo Processing by Semi-Global Matching and Mutual Information),获得精确的密集匹配视差图。
[0024] 本发明的有益效果:
[0025] 本发明的双边滤
波速度快,能够有效消除传统立体影像密集匹配算法中普遍存在的视差边缘误匹配问题。采用本发明的方法生成的密集匹配视差图中,视差边缘的匹配精度高,线特征明显,三维显示效果好。本发明能够为数字摄影测量与遥感、计算机视觉、虚拟现实、公共工程安全、国防建设等学科和应用提供技术服务。
附图说明
[0027] 图2为灰度边缘区域代价计算示意图;
[0028] 图3为传统密集匹配算法结果示意图;
[0029] 图4为基于置信权重双边滤波的密集匹配算法结果示意图。
具体实施方式
[0030] 以下结合附图和具体
实施例对本发明作进一步的详细说明:
[0031] 本发明针对传统立体影像密集匹配方法中普遍存在的视差边缘误匹配问题,提出了一种基于置信权重双边滤波的密集匹配方法,该方法能够有效解决上述视差边缘误匹配问题,获取高精度地边缘重建结果。本发明的工作流程如图1所示,它包括如下步骤:
[0032] 步骤1在立体影像中,选择基准影像和参考影像,采用传统的窗口算子作为测度,采用以下方法计算基准影像上每个像素的匹配代价,组成代价矩阵;
[0033] 设基准影像为Ib,参考影像为Ir,M表示窗口算子,令p表示基准影像上的像素;q表示参考影像上的像素,则基准影像上每个像素的匹配代价表示为:
[0034]
[0035] 式1中,Cost(p)表示像素p对应的匹配代价; 表示作用在基准影像Ib上的窗口算子; 表示作用在参考影像Ir上的窗口算子;依次计算参考影像上每个像素的匹配代价,组成代价矩阵;
[0036] 传统的窗口算子有很多种,包括Census算子、Sobel算子、ZNCC算子、HOG算子等,这些算子均能够取得一个较好的匹配结果,但是都不可避免地在视差边缘区域产生误匹配问题,这些窗口算子的具体公式,可以参见文章《Evaluation of stereo matching costs on Images with radiometric differences》;
[0037] 步骤2:根据基准影像上,每个像素对应的代价窗口内所有像素的灰度分布,采用如下方法判断像素代价的可靠性;
[0038] 视差边缘往往在影像上具有明显的灰度特征。如果代价窗口位于视差边缘区域,则代价窗口内像素的灰度会出现明显的变化;否则,如果代价窗口不位于视差边缘区域,则代价窗口内像素的灰度会一致,因此,本发明定义:如果像素对应的代价窗口内,所有像素灰度一致,则该像素为代价可靠像素;如果像素对应的代价窗口内,所有像素的灰度有一个不一致,则该像素为代价可疑像素,如图2所示。
[0039] 图2中,每一个方格代表像素,方格的背景代表像素灰度。定义代价计算窗口为3×3大小,则像素q的代价计算窗口完全落入灰度同质区域内,可以认为像素q是代价可靠像素;而像素p位于灰度边缘区域,其代价计算窗口有部分落入灰度非同质区域,则认为像素p是代价可疑像素;
[0040] 代价可疑像素是造成视差边缘区域误匹配的主要原因,对基准影像上,对每个像素进行代价可靠性的判断,将整张影像的像素归纳为两个集合:代价可靠像素组成的集合QH,以及代价可疑像素组成的集合QN,如下式所示:
[0041]
[0042] 式2中,p表示基准影像上的像素;t表示像素p的邻域像素;Nw表示像素p的邻域,Nw的大小由代价计算窗口决定;QH表示代价可靠像素组成的集合;QN表示代价可疑像素组成的集合;符号 表示任意的意思;符号 表示存在的意思;C表示灰度阈值;∩表示交集符号,if表示如果;
[0043] 步骤3:对代价可疑像素集合QN中的每个像素进行基于置信权重的双边滤波,得到新的匹配代价cost'(p);
[0044] 为了提高视差边缘区域的匹配精度,必须对代价可疑像素集合QN中的每个像素进行基于置信权重的双边滤波,具体过程为:遍历代价可疑像素集合QN中的每个像素,以当前像素为中心,定义双边滤波窗口,双边滤波窗口的窗口大小决定了中心像素的邻域范围,根据邻域像素的可靠性,定义权值w1,根据滤波窗口中心像素和邻域像素之间的灰度差,定义权值w2;根据权值w1和w2,对中心像素进行双边滤波,得到经过双边滤波后的匹配代价,如下式所示:
[0045]
[0046] 式3中,cost'(p)表示中心像素经过双边滤波后的代价;Np表示像素p的邻域,Np的大小由双边滤波窗口决定;w1(q)表示根据像素q的可靠性定义的权值;w2(p,q)表示根据像素p和q的灰度差计算出来的权值;Cost(q)表示像素q的原始匹配代价;QN表示代价可疑像素组成的集合;
[0047] 权值w1(q)根据像素q的可靠性来计算,如下式所示:
[0048]
[0049] 权值w2(p,q)根据像素p和q的灰度差来计算,一般采用高斯函数,如下式所示:
[0050] w2(p,q)=exp(-|Ib(p)-Ib(q)|/σ) (5)
[0051] 式5中,Ib表示基准影像;Ib(p)表示像素p的基准影像;Ib(q)表示像素q的基准影像;exp表示指数函数;σ表示灰度平滑因子,σ为经验阈值工程上一般取10;双边滤波窗口N p大小的确定关系着中心像素的可疑代价能否真正得到改善,邻域窗口取得过大,则不满足视差一致的假设;邻域窗口过小,则无法完全修正中心像素的可疑代价,一般邻域窗口大小可以设定为代价计算窗口大小的基础上加2个像素;
[0052] 步骤4:根据基于置信权重双边滤波后新的匹配代价cost'(p),采用传统的半全局密集匹配方法(参考文献Stereo Processing by Semi-Global Matching and Mutual Information),获得精确的密集匹配视差图。
[0053] 上述技术方案的步骤2中,灰度阈值C的取值为10。
[0054] 上述技术方案的步骤3中,灰度平滑因子σ的取值为10。
[0055] 上述技术方案的步骤3中,双边滤波窗口的计算方式为:
[0056] SF=SC+2 (6)
[0057] 式中,SF表示双边滤波窗口的大小;SC表示代价计算窗口的大小。
[0058] 上述技术方案的步骤1中,立体影像即组成
立体视觉的两幅影像,影像可以采用卫星影像、航拍影像、无人机影像等,首先在两张影像中选择基准影像和参考影像,一般选择左视影像为基准影像,选择右视影像为参考影像,然后将立体影像重
采样成核线立体影像,采样的方法可以采用开源的代码库OpenCV中的initUndistortRectifyMap()函数,根据经过重采样的核线立体影像采用传统的半全局密集匹配算法进行逐像素地密集匹配。
[0059] 传统的半全局密集匹配方法可以采用开源的代码库OpenCV中的立体影像密集匹配函数SGBM()函数。传统密集匹配结果如图3所示,基于置信权重双边滤波的密集匹配结果如图4所示。比较图3和图4可以看出,基于置信权重双边滤波的密集匹配方法,能够解决传统算法在视差边缘区域的误匹配问题。
[0060] 本发明能够有效解决传统立体影像密集匹配算法中普遍存在的视差边缘误匹配问题,采用基于置信权重双边滤波的密集匹配方法,能够有效改善代价可疑像素的匹配代价,所获取的立体影像密集匹配视差图中,地物边缘重建精度高,为三维建模、虚拟现实、计算机视觉、数字摄影测量等学科和应用提供技术支持。
[0061] 本
说明书未作详细描述的内容属于本领域专业技术人员公知的
现有技术。