CN113034601A - 一种在环境建模中场景地图点与图像帧的匹配方法 - Google Patents

一种在环境建模中场景地图点与图像帧的匹配方法 Download PDF

Info

Publication number
CN113034601A
CN113034601A CN202110462623.0A CN202110462623A CN113034601A CN 113034601 A CN113034601 A CN 113034601A CN 202110462623 A CN202110462623 A CN 202110462623A CN 113034601 A CN113034601 A CN 113034601A
Authority
CN
China
Prior art keywords
matching
point
pixel
map
reference frame
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
Application number
CN202110462623.0A
Other languages
English (en)
Inventor
赵津
刘畅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou University
Original Assignee
Guizhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guizhou University filed Critical Guizhou University
Priority to CN202110462623.0A priority Critical patent/CN113034601A/zh
Publication of CN113034601A publication Critical patent/CN113034601A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20201Motion blur correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种在环境建模中场景地图点与图像帧的匹配方法,该方法主要采用单目相机对地图点的逆深度估计进行研究,将地图点的逆深度表示为高斯分布假设下的深度滤波器,利用逆深度观测信息更新地图点;同时利用关键帧选取策略以及基于深度滤波器的“观测‑更新”机制,着重研究了地图点的提取和逆深度观测,采用“粗糙‑精确”的匹配方式对地图点匹配进行改进,就真实世界的设定以及鲁棒性而言,经逆深度优化的半稠密重建场景更加细致,深度估计更加准确。

Description

