基于单应性矩阵的结构光三维检测方法转让专利

申请号 : CN200910045010.6

文献号 : CN101476882B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨旭波曾亮肖双九王宇超

申请人 : 上海交通大学

摘要 :

一种计算机视觉技术领域的基于单应性矩阵的结构光三维检测方法,本发明中,利用棋盘格图案中的特征点获取相机成像面分别与平面P1和P2对应的单应性矩阵,同时在平面P1和P2上分别测定投影仪投影面和相机成像面对应的单应性矩阵,给定投影面上某条光栅的直线方程,根据单应性矩阵获得成像面和世界坐标系下的平面,并建立成像面和世界坐标系下平面之间的关系,并通过变换关系得到每条光栅在世界坐标系下的位置,从而获取三维信息。本发明可以简便的测量世界坐标,并避免了设备相关性问题,本发明在保证精度的条件下简化了三维检测的操作。

权利要求 :

1.一种基于单应性矩阵的结构光三维检测方法,其特征在于,包括如下步骤:

步骤一,在投影仪和摄像机之间设置互相平行的两个平面P1和P2,两个平面P1和P2用于放置获取单应性矩阵的棋盘格图案,投影仪和平面P1之间设有带有光栅的投影面,投影仪和投影面上的一条光栅确定一个光平面;

步骤二,利用棋盘格图案中的特征点获取相机成像面分别与平面P1和P2对应的单应性矩阵HCQ1和HCQ2;

步骤三,利用棋盘格图案中的特征点在平面P1和P2上分别测定投影仪投影面和相机成像面对应的单应性矩阵HPC1和HPC2;

步骤四,给定投影面上某条光栅的直线方程,根据步骤三中的单应性矩阵HPC1、矩阵HPC2获得直线C11C12和直线C21C22,由直线C11C12和C21C22确定成像面C11C12C22C21;

步骤五,根据步骤四求得的直线C11C12、直线C21C22和步骤二中的单应性矩阵HCQ1、矩阵HCQ2获得直线Q11Q12和直线Q21Q22,由直线Q11Q12和Q21Q22确定世界坐标系下的平面Q11Q12Q22Q21,平面Q11Q12Q22Q21是在三维空间的平面;

T

步骤六,建立成像面C11C12C22C21和世界坐标系下平面Q11Q12Q22Q21之间的关系:(X,Y,1)T=R(Xw,Yw,Zw)+T,其中,(X,Y)为成像面C11C12C22C21中的坐标,(Xw,Yw,Zw)为世界坐标系下平面Q11Q12Q22Q21中的坐标,R为旋转矩阵,T为平移向量,则平面P1或P2上任意一个点(x,y)与世界坐标系下平面上对应点(Xw,Yw,Zw)的关系如下:式中,3×4矩阵表示出两个面的变换关系,利用成像面和世界坐标系下平面上对应的特征点即可确定该3×4矩阵;

步骤七,把目标物体放在平面P2上,投影结构光,拍摄得到含有结构光的一组图像,然后对结构光进行解码,区分出光栅的数目,获得光栅在有目标物体影响下在相机成像面上的位置;

步骤八,在步骤七获得光栅在有物体影响下,在相机成像面上的位置的基础上,获得到每条光栅各自确定的平面C11C12C22C21和Q11Q12Q22Q21,以及由平面C11C12C22C21到平面Q11Q12Q22Q21映射的3×4矩阵,通过步骤六中的变换关系得到每条光栅在世界坐标系下的位置,从而获取三维信息。

2.根据权利要求1所述的基于单应性矩阵的结构光三维检测方法,其特征是,所述利用棋盘格图案中的特征点获取相机成像面分别与平面P1和P2对应的单应性矩阵HCQ1和HCQ2,具体如下:首先,将棋盘格图案分别摆放在平面P1和P2上,然后用相机拍照,分别获得两幅图像;

然后,测出棋盘格图像中的特征点的相对位置,取其中一个特征点作为世界坐标系的原点,其他特征点的坐标也就确定了,同时测出平面P1和P2之间的距离,即特征点在Z方向上的距离;

