一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种双目线阵相机位置调节以及标定的方法与流程

2022-02-22 04:35:58 来源:中国专利 TAG:


1.本发明涉及机器视觉领域,尤其涉及一种双目线阵相机位置调节以及标定的方法。


背景技术:

2.ccd线阵相机是一种特殊的视觉机器,该相机扫描行的坐标由光栅提供,高精度的光栅尺的示值精度高于面阵像元间距的制造精度,因此线阵相机具有较高的图像分辨率,可大大提高检测精度,并且线阵相机具有视场角大,扫描速度快等优点,非常使用于高速运动的场景,如铁路上的轨道检测、弓网检测等,道路和隧道的裂纹检测等。首先,双目线阵相机基于双目视觉理论,利用成像设备从不同位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差来获取物体三维几何信息的方法。考虑到线阵相机只有一条行扫描的特殊性以及相关测量方法对两个相机位置信息(独立位置和相对位置)精度具有较高要求,因此,两个线阵相机的位置信息不能有较大的偏差,需要在使用之前对其进行位置信息的精度调节。此外,在图像测量过程以及机器视觉应用中,相机标定必不可少,其标定结果的精度及算法的稳定性直接影响到最终目标检测、定位和测量的精度。因此,做好相机标定是做好后续工作的前提,也是提高标定精度的重点所在。目前现有技术中,通过标定图像与待标定相机相互运动的方式,使用线阵相机采集标定图像,从而将线阵相机的标定问题转化为面阵相机的标定问题。但是,这对于两者相对运动的稳定性要求很高,如果发现偏差将影响最终的标定结果。本发明将动态标定转化为更加稳定的静态标定,实施性得到极大的提升。


技术实现要素:

3.本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种双目线阵相机位置调节以及标定的方法。
4.为了实现本发明的上述目的,本发明提供了一种双目线阵相机位置调节的方法,包括以下步骤:
5.s1,将第一标定板放置于双目线阵相机的正前方;
6.s2,通过双目线阵相机拍摄第一标定板得到成像图像;
7.s3,执行步骤s4~s7之一或者任意组合步骤;
8.s4,判断相机是否出现左右高低不一致的情况;
9.s5,判断两个相机是否出现一前一后的情况;
10.s6,判断两个相机出现一高一低的情况;
11.s7,判断相机是否出现左右倾斜的情况;
12.s8,根据出现的情况进行调节,使得两条扫描线在同一条水平线上,则两个相机的位置摆放保持在同一水平线。
13.进一步地,在步骤s4中判断相机出现左右高低不一致的方法为:
14.s4-1,当l1大于l2时,即左高右低的情况,此时有:
15.m=l1sinα,
16.n=l1cosα-l2cosα,
[0017][0018]
解出α的值;
[0019]
s4-2,当l2大于l1时,即左低右高的情况,此时有:
[0020]
m=l1sinα


[0021]
n=l2cosα
′‑
l1sinα


[0022][0023]
解出α

的值;
[0024]
其中两台相机的扫描线与水平线的角度分别为α、α