一种在环境建模中场景地图点与图像帧的匹配方法
技术领域
本发明涉及配电网运状态估计技术领域,具体为一种一种在环境建模中场景地图点与图像帧的匹配方法。
背景技术
地图创建是SLAM的一个重要组成部分,对现有许多产业而言它是基本的构建模块,从UAV、UGV到当前的虚拟现实,SLAM逐渐从原有的中大型设备转移到轻量化级别,例如扫地机器人、服务型机器人等。在没有先验环境信息下,它们会根据采集信息估计自身位姿并同时建立所处环境的空间模型。目前视觉SLAM主要有基于特征和基于像素的方法,尽管基于特征的方法长期占据该领域及行业,但近些年仍然有许多直接法、稠密法、半稠密法开始流行。
基于特征的方法需要提取图像的关键点并计算描述子,通过最小化几何误差估计相机位姿,创建的地图通常是稀疏点云地图。目前基于特征的主流方法是orbslam2,该法具有完整的特征提取措施及回环检测。基于像素的直接法跳过了预处理特征部分并直接使用传感器读数值,通过最小化光度误差的方式估计相机位姿,创建的地图通常是稠密或半稠密的形式。Engel等人创建了直接稀疏里程计(DSO),他们对关键帧中拥有明显地图的像素估计深度,三维环境被重建为一个拥有半稠密深度信息的位姿图。为了能更好的构建地图,Lzadi等人构建了KinectFusion稠密重建系统,利用对小范围场景和单独物体进行三维重建,使用截取符号距离融合(TSDF)地图结果更为精细,但是受限于显存大小,重建范围和重建精度不可兼得。
发明内容
本发明的目的在于提供了一种一种在环境建模中场景地图点与图像帧的匹配方法,过一种用于在关键帧及运动模糊中选取合适地图点的点提取策略,结合改进逆深度优化方法选取合适的关键帧,对三维重建中运动模糊场景有着较高的鲁棒性,解决了上述背景技术中提出的问题。
本发明通过采用如下技术方案克服以上技术问题,具体为:
一种在环境建模中场景地图点与图像帧的匹配方法,该方法是在地图点的立体匹配中,首先在参考帧极线上以误差平方和SSD作为匹配策略,寻找差异最小的点,同时进行抛物线插值,在极线上找到一个匹配效果较好的匹配点,以下称为粗糙匹配点;然后在粗糙匹配点的周围以归一化积相关NCC作为匹配标准,寻找相关性最大的匹配点,即精确匹配,该匹配点被认为是地图点在参考帧中的最佳匹配点。
作为本发明的进一步方案:所述粗糙匹配点是指由对极约束可知,地图的匹配点必定在参考帧的极线上,进行粗糙匹配时只需在极线上寻找地图点的最佳匹配点;在遍历参考帧极线时,以单位长度为步长进行遍历;这种方式找到的匹配误差最小的匹配点并不一定是极线上的真正的匹配误差最小的点,所以在遍历结束后需要通过抛物线插值再次寻找极线上的最佳匹配点,将该匹配点作为粗糙匹配点。
作为本发明的进一步方案:所述粗糙匹配点的具体匹配如下:
在遍历参考帧极线时,以误差平方和SSD作为匹配标准,选取参考帧极线上的3-7个等距离像素以及关键帧上对应的等距离像素,计算它们的SSD;在遍历到参考帧极线上的某个像素时,3-7个等距离像素的选取方式为:
1).该像素自身;
2).参考帧极线上与该像素相距单位长度的1、2、3个像素点;
3).参考帧极线上与该像素相距1或2个单位长度的2个像素点;
关键帧上的3-7个等距离像素点的选取方式类似,即地图点自身以及在关键帧极线上的2-6个地图点前后等距离的像素;
设参考帧极线上的3-7个等距离像素的灰度值为(Ti),关键帧极线上的5个等距离像素的灰度值为Si,则它们的SSD为:
Figure BDA0003042843250000031
式中SSD(S,T)表示地图点与当前遍历像素之间的差异,数值越小表示匹配程度越高;因此,选取参考帧极线遍历过程中的SSD取值最小的像素,同时保存该像素的坐标和SSD误差以及前一次遍历的SSD误差和最后一次的SSD误差,用于抛物线插值。
作为本发明的进一步方案:所述抛物线插值指设参考帧极线匹配的到的SSD取值最小像素为B,像素坐标为(UB,VB),SSD误差为EB;其前一次遍历的像素为A,SSD误差为EA,其后一次遍历的像素为C,SSD误差为EC;
根据参考帧极线匹配的性质可知:(1)EB<EA,(2)EB<EC,(3)|AB|=|BC|=1;设点M为抛物线插值取最小值的像素,像素坐标为(UM,VM),抛物线插值的最小值为EM;则有:
Figure BDA0003042843250000032
Figure BDA0003042843250000033
设单位化的参考帧极线为(epx,epy),将|BM|投影到像素坐标系的u轴和v轴,得到M点的像素坐标:
Figure BDA0003042843250000034
Figure BDA0003042843250000035
如果误差EM不大于4px,即不大于四个像素值时,则认为粗糙匹配成功,M点为粗糙匹配得到的最佳匹配点,即M点是粗糙匹配点;否则粗糙匹配失败,删除该地图点。
作为本发明的进一步方案:所述精确匹配以粗糙匹配点为基础在其周围寻找地图点的最佳匹配点;在粗糙匹配点周围选取一个固定大小的窗口作为最佳匹配的搜索范围,遍历窗口内的每一个像素;以归一化积相关NCC作为匹配标准,在地图点和当前遍历的像素周围选取相同固定大小的窗口内的所有像素,计算它们的NCC;
设当前遍历的像素窗口内的像素的灰度值为Ti(i=1,2,…n),地图点窗口内的所有像素的灰度值为Si(i=1,2,…n),则它们的NCC为:
Figure BDA0003042843250000041
式中ET表示所有Ti的平均值,Es表示所有Si的平均值,NCC(S,T)表示地图点与当前遍历的像素之间的相关性,数值越大表示匹配程度越高;因此选取遍历过程中的NCC取值最大的像素作为地图点在精确匹配过程中的最佳匹配点,该匹配点被认为是地图点在参考帧中的最佳匹配点。
本方案应用于一种基于半稠密重建的单目逆深度优化方法,该方法主要采用单目相机对地图点的逆深度估计进行研究,将地图点的逆深度表示为高斯分布假设下的深度滤波器,利用逆深度观测信息更新地图点;同时利用关键帧选取策略以及基于深度滤波器的“观测-更新”机制,着重研究了地图点的提取和逆深度观测,采用“粗糙-精确”的匹配方式对地图点匹配进行改进,就真实世界的设定以及鲁棒性而言,经逆深度优化的半稠密重建场景更加细致,深度估计更加准确。
作为本优化方法的进一步方案:进行半稠密重建的过程中,必须准确地估计图像像素点所对应的三维坐标,根据公式:
[x,y,z]T=z·K-1·[u,v,1]T (1)
可知,(x,y,z)表示空间点的三维坐标,(K)表示相机内参矩阵(用于矫正图像),(u,v)表示像素坐标,(T)表示矩阵的转置,公式1是将空间点的三维坐标转化为图像的像素坐标。只要知道像素的深度就能计算出相机的坐标;设像素的深度为(d),那么该像素的逆深度为
Figure BDA0003042843250000051
使用深度滤波器表示一个像素的逆深度,通过不断地观测和更新,不断更新出新的逆深度信息;该像素的逆深度(idprior)满足高斯分布,则有id~N(μ,σ2),其中μ表示像素逆深度的估计值,(σ2)表示逆深度估计值的误差方差,即(σ2)表示逆深度估计的准确程度,其数值越小表明逆深度估计越准确。逆深度更新的目的是更新后得到的逆深度拥有更小的误差方差,即是深度滤波器的“观测-更新”机制。
作为本优化方法的进一步方案:所述深度滤波器的更新过程为:在已知先验逆深度(idprior)及其误差方差
Figure BDA0003042843250000052
的情况下,通常视觉立体匹配计算得到当前观测逆深度(idobs)及其误差方差
Figure BDA0003042843250000053
使用观测信息更新先验信息,得到当前逆深度(idupdate)及其误差方差
Figure BDA0003042843250000054
并将其作为下一次更新的先验信息:
Figure BDA0003042843250000055
Figure BDA0003042843250000056
根据上述公式可知,只要知道当前逆深度观测值,就能够计算得到当前深度的估计值。
作为本优化方法的进一步方案:所述关键帧选取依赖关键帧的逆深度估计是否充分和相机运动幅度的大小这两个因素;由于关键帧的像素的逆深度估计被表示为一个高斯分布假设下的深度滤波器,式中误差方差(σ2)用来表示像素当前逆深度估计的准确度,越小表明逆深度估计越准确;因此可以将(σ2)作为判断关键帧逆深度估计是否充分的条件;关键帧中所有逆深度估计的(σ)平均值能反映当前关键帧逆深度估计的准确程度,计算公式如下:
Figure BDA0003042843250000061
式中(n)表示所有逆深度估计的像素的个数,(σi)表示逆深度估计的误差方差的开方;
该关键帧选取的具体策略包括:
策略一、如果关键帧的平均逆深度误差(mean)没有降低到(τ),但相机的旋转幅度大于(α1)大于(β1),那么则跳过该帧选取新的帧;
策略二、如果关键帧的平均逆深度误差(mean)降低到(τ),且相机的旋转幅度大于(α2)或者平移幅度大于(β2),那么选取新的关键帧(在更新充分时,保证运动幅度不能太小);
其中(τ):人工经验设计的最低精度,(α):相机自身的视场角或者平移幅度,(β):相机在空间中的欧式平移距离;(α1)大于(α2),(β1)大于(β2),该(α1)数值范围大于30°,(α2)数值范围为15°至30°之间,(β1)数值大于0.7米,(β2)数值小于0.2米;且上述两个关键帧的选择策略,满足其中一个就能表明需要重新选取新帧,他们之间为“或”的选择关系。
作为本优化方法的进一步方案:第一个关键帧的选择策略为:选取第一帧作为第一个关键帧候选;然后读取第二帧,如果第二帧和关键帧候选之间的运动幅度较小,即第二帧中的图像与关键候选帧重叠场景超过一半,既两幅图像像素重叠度超过50%,则将关键帧候选转正为第一个关键帧;否则选取第二帧作为第一个关键帧候选,并重复上述步骤,直到选取第一个关键帧。
作为本优化方法的进一步方案:所述地图点上关键帧的像素的提取取策包括:
策略一、该地图点必须具有明显的梯度,即x轴与y轴上对应两点之间的梯度超过20个像素,梯度公式计算如下:
Gυv=(gxυv,gyυv)
Figure BDA0003042843250000071
gxuv=Iu+1,v-Iuv
gyuv=Iu,v+1-Iuv
式中Iuv表示图像第v行第u列的像素灰度值,Gυv表示限速的梯度,
Figure BDA0003042843250000072
表示像素的绝对梯度;
策略二、地图点梯度的极线和地图点梯度的夹角的余弦值大于15°且小于60°,可以保证极线与地图点之间的观测范围是有效的;地图点梯度的极线和地图点梯度的夹角的余弦值计算公式如下:
对应的梯度为Gυv=(gxυv,gyυv),对应的极线为epuv=(epxuv,epyuv)。极线与梯度的夹角为:
Figure BDA0003042843250000073
策略三、梯度在极线上的投影模长不能太短;地图点与关键帧的极点需要保持的距离,即既投影模长不小于15个像素值;
梯度在极线上的投影模长为:
Figure BDA0003042843250000074
上述三种策略之间为“且”的选择关系。
作为本优化方法的进一步方案:所述地图点的逆深度观测指:在参考帧中匹配到地图点对应的像素,然后根据匹配结果计算地图点的逆深度观测值;在立体匹配过程中,需要使用一个标准来衡量地图点与匹配点的匹配效果,选取匹配效果最好的像素点作为地图点在参考帧中的最佳匹配;所述一个标准是采用基于图像灰度的评判立体匹配效果的标准;它包括平均绝对误差MAD,绝对误差和SAD或归一化积相关NCC。
作为本优化方法的进一步方案:所述逆深度观测值的计算过程为:设地图点的像素坐标为pkey=(u1,v1)T,相机坐标为pkey=(x1,y1,z1)T,归一化相机坐标为:
Figure BDA0003042843250000081
匹配点的像素坐标为pref=(u2,v2)T,相机坐标为pref=(x2,y2,z2)T,归一化相机坐标为
Figure BDA0003042843250000082
关键帧到参考帧的旋转矩阵为R,关键帧到参考帧的平移向量为t,相机的内参矩阵为K;
其中pkey、pref、R、t、K都是已知的;由相机模型可计算得到
Figure BDA0003042843250000083
Figure BDA0003042843250000084
因此只有pkey和pref是未知的,实质上只有z1和z2是未知的,其中z1表示地图点的深度;逆深度观测的目的之一是计算当前地图点的观测逆深度idobs,即求解z1的倒数;设d=z1,根据位姿变换公式有:
Figure BDA0003042843250000085
整理可得地图点的逆深度idobs的两种计算方式:
Figure BDA0003042843250000086
Figure BDA0003042843250000087
式中R0、R1、R2为R的前三行,t0、t1、t2为t的前三维;
逆深度估测的另一个目的是计算当前观测的误差方差
Figure BDA0003042843250000088
采用;误差方差计算方法,误差方法主要有光度误差方差、几何误差方差和比例系数三部分组成,计算如下:
Figure BDA0003042843250000091
式中
Figure BDA0003042843250000092
表示几何误差方差,
Figure BDA0003042843250000093
表示光度误差方差;α=δdλ表示比例系数,δd表示逆深度间隔的长度,δλ表示极线步进的长度,α与相机的平移长度成反比,并且由相机的平移方向和地图点在图像中的位置决定;在观测到地图点的逆深度和误差方差之后,判断地图点是否存在先验逆深度估计,若存在则根据公式(1)更新地图点的逆深度估计;若不存在则使用观测值初始化地图点的逆深度估计:
idinit=idobs
Figure BDA0003042843250000094
半稠密重建被广泛应用于多种工业任务中。针对高斯滤波算法的稠密重建地图存在像素点误匹配,传统半稠密重建对像素块的取舍以及基于深度优化的关注不足导致重建准确率不高的问题,与现有技术相比,本发明将深度估计从一个不稳定的值逼近到一个收敛值,重建出更加准确的三维地图。实验结果表明,本文算法能较好的处理弱纹理及弧面区域中存在的深度错误估计问题,重建效果优于基于滤波器的深度估计以及基于像素块的半稠密估计,但未讨论有关颜色信息所带来的印象。在下一步工作中,将根据图像颜色信息分布和帧间优化等,进一步改进复杂环境的深度估计,构建更加完善的地图。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明中地图点的像素点梯度方向计算示意图一;
图2为本发明中地图点的像素点梯度方向计算示意图二
图3为本发明中像素点抛物线插值计算示意图;
图4为本发明中试验图片真实场景示意图;
图5为图4的正常深度和逆深度稠密重建示意图;
图6为图5经过改进的半稠密重建的示意图;
图7为本发明通过抛物线插值实验处理后的图片对比图;
图8为图7经过改进处理的示意图;
图9为图7经关键帧选择策略后显示的示意图;
图10为TUM图像帧(运动模糊);
图11为关键帧选取策略时各图像帧的示意图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以多种不同的形式来实现,并不限于本申请所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更加透彻全面。
另外,本发明中的元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本申请所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。
请参阅图1-,在本发明实施例中,
一、半稠密重建兼容了稠密法的精度和鲁棒性以及特征点法的有效性,计算高精度半稠密深度图并提供周围3D环境的完整信息。SVO作为半稠密法的经典之作,兼顾了稠密跟踪的精度和简易的特点,核心思路是持续的为当前帧建立逆深度估计,此逆深度用于跟踪相机的运动,同时建立了不可忽略的边缘像素深度。因此本文就单目半稠密重建提出以下改进方法:通过一种用于在关键帧及运动模糊中选取合适地图点的点提取策略,结合改进逆深度优化方法选取合适的关键帧,对三维重建中运动模糊场景有着较高的鲁棒性。
二、比较和动机
稀疏及稠密重建作为SLAM的重要部分,尽管近些年该领域内基于特征点法的稀疏建图占据主要地位,但仍有许多新颖的基于直接、稠密和半稠密的方法脱颖而出。
2.1.比较
Indirect vs.Direct:间接法利用图像中的特征匹配关系,然后根据匹配求解位姿,优化目标函数是几何重投影误差,间接法选取特征一般要求显著且对视角和光照变化具有不变性的角点,使用间接法的系统一般都是稀疏的,因为它们只是用图像很少一部分像素,如PTAM、ORBSLAM、VINS。直接法常见于稠密或半稠密系统中,它采用图像上像素的亮度值来估计相机位姿,优化目标函数是光度误差,优化变量可以是两幅图像之间的位姿关系,也可以是图像块的位置。
Sparse vs.Dense/Semi-Dense:假设图像中的一点P来自于稀疏关键点,我们称之为稀疏法,该法通常可使用数百乃至上千个关键点,像L-K光流一样不必计算描述子,因此速度最快但只能计算稀疏重构。假设P来自部分像素,这称之为半稠密法,该法可以考虑只用带有梯度的像素点同时舍弃像素梯度不明显的地方,因此能重构一个半稠密结构。假设P为所有像素,称之为稠密法。稠密重构需要计算所有像素,多数不能在现有的CPU上实时计算,需要GPU加速。
Depth vs.Inverse Depth:我们经常用一个点的世界坐标x,y,z来描述它,这是一种参数化形式。认为x,y,z三个量是随机的且服从三维的高斯分布,那么根据相机当前的位姿,三个量之间可能存在明显的相关性。如果用u,v,d参数化一个点(u,v:像素坐标,d:深度),那么它的u,v和d至少是近似独立的,甚至可以认为u,v也是独立的,从而求解更为简洁。因此逆深度应运而生,假设为深度的倒数(1/d),在实际应用中逆深度具有更好的数值稳定性,从而逐渐成为一种通用的技巧存在于SLAM标准做法中。
2.2.动机
最终我们选择基于半稠密的逆深度法,如题目所示,后文主要介绍优化逆深度对半稠密法的影响。
Improved Semi-Dense Method:半稠密深度图的估计主要分为三个部分。(1)使用立体视觉的方法得到测量值(文中使用单目视觉移动三角化方式),并且将其与先验深度合并;(2)深度图在帧与帧之间的传播;(3)正则化和局外点的去处。改进方式为:首先提出一种关键帧选择策略以及用于在关键帧中选取合适地图点的点提取策略,同时加入运动约束的先验。传递的先验用来减小视差的搜索范围,降低复杂度。最后将获得的深度估计融入到深度图中。
Inverse Depth Optimization:逆深度是近年来SLAM研究中出现的一种广泛使用的参数化技巧,在极线搜索和块匹配中,我们假设深度值满足高斯分布的话会出现问题。实际想表达场景深度是5-10米,深度不会小于0(不会小于焦距),这个分布并不会像高斯分布那样形成对称的形状,尾部稍长及负数区域为0,逆深度因此而来。文中提出了一种逆深度的优化方法,由“粗糙--精确”的匹配方式以及如何在参考帧中的选取共同决定逆深度,实验结果表明,我们所提出的方法一定程度的改善了半稠密重建效果。
三、逆深度表示
逆深度估计是半稠密重建的一个重要组成部分,本文主要针对地图点的逆深度估计进行研究。将地图点的逆深度估计表示为高斯分布假设下的深度滤波器,根据该方法提出一种关键帧选取策略以及基于深度滤波器的“观测-更新”机制,着重研究了地图点的提取和逆深度观测,同时采用一种“粗糙-精确”的匹配方式对地图点匹配进行改进。在进行半稠密重建的过程中,必须要准确地估计图像像素点所对应的三维坐标,根据:
[x,y,z]T=z×K-1×[u,v,1]T
只要知道像素的深度就能计算出相机的坐标。设像素的深度为d,那么该像素的逆深度为1/d。在估计像素的逆深度过程中,使用深度滤波器表示一个像素的逆深度,通过不断地观测和更新,估计出较为准确的逆深度信息。像素的逆深度idprior满足高斯分布,则有id~N(μ,σ2),其中μ表示像素逆深度的估计值,σ2表示逆深度估计值的误差方差。换句话说,σ2表示逆深度估计的准确程度,其数值越小表明逆深度估计越准确。逆深度更新的主要目的是使得更新得到的新的逆深度拥有更小的误差方差。
深度滤波器的更新过程和卡尔曼滤波器类似,在已知先验逆深度idprior及其误差方差
Figure BDA0003042843250000131
的情况下,通常视觉立体匹配计算得到当前观测逆深度idobs及其误差方差
Figure BDA0003042843250000132
使用观测信息更新先验信息,得到当前逆深度idupdate及其误差方差
Figure BDA0003042843250000133
并将其作为下一次更新的先验信息:
Figure BDA0003042843250000134
Figure BDA0003042843250000135
根据上述公式可知,只要知道当前逆深度观测值,就能够计算得到当前深度的估计值。
四、关键帧选取策略
在半稠密深度估计过程中,只对关键帧中的像素点进行逆深度估计,其他帧都作为参考帧用于更新关键帧的像素点的逆深度,半稠密深度估计的好坏主要由关键帧逆深度估计的准确度和三维物体识别的完整度决定。关键帧逆深度估计的准确度决定了能不能准确的还原出深度信息,三维物体识别的完整度决定了地图中识别出的物体能不能反应出物体全部的三维度量信息。因此,必须选择一种合适的策略用于决定在深度估计过程中什么时候选取关键帧,保证所得到的深度估计能较好的还原真实以及较好的还原识别出的感兴趣物体。
4.1.关键帧选取对逆深度估计准确度的影响
如果关键帧的选取过于频繁,那么关键帧中的像素逆深度估计就不能得到充分的更新,即没有足够多的参考帧用于更新关键帧,最终得不到准确的逆深度。因此,关键帧的选取不能过于频繁,必须保证关键帧中的逆深度估计能够得到足够多的更新且收敛到较准确的逆深度。关键帧的选取也不能间隔太长,如果两个相邻关键帧间隔较长时间,那么两个关键帧之间观测到的相同景象就会较少甚至没有,一方面这会导致地图中的环境不完整,另一方面本文的逆深度估计具有传承性,旧关键帧的逆深度会被用于初始化新关键帧,对旧关键帧中的像素点在新关键帧中的投影像素初始化一个较好的逆深度,一个好的逆深度初始化能使得逆深度估计较快的收敛到准确的逆深度,因此,相邻关键帧之间的运动不能过大,必须保证关键帧之间能共同观测到部分相同的场景。
4.2.关键帧选取对三维物体识别完整度的影响
要获得较为完整的三维物体识别信息,就必须尽可能的从不同的角度观测同一感兴趣物体。这就需要多几个关键帧都能看到同一感兴趣物体,并通过关键帧之间的运动实现不同角度的观测。因此一方面相邻关键帧之间的运动不能太小,否则相邻两个关键帧对同一感兴趣物体的观测角度几乎相同,造成观测浪费,且使得关键帧选取过于频繁;另一方面相邻关键帧之间的运动不能过大,保证关键帧尽可能多的从不同的角度观测到同一物体。
4.3.关键帧选取
通过分析关键帧选取对逆深度估计准确度和三维物体识别完整度的影响,发现关键帧选取主要依赖关键帧的逆深度估计是否充分和相机运动幅度的大小这两个因素。在逆深度估计表示中提到关键帧的像素的逆深度估计被表示为一个高斯分布假设下的深度滤波器。在这个表示中,误差方差σ2用来表示像素当前逆深度估计的准确度,越小表明逆深度估计越准确。因此可以将σ2作为判断关键帧逆深度估计是否充分的条件。关键帧中所有逆深度估计的σ平均值能反映当前关键帧逆深度估计的准确程度,计算公式如下:
Figure BDA0003042843250000151
式中n表示所有逆深度估计的像素的个数,σi表示逆深度估计的误差方差的开方,那么就认为关键帧的逆深度估计已经得到充分的更新。因此我们提出两个关键帧选取策略:1.如果关键帧的平均逆深度误差mean没有降低到τ,但相机的旋转幅度大于α1或者平移幅度大于β1,那么则跳过该帧选取新的帧(保证更新充分,但运动幅度又不能太大);2.如果关键帧的平均逆深度误差mean降低到τ,且相机的旋转幅度大于α2或者平移幅度大于β2,那么选取新的关键帧(在更新充分时,保证运动幅度不能太小)。其中,α1大于α2,β1大于β2。当关键帧的平均逆深度误差较大时,保证其能获得更多的参考帧用于更新点的逆深度,但是运动幅度又不能太大;保证其能获得更多的参考帧用于更新关键帧的逆深度。上述两个关键帧的选择策略,满足其中一个就能表明需要重新选取新帧,他们之间是一种“或”的关系。
在选取第一个关键帧时,由于相机还没有开始运动且没有开始逆深度估计,因此需要定义另一种策略选取第一个关键帧。首先,选取第一帧作为第一个关键帧候选;然后读取第二帧,如果第二帧和关键帧候选之间的运动幅度较小,则将关键帧候选转正为第一个关键帧;否则选取第二帧作为第一个关键帧候选,并重复上述步骤,直到选取第一个关键帧。
五、像素点提取策略
在对关键帧的像素进行逆深度估计时,并不是对所有像素进行逆深度估计,这也是进行半稠密估计的原因。关键帧用于进行逆深度估计的像素我们称为地图点。在每一次逆深度更新的过程中,需要根据当前参考帧在关键帧中的提取合适的地图点。好的地图点能在参考帧中找到其准确的对应像素,而坏的地图点不能在参考帧中找到对应的像素,造成计算资源的浪费。接下来将假设关键帧中什么类型的像素能在参考帧的找到其准确的对应像素,即能获得较好的立体匹配效果。
5.1.梯度选取
为了在匹配过程中具有较好的区分,地图点必须有明显的梯度。对于梯度不明显的地图点,容易出现误匹配或匹配失败,例如对于纯色区域中的像素,立体匹配很可能会失败。这也反映了视觉立体匹配的一个重要问题:需要有较为明显的纹理信息,梯度计算如下:
Gυv=(gxυv,gyυv)
Figure BDA0003042843250000161
gxuv=Iu+1,v-Iuv
gyuv=Iu,v+1-Iuv
式中Iuv表示图像第v行第u列的像素灰度值,Gυv表示限速的梯度,
Figure BDA0003042843250000162
表示像素的绝对梯度。
5.2.梯度方向
地图点的梯度方向也对立体匹配的结果有影响。如图(1)所示,考虑两种特殊情况:地图点梯度方向与极线方向平行,地图点梯度方向与极线方向垂直。在垂直的情况下,即便地图点有明显的梯度,但是在沿着极线做匹配(块匹配的话)的过程中,极线上的每一个像素的匹配结果都是相同的,最终匹配失败;但是在水平的情况下,最优匹配结果与其他匹配结果有明显的区别。这表明当梯度方向与极线方向的夹角较小时或者梯度方向与极线反方向的夹角较小时,立体匹配的不确定明显减小,或者可以说,梯度在极线上的投影越明显,立体匹配越可能成功。设地图点在关键帧中的像素坐标为(u,v),对应的梯度为:Gυv=(gxυv,gyυv),对应的极线为epuv=(epxuv,epyuv)。极线与梯度的夹角为:
Figure BDA0003042843250000171
梯度在极线上的投影模长为:
Figure BDA0003042843250000172
5.3.地图点与极点的关系
视觉立体匹配实质上是在参考帧中沿极线寻找最佳匹配。关键帧极点附近的像素在立体匹配时,其在参考帧中的搜索极线较短,容易造成匹配失败,且较小的匹配误差会导致较大的逆深度估计误差。因此为了保证逆深度估计的准确性,地图点与关键帧的极点需要保持一定的距离。
如图(2)所示,关键帧图像为I1,相机光心为O1,参考帧图像为I2,相机光心为O2。参考帧相机光心O2在关键帧上的投影为A,关键帧相机光心O1在参考帧上的投影为C,点A和点C称为极点。点B是极点A附近的一个点,且点B与点A的距离很近,线段AB为关键帧上的极线。在参考帧上匹配点B时,点B的极线搜索范围为线段CD.点B与极线A的距离(关键帧极线的长度)在一定程度上决定了点B在参考帧上的极线搜索范围。
设相机内参为fx、fy、cx、cy,参考帧到关键帧的平移向量为t=(t1,t2,t3)T.根据位姿变换公式可知,参考帧的相机光心在关键帧相机坐标系的坐标为t;根据相机模型公式可知,参考帧的相机在关键帧上的投影坐标为(u0,v0)为:
Figure BDA0003042843250000181
Figure BDA0003042843250000182
设地图点在关键帧中的像素坐标为(u,v),则关键帧极线为:
epuv=(epxuv,epyuv)
Figure BDA0003042843250000183
epxuv=u-u0
epyuv=v-v0
其中,epuv表示关键帧极线,
Figure BDA0003042843250000184
表示关键帧极线的长度。
综上,地图点提取策略归纳为:1.地图点必须具有较明显的梯度;2.极线和梯度的夹角的余弦值,或者梯度在极线上的投影模长不能太短;3.地图点与关键帧的极点需要保持一定的距离,即关键帧的长度不能太短。上述3个地图点提取策略必须同时满足才能表明当前像素是一个好的像素点,他们之间是一种“且”的关系。对于不同的参考帧,它们与关键帧之间的位姿变换不同,不同的参考帧之间极点也一般不同。因此每一次更新关键帧逆深度估计时,都需要根据上述地图点提取策略重新选取合适的地图点。
六、改进的逆深度观测
根据公式(1)可知,只要知道了地图点当前的逆深度观测值,就能计算得到地图点当前逆深度估计值。地图点逆深度观测的实质是在参考帧中匹配到地图点对应的像素,然后根据匹配结果计算地图点的逆深度观测值。理想情况下,对于关键帧和参考帧观测到的相同景象中的每一个像素,在参考帧中都能找到唯一的像素与之对应。但是由于光照的变化、相机运动、图像模糊、计算误差等原因,立体匹配可能会出现误匹配,导致错误的逆深度观测。
在立体匹配过程中,需要使用一个标准来衡量地图点与匹配点的匹配效果,选取匹配效果最好的像素点作为地图点在参考帧中的最佳匹配。由于任何原因都可能导致单个像素的灰度值发生较大的变换,因此为了尽可能减小误差提高立体匹配的准确度,通常会根据某种规则选取地图点周围一系列的像素与根据相同的规则选取的匹配点周围的一系列像素进行比较。常见的基于图像灰度的评判立体匹配效果的标准有平均绝对误差MAD,绝对误差和SAD,归一化积相关NCC等。实验中使用误差平方和SSD和归一化积相关NCC这两种标准。
由对极约束可知,关键帧中的任意地图点必定在参考帧的极线上,这就将地图点的立体匹配转变为沿极线的一维搜索,提高匹配速度,避免误匹配。实验中对地图点匹配进行改进,采用“粗糙-精确”的匹配策略。在地图点的立体匹配中,首先在参考帧极线上以误差平方和SSD作为匹配策略,寻找差异最小的点,同时进行抛物线插值,在极线上找到一个匹配效果较好的匹配点,以下称为粗糙匹配点;然后在粗糙匹配点的周围以归一化积相关NCC作为匹配标准,寻找相关性最大的匹配点,该匹配点被认为是地图点在参考帧中的最佳匹配点。
6.1.粗糙匹配
立体匹配是十分耗时的操作,因此在粗糙匹配时会使用多种方式来减少不必要的计算,同时保证找到的粗糙地图点与地图点具有较高的匹配度。
由对极约束可知,地图的匹配点必定在参考帧的极线上,进行粗糙匹配时只需在极线上寻找地图点的最佳匹配点。在遍历参考帧极线时,以单位长度为步长进行遍历。这种方式找到的匹配误差最小的匹配点并不一定是极线上的真正的匹配误差最小的点,所以在遍历结束后需要通过抛物线插值再次寻找极线上的最佳匹配点,将该匹配点作为粗糙匹配点。
在遍历参考帧极线时,以误差平方和SSD作为匹配标准,选取参考帧极线上的5个等距离像素以及关键帧上对应的5个等距离像素,计算它们的SSD。在遍历到参考帧极线上的某个像素时,5个等距离像素的选取方式为:
1).该像素自身;
2).参考帧极线上与该像素相距单位长度的2个像素点;
3).参考帧极线上与该像素相距2个单位长度的2个像素点。
关键帧上的5个等距离像素点的选取方式类似,即地图点自身以及在关键帧极线上的4个地图点前后等距离的像素。
设参考帧极线上的5个等距离像素的灰度值为Ti(i=1,2…5),关键帧极线上的5个等距离像素的灰度值为Si(i=1,2,…5),则它们的SSD为:
Figure BDA0003042843250000201
式中SSD(S,T)表示地图点与当前遍历像素之间的差异,数值越小表示匹配程度越高。因此,选取参考帧极线遍历过程中的SSD取值最小的像素,同时保存该像素的坐标和SSD误差以及前一次遍历的SSD误差和最后一次的SSD误差,用于抛物线插值。
6.2.抛物线插值
如图(3)所示设参考帧极线匹配的到的SSD取值最小像素为B,像素坐标为(UB,VB),SSD误差为EB;其前一次遍历的像素为A,SSD误差为EA,其后一次遍历的像素为C,SSD误差为EC.
根据参考帧极线匹配的性质可知:(1)EB<EA,(2)EB<EC,(3)|AB|=|BC|=1。设点M为抛物线插值取最小值的像素,像素坐标为(UM,VM),抛物线插值的最小值为EM。则有:
Figure BDA0003042843250000211
Figure BDA0003042843250000212
设单位化的参考帧极线为(epx,epy),将|BM|投影到像素坐标系的u轴和v轴,得到M点的像素坐标:
Figure BDA0003042843250000213
Figure BDA0003042843250000214
如果误差EM足够小,则认为粗糙匹配成功,M点为粗糙匹配得到的最佳匹配点,即M点是粗糙匹配点;否则粗糙匹配失败,删除该地图点。
6.3.精确匹配
由于相机位姿估计误差和计算误差等原因,计算出来的参考帧极线与真实极线会不完全相同,导致粗糙匹配点存在一定的匹配误差。由于粗糙匹配点与地图点之间的差异较小,所以粗糙匹配点与最佳匹配点的距离应该较近,即最佳匹配点在粗糙匹配点的附近。因此在精确匹配时,以粗糙匹配点为基础在其周围寻找地图点的最佳匹配点。在粗糙匹配点周围选取一个固定大小的窗口作为最佳匹配的搜索范围,遍历窗口内的每一个像素。以归一化积相关NCC作为匹配标准,在地图点和当前遍历的像素周围选取相同固定大小的窗口内的所有像素,计算它们的NCC。
设当前遍历的像素窗口内的像素的灰度值为Ti(i=1,2,…n),地图点窗口内的所有像素的灰度值为Si(i=1,2,…n),则它们的NCC为:
Figure BDA0003042843250000221
式中ET表示所有Ti的平均值,Es表示所有Si的平均值,NCC(S,T)表示地图点与当前遍历的像素之间的相关性,数值越大表示匹配程度越高。因此选取遍历过程中的NCC取值最大的像素作为地图点在精确匹配过程中的最佳匹配点,该匹配点被认为是地图点在参考帧中的最佳匹配点。
七、逆深度观测
在匹配得到地图点在参考帧中对应像素之后,可以根据匹配结果计算地图点的逆深度观测值。设地图点的像素坐标为pkey=(u1,v1)T,相机坐标为pkey=(x1,y1,z1)T,归一化相机坐标为:
Figure BDA0003042843250000222
匹配点的像素坐标为pref=(u2,v2)T,相机坐标为pref=(x2,y2,z2)T,归一化相机坐标为
Figure BDA0003042843250000223
关键帧到参考帧的旋转矩阵为R,关键帧到参考帧的平移向量为t,相机的内参矩阵为K.
其中pkey、pref、R、t、K都是已知的。由相机模型可计算得到
Figure BDA0003042843250000224
Figure BDA0003042843250000225
因此只有pkey和pref是未知的,实质上只有z1和z2是未知的,其中z1表示地图点的深度。逆深度观测的目的之一是计算当前地图点的观测逆深度idobs,即求解z1的倒数。设d=z1,根据位姿变换公式有:
Figure BDA0003042843250000226
整理可得地图点的逆深度idobs的两种计算方式:
Figure BDA0003042843250000227
Figure BDA0003042843250000231
式中R0、R1、R2为R的前三行,t0、t1、t2为t的前三维。
逆深度估测的另一个目的是计算当前观测的误差方差
Figure BDA0003042843250000232
本文采用Engel等人提出的误差方差计算方法,误差方法主要有光度误差方差、几何误差方差和比例系数三部分组成,计算如下:
Figure BDA0003042843250000233
式中
Figure BDA0003042843250000234
表示几何误差方差,
Figure BDA0003042843250000235
表示光度误差方差;α=δdλ表示比例系数,δd表示逆深度间隔的长度,δλ表示极线步进的长度,α与相机的平移长度成反比,并且由相机的平移方向和地图点在图像中的位置决定。在观测到地图点的逆深度和误差方差之后,判断地图点是否存在先验逆深度估计,若存在则根据公式(1)更新地图点的逆深度估计;若不存在则使用观测值初始化地图点的逆深度估计:
idinit=idobs
Figure BDA0003042843250000236
八、实验结果与分析
8.1.实验描述
逆深度估计的准确度和稠密度一方面决定了构建出的整个地图是否能准确地还原真实环境,另一方面也决定了环境中的认知信息是否准确全面,感兴趣物体的构建是否真实完整。实验将从三个不同的角度对本文提出的逆深度估计方法进行验证,同时用重建准确率与所用时间进行比较。
为了进一步衡量对比实验的有效性,需定量比较算法的重建准确率,记重建准确率为R,参考帧及其相邻的K-1个关键阵为Ci(i=1,2,…k),关键帧的全部像素点集合为P,关键帧中每一像素点u(u属于P)对应的实际深度值记为Z(u,Ci),由滤波器估计得到的深度值记为Zest(u,Ci),当像素点u在N个相邻关键帧中都符合这个条件,则认为像素点u的深度值估计成功。故准确率可定义为:
Figure BDA0003042843250000241
式中函数f在括号内条件为真时为1,反之为0,mu(u)为深度值差异阈值。
为了验证本文算法的有效性与可行性,实验中采用Remode数据集和德国慕尼黑工业大学计算机视觉组提供的TUM数据集。Remode数据集是由一架无人机采集的单目俯视图像,同时提供每张图像的真实位姿,是一个密集深度估计专用数据集。TUM数据集是公认SLAM建图数据集,彩色图像分辨率为640x480的RGB图像,内容丰富,真实场景如图(4)所示。实验环境:i5-9750H,16G内存笔记本;算法在ubuntu16.04中进行测试。
8.2.正常深度稠密重建与逆深度稠密重建
在稠密重建中我们需要知道每一个像素点(或大部分像素点)的距离。极线搜索、块匹配、高斯分布的深度滤波器这些步骤是传统稠密重建不可缺少的内容。实验1将用基于深度滤波器的稠密重建进行对比,从以下步骤展开实验1:
(1)正常深度稠密重建:全部像素、均匀高斯融合、去均值NCC归一化积相关;
逆深度稠密重建:全部像素深度的倒数、均匀高斯融合、去均值NCC归一化积相关。
实验结果如图(5)所示,四次实验选取迭代10、20、30次进行对比。
8.2.1.实验分析
(1,2,3,7,8,9)是基于正常深度滤波器优化的稠密重建,(4,5,6,10,11,12)是基于逆深度滤波器优化的稠密重建。对比(1,2,3,4,5,6)可知,当迭代超过一定次数后深度图趋于稳定,不再对新的数据产生改变,观察稳定之后的深度图,我们大致可以看出地板和桌子的区别,而桌上的物体深度则接近于桌子。
对比(7,8,9,10,11,12)可知,传统稠密重建在高斯滤波器作用下对数据集深度估计大致正确,但也存在较多的错误估计,其表现为地图中很多像素点与周围像素点深度不一致,而位于边缘区域深度没有得到正确的估计。
实验首先选取逆深度稠密重建与基于滤波器优化的稠密重建,在将全部像素转为逆深度时距离相机较近的桌面更为稠密,而地板及较远处更加稀疏。原因是深度在取1/d时,离相机越远的地方逆深度值越小,主要体现在远近处差异较大。由于采用逆深度估计,因此实验中只需对深度进行参数化,大大降低了运行时间,实验所需时间如表1所示。
Table 1
Figure BDA0003042843250000251
Figure BDA0003042843250000261
对实验1进行重建准确率对比,公式中N设置为6。采用逆深度在精度与效率方面都会有所提升,重建准确率对比情况如表2所示。
Table 2
Figure BDA0003042843250000262
8.3.半稠密重建与改进逆深度半稠密重建对比
由实验1可知在进行稠密重建时,相同条件下采用逆深度会一定程度的降低运行时间。借由此想法我们开展实验2。
半稠密重建是SLAM建图十分重要的一部分,主要想法是选取明显梯度和特征的情况下构建出场景的主体部分,但像素的选取方法并不仅仅由梯度决定。对深度图像进行观察,我们会发现一件明显的事实,块匹配的正确与否依赖于图像块是否具有区分度,显然如果图像块仅是一片黑或一片白,缺少有效的信息,就很可能错误的将它周围的某块像素给匹配起来。实验1中的空间表面出现了明显不该有的条纹状深度估计,而根据我们直观想象,打印机表面肯定是光滑的,从某个角度来说该问题是无法在现有算法流程上加以改进并解决的---如果我们依然只关心某个像素周围的邻域(小块)的话。由前文我们提出处理逆深度中像素的方法,将从以下步骤展开实验2:
1、半稠密重建:仅依赖于像素块、均匀高斯融合、去均值NCC归一化积相关;
2、改进的半稠密重建:
2.1.选取具有明显的梯度的像素以及粗糙匹配策略;
2.2.极线和梯度夹角的余弦值,或者梯度在极线上的投影模长不能太短;
2.3.像素值参数化,采用文中提到的抛物线插值法;
2.4.均匀高斯融合、去均值NCC归一化积相关。
实验结果如图(6)所示,对两次实验选取迭代10、20、30次进行比较。
8.3.1.实验分析
(1,2,3,7,8,9)为正常深度半稠密重建,(4,5,6,10,11,12)为改进逆深度半稠密重建。我们进行亚像素精度估计---抛物线插值。实验结果可知在基于逆深度条件下,改进像素提取策略使重建效果更加精细,Remode数据集主要体现在打印机表面,桌面纹理以及地板,TUM数据集体现在桌面物体以及电脑边缘。在只有块匹配重建下,忽略了纹理和边缘的细节,因此在进行地图重建时会给应用设备在判断是否可以通过时带来困难,(6)、(12)中改进方法将桌面边缘、地板颜色差异、物体及电脑边缘清晰的分辨出来,可以更好的为设备进行导航等操作,对比如图(7)下。
实验2所用时间和重建准确率对比如表3所示。
Table 3
Figure BDA0003042843250000271
Figure BDA0003042843250000281
改进逆深度实验中像素提取策略相对于只选取相等像素块的半稠密重建,所用时间增加3.4s,但重建准确率提高8.08%。这就引入SLAM中经典问题---准确率与召回率,准确率高检测越严格,所用时间相对会增加,反之亦然。因此我们会在高精度下适当接受一定范围内的时间消耗,为了评价算法的好坏,我们会测试各种情况下的配置,在SLAM中我们对准确率要求更高,而对召回率相对宽松。如果程序错误地将所有办公桌当成了一张,那建图终将失效,上述实验我们认为改进逆深度半稠密重建具有更好的效果。
8.4.仿射变换及运动约束实验
在改进实验中做一次图像到图像间的变换亦是一种常用预处理方式。这是因为我们假设了图像小块在相机运动时保持不变,而这个假设在相机平移时能保持成立,但当相机发生明显的旋转时就难以继续保持了。特别地当相机绕光心旋转时,一个下黑上白的图像可能会变成一个上黑下白的图像块,导致相关性直接变成了负数(尽管仍然是同样一个块)。为了防止这种情况出现,我们在实验3中把参考帧与当前帧之间的运动考虑了进来,根据相机模型参数,参考帧上的一个像素PR与真实的三维点世界坐标PW有以下关系:
dRPR=K(RRWPW+tRW)
类似的对于当前帧,它亦有PW在它边上的投影,记做PC:
dCPC=K(RCWPW+tCW)
代入并消去PW,得到两个图像之间的像素关系:
Figure BDA0003042843250000291
当知道dR、PR时,可以计算出PC的投影位置。此时再给PR两个分量各一个增量du,dv,就可以求得PC的增量duc,dvc。通过这种方式算出在局部范围内,参考帧和当前帧图像坐标变换的一个线性关系,构成仿射变换:
Figure BDA0003042843250000292
我们知道运动幅度较大的图像在进行数据关联时,原本存在的地图点会因为相机的运动幅度过大而丢失,进一步说该帧无法成为关键帧,所以我们计算一个度量运动大小的值:
||Δt||+min(2π-||r||,||r||)
它可以看成位移与旋转的范数加和,但这个数大于阈值max_norm时,我们就认为匹配错误,最终改进效果如图(8)。
(1,2,3)为Remode数据集结合文中运动策略、关键帧选择策略及改进逆深度像素提取策略所做实验,可以看出在边界出、地面纹理及桌面纹理都十分细腻的呈现出来。(4,5,6)为TUM数据集手持单目相机所做实验,同样结合上述策略,最终半稠密重建还原场景十分清晰,主要体现在桌面物体、电脑、显示屏等,对比如图(9)。
8.4.1.实验分析
由图(10)可得,实验3所得半稠密重建精度优于实验2。主要原因在于数据集中存在运动模糊的图像帧,正如TUM数据集手持设备拍摄,很容易产生运动模糊并对实验产生大的影响。在重建过程中仍有运动幅度较大但未超过阈值的图像帧被重建时,边缘会存在一定的虚化现象或建图过程中出现重影等会对最终建图效果产生影响,应用设备在导航或作业时无法做出清晰的判断。
边缘不够清晰但并不影响使用效果,我们希望所建地图无论在应用还是表面上都是美观的,因此在对上述运动判断、仿射变换并结合前文对关键帧选取的策略。实验3效果与实验2相比更为精确,详细数据如表4所示。
Table 4
Figure BDA0003042843250000301
Remode数据集重建准确率提升6.58%,主要在于桌面边界、桌面纹理、地面纹理、地板颜色、打印机边缘等处精度拟合较高。TUM数据集重建准确率提高5.42%,主要体现在对模糊区域,桌面物体及边缘框架上精度有所提高。重建过程中对每一帧图像都会进行相应步骤,实验所用时间的降低主要是剔除大运动幅度的图像帧、重复率较大的相邻帧、重建关键图像帧等,如图(11)所示。
以上仅就本发明的最佳实施例作了说明,但不能理解为是对权利要求的限制。本发明不仅限于以上实施例,其具体结构允许有变化。但凡在本发明独立权利要求的保护范围内所作的各种变化均在本发明的保护范围内。
蓝色线条分别代表两个数据集相机的运动轨迹,红色空心圆圈表示局部放大的关键帧选取策略所选取的关键帧,关键帧同样是影响算法时间及效率的主要元素之一。实验中选取关键帧策略在文中已经介绍,极大降低了算法的运行时间。这种做法一个显而易见的后果是即使很大程度利用关键帧信息,但是还需要对位姿有一个比较准确的估计---通常是困难的,因为不知道实验过程中会产生多大程度的累计误差。
九、总结
半稠密重建被广泛应用于多种工业任务中。针对高斯滤波算法的稠密重建地图存在像素点误匹配,传统半稠密重建对像素块的取舍以及基于深度优化的关注不足导致重建准确率不高的问题。本文提出了一种逆深度优化的方法,将深度估计从一个不稳定的值逼近到一个收敛值,重建出更加准确的三维地图。实验结果表明,本文算法能较好的处理弱纹理及弧面区域中存在的深度错误估计问题,重建效果优于基于滤波器的深度估计以及基于像素块的半稠密估计,但未讨论有关颜色信息所带来的印象。在下一步工作中,将根据图像颜色信息分布和帧间优化等,进一步改进复杂环境的深度估计,构建更加完善的地图。
除非另有定义,本申请所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本申请中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本申请所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