最后,根据棋盘格图像中的特征点的像素坐标,获得相机成像面分别与平面P1和P2对应的单应性矩阵HCQ1和HCQ2,单应性矩阵使得平面P1或P2上任意一个点(x,y)在相机上成像的坐标(X,Y)满足如下关系:其中,(X,Y)为成像面中特征点的像素坐标,(x,y)为平面P1或P2中特征点的世界坐标。

3.根据权利要求1所述的基于单应性矩阵的结构光三维检测方法,其特征是,所述利用棋盘格图案中的特征点在平面P1和P2上分别测定投影仪投影面和相机成像面对应的单应性矩阵HPC1和HPC2,具体如下:首先,把棋盘格图像分别投影到平面P1和P2上,由相机拍照,分别获得两幅图像;

然后,测量投影棋盘格图像和拍摄到的两幅图像上的棋盘格的特征点的像素坐标;

最后,采用与步骤二中相同形式的单应性矩阵,获得在平面P1和P2上投影仪投影面和相机成像面对应的单应性矩阵HPC1和HPC2。

4.根据权利要求2或3所述的基于单应性矩阵的结构光三维检测方法,其特征是,所述将棋盘格图案分别投影到平面P1和P2上,具体为:棋盘格图案在两个平面上的特征点在X和Y方向上的坐标相同,以实现取其中一个特征点作为世界坐标系的原点,同时就能确定其他特征点的坐标。

说明书 :

基于单应性矩阵的结构光三维检测方法

技术领域

[0001] 本发明涉及一种计量技术领域的检测方法,具体是一种基于单应性矩阵的结构光三维检测方法。

背景技术

[0002] 物体的三维检测是计算机视觉研究的一个重要方向,它的目标就是获得目标物体表面几何形状的精确描述。结构光三维检测以其使用简单、测量精确、无破坏性的优点而获得了广泛的应用。结构光三维检测方法主要分为两个部分,第一部分是投影结构光并拍摄获得结构光图像,然后进行结构光解码得到结构光的图像二维信息;第二部分是根据投影仪、相机和目标物体的相对位置把结构光的图像二维信息转化为目标物体的三维信息。
[0003] 经对现有技术文献检索发现,Tsai R Y于在IEEE Journal of Robotics andAutomation(IEEE机器人与自动化杂志)(1987年)中一篇文章“A versatilecamera calibration technique for high-accuracy 3D machine visionmetrology using off-the-shelf TV cameras and lenses”(一种采用现货摄像头并在高精度3D机器视觉测量方面应用通用的摄像机标定技术)提出了一种结构光三维测量中第二部分的方法,主要是先对投影仪和相机进行标定,确定投影仪和相机焦点的位置,再根据三角测量的关系来计算得出目标物体的三维信息。这一方法在投影仪的标定时需要测量不规则特征点的世界坐标;需要厂商提供投影仪和相机相邻两个像素(横向和纵向)之间的实际距离;在投影仪和相机的标定时都要考虑投影仪和相机的焦距,而且计算的步骤比较多;在准备工作都完成后,由相片上某点(位于光栅上的点)的像素坐标得出其对应的物点的世界坐标的计算上比较繁杂,先要通过一个矩阵乘法得到这点的世界坐标,再求解这点和相机确定的直线方程,最后联立已经准备好的投影仪与光栅确定的平面方程,组成一个三元一次方程组,解这个方程组即可得到物点的世界坐标。

发明内容

