基于差动拍摄装置的壁画高保真三维重建方法转让专利

申请号 : CN201010125969.3

文献号 : CN101807309B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刁常宇毛金金鲁东明

申请人 : 浙江大学

摘要 :

本发明公开了壁画高保真三维重建方法,包括设置标定物、.用相机在运动平台上对定标物进行拍摄、采用Zhengyou Zhang的算法标定相机参数、运用相机外参确定平台运动平面、利用外参确定相机光心与平面的夹角、用SIFT特征点查找特征点P、运动照片上像素计算点P与光心夹角、计算P点相对于运动平面坐标直至完成所有幅面的三维信息确定。本发明壁画高保真三维重建方法速度快且精确度高,不需要通过投影纹理。

权利要求 :

1.一种基于差动拍摄装置的壁画高保真三维重建方法,其特征在于,包括以下步骤:(1)以在壁画所处的平面为基准面,在基准面前放置标定物;

(2)在保持相机与基准面的垂直距离不变的前提下,改变相机位置对标定物进行至少三次拍摄得到标定相片,且最后一次拍摄时相机的主轴垂直于基准面;

(3)计算标定物的角点位置;

(4)将标定物上的角点的三维坐标和所有标定相片上该角点的相片坐标一一对应;

(5)标定相机内外参数,选取其三张标定照片,且其中一张为步骤(2)中最后一次拍摄得到的标定照片,根据拍摄所述的三张标定照片时相机相对于定标物的三维坐标,确定相机运动的平面A;在平面A中选定步骤(2)中最后一次拍摄时相机相对于标定物的坐标作为原点o,建立空间三维坐标系V;

(6)根据步骤(2)中最后一次拍摄时相机主轴的方向,计算相机主轴与平面A的三维位置关系以及相机机身相对于相机主轴的自旋转角度γ,由相机主轴作为Z轴,平行于相机底部的且通过相机主轴的线为X轴,建立坐标系V’,计算出坐标系V在坐标系V’中的旋转矩阵R;

(7)利用相机拍摄壁画并且记录拍摄时相机相对于平面A的二维坐标信息,然后在平面A内按固定步长平移相机再次拍摄壁画,使前后两张张照片的重叠率超过50%,直至完成整幅壁画的拍摄;

(8)选取两张重复率超过50%的照片,通过SIFT算法提取特征点,匹配找到两张照片中对应的同一特征点P,通过小孔成像原理,对原始照片用相机内参进行校正,求出特征点P分别在两张照片中的像素坐标,根据照片中心的像素坐标计算得到在特征点P到相机镜头光心的连线与相机主轴的夹角; (9)根据步骤(6)、(8)的结果可以求出特征点P与拍摄这两张照片时相机所在点的三角位置关系,并得出特征点P相对于平面A的三维空间坐标;

(10)通过重复步骤(8)、(9)完成所有壁画照片中特征点的三维空间坐标确定。

说明书 :

基于差动拍摄装置的壁画高保真三维重建方法

技术领域

[0001] 本发明涉及三维重建技术,特别涉及基于差动拍摄装置的壁画高保真三维重建技术。

背景技术

[0002] 基于差动拍摄装置的壁画高保真三维重建系统包括相机与拍摄平台。系统标定指标定相机。标定设备是指确定相机的内部参数和外部参数的过程。以下以相机为例简要介绍各参数。
[0003] 内部参数通常表示为内部参数矩阵,形式如下:
[0004]
[0005] 其中fc1和fc2分别是水平和垂直方向上以像素为单位的相机焦距大小,αc代表倾斜形变系数,(u0,v0)是光心的像在相片坐标系下的坐标。内部参数矩阵可以将相机坐标系坐标转为相片坐标系坐标。其中(u,v)为相片坐标系坐标,(Xc,Yc,Zc)为相机坐标系坐标。
[0006] 外部参数通常表示为外部参数矩阵,形式如下:
[0007]
[0008] 其中前三列为表示旋转分量,最后一列为平移分重,外部参数矩阵可以将世界坐标系坐标转为相机坐标系坐标。其中(Xw,Yw,Zw)是空间点的世界坐标,(Xc,Yc,Zc)是相机坐标系坐标。
[0009] 求解参数时可采用Roger Tsai的RAC算法和Zhengyou Zhang的算法等。Tsai的算法采用径向一致约束来求解参数,求解的方程多为线性方程组,复杂性低,结果精确。Zhengyou Zhang通过拍摄不同角度棋盘格的相片,经过识别后得到棋盘格角点的棋盘格坐标系坐标以及其像的相片坐标系坐标,在求解参数时本方法采用了Zhengyou Zhang的算法。
[0010] 平台为自行设计,能够自由在与壁面平行的面上水平与垂直运动,运动的点都基本保持在同一平面上,且运动精确度极高的仪器,能保证拍摄到壁面的所有角落。

发明内容

[0011] 本发明提供了一种精确度高的壁画高保真三维重建方法。
[0012] 一种基于差动拍摄装置的壁画高保真三维重建方法,包括以下步骤:
[0013] (1)以在壁画所处的平面为基准面,在基准面前放置标定物;
[0014] 且标定物在定标过程保持不动;本发明采用平面棋盘格(参见图2)定标板做标定物,灰度分别为0和255;
[0015] (2)在保持相机与基准面的垂直距离大致不变的前提下,改变相机位置对标定物进行至少三次拍摄得到标定相片,且最后一次拍摄时相机的主轴垂直于基准面;
[0016] 为了方便改变相机位置,可以利用一台可三维移动的拍摄台架,相机放置在拍摄台架上,相机的运动的距离可以通过拍摄台架的移动精确得出;
[0017] 相机改变位置拍摄时,由于设备的误差相机与基准面的垂直距离不可能严格的保持不变,只能是在设备误差允许的范围内保持不变,因此相机拍摄时的运动平面A并非严格与基准面平行,所以才需要通过本发明后续的步骤来矫正其带来的误差。
[0018] (3)计 算 标 定 物 的 角 点 位 置,计 算 时 可 以 通 过 OpenCv提 供 的FindChessboardCorners()函数得出标定物的角点位置;
[0019] (4)将标定物上的角点的三维坐标和所有标定相片上该角点的相片坐标一一对应;
[0020] (5)采用Zhengyou Zhang的算法标定相机参数,选取其三张标定照片,且其中一张为步骤(2)中最后一次拍摄得到的标定照片,根据拍摄所述的三张标定照片时相机相对于定标物的三维坐标的三个点,确定相机运动的平面A;在平面A中选定步骤(2)中最后一次拍摄时相机相对于标定物的坐标作为原点o,建立空间三维坐标系V;
[0021] 计算时通过SVD分解得到相机的内部和外部参数,并通过Minpack提出的Levenberg-Marquardt方法进行极大似然估计,具体方法参照Zhengyou Zhang的论文(参考文献2)“Flexible Camera Calibration ByViewing a Plane Form Unknown Orientations”中的第3节“Solving CameraCalibration”部分。参考文献2:Zhengyou Zhang,A flexible new technique forcamera calibration,IEEE transactions on Pattern Analysis and MachineIntelligence,2000,22(11):1330-1334。
[0022] (6)根据步骤(2)中最后一次拍摄时相机主轴的方向,计算相机主轴与平面A的三维位置关系以及相机机身相对于相机主轴的自旋转角度γ;
[0023] 计算相机主轴与平面A的三维位置关系时,可以通过相机主轴与平面A的夹角α,以及相机主轴绕三维坐标系V中的z轴的旋转角β(即可以确定相机主轴在平面A上的投影线的位置)来确定。由相机主轴作为Z轴,平行于相机底部的且通过相机主轴的线为X轴,建立坐标系V’,计算出坐标系V在坐标系V’中的旋转矩阵R。
[0024] 通过棋盘格坐标系下的坐标与坐标系V’之间的转换关系,以及棋盘格坐标系与平面坐标系V之间的转换关系,确定平面坐标系V在坐标系V’中的旋转矩阵。
[0025] (7)利用相机拍摄壁画并且记录拍摄时相机相对于平面A的二维坐标信息,然后在平面A内按固定步长平移相机再次拍摄壁画,使前后两张张照片的重叠率超过50%,直至完成整幅壁画的拍摄;
[0026] 本步骤中通过相机拍摄壁画并且记录相机相对于平面A的二维坐标信息,然后平移(左右或者上下)一定的距离(这个距离一定并保持不变),再此拍摄壁画,使2张照片的重叠率超过50%,通过此方法完成整幅壁画的拍摄。
[0027] (8)选取两张重复率超过50%的照片,通过SIFT算法提取特征点,匹配两张照片中对应的同一特征点P,通过小孔成像原理,对原始照片用相机内参进行校正,求出SIFT特征点P分别在两张照片中的像素坐标,根据照片中心的像素坐标计算得到在特征点P到相机镜头光心的连线为Z轴,以V坐标系下原点o为原点,建立坐标系V”,计算坐标系V’在坐标系V”中的旋转矩阵R’,以在第二张照片的相机所在的位子为原点建立坐标系V”’,相机轴心为Z轴,计算坐标系V’在坐标系V”’中的旋转矩阵R”,由图5所示通过计算α,β,α’,β’夹角计算旋转矩阵R’,R”;
[0028] (9)根据步骤(6)、(8)的结果可以求出特征点P与拍摄这两张照片时相机所在点的三角位置关系,并得出特征点P相对于平面A的三维空间坐标;
[0029] 即由旋转矩阵R,R’,R”以及两次相机平移的距离H,可以求出此点P与拍摄这两张照片时相机所在点的三角位置关系,并得出点P相对于平面A的空间坐标。
[0030] (10)通过重复步骤(8)、(9)完成所有壁画照片中特征点的三维空间坐标确定。
[0031] 本发明壁画高保真三维重建方法速度快且精确度高,不需要通过投影纹理。

附图说明

[0032] 图1本发明步骤(2)中选取三个不同拍摄点的示意图;
[0033] 图2本发明采用的棋盘格的示意图;
[0034] 图3相机差动拍摄示意图;
[0035] 图4坐标系V’与坐标系V”和坐标系V”’的转换关系;
[0036] 图5小孔成像原理侧面示意图;
[0037] 图6小孔成像原理正面示意图;
[0038] 图7V坐标系下点P的位置示意图。

具体实施方式

[0039] 本发明基于差动拍摄装置的壁画高保真三维重建技术过程如下:
[0040] (1)以在壁画所处的平面为基准面100,在基准面100前放置标定物200;标定物200为每个方格为2CM的棋盘格,且棋盘格灰度为0与255;
[0041] 标定物200相对基准面100的位置并没有严格要求。
[0042] (2)相机架设在可沿X轴和Y轴方向运动的拍摄台架,相机可以相对于拍摄台架绕竖直的轴线旋转或绕水平的轴线翻转,在不同的位置拍摄时,为了完全拍摄到标定物200,相机的角度有可能发生旋转,即相机的主轴可以不垂直于基准面100。
[0043] 改变相机的位置对标定物进行拍摄,图1中可见相机分别在拍摄点A、拍摄点B、拍摄点C拍摄三张照片,得到照片A、照片B、照片C,图中X轴和Y轴大致与基准面100平行。
[0044] 最后一张拍摄点C拍摄的照片,拍摄时必须调整相机主轴到与基准面100垂直,拍摄完后相机不再调整姿态。
[0045] (3)通过OpenCv提供的FindChessboardCorners()函数得出标定物的角点位子。
[0046] (4)将标定物上的角点的三维坐标和所有标定相片上该角点的相片坐标一一对应;
[0047] (5)采用Zhengyou Zhang的算法标定相机内外参数,内参得到相应的焦距f,选取3帐照片(照片A、照片B、照片C)的外参得到三次相机相对于定标物的三维坐标a(x1,y1,z1),b(x2,y2,z2),c(x3,y3,z3).
[0048]
[0049] 由此3点确定相机运动的平面A,用方程表示为AX+BY+CZ+D=0,[0050] 则
[0051] A=1
[0052] B=((x1-x3)*(z2-z1)+(x1-x2)*(z1-z3))/((y2-y1)*(z1-z3)+(y3-y1)*(z2-z1))[0053] C=((x1-x2)+B*(y1-y2))/(z2-z1)
[0054] D=(-x1-B*y1-C*z1)
[0055] 选定步骤(2)中拍摄照片C时相机所在的相对于棋盘格的坐标作为原点o,建立一个空间三维坐标系V。三维坐标系V的另外两个平面方程为EX+FY+GZ+H=0与IX+JY+KZ+L=0;
[0056] E=2*(x2-x1)
[0057] F=2*(y2-y1)
[0058] G=2*(z2-z1)
[0059] H= (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2)-x2*x2-y2*y2-z2*z2+x1*x1+y1*y1+z1*z1
[0060] I=2*(x3-x1)
[0061] J=2*(y3-y1)
[0062] K=2*(z3-z1)
[0063] L= (x1-x3)*(x1-x3)+(y1-y3)*(y1-y3)+(z1-z3)*(z1-z3)-x3*x3-y3*y3-z3*z3+x1*x1+y1*y1+z1*z1(6)选取随机3个点在坐标系V’下坐标坐标为(10,1,3)(8,3,1)(16,56,23)到棋盘格坐标系下坐标U(a1,b1,c1)W(a2,b2,c2)Q(a3,b3,c3);
[0064]
[0065]
[0066]
[0067] 把点U,W,Q坐标换算到平面坐标系V下的坐标(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),所以坐标系V在坐标系V’下的旋转矩阵R的计算为
[0068]
[0069]
[0070]
[0071] 可以得出旋转矩阵R;
[0072] (7)通过相机拍摄壁画并且记录相机相对于平面A的2维坐标信息,然后平移(左右或者上下)一定的距离(这个距离一定并保持不变),再 此拍摄壁画,使2张照片的重叠率超过50%,通过此方法完成整幅壁画的拍摄(如图3中相机处于位置D和位置E是拍摄的两张照片重叠率60%)。
[0073] (8)选取两张重复率超过50%的照片,通过SIFT算法提取特征点,匹配两张照片中对应的同一特征点P,通过小孔成像原理,对原始照片用相机内参进行校正,求出SIFT特征点P分别在两张照片中的像素坐标,根据照片中心的像素坐标计算得到在特征点P到相机镜头光心的连线为Z轴,以V坐标系下原点o为原点,建立坐标系V”,计算坐标系V’在坐标系V”中的旋转矩阵R’,以在第二张照片的相机所在的位子为原点建立坐标系V”’,相机轴心为Z轴,计算坐标系V’在坐标系V”’中的旋转矩阵R”,由图5所示通过计算α,β,α’,β’夹角计算旋转矩阵R’,R”;
[0074] 通过校正的图片中,特征点P到中心像素之间的关系有图5所示;
[0075] 则计算旋转矩阵R’与R”为
[0076]
[0077]
[0078] 所以坐标系V在坐标系V”下的旋转矩阵为R”’
[0079] R”’=R*R’;
[0080] 坐标系V在坐标系V”’下的旋转矩阵为R””
[0081] R””=R*R”
[0082] 再由旋转矩阵得出图6所示α,β角度。具体步骤为
[0083] 在V”坐标系下z轴上取点i(0,0,10)
[0084] 由关系知道i点在V坐标系下坐标为(x,y,z);则
[0085]
[0086] 则id长度为|y|,dc长度为|z|,oc长度为|x|,则
[0087]
[0088] 在V”’坐标系下z轴上取点j(0,0,10)
[0089] 由关系知道j点在V坐标系下的坐标为(x’,y’,z’);则
[0090]
[0091] 则uj长度为|y’|,ue长度为|z’|,eo’长度为|x’|;则
[0092]
[0093] 因为oo’的长度为平台移动且已知为D,那么设ob的长度为n,pb的长度为m,则[0094] m/n=tgα
[0095] m/(D-n)=tgβ
[0096] 解出n,m;
[0097] 设bj长度为k,则
[0098] k/n=z/x;
[0099] 解出k;
[0100] 设pj的长度为l,则
[0101]
[0102] 所以P点的坐标为(n,l,k);
[0103] (10)通过重复步骤(8)(9)完成所有图片中特征点的3维空间坐标确定。