光栅投影技术是光学三维测量技术中典型的技术方法,具有速度快、非接触、适用范围广、测量灵活性高等优点[1]。其原理是利用光栅所携带的信息来直接或间接的建立相位与三维坐标之间的关系,从而进行三维测量[2]。在进行三维测量前,首先要需要建立合适的系统模型进行系统标定。
传统的光栅投影测量方法采用相位高度映射模型[3],测量过程中将光栅投影到被测物,物体的高度信息会使投影的光栅发生变形,通过解调变形光栅图中包含的相位信息可获得物体的高度信息,由此对被测物体表面进行三维重建。该方法约束性过强、测量空间受限、标定精度不高,影响了该技术的实用化[4-6]。
为了解决上述问题,将投影仪作为逆向摄像机的双目立体视觉模型被提出。Falcao等将棋盘格投影在打印棋盘格的标定板上,用已标定的摄像机求出投影棋盘格的三维空间坐标,从而使用摄像机的校准程序来校准投影仪[7-8]。这种方法原理简单、易于实现,但引入了摄像机的标定误差。为消除摄像机标定引入的误差,Zhang和Huang提出了投影仪“拍摄”图像的概念,通过投影水平与垂直两组相移光栅图到棋盘格标定板,利用三步相移法获得相位主值,使用一条中心线作为参照获取解包裹相位从而获取标定投影仪所需的图像信息,但相位展开的精度较低影响后续的标定精度[9]。文献[10]中对相位展开进一步改进,通过投射伪随机序列编码结合相移法获取解包裹相位,但同时又引入复杂的编解码算法。华中科技大学应用双频光栅投影到棋盘格来计算解包裹相位并进一步提高了标定精度[11]。文献[12]中采用投影负指数序列的多频外差相位光栅来获取解包裹相位值,辅助获取高精度三维点云数据。文献[13]建立了投影仪平面和摄像机平面的射影关系,通过投影格雷码利用局部单应性来估计摄像机平面标定板上棋盘格角点在投影仪图像平面的位置,但其精度有待提高。
但大多数[9,11,12-15]文献中均使用棋盘格作为标定板,对图像噪声和模糊比较敏感[16]。而圆心标志点检测不要求较高的图像质量,且圆心易于检测、定位精度高[17],文献[10]中采用圆阵列标定板表现出较好的标定结果。但目前多采用手动方式进行像素坐标与其三维坐标的匹配,耗时耗力。现有文献中圆心匹配时像素坐标的获取均是基于拍摄的原始圆阵列标定板图像[17-19],根据摄像机的透视成像原理,图像中的圆已变换成椭圆,将椭圆中心作为圆心会产生检测误差,且当标定板相对于成像平面角度越大误差越大。因此本文将使用圆心代替棋盘格角点作为标定时使用的标志点,并提出了圆心自动匹配算法,利用摄像机成像模型实现摄像机的标定;将投影仪视为一个逆向的摄像机,采用双目立体视觉技术进行系统标定,该方法系统搭建方便、标定算法简单、精度较高[20]。为进一步提高标定精度,将适当增加相移步数,使用九步相移法进行相位主值的计算,根据外差原理通过投影3种频率的光栅图进行相位解包裹获取标定投影仪所需的图像信息,并通过实验对提出的方法进行了验证。
理想的线性摄像机模型如图1所示,空间任一点与摄像机光心的连线与成像平面相交于点xpc,对应计算机屏幕图像的点为mc。
其中包含的坐标系有:世界坐标系OwXwYwZw、摄像机坐标系OcXcYcZc、摄像机图像物理坐标系ocxcyc、摄像机图像像素坐标系oucvc。
图1 摄像机成像模型示意图
Fig.1 Camera imaging model
其中,P为空间中任意一点,Oc点为摄像机坐标系的光心,xpc为点P在线性模型下图像物理坐标系的坐标,xdc为xpc在非线性模型下的位置。
根据射影几何知识中坐标系的转换关系及摄像机的线性成像模型,空间点P在世界坐标系下的坐标为(Xw,Yw,Zw,1),二维像素坐标为(uc,vc,1),两者的转化关系为:
(1)
式中:A为摄像机内参数矩阵; fuc=f/dx为图像像素坐标系u轴上的尺度系数; fvc=f/dysinθ为图像像素坐标系v轴上的尺度系数; γ=-fcotθ/dx为图像像素坐标轴uv倾斜因子。[Rc Tc]为摄像机的外参数矩阵,(uoc,voc)为图像主点。
然而,摄像机成像并不满足线性模型,据文献[21]中所述,由于镜头畸变的存在摄像机的成像过程是非线性的,主要为径向和切向2种畸变,径向畸变是由于透镜的曲面误差所致,切向畸变是由于在装配过程中透镜与成像平面不完全平行造成。
径向畸变的数学表达式如下:
(2)
式中:(xc,yc)代表理想无畸变的归一化图像物理坐标;(xdr, ydr)代表实际畸变的图像物理坐标;是径向畸变系数。
切向畸变的数学表达式为:
(3)
式中:(xdt, ydt)代表实际畸变的图像物理坐标; p1、p2、p3、p4是切向畸变系数。
本文中使用如图2所示的黑底白色的大小不一的圆阵列标定板,坐标系设定如图所示,共有9行11列白色圆,行列间距均为20 mm,5个大圆和L标记圆用于对圆心排序。
图2 圆阵列标定板示意图
Fig.2 Circular array calibration board
本文提出的圆心标志点与其三维坐标的自动匹配算法相较于其他方法,该算法首先对拍摄的原始圆阵列标定板图像进行透视变换,再对圆心进行排序,最后将排序的圆心坐标映射回原始图像中。基本原理如下:
1) 检测拍摄的标定板图像中标定板的4个顶点坐标a、b、c、d;
2) 定义透视变换的固定点坐标A、B、C、D,缩放因子为λ=min(n/N,m/M),摄像机拍摄图像像素的长宽为m×n,标定板实际物理尺寸长宽为M×N,A(0,0),B(M×λ,0),C(M×λ,N×λ),D(0,N×λ);
3) 根据式1)和式2)计算透视变换矩阵H,应用H对拍摄原图像进行透视变换得到图像I′,对图像I′进行二值化、边缘提取、椭圆边界拟合获取圆心坐标;
4) 在图像I′中识别标记圆L并计算u轴方向相邻圆心间欧式距离d,使用KNN邻近搜索算法并根据d确定第一、二列圆心坐标(ui1,vi1)、(ui2,vi2),计算标定板每行相邻圆心的反正切值ai以及圆心坐标(uj, vj)与(ui1, vj1)之间的反正切值ai, j,其中i=1,…,9, j=1,2,…,99;
5) 根据ai, j-ai<T确定i行圆心坐标(u,v), T为阈值,使用KNN邻近搜索算法计算第i行圆心坐标与(ui1,vi1)之间欧式距离并升序排列,完成圆心坐标排序;
6) 对排序的圆心坐标应用H-1进行透视逆变换得到原始图像I下的圆心坐标,根据标定板物理尺寸生成其对应的三维坐标(Xj,Yj,0),完成自动匹配。具体流程如图3所示。
图3 圆心匹配算法流程框图
Fig.3 Flowchart of center matching algorithm
通过以上圆心自动匹配算法,避免了人工进行圆心标志点的匹配过程,节省了人力,同时减小了圆心像素坐标检测误差。
采用张正友标定方法对摄像机进行标定,通过圆心的像素坐标及其三维坐标,求解摄像机的内外参数及畸变系数,最后通过LM(Levenbery Marquardt)优化算法(梯度下降法和高斯牛顿法的结合)进行极大似然估计,得到最优标定结果。
投影仪成像光学模型同摄像机,但光路相反。因此摄像机的标定方法同样适用于投影仪。本方法的投影仪标定基于文献[9]中提出的方法进行改进,即将投影仪作为逆向摄像机,通过分别投射水平和垂直两组光栅图像,获取标定板上的圆心的三维坐标在投影仪平面的像素坐标。由水平与垂直光栅图像进行相位解算,定位出圆心标志点在投影平面的水平与垂直坐标。相位解算包括求解相位主值和相位解包裹两个阶段,求解相位主值即提取光栅图像中每一点的相位值,相位主值的求解采用相移法,该方法能够有效排除周围环境光及物体表面反射特性的影响,可靠性和精度高,且精度随相移步数的增加而提高,投影仪投射的光栅图像的数学表达为:
In=A(x,y)+B(x,y)cos(φ(x,y)+φn)
(4)
式中:A(x,y)为背景光强分布;B(x,y)为光强调制度; φ(x,y)为待求的相位主值;φn为In的相移量,n=1,2,3,…,N, N为相移步数。式中显然有3个未知数,因此最少需要3幅光栅图像才解出φ(x,y),从而需要N≥3。常用的方法为三步、四步相移法。考虑到精度与速度的权衡,本文采用九步相移法,相对于三步、四步相移法,进一步提高了求解相位主值的精度,其求解公式为:
(5)
相位主值的求取由于采用了反正切函数,提取出来的相位被压缩在了[-π,π]之间,因此需要相位解包裹。相位解包裹采用三频外差方法,通过投影频率为 f1、 f2、 f3的相移光栅,由反正切函数获得每个频率的相位主值φ1、 φ2、 φ3,将φ1和φ2、φ2和φ3进行外差操作得到外差相位φ12、φ23,然后将φ12和φ23进行外差得到φ123。因为φ123的频率不超过1,所以是连续相位。
由外差原理可知,φ12的频率为:
(6)
类似可得到φ23、φ123的频率。相位展开过程为:
(7)
φ12=φ12+2πk12
(8)
式中:k12为φ12的条纹级次,其中,round代表四舍五入取整,φ12为频率为f12的光栅图像的相位主值,φ12为频率为f12的光栅图像的解包裹相位。
(9)
φ1=2π×k1+φ1
(10)
式中:k1为φ1的条纹级次,其中,round代表四舍五入取整,φ1为频率为f1的光栅图像的相位主值,φ1为频率为f1的光栅图像的解包裹相位。至此可完成相位解算,利用解包裹相位可获取投影仪平面的圆心像素坐标。
投影仪图像对应点在up方向的坐标值:
(11)
式中:为标志点圆心在水平方向的解包裹相位值;Nv为投影垂直光栅图像的光栅条纹数;W为投影仪图像水平方向的分辨率。
投影仪图像对应点在vp方向的坐标值:
(12)
式中:为标志点圆心在垂直方向的解包裹相位值;Nh为投影水平光栅图像的光栅条纹数;H为投影仪图像垂直方向的分辨率。
投影仪图像信息获取的步骤如下:
1) 拍摄不同方位下的标定板图像及投影水平与垂直相移光栅图像后的标定板图像;
2) 对标定板图像进行图像处理,提取圆阵列标定板的99个圆心亚像素坐标;
3) 由九步相移法和三频外差算法分别计算出水平和垂直光栅图像的解包裹相位值;
4) 根据99个圆心亚像素坐标在和vci方向的解包裹相位值,计算出对应的投影仪图像的和坐标。
在上文分别求出摄像机的内外参数和投影仪的内外参数之后,还需要对摄像机、投影仪组成的光栅投影系统标定其外参数,即确定摄像机和投影仪之间的位置关系。设摄像机的外参数为Rc、Tc,投影仪的外参数为Rp、Tp,设空间中某一点P对应的摄像机和投影仪的投影点分别是pc和pp,并以摄像机光心作为世界坐标系的原点,则该点在摄像机和投影仪图像中的有如下的对应关系:
pc=RcP+Tc
pp=RpP+Tp
(13)
从而可以推算出投影仪与摄像机之间的关系:
(14)
本文中使用的光栅投影系统如图4所示,该系统由一个DLP投影仪和CCD摄像机组成。由上文可知,需标定的参数有摄像机内参数Ac,外参数[Rc Tc],投影仪内参Ap以及系统外参数Rcp、Tcp。实验结果及分析如下。
图4 光栅投影系统实物图
Fig.4 Grating projection system
根据本文提出的圆心自动匹配算法,得到的透视变换、圆心检测、排序结果如图5所示。
图5 透视变换、圆心检测及排序结果示意图
Fig.5 The result of perspective transformation,center detection and sorting
采用本文中提出的方法进行摄像机标定,表1、表2分别为摄像机内参数与外参数标定结果。
表1 摄像机内参数的标定结果(圆阵列标定板)
Table 1 Calibration results of camera parameters (circular array calibration board)
fuc/pixelfvc/pixeluoc/ pixelvoc/ pixel2.2191×1032.2178×103667.641 6489.955 5k1ck2cp1cp2c-0.100 50.335 1-5.031 8×10-4-2.042 3×10-4
表2 摄像机外参数的标定结果(圆阵列标定板)
Table 2 Calibration results of camera external parameters (circular array calibration board)
RcTc0.998 2-0.058 80.013 2-0.007 1×1030.053 40.964 30.259 3-0.112 7×103-0.028 0-0.258 10.965 71.030 2×103
对棋盘格标定板同样采用该方法进行标定,得到的角点检测效果如图6(b),摄像机的内外参数结果如表3、表4所示。
图6 棋盘格标定板图像及角点检测结果示意图
Fig.6 The image of the checkerboard calibration board and the result of corner detection
采用棋盘格标定板得到的摄像机内外参数标定结果如表3、表4所示。
表3 摄像机内参数的标定结果(棋盘格标定板)
Table 3 Calibration results of camera parameters (Checkerboard calibration board)
fuc/pixelfvc/pixeluoc/ pixelvoc/ pixel2.236 5×1032.233 0×103666.276 6489.247 9k1ck2cp1cp2c-0.105 80.528 6-0.001 8-1.817 5×10-4
表4 摄像机外参数的标定结果(棋盘格标定板)
Table 4 Calibration results of camera external parameters (Checkerboard calibration board)
RcTc0.986 70.043 2-0.156 5-14.741 50.042 50.861 80.505 5-118.765 20.156 7-0.505 50.848 5995.679 4
使用上述系统对拍摄的标定板图像进行解相位,以水平光栅图像为例,其相位解算过程如图7所示,其中图7(a)为标定板图像,图7(b)为频率f1图像,图7(c)为频率f1图像的第500列相位主值曲线,图7(d)为频率f1图像的第500列解包裹相位曲线,图7(e)为频率f1图像相位主值图,图7(f)为频率f1图像解包裹相位图。
图7 标定板图像解相位过程
Fig.7 De-phase process of calibration plate
由图7可知,本文中解相位的结果较好,可为后续标定提供良好的数据。
根据本文中提出的方法得到的投影仪的内参数结果与外参数结果如表5和表6所示。
采集的部分带有光栅的棋盘格标定板图像如图8所示,对其进行相位解包裹后,得到的投影仪内外参数如表7、表8所示。
表5 投影仪内参数的标定结果(圆阵列标定板)
Table 5 Calibration results of the projector parameters (circular array calibration board)
fup/pixelfvp/pixeluop/ pixelvop/ pixel2.497 3×1032.478 9×103667.151 0902.690 0k1pk2pp1pp2p-0.237 40.475 9-0.023 20.002 5
表6 投影仪(系统)外参数的标定结果(圆阵列标定板)
Table 6 Calibration results of projector(system) external parameters(circular array calibration board)
RpTp0.986 40.039 50.159 8-240.358 2-0.036 40.999 1-0.022 6-138.496 1-0.160 50.016 50.986 9305.720 5
图8 光栅棋盘格图像
Fig.8 Grating checkerboard image
表7 投影仪内参数的标定结果(棋盘格标定板)
Table 7 Calibration results of the projector parameters (Checkerboard calibration board)
fup/pixelfvp/pixeluop/ pixelvop/ pixel2.411 3×1032.389 7×103633.021 8937.363 6k1pk2pp1pp2p-0.132 50.059 5-0.014 30.001 3
表8 投影仪(系统)外参数的标定结果(棋盘格标定板)
Table 8 Calibration results of projector(system) external parameters(Checkerboard calibration board)
RpTp0.984 20.039 40.172 5-236.779 3×102-0.032 30.998 5-0.043 8-135.883 8×102-0.173 90.037 60.984 0257.959 5×102
为了定量地比较标定结果,通过计算重投影误差进行比较分析,重投影误差的表达式为:
(15)
(16)
式中:x′为通过图像处理检测的圆心标志点在图像像素平面的像素坐标;x为标定板上圆心标志点的三维坐标通过摄像机成像模型投影到图像像素平面的像素坐标,M=1,2,3,…,n为标志点的总数。为证明本文提出的方法的有效性,将对比使用棋盘格标定板、本文所提出的标定方法以及未进行透视变换的圆阵列标定板3种方法的重投影误差。表9是标定重投影误差结果。
表9 标定重投影误差
Table 9 Calibration reprojection error comparison pixel
方法棋盘格本文方法未透视变换摄像机0.100 50.060 00.127 7投影仪0.538 40.379 00.389 7系统0.387 20.271 30.290 0
由表1~表9可以得出,3种方法均可获得较好的标定精度,与其他2种方法相比,本文方法可获得更高的标定精度,与棋盘格标定板相比,摄像机标定的重投影误差降低大约(0.100 5-0.060 0)/0.100 5≈40.3%,投影仪标定的重投影误差降低大约(0.538 4-0.379 0)/0.538 4≈29.6%,系统标定的重投影误差降低大约(0.387 2-0.271 3)/0.387 2≈29.9%。与未进行透视变换的方法相比,摄像机标定的重投影误差降低大约(0.127 7-0.060 0)/0.127 7≈53.0%,投影仪标定的重投影误差降低大约(0.389 7-0.379 0)/0.389 7≈2.7%,系统的标定误差降低大约(0.290 0-0.271 3)/0.290 0≈6.4%。
1) 提出了一种基于圆阵列标定板的光栅投影系统标定方法,通过对标定板图像进行透视变换及圆心排序,实现了图像与三维空间中圆心标志点的自动匹配,结合圆心匹配算法及三频九步相位解算方法,完成了对光栅投影系统的标定。
2) 提出的圆心自动匹配算法减小了圆心检测误差,提供了一种圆阵列排序的新方法,可避免人工匹配造成的误差,并使用九步相移法提取相位主值,减小相位误差;
3) 该标定方法在精度上较棋盘格标定板,摄像机、投影仪、系统标定的重投影误差分别降低约40.3%、29.6%、29.9%;
4) 该标定方法较未进行透视变换的圆阵列标定板,摄像机、投影仪、系统标定的重投影误差分别降低约53.0%、2.7%、6.4%。
[1] Marrugo A,Gao F,Zhang S.State-of-the-art active optical techniques for three-dimensional surface metrology:A review[J].Journal of the Optical Society of America A,2020,37(09):B60-B77.
[2] Sam V,Dirckx J.Real-time structured light profilometry:A review[J].Optics and Lasers in Engineering,2016,87:18-31.
[3] Takeda M,Mutoh K.Fourier transform profilometry for the automatic measurement of 3-D object shapes[J].Applied Optics,1983,22(24):3977-3982.
[4] Léandry I,Brèque C,Valle V.Calibration of a structured-light projection system:development to large dimension objects[J].Optics and Lasers in Engineering,2012,50(03):373-379.
[5] 樊玲玲,张旭,屠大维.基于数字相移条纹投影技术的结构光系统标定[J].机械制造,2014,52(10):73-76.
Fan L L,Zhang X,Tu D W.Calibration of structured light system based on digital phase-shift fringe projection technology[J].Machinery,2014,52(10):73-76.
[6] Lu J,Mo R,Sun H B,et al.Flexible calibration of phase-to-height conversion in fringe projection profilometry[J].Applied optics,2016,55(23):6381-6388.
[7] 陈扬.在三维形状测量中运用条纹投影解决相位-高度关系的混合方法[J].四川兵工学报,2015(09):136-141.
Chen Y.In 3D shape measurement using the mixture of fringe pattern in the relationship between phase height method[J].Journal of Sichuan Ordnance,2015(09):136-141.
[8] Falcao G,Hurtos N,Massich J.Plane-based calibration of a projector-camera system[J].VIBOT Master,2008,9(01):1-12.
[9] Zhang S,Huang P.Novel method for structured light system calibration[J].Optical Engineering,2006,45(08):083601.
[10]韦争亮,钟约先,袁朝龙,等.单摄像机单投影仪三维测量系统标定技术[J].清华大学学报(自然科学版),2009,49(02):202-205,209.
Wei Z L,Zhong Y X,Yuan C L,et al.Calibration technology of 3D measurement system with single camera and single projector[J].Journal of Tsinghua University (Natural Science Edition),2009,49(02):202-205,209.
[11]龙佳乐,程瑞,张建民.基于数字条纹投影的三维形貌测量技术研究与实现[J].现代电子技术,2013,36(23):99-102.
Long J L,Cheng R,Zhang J M.Research and implementation of 3D profile measurement technology based on digital fringe projection[J].Modern Electronic Technology,2013,36(23):99-102.
[12]郭进,陈小宁.应用于义齿三维模型建立的结构光测量系统[J].四川兵工学报,2014(10):100-102.
Guo J,Chen X N.Three dimensional model of denture established by structured light measurement system[J].Journal of Sichuan Ordnance,2014(10):100-102.
[13]Moreno D,Taubin G.Simple,Accurate,and Robust Projector-Camera Calibration[C]//2012 Second International Conference on 3D Imaging,Modeling,Processing,Visualization & Transmission,Oct.13-15,2012,Zurich,Switzerland:IEEE,2012:464-471.
[14]Li T T,Hu F,Geng Z.Geometric calibration of a camera-projector 3D imaging system[C]//2010 25th International Conference of Image and Vision Computing New Zealand,Nov.8-9,2010,Queenstown,New Zealand:IEEE,2010:1-8.
[15]王中任,万仁全,刘亚俊.基于最优匹配区域的结构光系统的投影仪标定[J].激光与红外,2016,46(03):329-333.
Wang Z R,Wan R Q,Liu Y J.Projector calibration of structured light system based on optimal matching area[J].Laser and Infrared,2016,46(03):329-333.
[16]张铁楠,涂亚庆,王德超.针对棋盘格角点快速检测的一种新方法[J].计算机工程与应用,2008,44(31):236-238.
Zhang T N,Tu Y Q,Wang D C.A new method for rapid detection of checkerboard corners[J].Computer Engineering and Applications,2008,44(31):236-238.
[17]朱明健,黄雪梅,苏新勇.数字近景工业摄影测量中基于方位圆的相机标定方法研究[J].测控技术,2015,34(11):148-151,156.
Zhu M J,Huang X M,Su X Y.Research on camera calibration method based on azimuth circle in digital close-range industrial photogrammetry[J].Measurement and Control Technology,2015,34(11):148-151,156.
[18]周艳青,薛河儒,姜新华.一种基于圆形标志点的摄像机标定方法[J].内蒙古农业大学学报(自然科学版),2014,35(01):155-159.
Zhou Y Q,Xue H R,Jiang X H.A camera calibration method based on circular landmarks[J].Journal of Inner Mongolia Agricultural University (Natural Science Edition),2014,35(01):155-159.
[19]夏仁波,刘伟军,赵吉宾,等.基于圆形标志点的全自动相机标定方法[J].仪器仪表学报,2009,30(02):368-373.
Xia R B,Liu W J,Zhao J B,et al.Automatic camera calibration method based on circular marker points[J].Journal of Instrumentation,2009,30(02):368-373.
[20]殷永凯,张宗华,刘晓利,等.条纹投影轮廓术系统模型与标定综述[J].红外与激光工程,2020,49(03):0303008-0303008-18.
Yin Y K,Zhang Z H,Liu X L,et al.Overview of fringe projection profilometry system model and calibration[J].Infrared and Laser Engineering,2020,49(03):0303008-0303008-18.
[21]王国珲,钱克矛.线阵相机标定方法综述[J].光学学报,2020,40(01):0111011.
Wang G H,Qian K M.Review on line-scan camera calibration methods[J].Acta Optica Sinica,2020,40(01):0111011.