一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于SDF场可微渲染的透明物体重建的方法及系统与流程

2022-02-19 00:02:37 来源:中国专利 TAG:

一种基于sdf场可微渲染的透明物体重建的方法及系统
技术领域
1.本发明涉及一种基于sdf(signed distance fields)场可微渲染的透明物体重建的方法,是一种基于图像的透明对象重建方法,可以直接优化透明对象的几何形状,可以生成更准确的三维模型与渲染出的图像与输入图像几乎一致。本发明属于三维重建领域,尤其涉及到sdf(signed distance fields)场表示三维模型和可微渲染。


背景技术:

2.目前,透明物体重建的技术主要分为一下几种:一、传统的方法。通过利用光路三角剖分、斯涅尔定律和菲涅耳方程的方法,恢复经过透明物体的光路,利用光路重建形状,其揭示了表面法向量和折射方向之间的关系。实际应用是利用摄像头和监视器等复杂的设备,在透明物体表面和背面建立相机入射光线和出射光线之间的对应关系,然后通过加强和应用位置法线一致性、轮廓一致性、表面光滑度、可微分的折射光线追踪等重建透明物体的三维模型。但是,此类方法需要特定的设备和繁琐的操作才能建立相机入射光线和出射光线之间的对应关系,故重建的过程需要复杂的设置和大量的手动操作,较为繁琐。二、基于深度学习的方法。设计一种基于物理性质的神经网络,在已知环境图下,恢复给定视角下透明物体的法线贴图,将生成的法线图扭曲到初始点云上,应用修改后的pointnet 网络,优化三维模型。然而,这种方法将透明物体重建分为法线的估计和优化透明物体三维模型二个离散过程,以及学到的先验知识倾向三维模型的过度平滑。在现有技术中,缺乏一种较为简便,不需要特定设备,端到端,能生成准确的三维模型的透明物体重建方法。


技术实现要素:

3.本发明提出一种基于sdf(signed distance fields)场可微渲染的透明物体重建的方法,本发明通过拍摄全景图和透明物体的照片,利用全景图和透明物体照片的相机标定技术获得旋转矩阵;通过空间雕刻(space carving)算法获得透明物体的初始形状;利用sdf(signed distance fields)场表示初始的三维模型;通过给定的相机参数和环境图,提出可微的光线追踪算法渲染透明物体三维模型在任意视角和环境图中的图像;最小化多张输入图像和渲染图像的差异,sdf(signed distance fields)场表示的三维模型逐渐优化使多张渲染图像和输入图像一致。在合成和真实数据集上验证提出的方法,结果表明此方法可以重建准确的三维模型和渲染出的图像与输入图像几乎一致。
4.本发明提出一种基于sdf(signed distance fields)场可微渲染的透明物体重建的方法,其包括透明物体照片快速标定单元,三维模型表示单元,可微渲染单元,损失计算单元。
5.透明物体照片快速标定单元首先在空旷无人的场景拍摄全景图和透明物体的照片,全景相机和透明物体放置相同位置。采用一般的设备(如:手机,摄像机等)拍摄透明物体照片;在全景图中选择四个瞄点——本专利中选择生成围绕y轴旋转0
°
90
°
180
°
270
°
,并生成每个瞄点的旋转矩阵,即绕y轴旋转0
°
90
°
180
°
270
°
的3
×
3旋转矩阵。紧连着反投影照
片生成系统,采用全景图和照片的对应关系和瞄点的旋转矩阵,反投影生成和标定照片相同大小的瞄点图像。采用基于运动恢复结构(structure

from

motion)算法,调用基于opencv的特征的点提取匹配单元和旋转矩阵生成单元进行瞄点图像和透明物体照片的标定,最后应用光束平差法(bundle adjustment)的微调旋转矩阵。
6.三维模型表示单元使用生成的相机矩阵和轮廓图,采用空间雕刻(space carving)算法生成初始的可见外壳(visual hull),将生成的可见外壳(visual hull)用sdf(signed distance fields)场表示的三维模型。其紧接着可微渲染单元。
7.可微渲染单元通过可微渲染方法渲染出sdf(signed distance fields)场表示三维模型的图像。通过给出相机参数,光源和物体的材质,渲染的过程仅仅与相机光线和物体表面相交的位置和方向量相关,与球体追踪算法求交点的过程无关,渲染的过程是可微的。但是在知道环境图的情况下,仅仅渲染透明物体的单个像素,需要将与相机光线对应的光路都要考虑进去。故对于照片中的每一个像素,需要得到交点的位置和法向量。基于计算的光线方向,通过菲涅耳方程计算出反射光线和折射光线的强度。不同于以往的方法,只计算在透明物体内仅沿射线路径发生两次折射,本方法的可微渲染算法专为用sdf(signed distance fields)场表示三维模型设计,且可在三维模型内部发生多次折射。
8.损失计算单元主要计算四种损失,图像损失——使得渲染的图像和输入图像的保持一致,sdf(signed distance fields)损失——保证sdf(signed distance fields)值代表有效的有符号距离函数;ssim(structural similarity)表示平滑度损失——使得sdf(signed distance fields)场表示的形状更加平滑;mask损失——使得优化的sdf(signed distance fields)场表示的三维模型的投影和给定的mask一致。
9.本发明基于sdf(signed distance fields)场可微渲染的透明物体重建的方法,其包括以下步骤:
10.步骤s1:采用拍摄的全景图和透明物体的照片;在全景图中选择四个瞄点——本专利中选择生成围绕y轴旋转0
°
90
°
180
°
270
°
,并生成每个瞄点的旋转矩阵。利用全景图和照片的对应关系,将每个瞄点的旋转矩阵反投影生成和标定照片相同大小的图像。
11.步骤s2:应用基于运动恢复结构(structure

from

motion)算法,应用基于opencv的特征的点提取匹配单元和旋转矩阵生成单元进行瞄点照片和透明物体照片的标定,最后采用光束平差法(bundle adjustment)的微调生成的旋转矩阵。
12.步骤s3:采用生成的相机矩阵通过空间雕刻(space carving)算法生成初始的可见外壳(visual hull),将生成的可见外壳用sdf(signed distance fields)场表示,作为本方法的初始形状。
13.步骤s4:对于照片中的每一个像素,采用球体追踪算法获得光线和三维模型表面交点的位置。通过三线性插值交点位置周围八个离散点得到交点的位置的sdf值和法向量。
14.步骤s5:通过斯涅尔定律和菲涅耳方程计算出反射光线和折射光线的光线方向和强度。
15.步骤s6:采用可微渲染算法,假设在透明物体内部发生多次折射(大于2次),在知道环境图、相机光线对应的光路的情况下,渲染透明物体的每个像素,
16.步骤s7:采用图像损失、sdf损失、平滑度损失和mask损失,这四项损失项之和作为渲染的照片和输入照片之间的损失函数。通过最小化损失函数逐步优化sdf值,使的重建透
明物体的三维模型的渲染图像逼近拍摄照片。
17.本发明的优点在于:通过本发明的透明物体三维重建方法,可以实现全景图和透明物体的普通照片的标定和透明物体三维模型的重建,具有快速、准确的优点。
附图说明
18.图1为本发明提出的于sdf(signed distance fields)场可微渲染的透明物体重建的过程示意图。
19.图2为具有朗伯表面的物体的光线追踪示意图。
20.图3为透明图物体的光线追踪示意图。
21.图4为全景相机拍摄的环境图示意图。
22.图5为手机相机拍摄的透明物体照片示意图。
23.图6为全景图和透明物体图像标定结果反投影获得与透明物体图像相同分辨率的图像示意图。
具体实施方式
24.为进一步了解本发明的内容,使本发明的目的、技术方案及优点更加清晰明了,以下结合附图和实施例对本发明进行详细说明。
25.本发明提出一种基于sdf(signed distance fields)场可微渲染的透明物体重建的方法,本发明通过拍摄全景图和透明物体的照片,利用全景图和透明物体照片的相机标定技术获得旋转矩阵,采用空间雕刻(space carving)算法获得透明物体的初始形状。应用sdf(signed distance fields)场表示初始的三维模型;通过给定的相机参数和环境图,提出可微的光线追踪算法渲染透明物体三维模型在任意视角和环境图中的图像;最小化多张的输入图像和渲染图像的差异,sdf(signed distance fields)场表示的三维模型逐渐优化使的多张渲染图像和输入照片一致。在合成和真实数据集上验证提出的方法,结果表明此方法可以重建出准确的模型和渲染出的图像与输入图像几乎一致。其步骤主要如下:
26.步骤s1:采用全景相机和一般相机(如:手机,摄像机等)在空旷无人的同一场景拍摄全景图和透明物体的照片,全景相机和透明物体放置相同位置。在全景图中选择四个瞄点——本专利中选择生成围绕y轴旋转0
°
90
°
180
°
270
°
,利用全景图和照片的对应关系,生成每个瞄点的旋转矩阵,即绕y轴旋转0
°
90
°
180
°
270
°
的3
×
3旋转矩阵,对应关系如下;
27.width=α/2π*panorama_weight
28.height=β/π*panorama_height
29.其中α,β分别代表射线与x轴和y轴的夹角;weight和height是照片的二维坐标值;panorama_weight和panorama_height是全景图的二维坐标值。将每个瞄点的旋转矩阵反投影成与标定照片相同分辨率的瞄点图像。
30.步骤s2:应用运动恢复结构(structure

from

motion)算法,调用基于opencv的特征点提取匹配单元和旋转矩阵生成单元进行反投影生成的瞄点图像和透明物体照片的标定,既全景图和透明物体照片的标定转换成照片之间的标定;采用光束平差法(bundle adjustment)的微调旋转矩阵。
31.x2t
×
rx1=0
32.其中x1,x2分别代表瞄点图像和透明物体照片匹配的特征点坐标值,t
×
r表示t叉乘r,r和t分表代表相机外参的旋转矩阵和平移矩阵。
33.步骤s3:采用生成的相机矩阵通过空间雕刻(space carving)算法生成初始的可见外壳(visual hull),生成的可见外壳用sdf(signed distance fields)场表示,作为本方法的初始形状。
34.步骤s4:对于照片中的每一个像素,采用球体追踪算法获得光线和三维模型表面交点的位置。由于sdf(signed distance fields)场是离散的,因此通过三线性插值交点位置周围八个离散点的sdf值和法向量得到交点的位置的sdf值和法向量。
35.p=s l*f
tri
(d0...d7;s)
36.p:近似的交点;d0...d7:八个相邻顶点的sdf值;s:交点前一个位置;l:相机光线的方向;f
tri
():三线性插值。
37.n=f
tri
(n0...n7;p)
38.n:交点的法向量;n0...n7:八个相邻顶点的法向量
39.步骤s5:通过斯涅尔定律和菲涅耳方程计算出反射光线和折射光线的光线方向和强度。
[0040][0041][0042]
l
r
:代表反射光线强度;l
i
:代表入射光线强度;l
t
:表示折射光线光线强度;η:代表折射率;:菲涅耳项;l:相机光线的方向;n:交点的法向量;
[0043]
步骤s6:采用可微的光线追踪算法,假设在透明物体内部发生多次折射(大于2次),在知道环境图、交点法向量,光强的情况下,渲染每个像素。单个像素的光线强度表示为:
[0044][0045]
n:光线追踪交点的个数;第一次反射的光强;第n次模型内部进行折射的光强
[0046]
步骤s7:采用图像损失、sdf损失、平滑度损失和mask损失,这四项损失项之和作为出渲染的照片和输入照片之间的损失函数:
[0047][0048]
图像损失项;sdf值损失项;深度平滑项;mask损失项;w1、w2、w3、w4代表平衡权重相应的损失权重且和为1,其中实验获得w1=0.4,w2=0.2,w3=0.1,w4=0.3。其中四个损失项的具体公式:
[0049]
基于结构相似性(ssim)的图像损失:
[0050][0051]
m
v
:输入的轮廓图;s(i
gt
,i
render
):计算渲染图像和输入图像的相似度,数值范围0

1,数值1:表示输入图像和渲染图像完全一致。m:轮廓图中有效点的总个数。
[0052]
有效的符号距离函数的sdf损失:
[0053][0054]
f(x):符号距离值;x:空间中的3d点。
[0055]
模型表面平滑的深度平滑损失:
[0056][0057]
g:三维网格中的顶点,g

:顶点g的相邻顶点;sdf(g)顶点g的sdf值;n(g):顶点g的相邻顶点集;n:相邻顶点的数量。
[0058]
采用输入的轮廓图和可微渲染的轮廓图l1距离作为的mask损失:
[0059]
l
mask
=l1(|m
v

m

v
|)
[0060]
m
v
:输入的轮廓图;m

v
:可微渲染获得得轮廓图.
[0061]
通过最小化损失函数值来逐步优化sdf的值,使的重建透明物体的三维模型的渲染图像与输入图像基本一致。
[0062]
本发明提供了一种基于sdf(signed distance fields)场可微渲染的透明物体重建的方法。通过拍摄全景图和需要标定的透明物体的照片,利用全景图和透明物体照片的相机标定技术获得旋转矩阵,通过空间雕刻(space carving)算法获得透明物体的初始形状。利用sdf(signed distance fields)表示初始的三维模型;基于给定的相机参数和环境图,提出可微的光线追踪算法渲染透明物体三维模型在任意视角和环境图中的图像;最小化多视图的输入图像和渲染图像的差异,sdf(signed distance fields)场表示的三维模型逐渐优化使渲染图像和输入图像一致。在合成和真实数据集上验证提出的方法,结果表明此方法可以重建更准确的模型和渲染出的图像与输入图像几乎一致。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献