,相机1或相机2的扫描线在平行四边形和矩形上的长度分别为l1和l2,相机1或相机2的扫描线在第一标定板中平行四边形和矩形上的长度分别为l1和l2。
[0025]
进一步地,在步骤s5中判断两个相机出现一前一后的方法为:
[0026]
s5-1,如果l1成像长度大于l2,则说明相机1的位置靠前;
[0027]
s5-2,如果l2成像长度大于l1,则说明相机2的位置靠前;
[0028]
其中,l1表示相机1的扫描线在三个矩形上的长度,l2表示表示相机2的扫描线在三个矩形上的长度。
[0029]
进一步地,在步骤s6中判断两个相机出现一高一低的方法为:
[0030]
s6-1,如果l1的成像小于l2,则说明相机1的位置高于相机2;
[0031]
s6-2,如果l2的成像小于l1,则说明相机2的位置高于相机1;
[0032]
其中,l1表示相机1的扫描线在三角形上的长度,l2表示表示相机2的扫描线在三角形上的长度。
[0033]
进一步地,在步骤s7中判断相机出现左右倾斜的方法为:
[0034]
s7-1,如果有de<ec,则相机向右倾斜;
[0035]
s7-2,如果有de>ec,则相机向左倾斜;
[0036]
其中ec、de分别为第一标定板中相邻的两个矩形的成像长度。
[0037]
进一步地,所述第一标定板包括:
[0038]
由四个位于同一水平线的矩形构成,在从左至右的第二、三、四个矩形中连接对角线,其中第二、四个矩形中的对角线有交点,对角线将矩形划分为直角三角形;第一个矩形填充有颜色,用来判断标定板的左右;
[0039]
或/和在步骤s8中,若相机出现左右高低不一致的情况,则调节角度直至相机水平;
[0040]
若两个相机出现一前一后的情况,则采用将在前的相机向后移动、将在后的相机向前移动、将在前的相机向后移动且将在后的相机向前移动之中的任一方法;
[0041]
若两个相机出现一高一低的情况,则采用将较高的相机向下移动、将较低的相机向上移动、将较高的相机向下移动且将较低的相机向上移动之中的任一方法;
[0042]
若相机出现左右倾斜的情况,则根据倾斜的方向进行反向调节,直至ec=de,其中ec、de分别为第一标定板中相邻的两个矩形的成像长度。
[0043]
本发明还提出一种双目线阵相机标定的方法,包括以下步骤:
[0044]
s-a,放置第二标定板和相机,其中第二标定板与水平角度始终保持30度不变,相机扫描面始终垂直水平面;
[0045]
s-b,相机进行扫描,相机扫描面交于第二标定板的至少三个交点从而求得单应矩阵h;
[0046]
s-c,沿世界坐标系的z轴平移第二标定板或者相机,采集至少三张不同位置处的图像,从而计算出相机的内参和外参。
[0047]
进一步地,所述s-b中的交点包括:
[0048]
交点即世界坐标系下的横坐标;
[0049]
世界坐标系下的横坐标值根据其对应的像素坐标下的横坐标值、第二标定板的尺寸和交比不变性原理求得,像素坐标下的横坐标从图像中直接得出;因为图像是由一个个像素点构成的,像素点是可以一个个读出来的。交点在第几个像素点就是其横坐标。
[0050]
其中每三个交点得到单应矩阵h的值,若有多个交点则可任意排列组合求得多个h值,然后通过lm优化方法得到最优的单应矩阵h。
[0051]
进一步地,所述s-c包括:
[0052]
定义一个3维向量:
[0053][0054]
则b可以表示为:
[0055][0056]
其中b
11
=1/α2,b
12
=-u0/α2,b
22
=1 u
02
/α2;
[0057]v·
b=1,
[0058]
其中v是一个1
×
3的矩阵,则求解b至少需要3个方程,因此要求出唯一解至少需要3张图片;
[0059]
解出了唯一解b,则可以得到b,那么就可以求出u0和α分别为:
[0060][0061]
其中u0表示图像中心点位置,α=f
x
,f/d
x
=f
x
,f表示相机焦距,d
x
表示像素的尺寸;
[0062]
因此相机内参a的结果如下:
[0063][0064]
对于已知的单应性矩阵h=[h
1 h2],有:
[0065]
[h
1 h2]=a[r t],
[0066]
可以解出外参的各项参数r和t分别为:
[0067][0068]
因此相机外参[r t]的结果如下:
[0069]
[r t]=[a-1h1 a-1
h2]。
[0070]
进一步地,所述第二标定板由至少两个矩形构成,并连接每个矩形的一条对角线,且对角线相互平行。
[0071]
综上所述,由于采用了上述技术方案,本发明的有益效果是:
[0072]
1.能通过标定板的方式将两个线阵相机的位置进行调节,方法简单可行且能保证了位置信息的精度。
[0073]
2.将动态标定转化为更加稳定的静态标定,实施性得到极大的提升。
[0074]
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0075]
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0076]
图1是本发明两个相机的位置处在同一水平线的示意图;
[0077]
图2是本发明两个相机出现左右高低不一致情况的示意图;
[0078]
图3是本发明解决两个相机出现左右高低不一致情况的标定板示意图;
[0079]
图4是本发明两个相机出现一前一后情况的示意图;
[0080]
图5是本发明解决两个相机出现一前一后情况的标定板示意图;
[0081]
图6是本发明两个相机出现一高一低情况的示意图;
[0082]
图7是本发明解决两个相机出现一高一低情况的标定板示意图;
[0083]
图8是本发明两个相机出现左右倾斜情况的示意图;
[0084]
图9是本发明解决两个相机出现左右倾斜情况的标定板示意图;
[0085]
图10是本发明解决两个相机位置情况的第一标定板示意图;
[0086]
图11是本发明用于确定相机内外参数的第二标定板示意图;
[0087]
图12是本发明用于确定相机内外参数的标定板与相机的放置示意图;
[0088]
图13是本发明解决相机内外参数的标定板示意图。
具体实施方式
[0089]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0090]
本发明提出了一种双目线阵相机位置调节以及标定的方法,主要包括两个方面:一方面介绍如何调节双相机的位置。双目线阵相机目标测量前必须对两个相机的位置进行调节,保证其测量结果的精度。通过分析四种可能产生误差的情况,给出如何检测其误差类型以及如何调节其位置信息的方法,该方法可靠且易于实施,为相机标定和目标测量打下良好的实验基础。另一方面介绍如何标定单个相机的内参和外参。在进行视觉实验之前,对相机的标定工作必不可少,精确的标定结果可以大大提高最终的测量精度。本方法从线阵相机的特点出发,基于小孔成像原理、像素坐标系和世界坐标系转换关系和相关数学理论,推导出线阵相机标定的方法,并给出了一种简单、合理的标定板设计方案。
[0091]
其中调节双相机的位置是进行检测的前提调节,如果相对位置达不到要求,则测量结果不准确;对于标定得到的外参和内参,后续需要用内参来进行畸变校正,而内参必须结合外参来进行求解。
[0092]
第一部分介绍如何调节双相机的位置。
[0093]
根据线阵相机的测量方法可知,两个相机的位置摆放应该保持在同一水平线,使得两条扫描线在同一条水平线上,如图1所示。但由于实验装置和摆放误差,两个相机的相对位置很难保持最理想状态,从而会影响到测量精度。如果能够通过某种方法标定以得到两个相机位置偏差情况,再通过精密仪器进行调节,就能较大幅度提高最终的测量精度。
[0094]
通过实验发现,两个相机相对位置出现偏差主要有四个方面:
[0095]
(1)相机出现“左右高低不一致”的情况,如图2所示,此时相机的扫描线在目标物上与水平线呈一定角度,会造成实际成像长度大于理想成像长度的误差。解决方法是制作如图3所示的标定板,其中包括四个全等直角三角形,最小锐角度数范围为15~30度,最小直角边为2cm,左侧的两个直角三角形拼接成平行四边形,右侧的另外两个拼接成矩形。设两台相机的扫描线与水平线的角度分别为α、α