Claims (5)

1.一种在环境建模中场景地图点与图像帧的匹配方法,其特征在于:该方法是在地图点的立体匹配中,首先在参考帧极线上以误差平方和SSD作为匹配策略,寻找差异最小的点,同时进行抛物线插值,在极线上找到一个匹配效果较好的匹配点,以下称为粗糙匹配点;然后在粗糙匹配点的周围以归一化积相关NCC作为匹配标准,寻找相关性最大的匹配点,即精确匹配,该匹配点被认为是地图点在参考帧中的最佳匹配点。
2.根据权利要求1所述的在环境建模中场景地图点与图像帧的匹配方法法,其特征在于:所述粗糙匹配点是指由对极约束可知,地图的匹配点必定在参考帧的极线上,进行粗糙匹配时只需在极线上寻找地图点的最佳匹配点;在遍历参考帧极线时,以单位长度为步长进行遍历;这种方式找到的匹配误差最小的匹配点并不一定是极线上的真正的匹配误差最小的点,所以在遍历结束后需要通过抛物线插值再次寻找极线上的最佳匹配点,将该匹配点作为粗糙匹配点。
3.根据权利要求1所述的在环境建模中场景地图点与图像帧的匹配方法法,其特征在于所述粗糙匹配点的具体匹配如下:
在遍历参考帧极线时,以误差平方和SSD作为匹配标准,选取参考帧极线上的3-7个等距离像素以及关键帧上对应的等距离像素,计算它们的SSD;在遍历到参考帧极线上的某个像素时,3-7个等距离像素的选取方式为:
1).该像素自身;
2).参考帧极线上与该像素相距单位长度的1、2、3个像素点;
3).参考帧极线上与该像素相距1或2个单位长度的2个像素点;
关键帧上的3-7个等距离像素点的选取方式类似,即地图点自身以及在关键帧极线上的2-6个地图点前后等距离的像素;
设参考帧极线上的3-7个等距离像素的灰度值为(Ti),关键帧极线上的5个等距离像素的灰度值为Si,则它们的SSD为:
Figure FDA0003042843240000021
式中SSD(S,T)表示地图点与当前遍历像素之间的差异,数值越小表示匹配程度越高;因此,选取参考帧极线遍历过程中的SSD取值最小的像素,同时保存该像素的坐标和SSD误差以及前一次遍历的SSD误差和最后一次的SSD误差,用于抛物线插值。
4.根据权利要求2或3所述的在环境建模中场景地图点与图像帧的匹配方法法,其特征在于:所述抛物线插值指设参考帧极线匹配的到的SSD取值最小像素为B,像素坐标为(UB,VB),SSD误差为EB;其前一次遍历的像素为A,SSD误差为EA,其后一次遍历的像素为C,SSD误差为EC;
根据参考帧极线匹配的性质可知:(1)EB<EA,(2)EB<EC,(3)|AB|=|BC|=1;设点M为抛物线插值取最小值的像素,像素坐标为(UM,VM),抛物线插值的最小值为EM;则有:
Figure FDA0003042843240000022
Figure FDA0003042843240000023
设单位化的参考帧极线为(epx,epy),将|BM|投影到像素坐标系的u轴和v轴,得到M点的像素坐标:
Figure FDA0003042843240000024
Figure FDA0003042843240000025
如果误差EM不大于4px,即不大于四个像素值时,则认为粗糙匹配成功,M点为粗糙匹配得到的最佳匹配点,即M点是粗糙匹配点;否则粗糙匹配失败,删除该地图点。
5.根据权利要求1所述的在环境建模中场景地图点与图像帧的匹配方法,其特征在于:所述精确匹配以粗糙匹配点为基础在其周围寻找地图点的最佳匹配点;在粗糙匹配点周围选取一个固定大小的窗口作为最佳匹配的搜索范围,遍历窗口内的每一个像素;以归一化积相关NCC作为匹配标准,在地图点和当前遍历的像素周围选取相同固定大小的窗口内的所有像素,计算它们的NCC;
设当前遍历的像素窗口内的像素的灰度值为Ti(i=1,2,…n),地图点窗口内的所有像素的灰度值为Si(i=1,2,…n),则它们的NCC为:
Figure FDA0003042843240000031
式中ET表示所有Ti的平均值,Es表示所有Si的平均值,NCC(S,T)表示地图点与当前遍历的像素之间的相关性,数值越大表示匹配程度越高;因此选取遍历过程中的NCC取值最大的像素作为地图点在精确匹配过程中的最佳匹配点,该匹配点被认为是地图点在参考帧中的最佳匹配点。
CN202110462623.0A 2021-04-27 2021-04-27 一种在环境建模中场景地图点与图像帧的匹配方法 Pending CN113034601A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110462623.0A CN113034601A (zh) 2021-04-27 2021-04-27 一种在环境建模中场景地图点与图像帧的匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110462623.0A CN113034601A (zh) 2021-04-27 2021-04-27 一种在环境建模中场景地图点与图像帧的匹配方法