[0004] 本发明是针对上述现有技术的不足,提出了一种基于单应性矩阵的结构光三维检测方法,使其将单应性矩阵运用到确定投影仪、相机和目标物体的相对位置的确定上,由相片上某点(位于光栅上的点)的像素坐标仅通过一个矩阵乘法即可得到物点的世界坐标,本发明在保证精度的条件下简化了三维检测的操作。
[0005] 本发明是通过如下技术方案实现的,本发明包括如下步骤:
[0006] 步骤一,在投影仪和摄像机之间设置互相平行的两个平面P1和P2,两个平面P1和P2在下述步骤中用于放置获取单应性矩阵的棋盘格图案,投影仪和平面P2之间设有带有光栅的投影面,投影仪和投影面上的一条光栅确定一个光平面;
[0007] 步骤二,利用棋盘格图案中的特征点获取相机成像面分别与平面P1和P2对应的单应性矩阵HCQ1和HCQ2,具体如下:
[0008] 首先,将棋盘格图案分别摆放在平面P1和P2上,然后用相机拍照,分别获得两幅图像;
[0009] 然后,测出棋盘格图像中的特征点的相对位置,取其中一个特征点作为世界坐标系的原点,其他特征点的坐标也就确定了,同时测出平面P1和P2之间的距离,即特征点在Z方向上的距离;
[0010] 最后,根据棋盘格图像中的特征点的像素坐标,获得相机成像面分别与平面P1和P2对应的单应性矩阵HCQ1和HCQ2,单应性矩阵使得平面P1或P2上任意一个点(x,y)在相机上成像的坐标(X,Y)满足如下关系:
[0011]
[0012] 其中,(X,Y)为成像面中特征点的像素坐标,(x,y)为平面P1或P2中特征点的世界坐标。
[0013] 所述将棋盘格图案分别摆放在平面P1和P2上,具体为:棋盘格图案在两个平面上的特征点在X和Y方向上的坐标相同,实现取其中一个特征点作为世界坐标系的原点,同时就能确定其他特征点的坐标,以方便测量。
[0014] 步骤三,利用棋盘格图案中的特征点在平面P1和P2上分别测定投影仪投影面和相机成像面对应的单应性矩阵HPC1和HPC2,具体如下:
[0015] 首先,把棋盘格图像分别投影到平面P1和P2上,由相机拍照,分别获得两幅图像;
[0016] 然后,测量投影棋盘格图像和拍摄到的两幅图像上的棋盘格的特征点的像素坐标;
[0017] 最后,采用与步骤二中相同形式的单应性矩阵,获得在平面P1和P2上投影仪投影面和相机成像面对应的单应性矩阵HPC1和HPC2。
[0018] 步骤四,给定投影面上某条光栅的直线方程,根据步骤三中的单应性矩阵HPC1、矩阵HPC2获得直线C11C12和直线C21C22,由直线C11C12和C21C22获得成像面C11C12C22C21;
[0019] 步骤五,根据步骤四求得的直线C11C12、直线C21C22和步骤二中的单应性矩阵HCQ1、矩阵HCQ2获得直线Q11Q12和直线Q21Q22,由直线Q11Q12和Q21Q22确定世界坐标系下的平面Q11Q12Q22Q21,平面Q11Q12Q22Q21是在三维空间的平面;
[0020] 步骤六,建立成像面C11C12C22C21和世界坐标系下平面Q11Q12Q22Q21之间的关系:(X,T TY,1) =R(Xw,Yw,Zw)+T,其中,(X,Y)为成像面C11C12C22C21中的坐标,(Xw,Yw,Zw)为世界坐标系下平面Q11Q12Q22Q21中的坐标,R为旋转矩阵,T为平移向量,则步骤二中的公式(1)变换为:
[0021]
[0022] 可见公式(2)中的3×4矩阵表示出两个面的变换关系。利用两个面上足够多的对应的特征点即可求得该3×4矩阵。
[0023] 步骤七,把目标物体放在平面P2上,投影结构光,拍摄得到含有结构光的一组图像,然后对结构光进行解码,区分出光栅的数目,获得光栅在有目标物体影响下在相机成像面上的位置;
[0024] 步骤八,在步骤七获得光栅在有物体影响下在相机成像面上的位置的基础上,获得到每条光栅各自确定的平面C11C12C22C21和Q11Q12Q22Q21,以及由平面C11C12C22C21(相机成像面坐标系)到平面Q11Q12Q22Q21(世界坐标系)映射的3×4矩阵,通过步骤六中的变换关系得到每条光栅在世界坐标系下的位置,从而获取三维信息。
[0025] 本发明中,投影仪和某条光栅确定的光平面和上述步骤五获得的平面Q11Q12Q22Q21完全重合,利用此特性,求出了平面Q11Q12Q22Q21就得到了投影仪和某条光栅确定的光平面,其中平面P2是将要摆放物品的目标平面,平面P1和P2平行,直线Q11Q12是平面P1和光平面的交线,直线Q21Q22是平面P2和光平面的交线。直线Q11Q12在相机上的成像是直线C11C12,直线Q21Q22在相机上的成像是直线C21C22。设平面Q11Q12Q22Q21上的弧线是光栅投影在某物品上形成的,则这条弧线在相机上的成像必为平面C11C12C22C21上的某条弧线。由上述描述可知存在一个3×4的矩阵使得平面C11C12C22C21和Q11Q12Q22Q21上的点一一对应,那么这个矩阵必能使得两平面上两条弧线上的点一一对应。也就是说,当这个的3×4矩阵已知时,指定虚弧线上一点(像素坐标),就能得到对应的实弧线上一点(世界坐标),这就达到了三维测量的目的。
[0026] 与现有技术相比,本发明具有如下有益效果:
[0027] 1、本发明可以简便的测量世界坐标,现有技术方法在投影仪的标定时需要测量不规则特征点的世界坐标,而本发明方法只要测量规则特征点的世界坐标,例如使用的特征点是7×5=35个,现有技术方法需要测量35个特征点,而本发明方法只需测出2个后,再推算得到其他的特征点;
[0028] 2、本发明不需要厂商提供投影仪和相机相邻两个像素(横向和纵向)之间的实际距离,即现有技术中的方法是与设备相关的,而本发明方法在这一方面避免了设备相关性问题;
[0029] 3、本发明省略了投影仪和相机焦距的繁杂运算过程,从而在这一方面也避免了设备相关性问题;
[0030] 4、本发明中由相片上某点(位于光栅上的点)的像素坐标获得其对应的物点的世界坐标更为便捷,仅通过一个矩阵乘法即可得到物点的世界坐标,而现有技术方法先要通过一个矩阵乘法得到这点的世界坐标,再求解这点和相机确定的直线方程,最后联立已经准备好的投影仪与光栅确定的平面方程,组成一个三元一次方程组,解这个方程组即可得到物点的世界坐标。

