1.机器视觉方式下多相机协同在线测量条状目标长度的技术和方法,其特征在于:假设一幅图像为f(x,y),对图像处理提取属性的操作设为H,由测量坐标系到世界坐标系的变换为T,对这幅图像处理的实际结果为R,测量过程可以被描述为R=T(H(f(x,y))) (1)
在这个过程中核心是H的定义和实现;在基于视觉的测量系统中,H(f(x,y))结果就是基于两个测定点之间的距离,这两个测定点坐标是基于图像坐标系的,由于距离对坐标变换具有不变性,因此对于单相机测长的系统,(1)式变为R=H(f(x,y)) (2)
对于多相机协同的测长系统,各相机的H是相同,测量结果R、待测图像f(x,y)和坐标变换矩阵均不同,对第i个相机可表示为Ri=Ti(H(fi(x,y))) (3)
就整个多相机协同系统而言,综合各相机结果为整个系统最后测量结果还需要一个操作;假定综合各相机结果为整个系统最后测量结果的操作为Tc、综合后结果为R,则多相机协同下测量过程可以描述为R=Tc(Ti(H(fi(x,y)))) (4)假设整个测量系统由n个相机构成,对图像处理提取属性的操作为H,系统有n个测量坐标系,每个测量坐标系都对应一个变换设为Ti(i=0,1,2,3,4,…,n-1),相机拍照的图像fi(x,y)(i=0,1,2,3,4,…,n-1),对图像处理获得实际结果为Ri(i=0,1,2,3,4,…,n-1),最终测量结果为R,则有Ri=Ti(H(fi(x,y))) (5)R=Tc(R0,R1,R=,…,Rn-1) (6)
将上述两式结合起来即为
R=Tc(T0(H(f0(x,y))),…,Ti(H(fi(x,y))),…,Tn-1(H(fn-1(x,y)))) (7)根据上述问题模型,一个多相机协同的测量系统中需要确定有Tc和Ti(i=0,1,2,3,
4,…,n-1)两种变换以及图像处理H;
对于各相机结果具有可加性的理想情况下多相机协同下的Tc变换和Ti变换两个变换矩阵设定如下式(8)中的Sxi、Syi分别为坐标x、y的变换系数,X0i、Y0i为图像fi(x,y)的测量坐标系起始点,对应世界坐标系的坐标,由H产生,Tc是一个n维的单位矩阵,假定H(fi(x,y)结果为(Xi,Yi),则式(7)变为测量长度为
正如前面所述,上述方案成立是有条件的,即各相机水平方向一致且画面不重叠,这在实际中实现时很难做到,再者该方案每次测量必须处理n幅图像,获得n个画幅中的的长度后,再把它们结果累加起来,有多少相机参与协同就要处理多少幅图像,没有减负的优势;
针对现实情况,如何定义好Tc变换、Ti变换和H是需要研究的,设计、建立变换方案时,方案的实际可操作性以及算法运行速度两方面作为评估依据。
2.根据权利要求1所述的机器视觉方式下多相机协同在线测量条状目标长度的技术和方法,其特征在于:重新定义对图像操作G,该操作是对图像操作N和一个新增操作D的乘积,即G=N·D或者D·N(13)
对图像操作N是原来对图像操作H和坐标系变换Ti之积,即对图像处理后不仅获得条状目标端点坐标,而且还要对该坐标向世界坐标系的变换,即N=Ti·H (14)
新增操作D的定义如下
ci=D(fi(x,y)) (15)
ci是一个常量,该常量ci取值如下
这样上面的(7)式就可进一步写为
R=Tc(T0((c0)H(f0(x,y))),...,Ti((ci)H(fi(x,y)))….,Tn-1((cn-1)H(fn-1(x,y))))(16)由于ci对Ti为常量,所以可以移到Ti变换的前面,即
R=Tc(c0T0(H(f0(x,y))),...,ciT=(H(fi(x,y))),...,Cn-1Tn-1(H(fn-1(x,y)))) (17)对任何一个条状目标,工业相机队列中只有两个相机ci不为0,其它均为0,设条状目标两端分别位于第i个和第j个照相机,则上式变为R=Tc(-(ci)Ti(H(fi(x,y))),(cj)Tj(H(fj(x,y))))(18)在新的坐标变换(10)、(11)式变为
Rx=(SxjXj-X0j)-(SxiXi-X0i) (19)
Ry=(SyjYj-Y0j)-(SyiYi-Y0i) (20)
重新定义对图像操作G后,对每幅图像都增加一个D操作,似乎增加了系统处理复杂度,但实际上大幅降低了数据处理量,虽然对每个相机图像要做D操作,但Ti操作和H操作不需要对每幅图像进行了,每次测量只对两幅图像进行就可以了,每幅图像进行D操作只要检查图像的两边缘即可确定,不需要检查整个图像,大大加快了算法速度。
3.根据权利要求1所述的机器视觉方式下多相机协同在线测量条状目标长度的技术和方法,其特征在于:重新定义的对图像操作G是多个操作的复合操作,包括对图像的D操作、H操作和Ti变换;操作G的实现主要是D操作、H操作的实现;对一幅图像而言,D操作主要回答条状目标是左端还是右端在图像中,即产生常量ci,H操作是要获得条状目标的端点位置坐标,将这两个要求归纳起来就是要确定条状目标的两端是否在图像中,如果在,要进一步确定是左端还是右端在该图像中,具体的坐标位置,这个坐标位置还必须是世界坐标系的值;
在多相机协同情况,条状目标在多相机的图像中出现的情况可以分为三类,一类是条状目标左端在图像,第二类是条状目标无端点在图像中、只有条状目标的部分段在图像中,第三类是条状目标右端在图像;对任何一个条状目标而言,多相机协同方式下第一类和第三类图像各只有一幅图像,第二类图像可能有多幅,也可能没有;
1)各相机考察区域设置以及H操作的实现
对工业现场在线测量,待测目标在各相机图像中出现的位置不是任意的,而是出现在一固定区域,各相机之间目标出现区域不同,但对某一个特定相机而言目标出现区域是一定的,在研究实现图像操作G时要充分利用这一特点,提出感兴趣区域ROI或者考察区域概念,考察区域就是图像中的一固定区域,是待测量目标在图像中出现的区域,设置考察区域的优势是大幅减少数据处理量,避开复杂背景的处理,使得算法设计简单化;
考察区域设置的原则一是尽量减少数据的处理量,二是使处理算法简单可行;考察区域设置形状、大小等与应用有关、与待分割的目标形状有关,对于条状目标测长这一任务,考察区域尽量设置在条状目标经过的区域,也是长条状、贯穿图像左右两边,这样设置后考察区域后,考察区域被分成两部分,条状目标内部分和外部分,二者应该属性不同,交界处正是条状目标左端,这样每次搜索扫描只要考察区域,考察范围大为减少、复杂背景对算法的影响几乎可以不考虑;H操作可以只在在考察区域内进行、可以采用阈值法或者其他分割手段来确定目标和背景的分界处,这时坐标还是基于图像的坐标系;
2)D操作实现以及图像处理完整的算法
H操作是返回条状目标的端点坐标,D操作是要获得常量ci,即该图像中有无条状目标端点并区分是左端点还是右端点,D操作只要考察考察区域的左右靠近图像边缘的两端的两列像素点是否是目标像素点就可以获得答案,而且速度会很快。
H操作和D操作合在一起的完整算法,根据ROI左右边缘两列情况设置常量ci步骤如下①当两列均为目标对象像素点,ci常量=0;
②当两列均不为目标对象像素点,ci常量=0;
③当左列为目标像素点,右列不是目标像素点,ci常量=1;
④当右列为目标像素点,左列不是目标像素点,ci常量=-1;
3)图像标定和坐标变换
图像经过D操作后,如果ci常量≠0,则H操作会给出基于相机坐标系的条状目标端点坐标,该端点坐标必须经过坐标变换,把它变换成世界坐标系的坐标才能成为测量值,坐标变换需要确定Sxi、Syi、X0i、Y0i,在多相机协同情况下,有多个相机坐标系,如何确定这些参数也是需要研究的;
在多相机协同下,为了实现相机坐标系向世界坐标系的转换,需要对每个相机分别进行标定,从而获得每个相机的Sxi、Syi、X0i、Y0i,具体标定与待测目标形状和测量的物理量有关,对条状目标测长这个应用而言标定就是沿着目标长度方向逐点标定其在世界坐标系的长度。
4.根据权利要求2所述的机器视觉方式下多相机协同在线测量条状目标长度的技术和方法,其特征在于:所述D操作检查图像的两边缘的两边缘为与条状目标垂直方向。
5.根据权利要求3所述的机器视觉方式下多相机协同在线测量条状目标长度的技术和方法,其特征在于:所述图像标定和坐标变换中标定过程可以先在图像中确定该标定点,然后再把该点对应到背景真实的点上来确定其世界坐标系坐标值,也可以是针对真实背景的中的特定点在图像中找其对应图像点,标定要求点的分布必须是在长度方向上覆盖整个目标范围。