Publications (1)

Publication Number Publication Date
CN113034601A true CN113034601A (zh) 2021-06-25

Family

ID=76454872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110462623.0A Pending CN113034601A (zh) 2021-04-27 2021-04-27 一种在环境建模中场景地图点与图像帧的匹配方法

Country Status (1)

Country Link
CN (1) CN113034601A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113284181A (zh) * 2021-04-27 2021-08-20 贵州大学 一种在环境建模中场景地图点与图像帧的匹配方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108305278A (zh) * 2018-01-30 2018-07-20 西南交通大学 一种orb-slam算法中图像匹配相关性改进方法
CN111860651A (zh) * 2020-07-22 2020-10-30 河海大学常州校区 一种基于单目视觉的移动机器人半稠密地图构建方法
CN113284181A (zh) * 2021-04-27 2021-08-20 贵州大学 一种在环境建模中场景地图点与图像帧的匹配方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108305278A (zh) * 2018-01-30 2018-07-20 西南交通大学 一种orb-slam算法中图像匹配相关性改进方法
CN111860651A (zh) * 2020-07-22 2020-10-30 河海大学常州校区 一种基于单目视觉的移动机器人半稠密地图构建方法
CN113284181A (zh) * 2021-04-27 2021-08-20 贵州大学 一种在环境建模中场景地图点与图像帧的匹配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
裴茂锋: "视觉SLAM的半稠密认知地图创建方法研究及实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113284181A (zh) * 2021-04-27 2021-08-20 贵州大学 一种在环境建模中场景地图点与图像帧的匹配方法