,相机1的扫描线在平行四边形和矩形上的长度分别为l1和l2,相机2的扫描线在平行四边形和矩形上的长度分别为l1和l2,其中标定板的直角三角形中与直角边相邻的锐角为β。
[0096]
根据实际情况,可认为α、α

远小于β,则有:
[0097]
a)当l1大于l2时,即“左高右低”的情况,此时有:
[0098]
m=l1sinα,
[0099]
n=l1cosα-l2cosα,
[0100][0101]
可以解出α的值;
[0102]
b)当l2大于l1时,即“左低又高”的情况,此时有:
[0103]
m=l1sinα


[0104]
n=l2cosα
′‑
l1sinα


[0105][0106]
可以解出α

的值。
[0107]
(2)两台相机出现“一前一后”的情况,如图4所示,此时两条扫描线仍然会在同一水平线上,但是根据小孔成像原理可知,相机1的成像长度会略大于相机2的成像长度。解决方法是制作如图5所示的标定板,该标定板由三个矩形构成,从左到右矩形长度分别为1cm、2cm和5cm,宽度都为10cm。
[0108]
a)如果l1成像长度大于l2,则说明相机1的位置靠前;
[0109]
b)如果l2成像长度大于l1,则说明相机2的位置靠前。
[0110]
(3)两台相机出现“一高一低”的情况,如图6所示,假设相机1的位置略高于相机2,则此时相机1的扫描线会略高于相机2的扫描线,即两条扫描线不在同一水平线的情况,不符合要求。可以通过制作如图7所示的标定板,该标定板由一个顶角为30度,底边长为5cm,高为10cm的三角形构成。
[0111]
a)如果l1的成像小于l2,则说明相机1的位置高于相机2;
[0112]
b)如果l2的成像小于l1,则说明相机2的位置高于相机1.
[0113]
(4)相机出现“左右倾斜”的情况,如图8所示,假设相机1略向右倾斜,相机2略向左倾斜,此时两条扫描线仍可能在同一水平线上,但不符合线阵相机测量方法中两个相机的位置摆放情况。可以制作如图9所示的标定板,该标定板由两个全等的矩形构成,长、宽分别为2cm、10cm。下面以相机1为例进行说明,其中ec、de分别为相邻的两个矩形的成像长度,延长三条光路并作水平线分别交于a、b、c点,有两个矩形长度相等易知ab=bc;再过点b做ad的平行线交dc于点f,由中位线定理知fc=df,因此de<ec,则可得出图9中的相机1向右倾斜。
[0114]
a)如果有de<ec,则相机向右倾斜;
[0115]
b)如果有de>ec,则相机向左倾斜。
[0116]
综上所述,为了实验方便,可以把上述四种情况使用到的标定板组合成一张标定板,如图10所示,由四个位于同一水平线的矩形构成,其中标定板的长度和尺寸根据实景情况而定,本次实验的推荐数值为:从左至右的长度分别为1cm、2cm、3cm和3cm,宽度均为10cm。如图10所示在第二、三、四个矩形中连接对角线,其中第二、四个矩形中的对角线有交点,对角线将矩形划分为直角三角形,第一个矩形填充有颜色,用来判断标定板的左右。标定板的位置与需测量的物体的位置一样,目的就是已知要测量的物体的位置,借助标定版调节两个相机的相对位置。使用一张标定板即可完成上述所有四种位置误差情况的调节。
[0117]
第二部分介绍如何标定单个相机的内参和外参。
[0118]
相机中存在4个右手坐标系:世界坐标系(w)、相机坐标系(c)、图像坐标系(pic)、像素坐标系(pix)。
[0119]
(1)世界坐标系:(xw,yw,zw),用户自己定义的三维空间坐标系,表示物体在空间的实际位置,用来描述三维空间中物体与相机之间的坐标位置关系,度量值为米(m);
[0120]
(2)相机坐标系:(xc,yc,zc),以相机的光心(前面的o点)为原点,zc轴与光轴重合,垂直于成像平面,度量值为米(m);
[0121]
(3)图像坐标系:(x
pic
,y
pi
c),位于图像平面上,是个二维坐标系,x
pic
和y
pic
分别与
相机坐标系中的xc和yc相平行,度量值为米(m);
[0122]
(4)像素坐标系:(x
pix
,y
pix
),同样位于图像平面上,与图像坐标系的区别是:1、以左上角为原点;2、单位为像素。也可表示为(u,v)。
[0123]
1.坐标系之间的转换
[0124]
(1)世界坐标系

相机坐标系
[0125]
设某一点在世界坐标系中的坐标为(xw,yw,zw),在相机坐标系中的坐标为(xc,yc,zc)。
[0126]
则两个坐标系之间的关系可以表示为:
[0127][0128]
其中,r是一个旋转矩阵,t是一个平移矩阵。
[0129]
由于线阵相机拍摄的是一条线,即不存在y轴方向的点,并假设模型平面在世界坐标系中z坐标为0,下文将默认该约定。故两个坐标系之间的关系可以表示为:
[0130][0131]
此时,r是一个2
×
1的旋转矩阵,t是一个2
×
1的平移矩阵。
[0132]
用齐次形式表示为:
[0133][0134]
xc、zc分别为相机坐标系中x轴上的坐标值,z轴上的坐标值;xw为世界坐标系中x轴上的坐标值。
[0135]
(2)相机坐标系

图像坐标系
[0136]
以o点为原点建立相机坐标系,点q(xc,yc,zc)为相机坐标系空间中的任意一点,假设该点被光线投影到平面上的点q(x
pic
,y
pic
)点上。根据小孔成像中的相似三角形原理,有:
[0137][0138]
其中,f表示相机焦距,xc、zc分别为相机坐标系中x轴上的坐标值,z轴上的坐标值,x
pic
为点q在图像坐标系中x轴上的坐标值。
[0139]
则有:
[0140][0141]
将其写成矩阵形式:
[0142][0143]
(3)图像坐标系

像素坐标系
[0144]
假设每个像素的实际物理尺寸为d
x
×dx
(mm2),对于像素坐标系中的点的坐标可表示为:(u,0)(线阵相机纵坐标恒为0),其中:
[0145][0146]
u表示像素坐标系中x轴上的坐标值,u0表示图像中心点位置。则上式用矩阵形式表示:
[0147][0148]
(4)世界坐标系

像素坐标系
[0149]
经过前面(1)到(3)步骤,可以得到世界坐标系到像素坐标系的转换:
[0150][0151]
令:f/d
x
=f
x
,则可整理为:
[0152][0153]
其中:
[0154]
(1)第一个矩阵中的f
x
、u0这两个参数为线阵相机的内部参数中的两个系数,只与相机本身有关;
[0155]
(2)第二个矩阵中的r、t这两个参数为线阵相机的外部参数,会随着世界坐标系和相机坐标系的相对位置改变而改变;
[0156]
(3)线阵相机的标定的目的就是在已知像素坐标系下的坐标和世界坐标系下的坐标,求解出相机内外部参数的过程。
[0157]
2.标定推导
[0158]
根据前面的推导,我们可以建立一个模型:
[0159][0160]
分别表示像素坐标系下的点和世界坐标系下的点。
[0161]
其中:
[0162][0163]
r、t都是相机外参,r为旋转矩阵,t为平移矩阵,a是相机内参,u0是图像中心点坐标,令α=f
x
(在三维中α的值由f
x
、fy决定,但线阵相机属于二维故fy不存在)。
[0164]
则有:
[0165][0166]
此时,x=xw,x为推导值,xw为具体的值。
[0167]
因此点和它在图像上的映射点之间的关系可以用单应矩阵h来表示:
[0168][0169]
分别表示像素坐标系下的点和世界坐标系下的点。
[0170]
其中:
[0171]
h=a[r t]
[0172]
h是一个2
×
2的矩阵,a表示内参,[r t]表示外参。
[0173]
令h=[h
1 h2],设h的第i列为:h1、h2都是2
×
1矩阵,各自对应一列,则h可表示为:
[0174]
则有:
[0175][0176]
展开后有:
[0177][0178]
该单应矩阵有三个自由度(因为这里使用的是齐次坐标系,也就是说可以进行任意尺度的缩放)。因此三个自由度的单应矩阵h至少需要三个对应的点才能计算出单应矩阵。
[0179]
下面探讨至少需要几张不同位置的标定板图片。
[0180]
由前面有:[h
1 h2]=a[r t]。
[0181]
由旋转矩阵的性质知:
[0182]
||r||=1
[0183]
||
·
||表示矩阵的模,
[0184]
由公式:[h
1 h2]=a[r t]可得到方程组:
[0185][0186]
推出:
[0187]
r=a-1
h1[0188]
带入||r||=1,有约束条件:
[0189][0190]
其中
·
t
表示转置。
[0191]
令b=a-t
a-1
,由前面给出的a的定义:
[0192][0193]
则可计算出矩阵b:
[0194][0195]
易知b是对称的。
[0196]
定义一个3维向量:
[0197][0198]
则b可以表示为:
[0199][0200]
其中b
11
=1/α2,b
12
=-u0/α2,b
22
=1 u
02
/α2;
[0201]
又h=[h
1 h2],设h的第i列为:设h的第j列为:
[0202]

[0203]
把上述公式带入有:
[0204][0205]
设上式可表示为:
[0206][0207]
由前面可知:i=j=1,b=a-t
a-1
则:
[0208][0209]
该条件可以改写成:
[0210][0211]
令则有:
[0212]v·
b=1
[0213]
由于v是一个1
×
3的矩阵,则求解b至少需要3个方程,因此要求出唯一解至少需要3张图片。
[0214]
如果我们解出了唯一解b,则可以得到b,那么就可以求出u0和α分别为:
[0215][0216]
因此相机内参a的结果如下:
[0217][0218]
对于已知的单应性矩阵h=[h
1 h2],有:
[0219]
[h
1 h2]=a[r t]
[0220]
可以解出外参的各项参数r和t分别为:
[0221][0222]
因此相机外参[r t]的结果如下:
[0223]
[r t]=[a-1h1 a-1
h2]
[0224]
因此,只要找到三张图像的像素坐标系以及世界坐标系,就可以求出相机的内外参数。下面介绍如何设计标定板进行标定。
[0225]
如图11所示,该标定板由多个(9个)5cm*15cm的矩形构成,并画出每个矩形的一条对角线,每条对角线相互平行,线宽0.3mm。
[0226]
下面介绍该标定方法的原理。
[0227]
如图12所示放置标定板和相机,其中标定板与水平角度始终保持30度不变,相机扫描面始终垂直水平面。如图13所示(图13中的标定板只展示了局部),以标定板短边为x轴,长边为y轴建立坐标系x`o`y`,线阵相机扫描面与水平面垂直并交于标定板的点x1、x2、x3和x4,以标定板上的任一交点为原点,此处以x1为原点,x1x4为x轴建立坐标系xoy,x1、x2、x3和x4在相机光敏面上对应的像素点的横坐标分别为u1、u2、u3和u4。根据交比不变性原理,有:
[0228][0229]
cr为交比系数,其中,u1、u2、u3和u4可以在图像中直接求出来,x1、x3和x4的横坐标分别为0、5、10(单位:cm),因此可以求得x2的值,则世界坐标系下的图像坐标也求得。易知,如果计算出越多的匹配点(一个像素坐标下的横坐标及其对应的世界坐标系下的横坐标为一组匹配点),最后结果的鲁棒性越好,因此可以通过lm等优化方法得到最优的单应矩阵h。
[0230]
沿世界坐标系的z轴平移标定板或者相机,采集不同位置处的图像(至少三张),从而根据上述方法计算出相机的内参和外参。
[0231]
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献