附图说明

[0031] 图1是本发明的工作原理示意图。
[0032] 图2是本发明使用的真实的棋盘格;
[0033] 图中,(a)是相机拍摄到的在P1平面上的真实的棋盘格,(b)是相机拍摄到的在P2平面上的真实的棋盘格。
[0034] 图3是本发明中投影的棋盘格;
[0035] 图中,(a)是相机拍摄到的在P1平面上的投影棋盘格,(b)是相机拍摄到的在P2平面上的投影棋盘格。
[0036] 图4是本发明中目标物体在结构光下的图像;
[0037] 图中,(a)是相机拍摄到的在P2平面上的在第一帧结构光影响下的物体,(b)是相机拍摄到的在P2平面上的在第二帧结构光影响下的物体,(c)是相机拍摄到的在P2平面上的在第三帧结构光影响下的物体,(d)是相机拍摄到的在P2平面上的在第四帧结构光影响下的物体,(e)是相机拍摄到的在P2平面上的在第五帧结构光影响下的物体,(f)是相机拍摄到的在P2平面上的在第六帧结构光影响下的物体,(g)是相机拍摄到的在P2平面上的在第七帧结构光影响下的物体。
[0038] 图5是本发明中目标物体的三维轮廓;
[0039] 图中,(a)是某个角度下目标物体的三维轮廓,(b)是另一角度下目标物体的三维轮廓。

具体实施方式