Similar Documents

Publication Publication Date Title
CN110569704B (zh) 一种基于立体视觉的多策略自适应车道线检测方法
US11954813B2 (en) Three-dimensional scene constructing method, apparatus and system, and storage medium
CN110853100B (zh) 一种基于改进点线特征的结构化场景视觉slam方法
CN110853075B (zh) 一种基于稠密点云与合成视图的视觉跟踪定位方法
US6476803B1 (en) Object modeling system and process employing noise elimination and robust surface extraction techniques
Holzmann et al. Semantically aware urban 3d reconstruction with plane-based regularization
Chen et al. A stereo visual-inertial SLAM approach for indoor mobile robots in unknown environments without occlusions
Zhang et al. Robust stereo matching with surface normal prediction
CN111105452A (zh) 基于双目视觉的高低分辨率融合立体匹配方法
Biasutti et al. Visibility estimation in point clouds with variable density
Yuan et al. Sdv-loam: Semi-direct visual-lidar odometry and mapping
CN114663880A (zh) 基于多层级跨模态自注意力机制的三维目标检测方法
CN113034601A (zh) 一种在环境建模中场景地图点与图像帧的匹配方法
CN111402429B (zh) 一种尺度还原、三维重建方法、系统、存储介质及设备
CN113284181A (zh) 一种在环境建模中场景地图点与图像帧的匹配方法
Rothermel et al. Fast and robust generation of semantic urban terrain models from UAV video streams
Bevilacqua et al. Joint inpainting of depth and reflectance with visibility estimation
Nouduri et al. Deep realistic novel view generation for city-scale aerial images
Wang et al. Relative pose estimation and planar reconstruction via superpixel-driven multiple homographies
CN117036447A (zh) 基于多传感器融合的室内场景稠密三维重建方法及装置
CN116596963A (zh) 一种基于神经辐射场的定位建图方法、装置及存储介质
CN115511970A (zh) 一种面向自主泊车的视觉定位方法
CN115841540A (zh) 一种在环境建模中基于单目视觉下的场景深度优化方法
Kitt et al. Trinocular optical flow estimation for intelligent vehicle applications
CN114399532A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210625

RJ01 Rejection of invention patent application after publication