本发明属于光学三维扫描系统标定技术领域,具体涉及一种基于双棋盘格的振镜扫描系统标定方法。
背景技术:
光学三维测量具有高精度、高效率和非接触等特点,目前已经广泛应用于质量检测,尺寸测量、逆向工程等诸多领域。其中线结构光扫描技术因为其精度高,结构简单,稳定性高等优势,目前已成为应用最广泛的三维测量方法之一。
传统的线结构光扫描系统由光源、摄像机和机械扫描装置组成,根据激光三角发测量原理计算得到单线的三维坐标,通过机械扫描装置移动被测量对象或移动光源完成对物体三维形貌的扫描测量。传统的机械扫描装置体积重量大,且由于惯性较大导致扫扫描速度慢,以上缺点限制了其在工业领域的广泛应用。
振镜扫描作为一种矢量扫描方式,具有体积小,扫描速度快、定位精度高、转动惯量小等优点。使用高精度的振镜扫描器件取代传统的机械扫描装置使得线结构光测量系统具有自扫描的特性,提高了测量系统的集成度。振镜扫描系统通过精确控制反光镜片转动改变激光方向实现高速、高分辨率扫描,同时可以提供很高的定位精度与重复精度,从而实现对物体的高速高精度测量。
振镜扫描系统的标定是确保测量精度的关键步骤,但是关于标定方法的研究较少,现有的标定方法实际操作过程复杂、标定速度较慢,且往往需要依赖高精度的标定装置,难以满足实际生产中现场快速标定的要求。
技术实现要素:
针对现有标定方法存在的问题,本发明的目的在于提供一种操作简单灵活,标定速度快、精度较高、成本较低的基于双棋盘格的振镜扫描系统标定方法。
为达到上述目的,本发明采用如下技术方案来实现的:
一种基于双棋盘格的振镜扫描系统标定方法,包括以下步骤:
1)将两块规格完全相同的棋盘格标定板铰接连接成v字形,形成标定装置,确保两块棋盘格标定板夹角能够在设定范围内变化,且能够在任意角度保持固定;
2)将步骤1)中所述的标定装置固定在某一夹角下,以不通过姿态放置在摄像机视场内拍摄若干张图像,结合张正友标定法对相机镜头进行标定,获得内参数与外参数;
3)驱动振镜镜片转动,拍摄得到不同角度下的激光条纹图像,利用激光条纹的像素坐标与步骤2)中得到的内参数与外参数完成激光平面的拟合标定,实现对整个振镜扫描系统的标定。
本发明进一步的改进在于,所述步骤2)中,拍摄得到的图像先进行图像分割再进行相机镜头的标定,分割后的每幅图像只包含一幅完整的棋盘格阵列图案,且分割后图像的像素坐标系保持不变。
本发明进一步的改进在于,所述步骤2)中,利用张正友标定法标定出摄像机镜头的等效焦距fx与fy,相机的主点坐标u0与v0,镜头畸变系数k1与k2,以及相机坐标系分别与每个姿态下的棋盘格上建立的世界坐标系之间刚体变换矩阵[r1|t1],[r2|t2],.…,[rn|tn]。
本发明进一步的改进在于,所述步骤3)中,分别建立以下坐标系:以图像左上角为原点,像素的行、列方向为坐标轴方向建立像素坐标系op-uv,以镜头光轴与图像平面的交点为原点,像素的行、列方向为坐标轴方向建立图像坐标系o1-xy,以镜头光心为原点,像素的行、列方向分别为x轴y轴方向,根据右手系规则确定z轴方向建立相机坐标系oc-xcyczc,分别以上下两块棋盘格的左上角点为原点,棋盘格的行、列方向为x轴y轴方向,根据右手系规则确定z轴方向建立各自的世界坐标系ou-xuyuzu和od-xdydzd,以振镜转轴为y轴方向,y轴与相机坐标系oc-xc-zc平面的交点为原点,振镜控制电压u=0时的激光平面法线方向为x轴方向,根据右手系规则确定z轴方向建立振镜坐标系og-xgygzg,系统标定过程的本质为确定振镜坐标系与相机坐标系之间的相对位置关系。
本发明进一步的改进在于,所述步骤3)中,计算出分别位于两个棋盘格各自世界坐标系下的激光条纹坐标,然后统一转换为相机坐标系下的坐标:
对于固定在上方的棋盘格,根据相机成像模型及世界坐标系的定义有:
式中,ρ为空间比例因子,(uu,vu)为激光条纹的像素坐标,fx与fy为摄像机镜头的等效焦距,(u0,v0)为相机的主点坐标,(xu,yu,zu)为其在世界坐标系下的坐标,(xuc,yuc,zuc)为其在相机坐标系下的坐标,ru和tu分别为相机坐标系与上方棋盘格世界坐标系之间的旋转矩阵和平移向量;
令
将mu带入(1)式中求解可得:
式中,r11、r12…r33、t1、t2、t3为mu矩阵的元素;
对于固定在下方的棋盘格,令
同理计算可得:
式中,(ud,vd)为激光条纹的像素坐标,(xdc,ydc,zdc)为其在相机坐标系下的坐标,r11、r12…r33、t1、t2、t3为md矩阵的元素。
本发明进一步的改进在于,所述步骤3)中,通过计算双棋盘格上的激光条纹标并拟合光平面计算出振镜坐标系原点以及三个坐标轴在相机坐标系中的位置,进而标定出相机坐标系与振镜坐标系之间的刚体变换矩阵:
式中,(xc,yc,zc)为任意一点在相机坐标系下的坐标,(xg,yg,zg)为任意一点在振镜坐标系下的坐标,rg为3×3旋转矩阵,tg为3×1的平移向量,0t为1×3的零矩阵。
本发明进一步的改进在于,所述步骤3)中,建立振镜坐标系与像素坐标系之间的转换关系,并结合光平面约束条件得到空间三维坐标与像素二维坐标直接的映射关系,完成系统的整体标定:
根据相机模型与权利要求6中的转换关系(6)可得:
式中,ρ为空间比例因子,(u,v)为空间任意一点对应的像素坐标,(xg,yg,zg)为空间任意一点在振镜坐标系下的坐标,fx与fy为摄像机镜头的等效焦距,(u0,v0)为相机的主点坐标,rg和tg分别为振镜坐标系与相机坐标系之间的旋转矩阵和平移向量;
根据振镜激光扫描的工作原理,在振镜坐标系下给出光平面方程的约束条件:
式中,xg和zg为光面面上某点在振镜坐标系下的坐标,θ为振镜相对xg轴的机械转动角度,u为振镜扫描系统的控制电压,k为控制电压与振镜机械转动角度之间的比例系数,单位为°/v;进一步整理可得约束条件为:
xgcos2ku-zgsin2ku=0(9)
联立式(7)和式(9)得到振镜坐标系下的三维坐标与像素坐标之间的映射关系:
本发明至少具有如下有益的技术效果:
本发明提供的一种基于双棋盘格的振镜扫描系统标定方法,将摄像机标定与整个系统的标定有机的结合在一起,利用两块相互固定的的棋盘格标定板回去高精度标志点对光平面进行标定,进一步完成对整个振镜扫描测量系统的标定。相比与其他标定方法,标定器件简单易获得,标定步骤更少,速度更快,且精度较高。
进一步,本发明的标定过程中,每张标定图片包含两张不同角度的棋盘格图案,通过算法对图像进行分割再作为标定算法的输入可以将标定图片数量减少一半,提高了标定的操作速度,在工业化大批量标定时具有明显的优势。
进一步,本发明将两块棋盘格标定板上的激光条纹的三维坐标统一到相机坐标系中,从而可以直接计算出振镜坐标系与相机坐标系之间的转换关系,简化了标定的计算步骤。
进一步,本发明利用两块以一定夹角固定的棋盘格标定出了相机坐标系与振镜坐标系之间的刚体变换矩阵,在完成对相机的标定之后,只需保持标定装置的位姿不变,改变振镜控制电压使得激光平面与双标定板相交,拍摄获得若干不同电压下的多幅激光折线条纹图像,计算并拟合出对应的光平面方程。对光平面的交线进行最小二乘优化,从而精确的标定出振镜坐标系与相机坐标系直接的刚体变换矩阵。
进一步,本发明根据振镜的工作原理以及振镜坐标系的定义,建立了控制电压与激光平面约束条件之间的联系,结合标定得到的振镜坐标系与像素坐标系之间的转换关系,便可得到像素坐标和控制电压与空间三维坐标之间的单一映射关系。在进行系统标定之后,通过上述映射关系便可快速地计算得到被测对象的三维形貌信息。
附图说明
图1是本发明的双棋盘格标定装置的示意图,其中图1中(a)为左视图,图1中(b)为轴侧图。
图2是本发明的坐标系建立的示意图。
图3是本发明振镜坐标系标定的原理图。
具体实施方式
为进一步阐述本发明的目的、操作步骤以及优势,下面结合附图详细说明本发明的实施方式:
本发明提供的一种基于双棋盘格的振镜扫描系统标定方法,包括以下步骤:
步骤一:制作双棋盘格标定装置,使用可在任意位置固定的机械铰链将两块规格相同的棋盘格标定板按图1所示固定连接,两标定板之间的角度可通过旋转铰链改变。以下约定两棋盘格标定板名称分别为上标定板和下标定板。
步骤二:为更加明确的说明摄相机标定与系统标定的过程,根据相机成像模型与振镜扫描系统工作原理建立以下六个坐标系,分别为:像素坐标系、图像坐标系、相机坐标系、上标定板世界坐标系、下标定板世界坐标系和振镜坐标系。以上坐标系的建立如图2所示:
(1)像素坐标系op-uv:以图像左上角为原点op,像素的行、列方向分别为u,v坐标轴方向建立二维直角坐标系,坐标轴单位为像素。
(2)图像坐标系o1-xy:以镜头光轴与图像平面的交点为原点o1,平行于像素的行、列方向为x,y坐标轴方向建立二维直角坐标系,坐标轴单位为毫米,用来描述图像中一点的物理位置。
(3)相机坐标系oc-yczc:以镜头光心为原点oc,平行于像素的行、列方向分别为xc轴和yc轴方向,根据右手坐标系规则确定zc轴方向建立三维直角坐标系,坐标轴单位为毫米。
(4)上标定板世界坐标系ou-xuyuzu:以上方棋盘格标定板的左上角点为原点ou,棋盘格的行、列方向分别为xu轴和yu轴方向,根据右手系规则确定zu轴方向建立三维直角坐标系,坐标轴单位为毫米。
(5)下标定板世界坐标系od-xdydzd:以下方棋盘格标定板的左上角点为原点od,棋盘格的行、列方向分别为xd轴和yd轴方向,根据右手系规则确定zd轴方向建立三维直角坐标系,坐标轴单位为毫米。
(6)振镜坐标系og-xgygzg:以振镜转轴为yg轴方向,yg与相机坐标系oc-xc-zc平面的交点为原点og,振镜控制电压u=0时的激光平面法线方向为xg轴方向,根据右手系规则确定zg轴方向建立三维直角坐标系,坐标轴单位为毫米。
步骤三:建立坐标系之间的转换关系。根据相机成像模型,像素坐标系与图像坐标系之间的转换关系由原点坐标偏移和坐标单位之间的转换确定:
式中,(u,v)为像素坐标系中的点,(x,y)为图像坐标系中的点,dx和dy为单个像素在x和y方向上的物理尺寸,单位为毫米,(u0,v0)为图像坐标系原点在像素坐标系中的坐标,即相机的主点坐标。
根据相机的小孔成像模型与透视投影原理,图像坐标与相机坐标之间的转换关系为:
式中,(x,y)为图像坐标系中的点,(xc,yc,yc)为相机坐标系中的点,f为相机镜头的物理焦距,单位为毫米,ρ为空间比例因子。
以相机坐标系为纽带,建立上述坐标系之间的转换关系。联立式(1)和式(2)得到相机坐标系与像素坐标系之间的转换关系:
式中,ρ为空间比例因子,(u,v)为像素坐标系中的点,(u0,v0)为图像坐标系原点在像素坐标系中的坐标,fx=f/dx和fy=f/dy为相机镜头的等效焦距,单位为1,(xc,yc,yc)为相机坐标系中的点。
根据坐标系之间的刚体变换原理,上标定板坐标系与相机坐标系之间的转化关系为:
式中,(xu,yu,zu)为点在上标定板世界坐标系下的坐标,(xc,yc,zc)为点在相机坐标系下的坐标,ru为3×3旋转矩阵,tu为3×1的平移向量,0t为1×3的零矩阵,ru和tu可通过相机标定计算得出。
同理可得下标定板坐标系与相机坐标系之间的转化关系为:
式中,(xd,yd,zd)为点在下标定板世界坐标系下的坐标,(xc,yc,zc)为点在相机坐标系下的坐标,rd为3×3旋转矩阵,td为3×1的平移向量,0t为1×3的零矩阵,rd和td可通过相机标定计算得出。
根据坐标系之间的刚体变换原理,振镜坐标系与相机坐标系之间的转化关系为:
式中,(xc,yc,zc)为点在相机坐标系下的坐标,(xg,yg,zg)为点在振镜坐标系下的坐标,rg为3×3旋转矩阵,tg为3×1的平移向量,0t为1×3的零矩阵。rg和tg即为待标定的参数,通过系统标定计算得出。
步骤四:摄相机标定。将步骤一中的双棋盘格标定板放置在相机视场中,在不同位置和不同角度拍摄10张图像,每张图像均包含两幅棋盘格图案且曝光正常。使用图像处理算法对采集到的图像进行分割,分割后的两张图像分别只包含一副完整的棋盘格图案并保持原始的图像尺寸不变。对图片进行从1到20的编号,其中奇数序号图片均为上标定板图案,偶数序号图片均为下标定板图案。
将得到的20张图片作为张正友标定法的输入进行计算,计算得到相机的内参矩阵k、畸变参数向量d和20组外参矩阵[r1|t1],[r2|t2],.…,[r20|t20]。其中k即为相机坐标系与像素坐标系之间的转换矩阵,d为包含三阶径向畸变参数与二阶切向畸变参数的5×1向量,每组外参矩阵[r|t]对应相机坐标与不同姿态下的棋盘格世界坐标系之间的刚体变换矩阵。
步骤五:获取相机坐标系下的标志点坐标。计算不同角度的光平面下激光条纹的三维坐标并将其转换到相机坐标系下:
(1)获取系统标定所需的图像。保持相机标定时标定装置的最后一个位姿不变,打开激光器,改变控制电压使得振镜转动一定角度,反射激光同时照射在两个标定板上,调整相机曝光采集此时的激光条纹图像,将振镜控制电压依次设置为u1,u2,…,un(n≥4)并分别拍摄n幅图像。
(2)计算激光条纹三维坐标。如图3所示,操作(1)中采集的图像中激光条纹为一条折线,折线的两段分别位于上下两块标定板上。首先利用相机标定时计算出的畸变参数对图像进行畸变矫正,然后利用霍夫变换确定折线条纹的顶点并分割折线条纹,最后使用中心线提取算法分别提取上下标定板上的条纹像素坐标(uu,vu)和(ud,vd)。对于上标定板的上激光条纹,其在上标定板世界坐标系中有zu=0,结合步骤三中的式(3)和式(4)有:
式中,ρ为空间比例因子,(u0,v0)为图像坐标系原点在像素坐标系中的坐标,fx和fy为相机镜头的等效焦距,r19和t19分别为标定板最后一个位姿下,上标定板坐标系相对相机坐标系的旋转矩阵和平移向量,(xu,yu,zu)为点在上标定板世界坐标系下的坐标。内参矩阵与外参矩阵均已在相机标定时计算得到,因此可以计算出不同控制电压下激光条纹的三维坐标(xu,yu,zu=0)。
同理可以计算得到不同控制电压下,下标定板上激光条纹的三维坐标(xd,yd,zd=0)。
(3)将激光条纹三维坐标统一转换到相机坐标系。上述计算得到的激光条纹三维坐标分别位于空间中两相交直线上,因此可以唯一的确定一个激光平面方程。但操作(2)中计算得到的三维坐标分别位于上下标定板各自的世界坐标系中,因此需要将其统一转换到相机坐标系中:
对于上标定板的激光条纹,坐标转换可通过步骤三中式(4)完成,令:
式中,ru=r19和tu=t19分别为标定板最后一个位姿下,上标定板坐标系相对相机坐标系的旋转矩阵和平移向量。
将mu带入式(4)中,并带入三维坐标(xu,yu,zu=0)的具体计算结果,得:
式中,(uu,vu)为激光条纹的像素坐标,fx与fy为摄像机镜头的等效焦距,(u0,v0)为相机的主点坐标,(xu,yu,zu)为激光条纹在世界坐标系下的坐标,(xuc,yuc,zuc)为激光条纹在相机坐标系下的坐标,r11、r12…r33、t1、t2、t3为mu矩阵的元素。
对于固定在下方的棋盘格,令:
式中,rd=r20和td=t20分别为标定板最后一个位姿下,下标定板坐标系相对相机坐标系的旋转矩阵和平移向量。
同理计算可得:
式中,(ud,vd)为激光条纹的像素坐标,fx与fy为摄像机镜头的等效焦距,(u0,v0)为相机的主点坐标,(xu,yu,zu)为激光条纹在世界坐标系下的坐标,(xdc,ydc,zdc)为其在相机坐标系下的坐标,r11、r12…r33、t1、t2、t3为矩阵md的元素。
步骤六:标定振镜坐标系与相机坐标系的转换关系。
(1)拟合得到不同控制电压下的激光平面。当控制电压为u1时,设对应激光平面在相机坐标系下的方程为:
a1x+b1y+c1z+d1=0(11)
将步骤五中计算所得的激光条纹坐标(xuc,yuc,zuc)、(xdc,ydc,zdc)带入式(11)中并进行最小二乘拟合,得到该光平面的单位法向量n1=(i1,j1,k1)。同理可计算得到控制电压为u2,u3,…,un(n≥4)时对应光平面的法向量n1=(i2,j2,k2),n1=(i3,j3,k3),…,nn=(in,jn,kn)。
(2)设振镜坐标系xg轴在相机坐标系下的单位方向向量为nx=(ax,bx,cx),根据振镜坐标系的定义以及控制电压与转动角度之间的关系可知:
式中,u1、u2、u3为振镜控制电压,k为控制电压与振镜转角的比例系数,求解式(12)可得出nx。
设振镜坐标系yg轴在相机坐标系下的单位方向向量为ny=(ay,by,cy),由定义知,ny垂直于所有光平面的法向量,因此有:
ni·ny=0(i=1,2,...,n)(13)
由于n≥4,因此式(13)为一超定方程组,求解该方程组便可得出ny。
设振镜坐标系zg轴在相机坐标系下的单位方向向量为nz=(az,bz,cz),根据三坐标轴互相垂直可得nz=nx×ny。
(3)理想情况下,所有激光平面应相交于yg轴所在的直线,但由于激光器安装误差,实际情况为yg轴上存在一点p(x0,y0,z0)到所有光平面的距离最近,联立光平面方程建立方程组:
aix+biy+ciz+di=0,i=1,2,...,n(14)
由于n≥4,因此式(14)为一超定方程组,该方程组的最小二乘解即为点坐标。
根据yg轴的方向向量ny和轴上一点p可得yg轴所在直线在相机坐标系下的方程:
设振镜坐标系的原点在相机坐标系中的坐标为og(xg,yg,zg),由定义知,原点og为yg轴与相机坐标系中oc-xc-zc平面的交点,故有yg=0,联立yg轴所在直线方程得og坐标为:
式中,(x0,y0,z0)为yg轴上p点的坐标,(ay,by,cy)yg轴的单位方向向量。
至此完成了振镜坐标系原点坐标以及坐标轴方向向量的计算,再根据步骤三中式(6)可标定出振镜坐标系与相机坐标系之间的转换矩阵为:
步骤七:结合光平面约束条件完成整体标定。联立步骤三中式(3)和式(6)可的振镜坐标系与像素坐标系之间的映射关系:
式中,ρ为空间比例因子,(u,v)为像素坐标系中的点,(u0,v0)为图像坐标系原点在像素坐标系中的坐标,fx和fy为相机镜头的等效焦距,(xg,yg,zg)为点在振镜坐标系下的坐标,rg为3×3旋转矩阵,tg为3×1的平移向量,0t为1×3的零矩阵。
由振镜工作原理知,振镜控制电压u与机械转角θ之间为线性关系,设其比例系数为k,则有θ=ku。又根据反射定律,激光平面转动的角度
xgcos2ku-zgsin2ku=0(19)
联立式(18)和式(19)便可完成系统的整体标定:
若已知一组振镜控制电压和对应的激光条纹像素坐标,便可通过求解式(20)得到振镜坐标系下对应的三维坐标。
以上结合附图对本发明的具体实施方式作了说明,但这些说明不能被理解为限制了本发明的范围,本发明的保护范围由随附的权利要求书限定,任何在本发明权利要求基础上的改动都是本发明的保护范围。