[0040] 下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0041] 如图1所示,本实施例包括如下步骤:
[0042] 步骤一,在投影仪和摄像机之间设置互相平行的两个平面P1和P2,两个平面P1和P2在下述步骤中用于放置获取单应性矩阵的棋盘格图案,投影仪和平面P2之间设有带有光栅的投影面,投影仪和投影面上的一条光栅确定一个光平面;
[0043] 步骤二,利用棋盘格图案中的特征点获取相机成像面分别与平面P1和P2对应的单应性矩阵HCQ1和HCQ2,具体如下:
[0044] 首先,将棋盘格图案分别摆放在平面P1和P2上,然后用相机拍照,分别获得两幅图像,如图2所示;
[0045] 然后,测出棋盘格图像中的特征点的相对位置,取其中一个特征点作为世界坐标系的原点,其他特征点的坐标也就确定了,同时测出平面P1和P2之间的距离,即特征点在Z方向上的距离;
[0046] 最后,根据棋盘格图像中的特征点的像素坐标,获得相机成像面分别与平面P1和P2对应的单应性矩阵HCQ1和HCQ2,单应性矩阵使得平面P1或P2上任意一个点(x,y)在相机上成像的坐标(X,Y)满足如下关系:
[0047]
[0048] 其中,(X,Y)为成像面中特征点的像素坐标,(x,y)为平面P1或P2中特征点的世界坐标。
[0049] 所述将棋盘格图案分别摆放在平面P1和P2上,具体为:棋盘格图案在两个平面上的特征点在X和Y方向上的坐标相同,实现取其中一个特征点作为世界坐标系的原点,同时就能确定其他特征点的坐标,以方便测量。
[0050] 步骤三,利用棋盘格图案中的特征点在平面P1和P2上分别测定投影仪投影面和相机成像面对应的单应性矩阵HPC1和HPC2,具体如下:
[0051] 首先,把棋盘格图像分别投影到平面P1和P2上,由相机拍照,分别获得两幅图像,如图3所示;
[0052] 然后,测量投影棋盘格图像和拍摄到的两幅图像上的棋盘格的特征点的像素坐标,投影棋盘格图像和拍摄到的两幅图像上的棋盘格的特征点的像素坐标均能比较容易测得(可以电脑自动测得,也可以人工利用Photoshop之类的图像软件找出);
[0053] 最后,采用与步骤二中相同形式的单应性矩阵,获得在平面P1和P2上投影仪投影面和相机成像面对应的单应性矩阵HPC1和HPC2。
[0054] 步骤四,给定投影面上某条光栅的直线方程,根据步骤三中的单应性矩阵HPC1、矩阵HPC2获得直线C11C12和直线C21C22,由直线C11C12和C21C22获得成像面C11C12C22C21;
[0055] 步骤五,根据步骤四求得的直线C11C12、直线C21C22和步骤二中的单应性矩阵HCQ1、矩阵HCQ2获得直线Q11Q12和直线Q21Q22,由直线Q11Q12和Q21Q22确定世界坐标系下的平面Q11Q12Q22Q21,平面Q11Q12Q22Q21是在三维空间的平面;
[0056] 步骤六,建立成像面C11C12C22C21和世界坐标系下平面Q11Q12Q22Q21之间的关系:(X,T TY,1) =R(Xw,Yw,Zw)+T,其中,(X,Y)为成像面C11C12C22C21中的坐标,(Xw,Yw,Zw)为世界坐标系下平面Q11Q12Q22Q21中的坐标,R为旋转矩阵,T为平移向量,则步骤二中的公式(1)变换为:
[0057]
[0058] 可见公式(2)中的3×4矩阵表示出两个面的变换关系。利用两个面上足够多的对应的特征点即可求得该3×4矩阵。
[0059] 步骤七,把目标物体放在平面P2上,投影结构光,拍摄得到含有结构光的一组图像(如图4所示),然后对结构光进行解码,区分出光栅的数目,本实施例中共有27条光栅,获得光栅在有目标物体影响下在相机成像面上的位置;
[0060] 所述对结构光进行解码,具体为:根据图像的数目设定相应位数的二进制数,图像中的任意点区域设置相应的二进制数字,该数字表示它属于哪个光栅,比如:图4(a)(b)两幅图,第一幅图只有两个区域黑和白,第二幅图有四个黑白区域,可以用两位的二进制数表示并且区分这4个区域——(00,01,10,11),0表示黑色,1表示白色,第一位表示第一幅图,第二位表示第二幅图(区域01第一位是0表示这个区域在第一幅图里是黑色,第二位是1表示这个区域在第二幅图里是白色)。图4中共有7幅图,所以,则要选用7位的二进制数。
[0061] 步骤八,在步骤七获得光栅在有物体影响下在相机成像面上的位置的基础上,获得到每条光栅各自确定的平面C11C12C22C21和Q11Q12Q22Q21,以及由平面C11C12C22C21(相机成像面坐标系)到平面Q11Q12Q22Q21(世界坐标系)映射的3×4矩阵,通过步骤六中的变换关系得到每条光栅在世界坐标系下的位置,从而获取三维信息。
[0062] 如图5所示,是分别从两个角度看过去的效果,一条白线就是一条光栅,由所有的光栅形成的白线就能构建出目标物体的三维轮廓。
[0063] 本实施例方法可以简便的测量世界坐标,并避免了设备相关性问题,在保证精度的条件下简化了三维检测的操作。