CN118135363A - 一种基于点特征与神经辐射场的新视角合成方法 - Google Patents
一种基于点特征与神经辐射场的新视角合成方法 Download PDFInfo
- Publication number
- CN118135363A CN118135363A CN202410320521.9A CN202410320521A CN118135363A CN 118135363 A CN118135363 A CN 118135363A CN 202410320521 A CN202410320521 A CN 202410320521A CN 118135363 A CN118135363 A CN 118135363A
- Authority
- CN
- China
- Prior art keywords
- nerve
- point
- view
- scene
- depth
- 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
Links
- 210000005036 nerve Anatomy 0.000 title claims abstract description 123
- 230000005855 radiation Effects 0.000 title claims abstract description 47
- 238000001308 synthesis method Methods 0.000 title abstract description 9
- 238000005070 sampling Methods 0.000 claims abstract description 70
- 230000001537 neural effect Effects 0.000 claims abstract description 35
- 238000009877 rendering Methods 0.000 claims abstract description 27
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 22
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 22
- 238000003384 imaging method Methods 0.000 claims abstract description 15
- 238000000605 extraction Methods 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 68
- 239000011159 matrix material Substances 0.000 claims description 53
- 101100534231 Xenopus laevis src-b gene Proteins 0.000 claims description 46
- 238000012360 testing method Methods 0.000 claims description 37
- 238000012549 training Methods 0.000 claims description 26
- 230000000007 visual effect Effects 0.000 claims description 21
- 239000013598 vector Substances 0.000 claims description 18
- 230000002194 synthesizing effect Effects 0.000 claims description 12
- 238000006073 displacement reaction Methods 0.000 claims description 10
- 238000011176 pooling Methods 0.000 claims description 10
- 238000009826 distribution Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 6
- 230000004927 fusion Effects 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 6
- 230000002776 aggregation Effects 0.000 abstract description 3
- 238000004220 aggregation Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000013441 quality evaluation Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Landscapes
- Image Processing (AREA)
Abstract
本发明公开了一种基于点特征与神经辐射场的新视角合成方法,包括:步骤1,采集多视角图片数据、相机参数、深度图;步骤2,将多视角图片、相机参数作为输入,得到每个视角下的深度图以及对应的置信度;步骤3,从深度图中采样得到神经点云的位置信息,点云的置信度为深度值的置信度,对输入的图片提取特征,融合点特征、局部特征与全局特征,作为神经点云的特征信息;步骤4,构建相机到成像平面的神经辐射场,得到神经辐射场中每个采样点的特征。步骤5,进行渲染得到新视角图片。本发明提出了一种合理的特征提取与特征聚合的方式,从而进一步提升了基于点特征和神经辐射场的新视角合成的效果。
Description
技术领域
本发明涉及一种新视角合成方法,特别是一种基于点特征与神经辐射场的新视角合成方法。
背景技术
随着智能手机等数码产品的普及以及双摄像头、多帧堆叠和创新的自动对焦等成像技术的发展,网络上的照片数据爆炸式增长。对于社交网络上针对某一个场景拍摄的几张图片,如果能从更多的视角“立体”地观测,仿佛在场景中自由移动,这必然能给用户带来更好的足不出户的“沉浸式体验”。这种新视角合成技术被应用于虚拟现实、医疗成像、自动驾驶等多个领域,同时,我们对新视角合成技术的要求也越来越高,更少的已知视角、更高的渲染质量、更快的渲染速度、适用于各种各样的复杂场景等等。这些条件是新视角合成技术应用的重要挑战,也是研究者们的关键课题。
新视角合成是计算机图形学和计算机视觉交叉领域中的长期挑战任务之一。给定若干张已知视角的图片,通过新视角合成技术就能得到目标场景360°的任意视角图片。由于已知视角可能在空间上与目标视角相差较大或者很稀疏,导致大部分三维结构是片面的或是不可见的,所以其中的难点在于如何“填补空白”,目前的新视角合成工作可以分为三类。
第一类是基于图像一致性的插值方法,如文献1:Seitz S M.View morphing[J].In Proceedings of Computer Graphics,1996:21-30、文献2:Nie Y,Zhang Z,Sun H,etal.Homography Propagation and Optimization for Wide-Baseline Street ImageInterpolation[J].IEEE Trans Vis Comput Graph,2017,23(10):2328-2341、文献3:ChenS E,Williams L.View Interpolation Image Synthesis[J].Proc Siggraph,1993:279-288。这些方法一般分成两个步骤,首先寻找预先获取的图像之间的像素对应关系,然后线性插值得到目标图像。最早的一类工作需要用户指定图像与图像之间对应的参考点,文献3提出使用相机的位置和方向以及图像的范围数据来自动确定图像之间的逐像素对应关系,建立图像与图像之间的双向映射。此外,由于相邻像素倾向于在映射中一起移动,因此采用四叉树块压缩来利用这种一致性,最后直接利用对应关系对四叉树块进行线性插值。但是此方法适用范围是不广泛的,只有当图像序列共享一个共同的注视方向、视角变化不大、并且目标视角与该注视角度保持在90度以内,此方法才能获得比较精确的结果,因为只有在这种情况下,图像对之间才会存在大量的对应点。这类方法不需要额外的先验输入,并且也不需要三维几何结构作为中介,计算成本比较小,但同时,基于图像一致性的方法很难处理只在某个视图上出现的物体,无法找到对象之间的对应关系,这可能会在插值图像中产生空洞。与此同时,即使有工作突破了视角变化范围的限制,但依旧无法在宽基线和窄基线图像上都得到精确的效果。
第二类是基于几何的新视角合成方法,如文献4:Buehler C,Bosse M,McmillanL,et al.Unstructured lumigraph rendering[J].Association for ComputingMachinery,2001:425-432、文献5:Mildenhall B,Srinivasan P P,Ortiz-Cayon R,etal.Local Light Field Fusion:Practical View Synthesis with PrescriptiveSampling Guidelines[J].ACM Transactions on Graphics,2019,38(4):1-14、文献6:Hedman P,Ritschel T,Drettakis G,et al.Scalable Inside-Out Image-BasedRendering[J].Acm Transactions on Graphics,2016,35(6cd):231.,这类方法一般首先估计物体的三维几何结构,然后对输入图像中的像素进行某种变换,最终得到目标视角的图片。文献4里指出当存在几何知识时,应使用它来帮助重建所需的光线,其渲染框架也借助了三角网格作为几何知识。使用全局几何的技术通常从一组输入图像中计算出全局的网格、点云或体素等。基于局部几何信息的方法不再去估计整体的几何结构,而是为每个输入图像计算详细的局部几何,并通过重新投影和混合附近的输入图像来渲染新颖的视图。同时,一些方法也将全局的几何结构与局部的几何信息结合应用,文献6在缺乏完全准确的全局几何体的情况下,转而寻求具有足够质量的全局几何体,以作为局部每个视图重建的初始化。首先使用RGB-D图像来重建场景的一致全局网格,用它来指导深度图的生成,深度图可能会偏离全局网格,但会尊重图像边缘,这样,用户就能在漫游过程中观察到与视角相关的外观,如高光,并观察到更精确的场景几何。
第三类方法是基于神经渲染的新视角合成方法,最近基于此的研究取得了巨大进展,如文献7:Dosovitskiy A,Springenberg J T,Brox T.Learning to generate chairswith convolutional neural networks[J].IEEE,2015.、文献8:Yang J,Reed S,Yang MH,et al.Weakly-supervised Disentangling with Recurrent Transformations for 3DView Synthesis[C]//International Conference on Neural Information ProcessingSystems-volume.MIT Press,2016.、文献9:Mildenhall B,Srinivasan P P,Tancik M,etal.NeRF:Representing Scenes as Neural Radiance Fields for View Synthesis[C]。神经渲染的主要思想是将经典的基于物理的计算机图形学知识与深度学习的最新进展相结合。与经典计算机图形学类似,神经渲染的目标是以可控的方式生成逼真的图像重建,一些方法针对特定类别的物体进行了训练,文献7在3D椅子模型数据集上以监督方式训练了一个生成卷积神经网络,网络可以使用从训练集中学到的有关椅子的知识,从目标集中生成椅子的缺失视点。
文献9提出Nerf,将场景表示为一个连续的空间函数,输入为空间点的三维坐标,以及观测的视角,输出为空间点的颜色值和空间点的体密度。也就是说对于每一个空间点,只要知道他的位置以及目标视角,就可以通过这个函数得到它对应此视角的颜色值和体密度。Nerf工作的渲染基于射线模型,将目标视角图片上的每一个像素点都可以看作一条从相机点出发,向着目标像素行进,穿过三维场景的射线,也就是说最后的像素值其实是射线上若干采样点属性的离散累加。基于以上的理论和方法,Nerf得到了惊艳的效果,达到了近乎于真实级的渲染效果。Nerf工作存在以下几个可以改进的方向:(i)输入图片数量:Nerf训练一个场景需要输入一百多张已知视角的图片,但对于更多应用场景来说,我们无法获得如此大数量的图片,很多工作已经做到可以在少量输入图片的情况下进行高质量的新视角合成。(ii)泛化性,Nerf针对每个场景都需要进行单独训练,这显然不符合我们应用的需要。(iii)训练和推理速度慢,Nerf论文中指出,在NVIDIA V100型号的GPU上训练一个场景需要1到2天,渲染图像的速率只有0.06fps。(iv)应用场景还可以拓展,渲染质量还可以提高。
许多研究基于Nerf工作进行了拓展,如文献10:Yu A,Ye V,Tancik M,etal.pixelNeRF:Neural Radiance Fields from One or Few Images[J].2020.、文献11:XuQ,Xu Z,Philip J,et al.Point-NeRF:Point-based Neural Radiance Fields[J].2022.、文献12:Liu L,Gu J,Lin K Z,et al.Neural Sparse Voxel Fields[J].2020.、文献13:YuA,Li R,Tancik M,et al.PlenOctrees for Real-time Rendering of Neural RadianceFields[J].2021.、文献14:Müller,Thomas,Evans A,Schied C,et al.Instant NeuralGraphics Primitives with a Multiresolution Hash Encoding[J].、文献15:Reiser C,Peng S,Liao Y,et al.KiloNeRF:Speeding up Neural Radiance Fields withThousands of Tiny MLPs[J].2021.、文献16:Yu A,Fridovich-Keil S,Tancik M,etal.Plenoxels:Radiance Fields without Neural Networks[J].2021.。Nerf场景表示的输入只有视角和位置信息,但没有利用输入图片的特征。文献10提出PixelNerf,优化的思路是增加空间点对应的图像特征作为输入。文献11提出PointNerf,优化的中心思想是利用输入图片中隐藏的空间信息,Nerf中针对三维空间分布是没有任何先验知识的,但其实三维领域有很多工作可以根据稀疏视图重建出场景或物体的空间分布,比如文献17:Yao Y,Luo ZX,Li SW,et al.MVSNet:Depth inference for unstructured multi-viewstereo.Proceedings of the 15th European Conference on Computer Vision.Munich:Springer,2018.785–801.提出的MVSNet等等。所以PointNerf从输入图片中提取了图像特征和深度信息,首先利用预训练的基于多视角的三维重建模型来获得大致的三维空间分布,这带来了两个好处,一个是可以获取更准确的采样点特征,另一个是可以跳过一些空白区域,减少不必要的计算量。但是该方法对图像特征的利用不够充分,基于逆距离加权获取采样点特征的方式忽略了视角信息。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于点特征与神经辐射场的新视角合成方法。
为了解决上述技术问题,本发明公开了一种基于点特征与神经辐射场的新视角合成方法,包括以下步骤:
步骤1,采集多视角图片数据、相机参数和深度图;
步骤2,将多视角图片和相机参数作为输入,利用基于深度学习的多视角立体深度估算方法(一种多视角三维重建方法,参考文献:Yao Y,Luo ZX,Li SW,et al.MVSNet:Depth inference for unstructured multi-view stereo.Proceedings of the 15thEuropean Conference on Computer Vision.Munich:Springer,2018.785–801.),得到每个视角下的深度图和对应的置信度;
步骤3,从步骤2中得到的深度图中采样得到神经点云(带有特征的点的集合,参考文献:Xu Q,Xu Z,Philip J,et al.Point-NeRF:Point-based Neural Radiance Fields[J].2022.)的位置信息,点云的置信度为步骤2中深度值的置信度,对输入的图片提取融合点特征、局部特征与全局特征,作为神经点云的特征信息;
步骤4,构建相机到成像平面的神经辐射场(一种隐式场景表示,参考文献:Mildenhall B,Srinivasan P P,Tancik M,et al.NeRF:Representing Scenes as NeuralRadiance Fields for View Synthesis[C]),基于步骤3得到的神经点云的特征信息,通过对邻近神经点的特征进行处理,得到神经辐射场中每个采样点的特征;
步骤5,将每个采样点的特征输入解码网络,得到每个采样点的颜色值和不透明度,最后进行渲染得到新视角图片。
步骤1包括如下步骤:
步骤1-1,从DTU数据集(一个用于计算机视觉和三维重建研究的开放数据集。它包含了丰富的室内和室外场景的高质量图像,并且提供了由这些图像生成的精确的三维几何信息)中获得场景数据,其中,每个场景包括N个不同视角下的RGB图像、深度图和相机的参数,N的取值范围为4到49之间的整数;
步骤1-2,针对每个场景,得到N组源视角与目标视角的序号对,每个序号对Pi,j表示为(i,target,src1,src2,src3),其中Pi,j为第i个场景的第j个序号对,target=j,取值为0到48;src1,src2,src3为0到48中除target之外,随机选取的互不相同的3个整数序号;
步骤1-3,针对每个序号对Pi,j,根据步骤1-1中的场景数据,得到对应序号对的RGB图对Si,j、深度图对Di,j和投影矩阵对Mi,j。
步骤1-3包括如下步骤:
步骤1-3-1,根据Pi,j中的序号,从步骤1-1中的RGB图像中获取对应序号对Pi,j的图像对Si,j,表示为(Imgi,target,Imgi,src1,Imgi,src2,Imgi,src3);其中,Imgi,src1表示第i个场景的第src1个视角的RGB图像,Imgi,src2表示第i个场景的第src2个视角的RGB图像,Imgi,src3表示第i个场景的第src3个视角的RGB图像,Imgi,target表示第i个场景的第target个视角的RGB图像;
根据Pi,j中的序号,从步骤1-1中的深度图中获取对应序号对Pi,j的深度图对Di,j,表示为(Depthi,target,Depthi,src1,Depthi,src2,Depthi,src3);其中,Depthi,src1表示第i个场景的第src1个视角的深度图,Depthi,src2表示第i个场景的第src2个视角的深度图,Depthi,src3表示第i个场景的第src3个视角的深度图,Depthi,target表示第i个场景的第target个视角的深度图;
步骤1-3-2,针对每个视角,从步骤1-1中的相机参数中获取每个视角的内参矩阵Intri,k和外参矩阵Extri,k,计算出投影矩阵Proi,k,i为场景的序号,k为视角的序号;其中,投影矩阵Proi,k描述的是第i个场景的第k个视角下,如何从世界坐标系投影到图像坐标系;
步骤1-3-3,根据Pi,j中的序号,从步骤1-3-2中的投影矩阵中获取对应序号对Pi,j的投影矩阵对Mi,j,表示为(Proi,target,Proi,src1,Proi,src2,Proi,src3);Proi,src1表示第i个场景的第src1个视角的投影矩阵,Proi,src2表示第i个场景的第src2个视角的投影矩阵,Proi,src3表示第i个场景的第src3个视角的投影矩阵,Proi,target表示第i个场景的第target个视角的投影矩阵。
步骤2包括如下步骤:
步骤2-1,将输入的多视图场景数据集R={RTrain,RTest}划分为训练集RTrain={r1,r2,...ri,...,rn}和测试集RTest={rk+1,rk+2,...,rk+j,…,rk+m},其中ri表示训练集中第i个场景,rk+j表示测试集中第j个场景,n表示训练集的场景数目,m表示测试集的场景数目,对于训练集RTrain,ri={Pi,j,Si,j,Di,j,Mi,j},对于测试集RTest,ri={Pi,j,Si,j,Mi,j};
步骤2-2,将RGB图对Si,j中的源视角图像(Imgi,src1,Imgi,src2,Imgi,src3)以及对应的投影矩阵(Proi,src1,Proi,src2,Proi,src3)输入预训练的MVSNet深度预测模型(一种预训练的多视角三维重建模型,参考文献:Yao Y,Luo ZX,Li SW,et al.MVSNet:Depth inferencefor unstructured multi-view stereo.Proceedings of the 15th EuropeanConference on Computer Vision.Munich:Springer,2018.785-801.)中,得到预测的深度值和置信度,其中,Imgi,src1表示第i个场景的第src1个视角的RGB图像,Imgi,src2表示第i个场景的第src2个视角的RGB图像,Imgi,src3表示第i个场景的第src3个视角的RGB图像;Proi,src1表示第i个场景的第src1个视角的投影矩阵,Proi,src2表示第i个场景的第src2个视角的投影矩阵,Proi,src3表示第i个场景的第src3个视角的投影矩阵。
步骤3包括以下步骤:
步骤3-1,基于步骤2中得到的深度图,根据投影矩阵把深度图变换到世界坐标系下,得到神经点云的位置和置信度;
步骤3-2,根据点云和源图像之间的对应关系,将每个点对应到三张RGB图像上的颜色值、点到相机点的位移向量和置信度拼接,得到神经点的单点特征;
步骤3-3,将RGB图像输入特征提取网络(一种多尺度特征提取网络,参考文献:LinT Y,Dollar P,Girshick R,et al.Feature Pyramid Networks for Object Detection[J].IEEE Computer Society,2017.),经过卷积操作和池化操作后,分层提取3个视角下的640×512×8维、320×256×16维、160×128×32维的特征向量,作为分层的图片特征,根据投影关系,得到神经点的局部特征;
步骤3-4,将步骤3-3中最后一层的160×128×32维的特征向量通过平均池化展开成1维,最后得到3个视角下的1×32维的特征向量作为全局特征;
步骤3-5,将神经点云的单点特征、局部特征和全局特征拼接,通过全连接层进行融合,得到每个神经点的特征;至此,神经点云Pneural被表示为Pneural={pi,fi,si},其中pi为神经点的三维位置,fi为神经点的特征,si为神经点置信度。
步骤4包括以下步骤:
步骤4-1,构建相机到目标视角成像平面的神经辐射场,成像平面上每一个像素都对应一条从相机点发出的射线,在射线上进行均匀采样,得到神经辐射场的采样点;
步骤4-2,将三维空间划分成体素结构,根据神经点云分布计算出被占用的体素,过滤掉落在空白区域的采样点;如果一条射线上所有采样点都被过滤,则这条射线也将被过滤,由此得到射线掩码;
步骤4-3,针对每个采样点,在神经点云中检索它的8个邻近的神经点,使用8个邻近的神经点的特征,通过绝对编码、相对编码、学习权重和插值,得到神经辐射场中每个采样点的特征。
步骤4-3包括以下步骤:
步骤4-3-1,对于每个采样点q,在步骤4-2建立的体素结构中搜索,从q占用的体素向外搜索,如果体素被占用,则将体素对应的神经点记录下来,如果还不满8个,则再向外搜索,直至找到8个邻近神经点Nq;
步骤4-3-2,对于神经点p∈Nq,p的特征作为绝对编码,将q-p,即相对位移,与绝对编码拼接,通过全连接层,融合为128维的特征,获得p基于q的相对编码zp,q;
步骤4-3-3,将相对编码输入卷积网络,输出每个p相对于q的权重wp,q,通过softmax操作,将权重之和归一化到1;
步骤4-3-4,根据步骤4-3-3获得的权重,将邻近神经点的相对编码加权插值,得到最终采样点的编码zq。
步骤5包括以下步骤:
步骤5-1,将采样点的相对编码zp,q输入多层感知机,输出不透明度σp,q,根据步骤4-3-3中计算的权重wp,q,对σp,q进行加权求和得到σq;
步骤5-2,将采样点的编码zq输入多层感知机,输出颜色值cq;
步骤5-3,根据体渲染公式(一种渲染方法,参考文献:Drebin R A,Carpenter L,Hanrahan P.Volume Rendering[J].Acm Siggraph Computer Graphics,1988,22(4):65-74.),将每条射线上采样点的颜色值根据不透明度进行加权求和,获得目标视角的RGB预测图;
步骤5-4,计算损失值Lours;
步骤5-5,进行反向传播,最终得到训练的基于点特征与神经辐射场的新视角合成网络,通过新视角合成网络输出新视角图片。
步骤5-4中,采用如下公式计算损失值Lours:
Lours=μL2(predraymask,gtraymask)+(1-μ)(preadepthmask,gtdepthmask)
其中,L2表示L2-norm,即L2范数;raymask为步骤4-2中得到的射线掩码,depthmask为深度值大于0的掩码;pred为网络渲染出的最终RGB图片,gt代表的是真值的RGB图片,predraymask与gtraymask分别表示经射线掩码计算后,即过滤掉无有效采样点像素的预测图片与真值图片;preddepthmask与gtdepthmask分别表示经深度掩码计算后,即过滤掉深度小于0的像素的预测图片与真值图片,μ为0-1之间的常数。
本发明还提供了一种存储介质,存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现所述一种基于点特征与神经辐射场的新视角合成方法。
有益效果:本发明的方法致力于解决基于神经辐射场和点特征生成相应的新视角图片的问题,先采用预训练的MVSNet模型对多视角图片进行深度图重建。然后将三维点投影到RGB图像上获取颜色值,与置信度和相对相机点的位移拼接,获取单点特征。然后用特征金字塔网络对图片进行特征提取,分别从特征金字塔网络的多层结构提取不同感知域的特征作为多层的局部信息,通过平均池化获取全局特征,融合这三种特征得到神经点云的特征。通过对邻近的神经点云特征进行相对编码、权重学习以及特征插值,获取神经辐射场中采样点的特征,最后解码出颜色和密度信息。在整个过程中,该方法不同于之前只基于图像局部特征的方法,而是采取点特征、局部特征与全局特征融合的方法,更充分地利用二维特征与三维信息,增加全局信息作为指导更能增强像素间的一致性。另一方面,该方法不同于之前仅仅利用距离信息聚合特征,提出了一种基于相对编码、学习权重和特征插值的方法来进行领域特征聚合。由于欧氏距离的大小关系在成像平面上的投影后不一定成立,所以与距离加权相比,学习出的权重可以更合理地衡量邻域里的点对采样点的贡献。上述操作提出了一种合理的特征提取与特征聚合的方式,从而进一步提升了基于点特征和神经辐射场的新视角合成的效果。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明流程图。
图2为输入图片样例示意图。
图3为新视角合成结果示意图。
图4为本发明方法的体系框架图。
图5为本发明方法与其它方法的新视角合成对比示意图。
具体实施方式
如图1所示,本发明公开了一种基于点特征与神经辐射场的新视角合成方法,本发明采用隐式空间函数作为场景的表示方式,采用体渲染获得最后的渲染图片。先采用预训练的MVSNet模型对多视角图片进行深度图重建。然后将三维点投影到RGB图像上获取颜色值,与置信度和相对相机点的位移拼接,获取单点特征。然后用特征金字塔网络对图片进行特征提取,分别从特征金字塔网络的多层结构提取不同感知域的特征作为多层的局部信息,通过平均池化获取全局特征,融合这三种特征得到神经点云的特征。通过对邻近的神经点云特征进行相对编码、权重学习以及特征插值,获取神经辐射场中采样点的特征,最后解码出颜色和密度信息,使用体渲染公式对每条射线上的采样点属性进行加权求和,获得预测的RGB图像。使用L2-Loss的方法计算预测图像值与真值的差距;对于给定的多视图场景数据集R={RTrain,RTest}划分为训练集RTrain={r1,r2,...ri,...,rn}和测试集RTest={rk+1,rk+2,...,rk+j,...,rk+m},其中ri表示训练集中第i个场景,rk+j表示测试集中第j个场景,n表示训练集的场景数目,m表示测试集的场景数目。本发明经过如下步骤,完成对测试集RTest内的新视角合成,目标任务如图2所示,流程图如图1和图4所示:
具体包括以下步骤:
步骤1,采集多视角图片数据、相机参数以及深度图;
步骤2,将多视角图片以及相机参数作为输入,利用基于深度学习的多视角立体深度估算方法,得到每个视角下的深度图以及对应的置信度;
步骤3,从步骤2中得到深度图中采样得到神经点云的位置信息,点云的置信度为步骤2中深度值的置信度,对输入的图片提取特征,融合点特征、局部特征与全局特征,作为神经点云的特征信息;
步骤4,构建相机到成像平面的神经辐射场,基于步骤3得到的神经点云信息,通过对邻近若干神经点的特征进行相对编码、学习权重以及插值一系列步骤,得到神经辐射场中每个采样点的特征;
步骤5,将每个采样点特征输入解码网络,得到每个采样点的颜色值和不透明度,最后进行渲染得到新视角图片。
步骤1包括如下步骤:
步骤1-1,从DTU数据集中获得场景数据,其中,每个场景包括49个不同视角下的RGB图像、深度图以及相机的参数;
步骤1-2,针对每个场景,得到49组源视角与目标视角的序号对,每个序号对Pi,j可表示为(target,src1,src2,src3),其中Pi,j为第i个场景的第j个序号对,target=j,取值为0到48,src1,src2,src3为0到48中除target之外,随机选取的互不相同的3个整数序号。
步骤1-3,针对每个序号对Pi,j,根据步骤1-1中的原始数据,得到对应序号对的RGB图对Si,j、深度图对Di,j以及投影矩阵对Mi,j;
步骤1-3包括如下步骤:
步骤1-3-1,根据Pi,j中的序号,从步骤1-1中的RGB图像数据集中获取图像,对于每幅图像,应用双线性插值,将图片变形为640×512大小的Imgk,从而得到对应序号对Pi,j的图像对Si,j,表示为(Imgi,target,Imgi,src1,Imgi,src2,Imgi,src3);
根据Pi,j中的序号,从步骤1-1中的深度图数据集中获取深度图;对于每幅深度图,应用最邻近插值,将深度图变形为640×512大小的Depthk,从而得到对应序号对Pi,j的深度图对Di,j,表示为(Depthi,target,Depthi,src1,Depthi,src2,Depthi,src3);
步骤1-3-2,针对每个视角,从步骤1-1中的相机参数中获取每个视角的内参矩阵Intri,k和外参矩阵Extri,k,计算出投影矩阵Proi,k,i为场景的序号,k为视角的序号;其中,投影矩阵Proi,k描述的是第i个场景的第k个视角下,如何从世界坐标系投影到图像坐标系;
步骤1-3-3,根据Pi,j中的序号,从步骤1-3-2中的投影矩阵中获取对应序号对Pi,j的投影矩阵对Mi,j,表示为(Proi,target,Proi,src1,Proi,src2,Proi,src3);Proi,src1表示第i个场景的第src1个视角的投影矩阵,Proi,src2表示第i个场景的第src2个视角的投影矩阵,Proi,src3表示第i个场景的第src3个视角的投影矩阵,Proi,target表示第i个场景的第target个视角的投影矩阵。
步骤2包括如下步骤:
步骤2-1,将输入的多视图场景数据集R={RTrain,RTest}划分为训练集RTrain={r1,r2,...ri,...,rn}和测试集RTest={rk+1,rk+2,...,rk+j,…,rk+m},其中ri表示训练集中第i个场景,rk+j表示测试集中第j个场景,n表示训练集的场景数目,m表示测试集的场景数目,对于训练集RTrain,ri={Pi,j,Si,j,Di,j,Extri,j,Intri,j,Mi,j},对于测试集RTest,ri={Pi,j,Si,j,Extri,j,Intri,j,Mi,j};
步骤2-2,将RGB图像序列Si,j中的源视角图像(Imgsrc1,Imgsrc2,Imgsrc3)以及对应的投影矩阵(Prosrc1,Prosrc2,Prosrc3)输入预训练的MVSNet深度预测模型中,得到预测的深度值以及置信度;
步骤3包括以下步骤:
步骤3-1,基于步骤2中得到的深度图,根据投影矩阵把深度图变换到世界坐标系下,得到神经点云的位置以及置信度;
步骤3-2,根据点云和源图像之间的对应关系,将每个点对应到三张RGB图像上的颜色值、点到相机点的位移向量以及置信度拼接,得到神经点的单点特征。
步骤3-3,将RGB图像输入特征提取网络,经过卷积操作和池化操作后,分层提取3个视角下的640×512×8维、320×256×16维、160×128×32维的特征向量,作为分层的图片特征,根据投影关系,得到神经点的局部特征。
步骤3-4,将步骤3-2中最后一层的160×128×32维的特征向量通过平均池化展开成1维,最后得到3个视角下的1×32维的特征向量作为全局特征。
步骤3-5,将神经点云的单点特征、局部特征以及全局特征拼接,通过全连接层进行融合,得到每个神经点的特征。至此,神经点云可以被表示为Pneural={pi,fi,si},其中pi为神经点的三维位置,fi为神经点的特征,si为神经点置信度。
步骤4包括以下步骤:
步骤4-1,构建相机到目标视角成像平面的神经辐射场,成像平面上每一个像素都对应一条从相机点发出的射线,在射线上进行均匀采样,得到神经辐射场的采样点;
步骤4-2,将三维空间划分成体素结构,根据神经点云分布计算出被占用的体素,过滤掉落在空白区域的采样点。若一条射线上所有采样点都被过滤,那么这条射线也将被过滤,由此得到射线掩码;
步骤4-3,针对每个采样点,在神经点云中检索它的8个邻近的神经点,使用这些神经点的特征,通过绝对编码、相对编码、学习权重以及插值一系列步骤,得到神经辐射场中每个采样点的特征。
步骤4-3包括以下步骤:
步骤4-3-1,对于每个采样点q,在步骤4-2建立的体素结构中搜索,从q占用的体素向外搜索,若体素被占用,则将体素对应的神经点记录下来,如果还不满8个,则再向外搜索,直至找到8个邻近神经点Nq;
步骤4-3-2,对于p∈Nq,p的特征作为绝对编码,将q-p,即相对位移,与绝对编码拼接,通过全连接层,融合为128维的特征,获得p基于q的相对编码zp,q;
步骤4-3-3,将相对编码输入卷积网络,输出每个p相对于q的权重wp,q,通过softmax操作,将权重之和归一化到1。
步骤4-3-4,根据步骤4-3-3获得的权重,将邻近神经点的相对编码加权插值,得到最终采样点的编码zq;
步骤5包括以下步骤:
步骤5-1,将采样点的相对编码zp,q输入多层感知机,输出不透明度σp,q,根据步骤4-3-3中计算的权重wp,q,对σp,q进行加权求和,获得σq;
步骤5-2,将采样点的编码zq输入多层感知机,输出颜色值cq;
步骤5-3,根据体渲染公式,将每条射线上采样点的颜色值根据不透明度进行加权求和,获得目标视角的RGB预测图;
步骤5-4,计算损失值:
Lours=μL2(predraymask,gtraymask)+(1-μ)(preddepthmask,gtdepthmask)
其中,L2表示L2-norm,即L2范数;raymask为步骤4-3中得到的射线掩码,depthmask为深度值大于0的掩码。pred为网络渲染出的最终RGB图片,gt代表的是真值的RGB图片,μ为0-1之间的常数;
步骤5-5,进行反向传播,最终得到训练的基于点特征与神经辐射场的新视角合成网络。
实施例:
本实施例的目标任务如图2和图3所示,图2为源视角,图3为由图2推理出的新视角的结果,整个方法的结构体系如图4所示。下面根据实施例说明本发明的各个步骤。
步骤(1),采集多视角图片数据、相机参数以及深度图,具体分为以下几个步骤:
步骤(1.1),从DTU数据集中获得场景数据,其中,每个场景包括49个不同视角下的RGB图像、深度图以及相机的参数;
步骤(1.2),针对每个场景,得到49组源视角与目标视角的序号对,每个序号对Pi,j可表示为(target,src1,src2,src3),其中Pi,j为第i个场景的第j个序号对,target=j,取值为0到48,src1,src2,src3为0到48中除target之外,随机选取的互不相同的3个整数序号。
步骤(1.3),针对每个序号对Pi,j,根据步骤(1.1)中的原始数据,得到对应序号对的RGB图对Si,j、深度图对Di,j以及投影矩阵对Mi,j,该步骤具体包括以下步骤:
步骤(1.3.1),根据Pi,j中的序号,从步骤(1.1)中的RGB图像数据集中获取图像,对于每幅图像,应用双线性插值,将图片变形为640×512大小的Imgk,从而得到对应序号对Pi,j的图像对Si,j,表示为(Imgi,target,Imgi,src1,Imgi,src2,Imgi,src3);
步骤(1.3.2),根据Pi,j中的序号,从步骤(1.1)中的深度图数据集中获取深度图;对于每幅深度图,应用最邻近插值,将深度图变形为640×512大小的Depthk,从而得到对应序号对Pi,j的深度图对Di,j,表示为(Depthi,target,Depthi,src1,Depthi,src2,Depthi,src3);
步骤(1.3.3),针对每个视角,需要计算出投影矩阵对Mi,j,表示为(Proi,target,Proi,src1,Proi,src2,Proi,src3);其中,投影矩阵Prok描述的是该视角下,如何从世界坐标系投影到图像坐标系。由步骤(1.1)中获取的相机参数中的内参矩阵Intrk以及外参矩阵Extrk相乘得到。
步骤(2),将多视角图片以及相机参数作为输入,利用基于深度学习的多视角立体深度估算方法,得到每个视角下的深度图以及对应的置信度,步骤(2)具体包括以下步骤:
步骤(2.1),将输入的多视图场景数据集R={RTrain,RTest}划分为训练集RTrain={r1,r2,...ri,...,rn}和测试集RTest={rk+1,rk+2,...,rk+j,...,rk+m},其中ri表示训练集中第i个场景,rk+j表示测试集中第j个场景,n表示训练集的场景数目,m表示测试集的场景数目,对于训练集RTrain,ri={Pi,j,Si,j,Di,j,Extri,j,Intri,j,Mi,j},对于测试集RTest,ri={Pi,j,Si,j,Extri,j,Intri,j,Mi,j};
步骤(2.2),将RGB图像序列Si,j中的源视角图像(Imgsrc1,Imgsrc2,Imgsrc3)以及对应的投影矩阵(Prosrc1,Prosrc2,Prosrc3)输入预训练的MVSNet深度预测模型中,得到预测的深度值以及置信度;
步骤(3),从步骤2)中得到深度图中采样得到神经点云的位置信息,点云的置信度为步骤2中深度值的置信度,对输入的图片提取特征,融合点特征、局部特征与全局特征,作为神经点云的特征信息。步骤(3)具体包括以下步骤:
步骤(3.1),基于步骤2)中得到的深度图,根据投影矩阵把深度图变换到世界坐标系下,得到神经点云的位置以及置信度;
步骤(3.2),根据点云和源图像之间的对应关系,将每个点对应到三张RGB图像上的颜色值、点到相机点的位移向量以及置信度拼接,得到神经点的单点特征。
步骤(3.3),将RGB图像输入特征提取网络,经过卷积操作和池化操作后,分层提取3个视角下的640×512×8维、320×256×16维、160×128×32维的特征向量,作为分层的图片特征,根据投影关系,得到神经点的局部特征。
步骤(3.4),将步骤(3.2)中最后一层的160×128×32维的特征向量通过平均池化展开成1维,最后得到3个视角下的1×32维的特征向量作为全局特征。
步骤(3.5),将神经点云的单点特征、局部特征以及全局特征拼接,通过全连接层进行融合,得到每个神经点的特征。至此,神经点云可以被表示为Pneural={pi,fi,si},其中pi为神经点的三维位置,fi为神经点的特征,si为神经点置信度。
步骤(4),构建相机到成像平面的神经辐射场,基于步骤(3)得到的神经点云信息,通过对邻近若干神经点的特征进行相对编码、学习权重以及插值一系列步骤,得到神经辐射场中每个采样点的特征,该步骤具体包括以下步骤:
步骤(4.1),构建相机到目标视角成像平面的神经辐射场,成像平面上每一个像素都对应一条从相机点发出的射线,在射线上进行均匀采样,得到神经辐射场的采样点;
步骤(4.2),将三维空间划分成体素结构,根据神经点云分布计算出被占用的体素,过滤掉落在空白区域的采样点。若一条射线上所有采样点都被过滤,那么这条射线也将被过滤,由此得到射线掩码;
步骤(4.3),针对每个采样点,在神经点云中检索它的8个邻近的神经点,使用这些神经点的特征,通过绝对编码、相对编码、学习权重以及插值一系列步骤,得到神经辐射场中每个采样点的特征。步骤(4.3)包括以下步骤:
步骤(4.3.1),对于每个采样点q,在步骤(4.2)建立的体素结构中搜索,从q占用的体素向外搜索,若体素被占用,则将体素对应的神经点记录下来,若还不满8个,则再向外搜索,直至找到8个邻近神经点Nq;
步骤(4.3.2),对于p∈Nq,p的特征作为绝对编码,将q-p,即相对位移,与绝对编码拼接,通过全连接层,融合为128维的特征,获得p基于q的相对编码zp,q;
步骤(4.3.3),将相对编码输入卷积网络,输出每个p相对于q的权重wp,q,通过softmax操作,将权重之和归一化到1。
步骤(4.3.4),根据步骤(4.3.3)获得的权重,将邻近神经点的相对编码加权插值,得到最终采样点的编码zq。
步骤(5),将每个采样点特征输入解码网络,得到每个采样点的颜色值和不透明度,最后进行渲染得到新视角图片,步骤(5)具体包括以下步骤:
步骤(5.1),将采样点的相对编码zp,q输入多层感知机,输出不透明度σp,q,根据步骤(4.3.3)中计算的权重wp,q,对σp,q进行加权求和,获得σq;
步骤(5.2),将采样点的编码zq输入多层感知机,输出颜色值cq;
步骤(5.3),根据体渲染公式,将每条射线上采样点的颜色值根据不透明度进行加权求和,获得目标视角的RGB预测图;
步骤(5.4),计算损失值
Lours=μL2(predraymask,gtraymask)+(1-μ)(preddepthmask,gtdepthmask)
其中,L2表示L2-norm,即L2范数;raymask为步骤(4.3)中得到的射线掩码,depthmask为深度值大于0的掩码。pred为网络渲染出的最终RGB图片,gt代表的是真值的RGB图片,μ为0-1之间的常数;
步骤(5.5),进行反向传播,最终得到训练的基于点特征与神经辐射场的新视角合成网络。
结果分析:
本发明方法的实验环境参数如下:
1)对基于点特征与神经辐射场的新视角合成网络的训练和测试过程的实验平台参数为Ubunm 20.04.664位操作系统、AMD Ryzen 95900X 12-Core、内存64GB,显卡为NVIDIA GeForce RTX 309024GB,采用Python编程语言,编程开发环境为PyCharm,并采用了Pytorch第三方开源库来实现。
本发明方法与文献10中的方法(简称PixelNerf)、文献11中的方法(简称PointNerf)的对比实验结果(如表1所示)分析如下:
在DTU数据集的88个场景上进行训练,在5个场景上进行了测试,编号为scan1、scan8、scan21、scan103、scan114。对比实验结果如表1和表2所示,其中,选取PSNR、SSIM、LPIPS作为指标。PSNR(Peak Signal-to-Noise Ratio)峰值信噪比,是基于对应像素点间的误差,即基于误差敏感的图像质量评价,越大表示重建质量越好。SSIM(StructuralSimilarity)结构相似性,也是一种全参考的图像质量评价指标,它分别从亮度、对比度、结构三方面度量图像相似性,值越大,表示图像失真越小。LPIPS(Learned Perceptual ImagePatch Similarity)学习感知图像块相似度,该度量标准学习生成图像到真值的反向映射,并优先处理它们之间的感知相似度。LPIPS的值越低表示两张图像越相似,反之,则差异越大。
如图5所示,本发明的方法和PixelNerf以及PointNerf的对比。如表1和表2的指标的对比(表1展示了本发明方法与其它方法在DTU数据集5个场景上的指标对比,表2展示了本发明方法与其它方法在DTU数据集5个场景上指标统计对比)所示,本发明的方法领先于PixelNerf以及PointNerf方法,并且在平均指标和绝大多数单场景指标上均超过了PixelNerf以及PointNerf方法,证实了本实验对新视角合成的有较好的效果。
表1
表2
指标 | PixelNerf | PointNerf | 本发明方法 |
PSNR | 19.3 | 21.6 | 24.7 |
SSIM | 0.78 | 0.83 | 0.84 |
LPIPS | 0.38 | 0.25 | 0.22 |
在自对比实验中,选择去掉相对编码,权重学习操作,并且采用文献11(简称PointNerf)提出的逆距离加权的方法,与最终的实验结果指标对比如表3(本发明方法最终结果与采用逆距离加权的方法的对比表)所示,表明相对编码,根据学习的权重插值的方法可以有效融合邻域特征。
表3
本发明提供了一种基于点特征与神经辐射场的新视角合成方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (10)
1.一种基于点特征与神经辐射场的新视角合成方法,其特征在于,包括以下步骤:
步骤1,采集多视角图片数据、相机参数和深度图;
步骤2,将多视角图片和相机参数作为输入,利用基于深度学习的多视角立体深度估算方法,得到每个视角下的深度图和对应的置信度;
步骤3,从步骤2中得到的深度图中采样得到神经点云的位置信息,点云的置信度为步骤2中深度值的置信度,对输入的图片提取融合点特征、局部特征与全局特征,作为神经点云的特征信息;
步骤4,构建相机到成像平面的神经辐射场,基于步骤3得到的神经点云的特征信息,通过对邻近神经点的特征进行处理,得到神经辐射场中每个采样点的特征;
步骤5,将每个采样点的特征输入解码网络,得到每个采样点的颜色值和不透明度,最后进行渲染得到新视角图片。
2.根据权利要求1所述的一种基于点特征与神经辐射场的新视角合成方法,其特征在于,步骤1包括如下步骤:
步骤1-1,从DTU数据集中获得场景数据,其中,每个场景包括N个不同视角下的RGB图像、深度图和相机的参数,N的取值范围为4到49之间的整数;
步骤1-2,针对每个场景,得到N组源视角与目标视角的序号对,每个序号对Pi,j表示为(i,target,src1,src2,src3),其中Pi,j为第i个场景的第j个序号对,target=j,取值为0到48;src1,src2,src3为0到48中除target之外,随机选取的互不相同的3个整数序号;
步骤1-3,针对每个序号对Pi,j,根据步骤1-1中的场景数据,得到对应序号对的RGB图对Si,j、深度图对Di,j和投影矩阵对Mi,j。
3.根据权利要求2所述的一种基于点特征与神经辐射场的新视角合成方法,其特征在于,步骤1-3包括如下步骤:
步骤1-3-1,根据Pi,j中的序号,从步骤1-1中的RGB图像中获取对应序号对Pi,j的图像对Si,j,表示为(Imgi,target,Imgi,src1,Imgi,src2,Imgi,src3);其中,Imgi,src1表示第i个场景的第src1个视角的RGB图像,Imgi,src2表示第i个场景的第src2个视角的RGB图像,Imgi,src3表示第i个场景的第src3个视角的RGB图像,Imgi,target表示第i个场景的第target个视角的RGB图像;
根据Pi,j中的序号,从步骤1-1中的深度图中获取对应序号对Pi,j的深度图对Di,j,表示为(Depthi,target,Depthi,src1,Depthi,src2,Depthi,src3);其中,Depthi,src1表示第i个场景的第src1个视角的深度图,Depthi,src2表示第i个场景的第src2个视角的深度图,Depthi,src3表示第i个场景的第src3个视角的深度图,Depthi,target表示第i个场景的第target个视角的深度图;
步骤1-3-2,针对每个视角,从步骤1-1中的相机参数中获取每个视角的内参矩阵Intri,k和外参矩阵Extri,k,计算出投影矩阵Proi,k,i为场景的序号,k为视角的序号;其中,投影矩阵Proi,k描述的是第i个场景的第k个视角下,如何从世界坐标系投影到图像坐标系;
步骤1-3-3,根据Pi,j中的序号,从步骤1-3-2中的投影矩阵中获取对应序号对Pi,j的投影矩阵对Mi,j,表示为(Proi,target,Proi,src1,Proi,src2,Proi,src3);Proi,src1表示第i个场景的第src1个视角的投影矩阵,Proi,src2表示第i个场景的第src2个视角的投影矩阵,Proi,src3表示第i个场景的第src3个视角的投影矩阵,Proi,target表示第i个场景的第target个视角的投影矩阵。
4.根据权利要求3所述的一种基于点特征与神经辐射场的新视角合成方法,其特征在于,步骤2包括如下步骤:
步骤2-1,将输入的多视图场景数据集R={RTrain,RTest}划分为训练集RTrain={r1,r2,...ri,...,rn}和测试集RTest={rk+1,rk+2,...,rk+j,...,rk+m},其中ri表示训练集中第i个场景,rk+j表示测试集中第j个场景,n表示训练集的场景数目,m表示测试集的场景数目,对于训练集RTrain,ri={Pi,j,Si,j,Di,j,Mi,j},对于测试集RTest,ri={Pi,j,Si,j,Mi,j};
步骤2-2,将RGB图对Si,j中的源视角图像(Imgi,src1,Imgi,src2,Imgi,src3)以及对应的投影矩阵(Proi,src1,Proi,src2,Proi,src3)输入预训练的MVSNet深度预测模型中,得到预测的深度值和置信度,其中,Imgi,src1表示第i个场景的第src1个视角的RGB图像,Imgi,src2表示第i个场景的第src2个视角的RGB图像,Imgi,src3表示第i个场景的第src3个视角的RGB图像;Proi,src1表示第i个场景的第src1个视角的投影矩阵,Proi,src2表示第i个场景的第src2个视角的投影矩阵,Proi,src3表示第i个场景的第src3个视角的投影矩阵。
5.根据权利要求4的一种基于点特征与神经辐射场的新视角合成方法,其特征在于,步骤3包括以下步骤:
步骤3-1,基于步骤2中得到的深度图,根据投影矩阵把深度图变换到世界坐标系下,得到神经点云的位置和置信度;
步骤3-2,根据点云和源图像之间的对应关系,将每个点对应到三张RGB图像上的颜色值、点到相机点的位移向量和置信度拼接,得到神经点的单点特征;
步骤3-3,将RGB图像输入特征提取网络,经过卷积操作和池化操作后,分层提取3个视角下的640×512×8维、320×256×16维、160×128×32维的特征向量,作为分层的图片特征,根据投影关系,得到神经点的局部特征;
步骤3-4,将步骤3-3中最后一层的160×128×32维的特征向量通过平均池化展开成1维,最后得到3个视角下的1×32维的特征向量作为全局特征;
步骤3-5,将神经点云的单点特征、局部特征和全局特征拼接,通过全连接层进行融合,得到每个神经点的特征;至此,神经点云Pneural被表示为Pneural={pi,fi,si},其中pi为神经点的三维位置,fi为神经点的特征,si为神经点置信度。
6.根据权利要求5的一种基于点特征与神经辐射场的新视角合成方法,其特征在于,步骤4包括以下步骤:
步骤4-1,构建相机到目标视角成像平面的神经辐射场,成像平面上每一个像素都对应一条从相机点发出的射线,在射线上进行均匀采样,得到神经辐射场的采样点;
步骤4-2,将三维空间划分成体素结构,根据神经点云分布计算出被占用的体素,过滤掉落在空白区域的采样点;如果一条射线上所有采样点都被过滤,则这条射线也将被过滤,由此得到射线掩码;
步骤4-3,针对每个采样点,在神经点云中检索它的8个邻近的神经点,使用8个邻近的神经点的特征,通过绝对编码、相对编码、学习权重和插值,得到神经辐射场中每个采样点的特征。
7.根据权利要求6的一种基于点特征与神经辐射场的新视角合成方法,其特征在于,步骤4-3包括以下步骤:
步骤4-3-1,对于每个采样点q,在步骤4-2建立的体素结构中搜索,从q占用的体素向外搜索,如果体素被占用,则将体素对应的神经点记录下来,如果还不满8个,则再向外搜索,直至找到8个邻近神经点Nq;
步骤4-3-2,对于神经点p∈Nq,p的特征作为绝对编码,将q-p,即相对位移,与绝对编码拼接,通过全连接层,融合为128维的特征,获得p基于q的相对编码zp,q;
步骤4-3-3,将相对编码输入卷积网络,输出每个p相对于q的权重wp,q,通过softmax操作,将权重之和归一化到1;
步骤4-3-4,根据步骤4-3-3获得的权重,将邻近神经点的相对编码加权插值,得到最终采样点的编码zq。
8.根据权利要求7所述的一种基于点特征与神经辐射场的新视角合成方法,其特征在于,步骤5包括以下步骤:
步骤5-1,将采样点的相对编码zp,q输入多层感知机,输出不透明度σp,q,根据步骤4-3-3中计算的权重wp,q,对σp,q进行加权求和得到σq;
步骤5-2,将采样点的编码zq输入多层感知机,输出颜色值cq;
步骤5-3,根据体渲染公式,将每条射线上采样点的颜色值根据不透明度进行加权求和,获得目标视角的RGB预测图;
步骤5-4,计算损失值Lours;
步骤5-5,进行反向传播,最终得到训练的基于点特征与神经辐射场的新视角合成网络,通过新视角合成网络输出新视角图片。
9.根据权利要求8所述的一种基于点特征与神经辐射场的新视角合成方法,其特征在于,步骤5-4中,采用如下公式计算损失值Lours:
Lours=μL2(predraymask,gtraymask)+(1-μ)(preddepthmask,gtdepthmask)
其中,L2表示L2-norm,即L2范数;raymask为步骤4-2中得到的射线掩码,depthmask为深度值大于0的掩码;pred为网络渲染出的最终RGB图片,gt代表的是真值的RGB图片,predraymask与gtraymask分别表示经射线掩码计算后,即过滤掉无有效采样点像素的预测图片与真值图片;preddepthmask与gtdepthmask分别表示经深度掩码计算后,即过滤掉深度小于0的像素的预测图片与真值图片,μ为0-1之间的常数。
10.一种存储介质,其特征在于,存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410320521.9A CN118135363A (zh) | 2024-03-20 | 2024-03-20 | 一种基于点特征与神经辐射场的新视角合成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410320521.9A CN118135363A (zh) | 2024-03-20 | 2024-03-20 | 一种基于点特征与神经辐射场的新视角合成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118135363A true CN118135363A (zh) | 2024-06-04 |
Family
ID=91234054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410320521.9A Pending CN118135363A (zh) | 2024-03-20 | 2024-03-20 | 一种基于点特征与神经辐射场的新视角合成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118135363A (zh) |
-
2024
- 2024-03-20 CN CN202410320521.9A patent/CN118135363A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110443842B (zh) | 基于视角融合的深度图预测方法 | |
Li et al. | Mine: Towards continuous depth mpi with nerf for novel view synthesis | |
Wang et al. | Nerf-sr: High quality neural radiance fields using supersampling | |
Flynn et al. | Deepstereo: Learning to predict new views from the world's imagery | |
CN110555434B (zh) | 一种局部对比和全局指导的立体图像视觉显著性检测方法 | |
CN111047548B (zh) | 姿态变换数据处理方法、装置、计算机设备和存储介质 | |
CN108921926B (zh) | 一种基于单张图像的端到端三维人脸重建方法 | |
Feixas et al. | A unified information-theoretic framework for viewpoint selection and mesh saliency | |
CN111325794A (zh) | 一种基于深度卷积自编码器的视觉同时定位与地图构建方法 | |
CN113066168B (zh) | 一种多视图立体网络三维重建方法及系统 | |
CN109716393A (zh) | 用于创建虚拟3d模型的方法和系统 | |
CN110381268B (zh) | 生成视频的方法,装置,存储介质及电子设备 | |
CN112750201B (zh) | 三维重建方法及相关装置、设备 | |
CN115393410A (zh) | 一种基于神经辐射场和语义分割的单目视图深度估计方法 | |
CN114463492B (zh) | 一种基于深度学习的自适应通道注意力三维重建方法 | |
CN113077505A (zh) | 一种基于对比学习的单目深度估计网络的优化方法 | |
Gao et al. | Joint optimization of depth and ego-motion for intelligent autonomous vehicles | |
CN114677479A (zh) | 一种基于深度学习的自然景观多视图三维重建方法 | |
CN115205463A (zh) | 基于多球面场景表达的新视角图像生成方法、装置和设备 | |
CN115797561A (zh) | 三维重建方法、设备及可读存储介质 | |
CN115565039A (zh) | 基于自注意力机制的单目输入动态场景新视图合成方法 | |
Yuan et al. | Neural radiance fields from sparse rgb-d images for high-quality view synthesis | |
Hara et al. | Enhancement of novel view synthesis using omnidirectional image completion | |
Yuan et al. | A novel deep pixel restoration video prediction algorithm integrating attention mechanism | |
CN110889868A (zh) | 一种结合梯度和纹理特征的单目图像深度估计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |