一种单键生成的多视图三维重建方法及装置

文档序号:31849595发布日期:2022-10-19 00:41阅读:50来源:国知局
一种单键生成的多视图三维重建方法及装置

1.本发明应用于艺术创意、教育、文物保护领域的可移动实物的三维数字化中,属于图像采集辅助设备技术领域,尤其涉及一种单键生成的多视图三维重建方法及装置。


背景技术:

2.目前市场上同类产品的具有以下特点和缺陷:
3.(1)einscan-sp桌面3d扫描仪
4.是最耗时的系统,大约3小时的工作,其中78.9%是采集图片需要的时间。结构光扫描仪需要手动后期处理纹理,并且扫描的过程中需要手动调整各个角度,人工耗时比较大。
5.(2)solutionix c500蓝光3d扫描仪
6.扫描中和扫描后需要手动处理,人工耗时比较大。
7.(3)academia 3d scanner手持白光扫描仪
8.手持白光扫描仪虽是最省时的,但网格有破面且无纹理映射贴图,无法满足文物的真实还原度。


技术实现要素:

9.为了解决上述现有技术中存在的问题,本发明提供一种单键生成的多视图三维重建方法及装置,解决了实物数字化采集方面存在采集条件繁琐、采集效率低下、人员专业要求高、设备成本高等问题。
10.技术方案如下:
11.一种单键生成的多视图三维重建装置,包括:
12.用于调动摄像头拍照、启动转台工作、传输图像、生成三维文件的计算机,其分别与摄像头阵列、集成控制器连接;
13.转台,与用于驱动转台的所述集成控制器连接;
14.聚光罩,所述摄像头阵列、转台、集成控制器均内置于所述聚光罩中。
15.进一步的,还包括用于支撑扫描对象的支撑结构,所述支撑结构内置于所述聚光罩内。
16.进一步的,所述摄像头阵列包括三根弧形支架,每根所述弧形支架上分别安装6个1200万以上像素摄像头。
17.进一步的,还包括转台电机,所述转台电机分别与转台、集成控制器连接。
18.本发明还包括一种单键生成的多视图三维重建方法,步骤如下:
19.s1、使用上述的任意一种单键生成的多视图三维重建装置进行图片数据采集,多角度拍摄获取图片数据;
20.s2、图片点云预处理,实现点云过滤;
21.s3、进行特征点检测与匹配;
22.s4、相机标定,相机内部参数、外部参数和畸变参数获取;
23.s5、进行稠密点云的网格化,网格化简;
24.s6、进行纹理映射。
25.进一步的,所述步骤s3特征点匹配包括立全局立体匹配、局部立体匹配、半全局立体匹配;
26.所述全局立体匹配:采用全局的优化理论方法估计视差,建立全局能量函数,通过最小化全局能量函数得到最优视差值;通过二维相邻像素视差之间的约束得到匹配效果;
27.所述局部立体匹配:采用局部优化方法进行视差值估计,使用sad局部立体匹配算法或ssd局部立体匹配算法,通过能量最小化方法进行视差估计;
28.所述半全局立体匹配:采用全局框架,在计算能量函数最小化的步骤时使用高效率的一维路径聚合方法来代替全局算法中的二维最小化算法,使用一维最优来近似二维最优。
29.进一步的,所述步骤s5包括:
30.s51、数据准备:剔除无效的、未标定的、被废弃的图像;给每个参考图像选择所有有用的邻域帧,所述邻域帧用于做匹配的帧,进行基于马尔科夫随机场优化,为每个参考图像选择一个全局最佳的邻域视图。
31.s52、进入深度图计算:依次进行深度图初始化、匹配代价计算、代价聚合、视差图获取、视差图优化后处理。
32.进一步的,所述步骤s6包括:
33.s61、建立彩色纹理网格模型;
34.s62、进行贴图制作
35.s63、进行点像对应的计算;
36.s64、利用lbp求解face的最优视图view算法进行计算;
37.s65、构建纹理patch;
38.s66、对全局纹理接缝颜色进行校正;
39.s67、对局部纹理接缝颜色进行校正。
40.本发明的有益效果是:
41.本发明所述的单键生成的多视图三维重建方法及装置通过软硬件一体集成极大的降低了设备使用难度,使非专业人士也能轻松使用;利用多摄像头集成阵列极大的提高采集准确度和效率;利用纯视觉摄像头进行高分辨率扫描,极大的降低了产品的成本。
附图说明
42.为了更清楚地说明本发明实施方式的技术方案,下面将结合附图和详细实施方式对本发明进行详细说明,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
43.图1为本发明结构俯视图;
44.图2为本发明外观结构示意图;
45.图3为本发明结构示意图;
46.图4为本发明摄像头阵列与转台结构示意图;
47.图5为本发明基于摄影测量的文物三维重建流程图;
48.图6为深度与视差图;
49.图7为实施例2图像坐标系图;
50.图8为相机与世界坐标系示意图;
51.图9为相机投影模型示意图;
52.图10为针孔相机模型示意图;
53.图11为两幅图像之间的对极几何图;
54.图12为对极几何中的极线约束示意图;
55.图13为本发明实施例2三角测量与极线校正示意图;
56.图14为视差与深度图关系图;
57.图15为极线校正示意图;
58.图16为校正后的基线计算图;
59.图17为邻域帧选择图;
60.图18为深度图初始化示意图;
61.图19为稀疏点投影到对应帧后的稀疏深度图;
62.图20为深度图三角化示意图;
63.图21为匹配代价计算图;
64.图22为本发明sgm算法代码框架图;
65.图23三维曲面重建原理图;
66.图24三维曲面重建中的最小割方法图;
67.图25三维曲面重建原理示意图;
68.图26三维曲面重建流程示意图;
69.图27为本发明曲面重建代码框架图;
70.图28彩色顶点网格与彩色贴图网格图;
71.图29纹理映射方法图;
72.图30纹理贴图制作图;
73.图31为本发明mrf图;
74.图32smoothcost中的potts模型示意图;
75.图33lbp算法原理图;
76.图34纹理patch的构建示意图;
77.图35全局纹理接缝颜色校正过程中的细节补充示意图;
78.图36为本发明纹理贴图代码框架图;
79.图中附图标记如下:1-计算机、2-摄像头阵列、3-转台、4-集成控制器、5-聚光罩、6-支撑结构、7-扫描对象。
具体实施方式
80.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并
不用于限定本发明。下面结合附图1-5对单键生成的多视图三维重建方法及装置做进一步说明。
81.实施例1
82.一种单键生成的多视图三维重建装置,包括:
83.用于调动摄像头拍照、启动转台3工作、传输图像、生成三维文件的计算机1,其分别与摄像头阵列2、集成控制器4连接;
84.转台3,与用于驱动转台3的所述集成控制器4连接;
85.聚光罩5,所述摄像头阵列2、转台3、集成控制器4均内置于所述聚光罩5中。
86.还包括用于支撑扫描对象7的支撑结构6,所述支撑结构6内置于所述聚光罩5内,所述支撑结构6为透明材质。
87.优选地,所述摄像头阵列2包括三根弧形支架,每根所述弧形支架上分别安装6个1200万以上像素摄像头。
88.还包括转台电机,所述转台电机分别与转台3、集成控制器4连接。
89.各组成结构实现如下功能:
90.计算机1:集成对硬件的所有控制功能,在软件一键启动开始扫描后所有扫描工作自动完成,包括调动摄像头拍照、启动转台3工作、传输图像、生成三维文件等。
91.摄像头阵列2:包含三根弧形支架,每个支架安装6个1200万以上像素摄像头,转台每转动一个角度自动拍摄一组(18张)照片;
92.转台3:软件端驱动数控步进电机驱动转台3转动,上面承载扫描对象及支撑结构;
93.集成控制器4:转台电机的驱动控制单元;
94.聚光罩5:保证拍摄对象的光线恒定,大小可以根据被摄物体尺寸调整。
95.操作说明:
96.一、搭建图片采集硬件环境
97.先将扫描对象7放置转台3上,利用计算机1集成控制器界面实时调控光照强度、色温等,再加上使用聚光罩5保证拍摄对象光线恒定,转台3带动扫描对象7转动,摄像头阵列2对扫描对象7进行图像采集。
98.二、一键采集图片
99.第一步完成后,配合自动转台间断性旋转,利用软件界面中一键拍摄按钮,以最短的时间拍摄目标物体重建所需的图片数量。
100.三、软件端三维重建
101.如图2所示:
102.(1)进行图片数据采集,数码相机或摄像机多角度拍摄获取图片数据;
103.(2)图片点云预处理,实现点云过滤;
104.(3)特征点检测与匹配(特征提取、分割、物体识别、分类);
105.(4)相机标定,相机内部参数、外部参数和畸变参数获取;
106.(5)稠密点云的网格化,网格化简;
107.(6)纹理映射。
108.实施例2
109.本实施例提供一种单键生成的多视图三维重建方法,包括下列步骤:
110.1.立体视觉流程(多视图三维重建)
111.1.1深度图(depth)/视差图(disparity)
112.a.深度图:场景中每个点到相机的距离;
113.视差图:同一个场景在两个相机下成像的像素的位置偏差dis;
114.b.两者关系:depth=bf/dis;
115.c.是三维信息的一种表示方式。
116.1.2图像坐标系,相机坐标系,世界坐标系
117.如图7所示,(u,v)是表示以像素为单位的图像坐标系的坐标,(x,y)是以mm为单位的图像坐标系的坐标,o1是相机光轴与图像的交点其对应的像素坐标(u0,v0),每个像素在轴和轴对应的物理尺寸dx,dy,两者转换关系如下:
[0118][0119]
用矩阵的表示形式:
[0120][0121]
逆关系:
[0122][0123]
·
相机与世界坐标系
[0124]
o为相机光心,xy轴与图像的xy轴平行,z轴为相机光轴与相机图像平面垂直交点就是图像坐标原点。o与xyz组成的直角坐标系为相机坐标系,oo1为焦距。
[0125]
世界坐标系与相机坐标系转换关系:
[0126][0127]
式中为3x3的正交单位矩阵,t为三维平移向量,0t=[0,0,0,],m2为4x4矩阵。
[0128]
1.3相机投影模型(针孔相机模型)
[0129]
把图像平面放到针孔前方(数学上等价,计算更简单),如图9所示。
[0130]
如图10所示,当已知图像点p时,由针孔成像模型,任何位于射线op上的空间点的图像点都是p点,因此空间点不是唯一确定的。
[0131]
`投影关系(从世界坐标系到图像坐标系)
[0132][0133]fx
,fy称为归一化焦距,(f
x
,fy,c
x
,cy)只与相机内部参数有关,被称为相机内参;r,t由相机相对世界坐标系的方位决定,被称为相机外参。确定相机内外参数被称为相机标定。
[0134]
1.4对极几何
[0135]
对极几何实际上是“两幅图像之间的对极几何”,它是图像平面与以基线为轴的平面束的交的几何(这里的基线是指连接摄像机中心的直线)。
[0136]
考虑从两张图像上观测到了同一个3d点,如图11所示。我们希望可以求解相机两个时刻的运动,r,t。
[0137]
将第一帧图像坐标系下的点p的空间位置记做[x,y,z],是非齐次坐标。根据针孔相机模型,它在两个图像上的像素坐标u1,u2分别为:
[0138]
s1u1=kp,s2u2=k(rp+t)
[0139]
其中r为相机内参矩阵,k表示内参矩阵,r,t为两个相机坐标系之间的运动,具体来说是r
21
,t
21
表示将坐标系1下的坐标转换到坐标系2下,它们是待求的量。u1,u2是像素点齐次坐标,通过特征提取和匹配获得。
[0140]
·
极点e
l
,er:极点:右相机坐标原点在左像平面上的像;极点:左相机坐标原点在右像平面上的像
[0141]
·
极平面π:由两个相机坐标原点、和物点组成的平面
[0142]
·
极线l
pr
,l
pr
:极平面与两个像平面的交线
[0143]
·
极线约束:给定图像上的一个特征,它在另一幅图像上的匹配视图一定在对应的极线上,即已知pr则它对应在右图的匹配点一定在极线l
pr
上反之亦然。
[0144]
·
极线约束给出了对应点重要的约束条件,它将对应点匹配从整幅图像中查找压缩到一条线上查找,大大减小了搜索范围,对对应点的匹配起指导作用。
[0145]
1.5三角测量与极线校正
[0146]
三角测量
[0147]
假设我们两台摄像机像平面精准位于同一平面上,且行对齐,两个光轴严格平行。如图13所示
[0148]
利用三角形关系推出z值:
[0149][0150]
其中t表示两相机中心点距离,x
l
表示左极线,表示主点(左),表示主点(右),xr表示右极线,f表示焦距。
[0151]
如果主点坐标相同则可简化为:
[0152][0153]
因为视差d=x
l-xr,且z为我们的深度值depth,故:
[0154][0155]
视差与深度图关系:
[0156]
·
视差与深度成反比,视差接近0时,微小的视差变化会产生较大的深度变化;
[0157]
·
当视差较大时,微小的视差变化几乎不会引起深度多大的变化;
[0158]
·
因此,立体视觉系统仅物体距离相机较近时具有较高的深度精度;
[0159]
极线校正
[0160]
·
校正过程:将相机在数学上对准到同一观察平面上,使得相机上像素行是严格对齐的
[0161]
·
校正目的:对两幅图像的二维匹配搜索变成一维,节省计算量,排除虚假匹配点校正算法:
[0162]
·
为了将摄相机极点变换到无穷远使得极线水平对准,我们创建一个旋转矩阵,首先是x轴的旋转,我们将x轴旋转到与基线相同的方向即旋转后新x轴就是ol-or,旋转向量:
[0163][0164]
确定旋转后的新轴,只需满足与正交即可:选则与主光轴和相交的方向:
[0165]
e2=e1×
(r
l
[0,0,1]
t
+t
l
)
[0166]
新的z轴,与e1,e2垂直且满足右手定则:
[0167]
e3=e1×
e2[0168]
最终得到的旋转矩阵:
[0169]rnew
=[e1,e2,e3]
[0170]
新的旋转矩阵:
[0171][0172][0173]
校正后,baseline计算:
[0174]
下式中c
lr
是指右相机光心在左相机坐标系下的坐标(也等于与右相机光心[0,0,0]的距离),t求解公式的意义是左相机光心在右相机校正后的坐标系下的坐标(也等于与右相机校正后的坐标系下光心[0,0,0]的距离)。故baseline就是轴方向的距离。
[0175][0176]clr
=r
l
(c
r-c
l
)
[0177][0178]
t
x
=t.x
[0179]
1.6视差图转深度图
[0180]
·
视差图是校正后的坐标系下得到的值,首先将其转换为校正后坐标系下的深度图已知:
[0181][0182][0183]
b=-t
x
[0184]
则:
[0185][0186][0187][0188]
把上式写成矩阵形式:
[0189][0190]
式中q',ω定义如下:
[0191][0192][0193]
·
将校正后的坐标系下深度图转换到校正前的相机坐标系下
[0194]
已知:校正前的相机坐标系下坐标(x,y,z)转到校正后相机坐标系下坐(x',y',z')转换关系如下:
[0195][0196]
则已知校正后的求校正前的公式如下:
[0197][0198]
再将其投影到图像坐标系下:
[0199][0200]
即:
[0201][0202]
·
将上两步合并得到校正后坐标系下的视差图(u',v',disp)与校正前的坐标系下的深度图(u,v,depth)的转换矩阵q
[0203]
已知:
[0204][0205][0206]
z=depth
[0207]
则:
[0208][0209]
1.7立体匹配
[0210]
三维重建的核心就是立体匹配。通过寻找匹配点,利用三角测量或对极约束得到
其在空间中的3d信息。立体匹配算法主要分为全局、局部、半全局。
[0211]
1.7.1全局立体匹配算法
[0212]
全局立体匹配算法主要是采用了全局的优化理论方法估计视差,建立全局能量函数,通过最小化全局能量函数得到最优视差值。
[0213]
通过二维相邻像素视差之间的约束(如平滑性约束)而得到更好的匹配效果,但是对内存的占用量大,速度慢不适合实时运行。主要的算法有图割(graph cuts)、信念传播(belief propagation)、动态规划等算法。
[0214]
1.7.2局部立体匹配算法
[0215]
主要是采用局部优化方法进行视差值估计,局部立体匹配算法有sad,ssd等算法,与全局立体匹配算法一样,也是通过能量最小化方法进行视差估计,但是在能量函数中,只有数据项,而没有平滑项。
[0216]
该算法由于每个像素计算互不干扰可以并行计算,所以可以实时。但由于所基于的局部窗口视差相同的假设在很多情况下并不成立导致匹配效果较差。
[0217]
1.7.3半全局立体匹配算法sgm
[0218]
综合上述局部和全局算法的优缺点,半全局算法依旧采用全局框架,但是在计算能量函数最小化的步骤时使用高效率的一维路径聚合方法来代替全局算法中的二维最小化算法,使用一维最优来近似二维最优,得到的视差图在效果上和全局算法没有太大的差别,但是算法效率却有非常大的提升。
[0219]
2.稠密重建
[0220]
稠密重建即深度图重建或深度估计(depth estimate)是重建流程中第一个环节,也是三维重建中最关键的环节。在传统算法中比较经典实用的两个算法是plansweeping和patchmatch两种算法。在平面sweeping算法中用的比较多的是sgm算法。openmvs框架实现这两种算法,可以通过参数控制测试这两种算法的效果对比。我们这章节主要讲sgm和patchmatch两种算法的具体实现。
[0221]
openmvs中实现的sgm是通过对图像做校正,在视差层面下进行计算的(匹配关系由上面的三角测量转换),视差图可以与深度图相互转换。该算法也可不用对图像校正直接计算深度图(匹配关系由上面提到的对极约束来转换)。patchmatch是直接计算深度图。
[0222]
2.1数据准备
[0223]
openmvs输入是图像和对应的相机内参和外参,在数据准备阶段第一步是剔除无效的、未标定的、被废弃的图像;第二步是给每个参考图像选择所有有用的邻域帧,这个邻域帧就是我们用来做匹配的帧,合适的选择策略可以提升重建效果所以这步非常重要;最后就是基于马尔科夫随机场(mrf)优化,为每个参考图像选择一个全局最佳的邻域视图。
[0224]
2.1.1邻域帧选择
[0225]
选择策略:共视点f在两个图像v,r的夹角ωn,f在两个图像中分辨率的相似性ωs,f在两个图像中覆盖的面积最小值area,分数计算如下式:
[0226]
[0227][0228]
2.2深度图计算算法(sgm(semi-global matching)
[0229]
2.2.1算法流程介绍:
[0230]
1.深度图初始化;
[0231]
2.匹配代价计算;
[0232]
3.代价聚合;
[0233]
4.视差图获取;
[0234]
5.视差图优化后处理。
[0235]
2.2.2 sgm算法原理详解
[0236]
2.2.2.1深度图初始化
[0237]
a.delaunay三角化
[0238]
delaunay三角化是一种三角化方法。具有如下性质:
[0239]
网格中的最小角最大化;
[0240]
任意三角形的外接圆内不含三角形以外的顶点;
[0241]
三角化的网格是点云的凸包;
[0242]
最大化所有三角面片的内切圆的平均值;
[0243]
b.稀疏点投影到对应帧,得到稀疏深度图,然后三角化,将三角化内平面插值得到完整的深度图。
[0244]
2.2.2.2匹配代价计算
[0245]
sgm的代价计算是基于互信息(mutual information,mi)的匹配测度计算算法来计算匹配代价,互信息是一种对影像明暗变化不敏感的相关性测度。但由于原理复杂且计算需要迭代效率比较低,
[0246]
在实际应用中,更简单有效的方法如census变换,故在此不再介绍mi。
[0247]
census变换:
[0248]
1.使用像素邻域内的局部灰度差异将像素灰度转换为比特串即为census值
[0249]
2.基于census变换的匹配代价计算方法是计算左右影像对应的两个像素的census变换值的汉明(hamming)距离
[0250]
2.2.2.3代价聚合
[0251]
·
采用全局立体匹配算法,即找到每个像素的最优视差使得整体能量最小。能量方程如下:
[0252][0253]
这是一个二维优化问题,为了提高优化效率,sgm将问题转化为使用一维路径聚合的方式来近似二维最优,提高效率的同时也保证了效果。sgm能量方程如下公式:
[0254][0255]
式中,c为匹配代价,第二项和第三项是平滑项,我们期望的是视差是连续的。所以
如果当前像素xb与邻域像素xn视差相差比较小(1个像素)我们会给一个比较小的惩罚p1,如果大于一个像素则给一个大的惩罚p2。但是实际场景中肯定会有一些视差不连续区域相差比较大。为了处理这种情况,我们进行调整:
[0256][0257]
2.2.2.4视差计算
[0258]
代价聚合后,每个像素直接找聚合代价最小对应的视差值就是我们所要求的视差值。
[0259]
2.2.2.5视差优化
[0260]
·
视差一致性检查
[0261]
将左右图互换,得到r-l视差图。与l-r视差图对比,根据左图的视差找到在右图中的对应视差,如果两者小于阈值则认为是准确的,反之是错的把该值剔除。如下图:
[0262]
|d
lr
(x,y)-d
rl
(x+d
lr
(x,y),y)|<t
[0263]
代码框架如图22所示。
[0264]
3.曲面重建
[0265]
3.3三维曲面重建
[0266]
·
原理简介
[0267]
旨在根据每个点的可视信息,采用上述delaunay tetrahedralization和graph-cut算法不仅重建出正常部分曲面,更能重建weakly-supported(图23圆圈部分)曲面。该算法的核心是通过检测weakly-supported surfaces对t-edges进行调整,重建正确曲面。
[0268]
·
利用delaunay tetrahedralization和graph-cut算法重建曲面原理是:如图24所示,我们将所有点划分成四面体网格,通过每个点的可视信息计算每个cell的权重s-t,利用最小割方法找到权重最小的分割面(face)这些face就是我们要重建的曲面。即:
[0269]
最小割:s(source)表示曲面外面,t(sink)表示曲面内部。node是四面体(cell),edge是两个cell共享的那个三角面。cut的有向边(从标记为s的node到标记为t的node)就是重建的surface。
[0270]
weakly supported surfaces理论
[0271]
weakly supported surfaces介绍:
[0272]
·
若支持的曲面指的是下图中绿色区域,直观讲就是曲面上点云比较少的部分,通常重建时由于遮挡或者深度恢复等原因有些曲面恢复的点的确会比较少,常规的重建算法比如泊松重建都是基于点云拟合得到。
[0273]
·
如果点比较少,很难恢复有效的曲面。所以作者在论文中提出了在上述基本方法的基础之上
[0274]
恢复这些稀疏点表示的曲面部分。
[0275]
weakly supported surfaces检测
[0276]
·
采用的方法是,如图26(与上图25对应)所示,每个区域的数字表示多少个相机能看到论文中也称free-space support。
[0277]
·
虚线圆圈是遮挡区域,我们可以通过free-space support的跳变(由非0到0的变化)来找到遮挡区域(weakly supported surfaces)。
[0278]
mesh重建算法步骤
[0279]
·
代码框架如图27所示
[0280]
4.纹理贴图
[0281]
4.1原理介绍
[0282]
4.1.1基础知识
[0283]
·
彩色纹理网格模型
[0284]
分两类,一类是彩色顶点网格,一类是彩色贴图网格
[0285]
彩色顶点网格:网格顶点带有颜色,三角形的颜色由网格顶点颜色插值得到。网格的色彩分辨率等于顶点分辨率。如图28图上所示。
[0286]
彩色贴图网格:网格的三角形的颜色对应于图像的一个三角片。网格的色彩分辨率等于图像的色彩分辨率。如图28图下所示。
[0287]
纹理贴图关键技术:
[0288]
一是给每个三角面选择合适的视图;
[0289]
二是由于不同视角下图像的亮暗程度不一样且位姿可能有偏差导致网格的纹理贴图在不同图片之间,也还会有一些色差,因此需要做颜色融合,消除这些色差。如图29所示:
[0290]
贴图制作
[0291]
主要是计算网格顶点和图像像素的对应,简称点像对应。有了网格,图片以及点像对应信息,就可以制作出纹理贴图,如图30所示。网格的三角形颜色信息直接存储到纹理贴图上,纹理贴图可以看作是原始图片剪碎后组合到一块得到的。
[0292]
点像对应的计算
[0293]
点像对应是指网格顶点和图像像素的对应。大致可以分为下面几类:
[0294]
图片是随意拍摄的,或者丢失了图像和网格的关系信息。这类情况需要用户手动创建点像对应信息。比如一些半自动的方法,用户手动选择一些特征点的对应,程序自动计算出其它部分的点像对应;
[0295]
网格和图片有相机参数对应,可以通过相机参数来计算对应关系;
[0296]
网格对应的点云有点像对应,可以通过投影的方式把点云的点像对应投影到网格上。
[0297]
4.1.2face view的选择
[0298]
利用lbp求解face的最优视图view算法步骤
[0299]
我们用在给face选择最佳视图上,结点是face,label是视图的id。核心是将概率计算转换为能量最小化计算。
[0300]
mrf图如图31所示。
[0301]
mrf公式:
[0302][0303]
式中:变量y和x分别为观察节点和隐藏节点,i为face索引,j为节点的邻近节点。参考上面的mrf图。
[0304]
能量函数基本上总结了给定face y和一些label(视图)x的代价值。目标是找到产
生最小代价的label x(每个face有一个最佳视图)。能量函数包含:数据代价和平滑代价。
[0305]
datacost
[0306]
每个节点(face)datacost是用face投影到图像上图像梯度幅值表示的
[0307]
smoothcost
[0308]
采用potts模型:节点间的平滑约束是用相邻label尽可能一致实现的,如果label相同且不为0则cost=0,其它为一个常量。
[0309]
用lbp求解上述mrf能量函数
[0310]
lbp是一种消息传递算法。只有在接收到所有传入消息,不包括从目标节点到自身的消息x
2-》x1后,节点才会将消息传递给相邻节点。下面显示了一个从x1传递到x2的消息示例。节点x1等待节点a、b、c、d的消息,然后再将消息发送给节点x2。
[0311]
算法步骤
[0312]
消息messages初始化
[0313]
前面我提到过,节点在发送之前必须等待所有传入的消息。这在带有循环的图上就有点像鸡生蛋还是蛋生鸡的问题,因为从技术上讲,每个节点都将永远等待,没有任何东西会被发送。为了解决这个问题,我们将所有消息初始化为某个常量,为所有节点提供它们需要处理的传入消息。初始化常数通常是0或1,这取决于所选择的能量公式。
[0314]
迭代:消息在mrf周围传递,消息messages更新
[0315]
消息更新算法:min-sum

message update。最小和是一个最小化问题,因为我们试图找
[0316]
到最小的成本,最小和更新如下所示:
[0317][0318]
归一化
[0319]
a=mn
l∈all labels
(msgi→j(l))
[0320]
msgi→j=msgi→
j-a
[0321]
4.1.3纹理patch的构建
[0322]
如图34所示。
[0323]
4.1.4全局纹理接缝颜色校正(global seam leveling)
[0324]
算法步骤:
[0325]
求解每个顶点的校正量g
[0326][0327]
式中fv指的是顶点的颜色值,gv是顶点颜色校正量。公式中第一项确保调整后的颜色到接缝的左边和它的右边尽可能相似。第二项最小化在同一个patch中相邻顶点的颜色调整量;
[0328]
求解过程中细节补充:
[0329]
以图35为示例,的计算是从接缝的相邻两顶点v0,v2插值得到关于稀疏矩阵a,γ,假设我们模型就是上图中,有6个顶点,分成两个patch。则a为例
[0330]
推导如下:
[0331][0332][0333][0334][0335]
故:
[0336]
∑(f
left
+g
left-(f
right
+g
right
))2=||ag-f||2
[0337]
同一个patch中每个face覆盖的纹理区域内的颜色校正值根据重心坐标从三个顶点的校正值上进行插值得到。进而得到所有patch的颜色校正值;
[0338]
将校正值应用到纹理patch上,完成全局颜色校正。
[0339]
4.1.5局部纹理接缝颜色校正(local seam leveling)
[0340]
泊松融合原理
[0341]
原理简介
[0342]
泊松图像处理不仅可以用于图像融合,还可以用于风格迁移、插入透明物体、局部亮度/颜色调制等.
[0343]
泊松方程
[0344]
在满足一定边界的条件下让待求解二维函数在区域中的梯度场与参考梯度场尽可能相似,边界条件就是函数值在边界上与目标图像的的取值相等,这就是所谓的狄利克雷边界条件。用
[0345]
数学方式表示就是:
[0346][0347]
则可得泊松方程:
[0348][0349]
divv是散度,即梯度的梯度。
[0350]
4.2代码框架
[0351]
如图36所示。
[0352]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1