基于深度图改进的分块密集匹配方法、系统、终端及介质与流程

文档序号:28700377发布日期:2022-01-29 13:05阅读:93来源:国知局
基于深度图改进的分块密集匹配方法、系统、终端及介质与流程

1.本发明涉及图像匹配技术领域,尤其涉及基于深度图改进的分块密集匹配方法、系统、终端及介质。


背景技术:

2.倾斜摄影是近年来航测领域逐渐发展起来的新技术,相对于传统航测采集的垂直摄影数据,通过新增多个不同角度镜头,获取具有一定倾斜角度的倾斜影像,可获得同一位置多个不同角度的高分辨率影像,采集丰富的地物侧面纹理及位置信息。倾斜摄影技术成为快速获大范围高精度三维模型技术之一。大范围倾斜三维重建往往需要采集几千甚至上万张高分辨率影像,倾斜三维重建过程需要经过稀疏重建、多视密集匹配、几何表面重建、纹理重建等步骤,然而密集匹配属于计算密集型阶段,对算力和内存要求较高,一般单机难以完成。因此,通常采用分块密集匹配方式进行处理。
3.分块密集匹配方法是对稀疏重建结果进行分割,产生一定数量的子块,并对每个子块独立进行密集匹配。mostegel等提出一种基于八叉树划分的处理海量点云的可扩展方法。但是八叉树结构需要多次重复计算以获得足够的重叠,增加了时间消耗和内存使用。韩佳丽对mostegel的方法进行改进,将整个场景沿着x轴和y轴分成几个相互重叠的块,采用基于delaunay的优化方法并行提取各块的网格,通过解决块体重叠区域的局部不一致性,将局部网格融合在一起。snavely等通过使用图论方法从冗余、多分辨率的无序图像集中找到近似于全部图像重建质量的图像骨架集,大大减少冗余图像,提高重建速度。furukawa先合并稀疏点云并去除图像冗余,然后将剩余图像共享特征点作为关联权重构建图形结构,通过归一化图割算法和分割簇大小约束聚类分割为多个视图簇。
4.刘彬、倪标在furukawa提出的归一化图割法的基础之上进行了改进,提出了分块密集匹配的pmvs算法。该方法可以得到高质量的密集点云,能够满足倾斜模型的重建精度要求,因此它是常用的分块密集匹配方法之一。但该方法耗时较长、效率较低,其主要原因是由于不同子块中包含了一些相同的图像,将其称之为重复图像。而这些重复图像在深度图的估计、过滤阶段会被重复计算。参照图1进行详细说明,以像片dji_0001为例,该像片的投影平面在空间上与两个子块(tile_000+_001和tile_001+_001)相交,因此该像片会被包含在这两个子块中。因此,两个子块都会对像片dji_0001做深度图的估计和过滤。比如,面积为1.0km2测区采用该方法进行密集匹配,耗时109小时14分钟。
5.因此,因此提出基于深度图改进的分块密集匹配方法、系统、终端及介质,避免块间重复图像的冗余计算,提高图像重建准确性,是本领域技术人员亟需解决的问题。


技术实现要素:

