一种单张深度图点云场景语义补全的方法与流程

文档序号:23160904发布日期:2020-12-04 13:55阅读:253来源:国知局
一种单张深度图点云场景语义补全的方法与流程
本发明属于计算机视觉领域中的三维重建(3dreconstruction)领域,具体实现结果为室内场景的点云语义补全,特别涉及一种同时进行表面补全和语义分割的方法。
背景技术
:三维重建中的语义场景重建任务是根据二维图像恢复三维场景并得到语义信息的过程。借助于深度信息,三维场景重建可以更加精确可靠。然而采集到的深度图往往因为遮挡和固定视点的原因并不完整,对局部深度图进行理解和重建变得至关重要。从早期的体素方法,到端到端的深度卷积神经网络架构,再到rgb与深度信息的融合,语义场景补全的方法随着深度学习的不断发展日益进步与完善。但是这些方法重建出来的体素化场景分辨率低,原始场景的高频细节无法准确还原。为了解决该限制,一种体素引导的渐进视图补全方法被提出,以高分辨率点云的形式替代了体素表达。尽管重建效果可观,但仍有改进空间。例如,重建的三维点云没有提供任何语义信息;在二维补全阶段只关注全局上下文信息而忽略了局部信息;选取视点的奖励函数只考虑了二维补全效果而忽略了三维重建质量。与点云场景语义补全方法相关的现有的方法主要包含语义场景补全、点云补全和点云分割等方法。(a)语义场景补全语义场景补全旨在生成一个从单视点观测到的以完整三维体素形式展现的的场景体积占据表示,带有语义标签,是几何补全的一个子任务。通常以单张深度图为输入,或辅以rgb图像,利用深度、几何、语义等信息,实现场景的语义补全。但这些方法都基于体积表示结果,分辨率低,场景表达受限,达不到点云能够实现的精细化效果。(b)点云补全点云补全的目的是从不完整的区域中推断出完整的几何体形状。围绕这个问题,许多基于学习的离线和在线方法被提出,点云补全在准确率、保真度和效率等方面有了较大的提升,缺失区域的几何结构也得以在一定程度上进行恢复。但这些方法仅解决了物体级别的点补全任务,在大规模的场景中并不适用。(c)点云分割点云分割是根据空间、几何和纹理等特征对点云进行划分,使得同一划分内的点云拥有相似的特征,是对二维图像域的扩展。通过卷积神经网络、多层感知机等诸多方案,可以实现精细化点云级别的语义分割效果。但是这些方法都以点云作为输入,通过不同的网络来直接处理三维点,不能实现从局部深度图产生带有语义标签的完整点云的效果。技术实现要素:本发明的目的是针对单张深度图,通过在深度图、深度分割图和点云相互投影的过程中转换视点修补漏洞,实现同时进行高分辨率点云补全和语义分割的方法,适用于室内场景。为实现上述目的,本发明提出了一种受语义信息和三维几何约束的点云场景语义补全的方法,将全局与局部信息结合,二维与三维信息结合,通过给定单张深度图,来生成最终的点云场景语义补全结果。本发明的技术方案为:一种单张深度图点云场景语义补全的方法,该方法包括以下步骤:步骤1:生成特定视点下带有语义标注的初始点云1.1)基于给定深度图d0和其对应的视点v0,选用danet作为深度图语义分割网络,来预测每个像素的语义标签,生成深度分割图s0。1.2)在视点v0下,将深度图d0和深度分割图s0转化为世界坐标系下带有语义标注的初始点云中的每个三维点都与一个语义标签相关联。步骤2:视图路径规划视图路径的选取可以看作是一个马尔可夫决策过程(mdp),选用深度q网络(dqn)的方法进行视图路径的选取。mdp的状态即本发明中的点云状态,定义为(i表示三维补全的次数,i=1,2,3,…,n),学习到的最优策略基于预测一个新的最佳视点,视点的选取范围限定在动作空间之内。所述的动作空间是一个固定的视点集,包含20个不同的视点。视点坐标为:x=asinθsinφ,y=acosθ,其中θ∈[70°,90°],φ∈[-50°,-40°,-30°,-20°,-10°,10°,20°,30°,40°,50°],所有的视点面向场景中心,a设置为3米。对得到的点云在上述动作空间内的20个不同视点下分别进行投影,获得20组对应的深度图和深度分割图,把它们输入dqn;并根据设计的奖励函数进行计算,从而在上述20个视点中选取最佳视点vi(i=1,2,3,…,n)。由于视点的选取影响到三维重建的质量,因此上述奖励函数的设计同时考虑了二维补全效果和三维点云补全质量;针对二维补全效果的为填充奖励函数和图像修补奖励函数针对三维点云补全质量的为点云恢复奖励函数这三部分综合起来形成鼓励代理选择对修补漏洞有益、修补质量高以及能够产生更准确的三维点的视点。步骤3:语义补全和深度图补全3.1)体素补全网络选用sscnet,以深度图d0作为输入,生成完整的体素结果vc;在步骤2选取的最佳视点vi下对补全的体素结果vc进行投影,得到对应的体素深度图3.2)分割补全网络选用partialcnn,以步骤2选取的最佳视点vi对应的深度分割图si和步骤3.1)得到的体素深度图作为输入,得到补全的分割图3.3)深度图补全网络选用structureflow,通过步骤3.2)得到的补全的分割图提供局部信息,与全局信息结合能够更好地辅助步骤2选取的最佳视点vi对应的深度图di的补全,生成补全后的深度图步骤4:聚合三维语义标注点,生成阶段性点云在最佳视点vi下,将步骤3.2)得到的补全的分割图和步骤3.3)得到的补全后的深度图投影成带有语义标签的新三维点云;从而将二维补全产生的点被重新投影回三维点云,将这些新三维点云与投影前的旧点云聚合,生成一个更加稠密的点云以实现修补漏洞、点云补全的效果,并作为下一个阶段的输入。步骤5:多视点渐进生成密集点云,输出场景补全结果重复步骤2到步骤4,直到收敛。具体为:记对应的不带语义信息的点云为pi,在步骤2提到的动作空间下,对pi在20个视点下进行深度图投影,计算每个生成的深度图像中覆盖漏洞的像素个数,用表示这些像素个数的总和;当时,即原始点云上超过95%的缺失点被修复,则终止该循环过程;最终输出补全后的带有语义信息的点云步骤6:有效性验证为了验证本发明有效性,与相关领域的最新方法进行比较。suncg是一个人工创建的带有密集体积标注的大规模合成3d场景数据集。为了进行公平的比较,相关领域的方法均使用其公开的代码或带有原始建议参数的设置,并且均在suncg或者基于suncg生成的训练集中进行训练,在基于suncg生成的测试集上进行测试。所述相关领域的最新方法包括sscnet、vvnet、forknet和deepreinforcementlearningofvolume-guidedprogressiveviewinpaintingfor3dpointscenecompletionfromasingledepthimage(vgpvi)。进一步地,dqn的训练涉及到的奖励函数为:填充奖励函数与vgpvi保持一致。图像修补奖励函数为:其中,表示漏洞区域ω的l1损失,|ω|表示ω区域内像素点的个数,和分别表示和相应的真值。点云恢复奖励函数为:其中,n表示内点的总个数,是一个三维点集且包含第i次三维补全恢复的所有三维点,即是点云真值的子集并且每个点在以点pj为中心,以r为半径的球体内,lp代表点p的分割标签,op是包含在集合p内的所有点的标签的分割标签集。估计了所有预测值中的正确预测的百分比。综合奖励函数是以上三个奖励函数的结合:其中α、β和γ是平衡权重。本发明的有益效果:(1)基于单张深度图的点云场景语义补全结果本发明解决了场景语义补全问题中体素表现形式分辨率低,点云表现形式无法兼顾语义分割的问题,通过在三维点云上进行场景语义补全,可以同时恢复场景的高分辨率几何结构和语义信息细节。本发明基于单张深度图,可以同时完成三维点云补全和语义分割的任务。目前为止,本发明是第一个实现这个目标的发明。(2)语义信息和三维几何信息约束的作用本发明证实了语义信息和三维几何信息约束对点云场景语义补全的有效性。在补全深度图时,本发明通过语义分割信息为深度图补全提供局部信息,与全局信息结合,实现更好的深度图补全效果;在选取视点时,通过设计点云恢复函数同时考虑二维补全效果和三维重建质量,得以实现比其他相关领域方案更好的效果。以上两点都证明了语义信息和三维几何信息约束的有效性。附图说明图1为本发明所述网络结构的初始化阶段。图2为本发明所述网络结构的循环补全阶段。图3为对比实验的显示结果。图4是图3的图例。具体实施方式下面结合附图和技术方案,进一步说明本发明的具体实施方式。本实施例基于suncg数据集,生成训练集和测试集。随机选取1590个场景进行渲染,其中1439个场景被用作dqn的训练,剩余的作为dqn的测试。为了训练分割补全和深度图补全网络,随机选取定义在动作空间中的5或6个视点,将它们应用在上面提到的1590个场景上渲染超过一万组的深度图和语义分割真值。其中,选取一千组对本发明进行测试。本发明包含四个主要的组成部分,分别是深度图语义分割网络、体素补全网络、分割补全网络和深度图补全网络。在pytorch框架上实现了所有需要的dcnn网络。使用open3d来处理点云。采用预训练的sscnet模型作为体素补全网络,并在suncg新生成的数据集上进行微调。对于深度图语义分割网络,训练过程配备了3×e-3的学习率、0.9的动量和1×e-4的权重衰减的随机梯度下降(sgd)用于优化。分割补全网络和深度图补全网络分别采用2×e-4和1×e-4的学习率的自适应矩估计(adam)优化器。对于dqn网络,设置经验缓冲容量为5000,并初次训练400次以填充容缓存。本发明采用联合训练的方式,有助于训练的收敛和稳定性。第一,分别对深度图语义分割网络和体素补全网络单独进行预训练。第二,固定深度图语义分割网络和体素补全网络的参数,训练分割补全网络。第三,固定上面提到的三个网络的参数,训练深度图补全网络。第四,获得了上面四个网络的预训练模型后,联合训练整个网络。在两个nvidiagtx2080ti显卡上训练所有的dcnn网络和dqn网络。微调体素补全网络需要30小时,训练深度图语义分割网络需要50小时,训练分割补全网络需要46小时,训练深度图补全网络需要36小时,联合训练这些网络需要20个小时,对dqn进行训练需要80小时。一旦经过训练,本发明平均需要70秒和5-6个视点来处理一个局部深度图。图1和图2为本发明的网络结构。图1为初始化阶段,首先将原始深度图输入到深度图语义分割网络获取深度分割图,再与深度图一起投影成带有语义信息的点云,作为后期循环补全阶段的初始点云。图2是循环补全阶段,将上一步骤得到的初始点云在动作空间的20个视点下分别进行深度图投影和深度图分割,并输入dqn网络来选取最佳补全视点。将原始深度图输入到sscnet中进行体素补全,并在选取的最佳视点下进行体素深度图投影。将上一步骤的点云在同一视点下进行投影生成深度图和对应的深度分割图。分割补全网络该体素深度图和深度分割图作为输入,生成补全的分割图。深度图补全网络以点云在上述选取的最佳视点下投影的深度图和补全的分割图作为输入,生成补全的深度图;与补全的分割图一起重新投影成带有语义标注的点云,与上一阶段的点云聚合,生成阶段性补全的点云。在选取的不同视点下,重复以上步骤,直到95%的漏洞都被修复,输出最后的点云场景语义补全结果。图3是对比实验的显示结果。将用于体素场景语义补全的网络在suncg数据集上进行训练,所述网络包括sscnet、vvnet和forknet,将点云场景补全网络在基于suncg生成的训练集上进行训练,所述网络为vgpvi。在训练过程中调整了这些网络的训练参数用以获得最佳的场景语义补全结果,最后使用基于suncg生成的测试集进行验证,比较最终的场景补全和语义分割结果。经过实验对比,本发明中场景语义补全网络具有最好的场景补全和语义分割准确率,说明了高分辨率点云比体素能够实现更精细化的效果,并且验证了语义和三维几何约束对于语义场景重建的有效性。对比实验的定量验证结果分为场景补全和语义分割,如表1、表2所示。其中cd代表倒角距离(chamferdistance),用来衡量预测的点云和点云真值之间的距离;cd越小表示结果越精确。cr是完整性度量,表示跟真值相比,补全准确的部分在整体恢复三维点中的占比,球体的中心是重建点,半径为r,cr越大表示结果越精确。对于语义分割验证,除去空的类别,本实施例使用与suncg相同的语义分类,分别为天花板、地板、墙壁、窗户、椅子、床、沙发、桌子、电视、家具和其他物品。表1方法cd↓cr=0.02(%)↑cr=0.04(%)↑cr=0.06(%)↑cr=0.08(%)↑cr=0.10(%)↑sscnet0.70778.8717.5230.5944.2151.66vvnet0.693710.3820.7735.2249.3855.64forknet0.697616.7936.0347.5453.6857.37vgpvi0.236655.5260.4263.3665.6067.54本发明0.186655.3060.9064.2166.6468.71表2当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1