6.有鉴于此,本发明提供了基于深度图改进的分块密集匹配方法、系统、终端及介质,避免子块间相同图像的重复计算,提高了密集匹配的效率和图像重建的准确性。
7.为了实现上述目的,本发明采用如下技术方案:
8.基于深度图改进的分块密集匹配方法,包括以下步骤:
9.图像获取步骤:获取全局场景的图像;
10.邻域图选择步骤:利用图像关联度,选择出每张图像的邻域图像集合,同时初始化图像的重建状态对象;
11.空间立体自动聚类步骤:对全局场景进行空间立体自动聚类完成分块,并抽取子块重建所需的匹配对图像,得到该子块的图像簇;
12.密集匹配步骤:在子块的图像簇中获取目标图像,根据目标图像的重建状态对象估计、过滤深度图以及深度图融合生成密集点云。
13.可选的,图像获取步骤的具体内容为:利用倾斜摄影技术,采集全局场景的倾斜影像,作为全局场景的图像。
14.可选的,邻域图选择步骤的具体内容为:
15.利用图像关联算法,计算每一张图像的邻域图,基于视图夹角、重叠面积和尺度因子选择邻域图像,并对邻域图像进行打分和排序;在全局视图选择时,为每张图像创建重建状态对象并对其初始化。
16.可选的,空间立体自动聚类步骤的具体内容为:
17.依据重建范围和格网,对全局场景进行空间划分,计算每个子块的行列号即空间范围;
18.依次遍历子块,将子块空间距离按照重叠距离向四周扩张,得到具有一定重叠度的空间范围,将该空间范围作为每个子块的密集匹配有效范围;
19.利用图像中心点的投影计算得到位于子块空间范围内所有图像,组成该子块的图像簇;其中,图像中心点的投影计算公式为:
[0020][0021]
式中:x,y,z为图像投影中心对应的世界坐标,k为相机内参,r,t为相机外参,z
depth
为投影中心深度值,u,v为图像投影中心坐标;
[0022]
遍历该子块图像簇中的图像,基于邻域图选择步骤中选择的图像邻域图,判断每张图像的邻域图是否在该子块的图像簇中,若不在,则将该邻域图追加到图像簇中。
[0023]
可选的,密集匹配步骤的具体内容为:
[0024]
获取目标图像:在每个子块中的图像簇中,依次取子块内的图像作为目标图像;
[0025]
深度图估计:获取当前目标图像的重建状态对象,对子块内图像逐个进行深度图估计;
[0026]
深度图过滤:在子块中的所有图像完成深度图估计后,获取当前需处理图像的重建状态对象,逐个过滤子块内全部图像;
[0027]
深度图融合:当前子块中的所有图像都完成估计和过滤后,按照多视几何一致性深度图融合方法,利用该子块内所有图像的深度图,按照当前子块的空间范围进行深度图融合,生成密集点云。
[0028]
基于深度图改进的分块密集匹配系统,应用基于深度图改进的分块密集匹配方
法,
[0029]
包括:图像获取模块、邻域图选择模块、空间立体自动聚类模块和密集匹配模块;
[0030]
图像获取模块,与邻域图选择模块的输入端连接,用于获取全局场景的图像;
[0031]
邻域图选择模块,与空间立体自动聚类模块的输入端连接,用于利用图像关联度,选择出每张图像的邻域图像集合,同时初始化图像的重建状态对象;
[0032]
空间立体自动聚类模块,与密集匹配模块的输入端连接,用于对全局场景进行空间立体自动聚类完成分块,并抽取子块重建所需的匹配对图像,得到该子块的图像簇;
[0033]
密集匹配模块,用于在子块的图像簇中获取目标图像,根据目标图像的重建状态对象估计、过滤深度图以及深度图融合生成密集点云。
[0034]
一种终端,包括:至少一个处理器,以及与至少一个处理器通信连接的存储器,其中,存储器存储有被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行基于深度图改进的分块密集匹配方法。
[0035]
一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行基于深度图改进的分块密集匹配方法。
[0036]
经由上述的技术方案可知,与现有技术相比,本发明提供了基于深度图改进的分块密集匹配方法、系统、终端及介质:首先基于整个场景按照图像关联算法为每一张图像计算邻域图像集合作为该图像的匹配,同时生成每张图像的重建状态对象;然后,利用空间立体自动聚类方法进行分块,并基于已计算好的邻域图像集合抽取该子块密集匹配所需的匹配对;最后利用pmvs算法并结合图像的重建状态对象进行深度图的估计、过滤及融合生成密集点云,避免子块间相同图像的重复计算,提高了密集匹配的效率和重建图像的准确性。
附图说明
[0037]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0038]
图1为图片dj1_0001的投影平面与两个子块相交示意图;
[0039]
图2为本发明基于深度图改进的分块密集匹配方法流程图;
[0040]
图3为本发明视图夹角示意图;
[0041]
图4为本发明重叠面积示意图;
[0042]
图5为本发明基于深度密集匹配流程图;
[0043]
图6为本发明基于深度图改进的分块密集匹配系统结构框图;
[0044]
图7为本发明提供的一种终端结构框图;
[0045]
图8为全局场景格网划分图;
[0046]
图9为局部场景子块图;
[0047]
图10为局部场景重建模型;
[0048]
图11为模型细节展示图,其中,11.1为图10中a区模型细节展示,11.2为图10中b区模型细节展示;
[0049]
其中,处理器-101,通信总线-102,通信接口-103,存储器-104。
具体实施方式
[0050]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0051]
参照图2所示,本实发明公开了基于深度图改进的分块密集匹配方法,包括以下步骤:
[0052]
图像获取步骤:获取全局场景的图像;
[0053]
邻域图选择步骤:利用图像关联度,选择出每张图像的邻域图像集合,同时初始化图像的重建状态对象;
[0054]
空间立体自动聚类步骤:对全局场景进行空间立体自动聚类完成分块,并抽取子块重建所需的匹配对图像,得到该子块的图像簇;
[0055]
密集匹配步骤:在子块的图像簇中获取目标图像,根据目标图像的重建状态对象估计、过滤深度图以及深度图融合生成密集点云。
[0056]
在一个具体实施例中,图像获取步骤的具体内容为:利用倾斜摄影技术,采集全局场景的倾斜影像,作为全局场景的图像。
[0057]
在一个具体实施例中,邻域图选择步骤的具体内容为:
[0058]
利用图像关联算法,计算每一张图像的邻域图,基于视图夹角、重叠面积和尺度因子选择邻域图像,并对邻域图像进行打分和排序;在全局视图选择时,为每张图像创建重建状态对象并对其初始化。
[0059]
该方法对整个场景只做一次,即可为每张图像选择出邻域图像集合。在选择邻域图像时,像对之间的共享区域能够很好表示两者的关联度,区域面积越大则表明相似场景越大,但为保证每个像对的匹配精度,往往需要满足以下条件:
[0060]
(1)角度足够大,图像对具有宽基线:如图3所示,视图夹角是两个邻域像平面之间的平均剖分角。基线是相邻两张像片主点之间的连线;
[0061]
(2)特征点越多,图像重叠面积越大:如图4所示,重叠面积是基于上步骤的平面拟合和重建范围结果,利用投影矩阵将图像投影到拟合平面,并进行求交,得出面积。本文设置重叠面积占比阈值为λ>0.3。由于倾斜摄影主要以城市地区为主要创建范围,整个区域整体上呈现面状分布,采用ransac算法进行平面拟合。其中,重叠面积占比阈值的计算公式如下:
[0062][0063]
式中:λ为重叠面积占比;表示图像与其邻域图像投影到拟合平面上的重叠面积,表示图像投影到拟合平面上的面积。
[0064]
(3)尺度相似,图像分辨率一致:图像尺度指是当前特征点下的图像分辨率。图像间的分辨率近似,场景细节越相似,采用归一化互相关指数(normalized cross-correlation)的匹配精度越高,因此通过图像尺度的比值来衡量图像分辨率是否具有一致性。
[0065]
本发明采用视图夹角、重叠面积和尺度因子等参数选择邻域图像,将重叠面积占比与相机角度和相机尺度乘积和的平均值作为邻居图像选择的得分,按照投影方向和相机位置,分为前后左右四个方向并根据得分高低排序,得分公式如下:
[0066][0067]
式中:n为稀疏点的数量;w
scale
(p)为尺度因子;表示在投影中心点(p)在两张图像中的单个像素代表长度比例;代表共享面积;w
angle
(p)为角度因子;代表视图夹角。
[0068]
在一个具体实施例中,为保证每张图像的深度图只计算一次,在全局视图选择时为每张图像创建重建状态对象并对其初始化。重建状态对象(reconstruct status object,简称rso)是指在密集匹配过程中图像的处理状态值,本文将rso设置为5种状态,分别为:
[0069]
(1)“initial”:表示当前图像只初始化并未进行任何处理;
[0070]
(2)“estimate”:表示当前图像正在进行深度图像估计;
[0071]
(3)“estimated”:表示当前图像已经完成深度图像估计;
[0072]
(4)“filter”:表示当前图像正在进行深度图像过滤;
[0073]
(5)“filtered”:表示当前图像已经完成深度图像过滤。
[0074]
在一个具体实施例中,空间立体自动聚类步骤的具体内容为:
[0075]
依据重建范围和格网,对全局场景进行空间划分,计算每个子块的行列号即空间范围;
[0076]
依次遍历子块,将子块空间距离按照重叠距离向四周扩张,得到具有一定重叠度的空间范围,将该空间范围作为每个子块的密集匹配有效范围;
[0077]
利用图像中心点的投影计算得到位于子块空间范围内所有图像,组成该子块的图像簇;其中,图像中心点的投影计算公式为:
[0078][0079]
式中:x,y,z为图像投影中心对应的世界坐标,k为相机内参,r、t为相机外参,z
depth
为投影中心深度值,u,v为图像投影中心坐标;
[0080]
遍历该子块图像簇中的图像,基于邻域图选择步骤中选择的图像邻域图,判断每张图像的邻域图是否在该子块的图像簇中,若不在,则将该邻域图追加到图像簇中。
[0081]
基于平面拟合和重建范围,根据自定义格网大小和重叠距离生成规则空间格网。格网大小根据计算机内存的大小自主选择,为了保证重建后的倾斜三维模型无缝衔接,块间设置一定重叠距离,一般设置为0.5m。
[0082]
在一个具体实施例中,参照图4所示,密集匹配步骤的具体内容为:
[0083]
获取目标图像:在每个子块中的图像簇中,依次取子块内的图像作为目标图像;
[0084]
深度图估计:获取当前目标图像的重建状态对象,对子块内图像逐个进行深度图
memory),例如随机存取存储器(英文:random-access memory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:hdd)或固态硬盘(英文:solid-state drive,缩写:ssd);存储器104还可以包括上述种类的存储器的组合。
[0095]
在一个具体实施例中,处理器101可以是中央处理器(英文:central processing unit,缩写:cpu),网络处理器(英文:network processor,缩写:np)或者cpu和np的组合。
[0096]
在一个具体实施例中,处理器101还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:asic),可编程逻辑器件(英文:programmable logic device,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:fpga),通用阵列逻辑(英文:generic array logic,缩写:gal)或其任意组合。
[0097]
在一个具体实施例中,还公开了一种计算机可读存储介质,存储有计算机指令,计算机指令用于使计算机执行基于深度图改进的分块密集匹配方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
[0098]
在一个具体实施例中,为了验证论文方法的有效性,以山东省东营市和滕州市倾斜摄影数据为例对本方法进行验证。开发平台为visual studio 2015,将本文算法嵌入到中国测绘科学研究院gis所自主研发的一体化混合测图系统ims软件。选取实验数据一和实验数据二,其中实验数据一具有面积大,分辨率低的特点,实验数据二具有面积小,分辨率高的特点。
[0099]
实验数据一:山东省东营市部分城市建成区域,测区范围5.2km
×
7.8km,采用5镜头(1下视+4侧视)ultracamospreyprima(ucop)相机,飞行29条航带,获取11795张图像,数据量总共2.08tb。
[0100]
实验数据二:山东省滕州市姜屯镇镇驻地区域,测区范围2.2km
×
3.3km,采用5镜头(1下视+4侧视)sony(ilce-6000)相机,飞行69条航带,获取39 040张图像,数据量总共8.32tb。
[0101]
实验的硬件环境为:cpu intel dual core e53002.60ghz,内存128g,显卡nvidia geforce rtx 2080ti。倾斜摄影数据的相关详细描述见表1。
[0102]
表1
[0103][0104]
[0105]
实验结果与分析
[0106]
1、重建结果可靠性分析:
[0107]
利用实验数据一,对本文方法进行实验分析其可靠性。整个分块密集匹配重建流程具体如下:
[0108]
首先,基于全局场景为每张图像选择邻域图,依照视图夹角、重叠面积和尺度因子作为参数选择邻域图像,将重叠面积占比与相机角度和相机尺度乘积和的平均值作为邻居图像选择的得分。同时在全局视图选择时为每张图像创建重建状态对象并对其初始化。
[0109]
其次,基于空间立体自动聚类,格网大小和重叠距离生成规则空间格网,如图8所示。依据图像中心点的投影原则,找到每个子块中对应的图像。同时并抽取子块重建时所需的匹配对图像,判断每张图像的邻域图是否已经在该子块的图像簇中,若不在则将其邻域图追加到图像簇中,完成空间立体自动聚类。如图9所示,为局部场景子块示意图。
[0110]
最后,基于深度图进行密集匹配,完成场景重建。如图10所示,为局部场景重建模型示意图,图11为模型细节展示(11.1为图10中a区域的细节展示,11.2为图10中b区域的细节展示)。根据场景重建结果得出以下结论:重建模型完整,局部细节无明显变形、拉花、孔洞等现象,重建结构具有可靠性。
[0111]
分块重建效率对比:
[0112]
从两个方面验证本文提出的分块密集匹配方法的效率。一方面是邻域图的选择,本方法是基于全局场景进行邻域图选择,减少邻域图像计算量;另一方面是密集匹配阶段,本方法保证了场景中所有图像只匹配一次,避免图像的重复计算。
[0113]
(1)邻域图像选择的效率对比
[0114]
利用实验数据一和实验数据二,对本方法在邻域图的选择方面进行实验分析。每个子块基于局部自身场景单独进行邻域图的选择,相比于全局场景选择邻域图,前者较为耗时。在两个测区范围内随机各取2组不同面积的数据,其中重建数据1和重建数据2取自实验数据一,重建数据3和重建数据4取自实验数据二。4组重建数据做实验对比,如表2所示。其中,改进前时间分别为12.33min,142.46min,4.93min,31.22min;改进后时间分别为0.11min,11.27min,0.43min,17.25min。根据实验数据结果显示,本发明基于全局场景邻域图选择较常用密集匹配方法在效率方面有所提升。
[0115]
表2
[0116][0117]
在上述数据中随机选取一组数据,保证图像分辨率、面积两个参数不变,设置不同的子块大小,子块边长分别为200m、100m、50m。如表3所示,改进前邻域图像选择对应的时间分别为12.33min、37.55min、108.43min,改进后邻域图像选择对应的时间为0.11min。根据实验数据结果显示,在图像分辨率、面积两个参数不变的情况下,常用方法随着子块数量的增多邻域图像选择的时间越长,而本发明基于全局场景选择邻域图,邻域图像选择的时间
与子块数量无关。
[0118]
表3
[0119][0120][0121]
(2)密集匹配效率对比
[0122]
利用实验数据二,对本文方法在密集匹配方面进行实验分析。在测区范围中,随机选取一块面积为0.075km2的区域。将其作为重建范围,同时按9个子块划分,如表4所示。统计数据,其中原始图像数由原始数据中统计得来,密集匹配处理的图像由重建范围内每个子块对应图像数之和得来。在重建区域中,原始图像总数为637张:改进前,密集匹配处理的图像总数为2470张;应用本发明改进方法后,处理的图像总数为637张。
[0123]
表4
[0124][0125]
在测区范围中随机选取4组不同大小面积的数据,采用同一分辨率进行拍摄,对面积分别为0.075km2、0.3km2、1.24km2和7.26km2的区域进行三维重建。如下表5所示,改进前计算图像数与改进后计算图像数的差值即为减少计算的图像数量,由计算可得,减少计算的图像数量分别为1087张、1833张、3179张、32897张;密集匹配时间上分别节约了25个小时、40个小时、173个小时和297个小时。根据实验结果数据显示,本发明的方法在效率上得到显著提升,方法简单,便于实现。
[0126]
表5
[0127][0128]
综上所述,倾斜摄影大范围场景重建往往需要几万张有序高分辨率图像,每张图像有几千万甚至上亿个像素,完成密集匹配所需的计算机内存往往达到上百gb,普通计算机无法一次性完成密集匹配计算。通常采用分块密集匹配方法进行处理,而常用的分块密集匹配方法是对每个子块单独进行密集匹配,子块间相同图像的深度图会被多次计算。为此,本发明提出一种改进的分块密集匹配方法,通过实验验证和对比分析,可得出结论如下:(1)本发明的方法便于实现,模型无拉花等现象,具有可靠性和准确性;(2)本文方法基于全局场景邻域图的选择以及密集匹配过程中考虑了重建状态对象rso,因此不会重复计算图像的深度图,在大规场景重建时效率显著提升。
[0129]
对所公开的实施例的上述说明,按照递进的方式进行,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1