发明内容
本发明的目的在克服传统的点激光测量系统的标定条件苛刻,标定步骤繁琐等缺点,提出一种灵活、精度高、速度快、稳定性好、实时性强、方法简单、计算量小、通用性强的点激光系统的标定和测量技术。
按照本发明提供的技术方案,所述点激光测量系统的现场标定和精密测量方法如下:
首先,利用相机多次拍摄带标记圆点靶标,提取圆形斑点的亚像素圆心坐标并自动识别角点的行列值,完成和世界坐标的匹配;根据张正友标定算法得到相机的内部参数矩阵
其中α=f/dx、β=f/dy,f为相机焦距,dx,dy为单个CCD感光元件的长宽物理尺寸,γ为反映CCD感光元件排列倾斜程度的物理量,u
0、v
0为相机镜头光轴和CCD感光元件的交点;
第二步,选择零平面和两个基准面,高度分别记为0,H1,H2,调整点激光器和相机位置使得在量程范围内,激光点都可以落在相机的视场内,分别拍摄激光在0,H1,H2所成的像点P0,P1,P2;利用图像处理算法准确获取激光像点P0,P1,P2的中心;
第三步,计算相机内部参数矩阵中的图像中心点O(u
0,v
0)在P0,P1,P2所在直线上的投影点O’,u
0,v
0分别是图像中心点O的横坐标和纵坐标;相机的成像模型为针孔模型,记孔心点为O
1,得到矢量
根据α,β求出
依次与
之间的夹角∠1、∠2、∠3,∠4=∠1-∠3,根据∠1、∠2、∠3,∠4计算出孔心O
1到激光光线的垂直距离L和该垂线和零平面光线的夹角Δ;把L称为基线距,Δ为基准角,完成标定;
第四步,得到高度和激光像点坐标的方程H=f(u,v,L,Δ),其中L,Δ为已知,u,v为在任意高度激光光斑中心的像素坐标,实现对高度H的实时测量。
所述提取圆形斑点的亚像素圆心坐标并自动识别角点的行列值,完成和世界坐标的匹配方法如下:
1.1、在线实时采集带标记圆点靶标图像,选取合适阈值对图像二值化;使得圆形斑点和标记突显;
1.2、利用
腐蚀算子对图像进行腐蚀,去除由于椒盐噪声带来的桥型连通,对腐蚀后的图像进行膨胀,使得目标更加突显;利用标记算法,对二值化后的图像中的所有目标进行标记,目标面积表示为其所包含的像素数目,统计带标记的圆形靶标中的目标,即圆点和标记,所包含像素数目均值NP_average,去除包含像素数目小于0.5×NP_average以及大于1.5×NP_average的目标;
1.3、计算目标周长C和面积S,利用圆形度表达式e=C2/(2*π*S),区分圆点和标记;
1.4、利用标记拟合直线,确定标定板的倾斜角度;较长的标记条记为空间坐标的y轴,较短的标记条记为空间坐标的x轴,计算x轴和y轴在图像像素坐标中的斜率Kh,Kv;
1.5、利用ui=Kh*vi+bih,vi=Kv*ui+biv计算圆点沿Kh,Kv方向在像素坐标u,v轴上的投影bih,biv,根据类间距离最大,类内距离最小的方法,对bih,biv进行聚类,并且对bih,biv进行升序排列,对bih依次标记为第1行,第2行…,以此类推,同理biv依次标记为第1列,第2列…,从而实现对圆点在实际空间坐标下的行列识别;其中(ui,vi)表示第i个圆点的像素坐标;
1.6、根据各个圆点之间实际距离,对每个圆点匹配实际的空间坐标。
所述利用图像处理算法准确获取激光像点的中心的方法如下:
2.1、利用阈值对采集到的激光光斑进行二值化,对二值化图像进行图像腐蚀去除边缘毛刺;
2.2、计算腐蚀后图像的最小外切矩形后,上下左右各外扩5个像素裁剪原图像作为后续算法的处理区域;
2.3、对上述图像进行均值滤波,减小光斑周围反射散斑对图像边缘的影响;利用canny边缘检测算子,得到激光光斑的外围轮廓;建立外围轮廓的椭圆方程ax2+bxy+cy2+dx+ey+f=0;用最小二乘法进行椭圆拟合,得到激光光斑的一个椭圆边界方程,则椭圆中心像素坐标(Xc,Yc)的表达式为:
所述基线距和基距角的标定方法如下:
3.1、获取零平面、第一基准面和第二基准面的标准高度0,H1,H2的值和激光光斑在各高度的像点;
3.2、准确提取各个平面上激光斑像点的亚像素中心P0(u1,v1),P1(u2,v2),P2(u3,v3);u1、v1;u2、v2;u3、v3分别表示P0、P1、P2的横坐标和纵坐标;
3.3、采用最小二乘方法对P0(u1,v1),P1(u2,v2),P2(u3,v3)三点坐标进行直线拟合aui+bvi+c=0,其中i=1、2、3,并计算相机内参数矩阵中的图像中心坐标O(u0,v0)在上述直线上的投影
3.4、计算向量
记该向量的方向为正方向,依次计算
并判断向量方向正负,计算有向线段像素分别在u方向和v方向的投影长度
3.5、依次按照如下公式计算∠1、∠2、∠3,∠4=∠1-∠3的正切值:
∠4的正切值通过正切两角和差公式得到;根据各自向量的方向,为∠1、∠2、∠3的正切值添加正负号,正向量的正切值为正,反之则为负;
3.6、根据成像的光路几何关系得到如下的关系
H1/cosθ=L×tan(Δ+∠1-∠2)-L×tanΔ ①
H2/cosθ=L×tan(Δ+∠4)-L×tanΔ ②
令H1/H2=const,tan(∠1-∠2)=a,tan∠4=b,由①、②两式得
带回①求得Lcosθ;完成基线距和基准角的标定。
以上测量高度H的方法为:首先采集激光照射待测平面的光斑图像,利用第二步所述方法准确提取激光像点中心P(u,v);然后计算向量
计算
的夹角正切值,
根据向量
的方向判断tanθ的正负,则H=Lcosθ×tan(Δ+φ)-Lcosθ×tanΔ,实现高度的在线实时测量。
本发明与已有技术相比具有以下优点:本发明通过分析相机的成像原理,建立相机成像模型,引入了基线距和基准角这两个结构参数的概念,设计了一种简单灵活的点激光-相机测量系统的标定算法以及利用该算法可以进行现场实时调整、标定点激光-相机测量系统,克服了传统的点激光-相机测量系统的标定条件苛刻、标定步骤繁琐的缺点。该算法只需要两个标准的平面高度H1和H2即可精确完成系统结构的标定任务,并且利用该算法的点激光-相机测量系统有较高的测量精度。该算法使得点激光-相机的结构可调,以及系统结构参数的现场标定成为可能。大大增加了激光测距系统的灵活性,对实际的视觉测量具有重要意义,具有良好的实用性。
具体实施方式
为了提高激光测量系统的灵活性和实用性,提高测量的精度,本发明开发一种标定技术。该标定技术算法代码量小、运算速度快、精度高、实时性强、稳定性好,能够改善传统测量的弊端、降低成本,提高生产速度。
本发明利用如图3所示的带标记的圆形靶标,包括圆点1和标记条2,可以实现角点的快速定位,自动实现角点的行列识别,自动匹配角点的世界坐标和像素坐标,有利于相机内参数标定的自动化;分析激光器-相机测量系统的数学模型,引入基线距和基准角的概念,只需拍摄三个不同高度平面上的激光斑点,即可实现对激光器-相机测量系统的结构参数精确标定,为下一步的精密测量提供了充分条件;激光光斑中心的亚像素精度提取,可以在线实时,稳定,精确地检测提取激光像点中心,确保系统测量的稳定性和可靠性;根据标定完成的结构参数,构造逆向工程函数,实现由实时检测到的光斑图像中心到实际物体高度的变换,实时精确地检测激光光斑所在平面的高度。
下面结合附图和实施例对本发明作进一步说明。
本发明所述提取圆形斑点的亚像素圆心坐标并自动识别圆点的行列值,自动完成和世界坐标的匹配技术,是利用图像二值化,以及图像腐蚀进行预处理,根据面积大小和是否处于边缘去除非目标部分,利用圆形度方程区分标记条和圆点,对圆形斑点进行标记,提取标记区域,经高斯滤波后采用重心法,提取圆点中心的亚像素坐标。利用标记条确定图像倾斜方向并将圆点中心像素坐标沿图像倾斜方向投影,获得在图像u轴和v轴的截距,根据截距完成圆点的行列识别,根据圆点的行列信息和已知的圆点之间的实际距离,对每个圆点中心进行世界坐标匹配。
本发明所述图像处理算法准确获取激光像点中心技术,是利用图像二值化和形态学算法,对定位区域图像进行均值滤波,减小光斑周围反射散斑对图像边缘的影响。利用canny边缘检测算子,得到激光光斑的外围轮廓。建立外围轮廓的椭圆方程ax2+bxy+cy2+dx+ey+f=0;用最小二乘法进行椭圆拟合,得到椭圆中心。
本发明所述基线距和基距角的标定技术是利用标定完成的摄像机内参数和摄影几何,分析点激光测量系统的测量原理,引入基线距和基准角的概念,并获取一个零平面和两个基准面的高度及激光光斑在该平面所成的像点,完成对基线距和基准角的精确标定。
本发明所述利用标定参数实时测量高度H技术是利用已标定完成的系统结构参数,构造激光像点中心坐标和待测高度的变换方程,利用现场实时采集到的图像快速确定激光像点中心,由上述变换方程实现高度的实时准确测量。
如图1所示,本发明的工作过程具体说明如下:
所述检测装置由图像采集、图像存储、图像处理以及通信四个模块组成,其中图像采集模块主要由CCD相机和FPGA组成,SDRAM和FLASH分别用于存储图像和系统配置信息,DM642负责对采集到的图片进行实时处理,通信模块则主要由100M的以太网接口构成。
首先,利用相机多次(10次左右)拍摄带标记圆点靶标,提取圆形斑点的亚像素圆心坐标并自动识别角点的行列值,完成和世界坐标的匹配。根据张正友标定算法得到相机的内部参数矩阵
其中α=f/dx、β=f/dy,f为相机焦距,dx,dy为单个CCD感光元件的长宽物理尺寸,γ为反映CCD排列倾斜程度的物理量,u0、v0为相机镜头光轴和CCD感光元件的交点,一般为图像中心。张正友标定算法详见Zhang Z.Y.,A flexible new technique for cameracalibration,Technical Report MSR-TR-98-71,Microsoft Research,Dec 1998。
第二步,选择零平面和两个基准面,高度分别记为0,H1,H2,调整点激光器和相机位置使得在量程范围内,激光点都可以落在相机的视场内,分别拍摄激光在0,H1,H2所成的像点P0,P1,P2。利用图像处理算法准确获取激光像点的中心;
第三步,计算相机内参矩阵中的图像中心点O(u0,v0)在P0,P1,P2所在直线上的投影点O’。相机的成像模型为针孔模型,记孔心点为O1,得到矢量
根据α,β求出
依次与
之间的夹角∠1、∠2、∠3,∠4=∠1-∠3,根据∠1、∠2、∠3,∠4计算出孔心O1到激光光线的垂直距离L和该垂线和零平面光线的夹角Δ。把L称为基线距,Δ为基准角,完成标定。
第四步:得到高度和激光像点坐标的方程H=f(u,v,L,Δ),其中L,Δ为已知,u,v为在任意高度激光光斑中心的像素坐标,实现对高度的实时测量。
如图3所示,所述提取圆形斑点的亚像素圆心坐标并自动识别角点的行列值,自动完成和世界坐标的匹配包括以下步骤:
(1.1)、在线实时采集带标记圆点靶标图像,选取合适阈值对图像二值化;使得圆形斑点和标记突显。
(1.2)、利用
腐蚀算子对图像进行腐蚀,去除由于椒盐噪声带来的桥型连通,对腐蚀后的图像进行膨胀,使得目标更加突显。利用标记算法,对二值化后的图像中的所有目标进行标记,去除面积过大和面积太小的目标以及和图像边缘相连通的目标:目标面积可表示为其所包含的像素数目,统计带标记的圆形靶标中的目标——圆点和标记所包含像素数目均值NP_average,去除包含像素数目小于0.5×NP_average,大于1.5×NP_average的目标。
(1.3)、计算目标周长C和面积S,利用圆形度表达式e=C2/(2*π*S),区分圆点和标记。e越接近1,目标圆形度越高。
(1.4)、利用标记拟合直线,确定标定板的倾斜角度。较长的标记条记为空间坐标的y轴,较短的标记条记为空间坐标的x轴,计算x轴和y轴在图像像素坐标中的斜率Kh,Kv。
(1.5)、利用ui=Kh*vi+bih,v=Kv*ui+biv计算圆点沿Kh,Kv方向在像素坐标u,v轴上的投影bih,biv,根据类间距离最大,类内距离最小的方法,对bih,biv进行聚类,并且对bih,biv进行升序排列,对bih依次标记为第1行,第2行,第3行,…,同理biv依次标记为第1列,第2列,第3列,…。从而实现对圆点在实际空间坐标下的行列识别。其中(ui,vi)为第i个圆点的像素坐标。
(1.6)、根据各个圆点之间实际距离,对每个圆点匹配实际的空间坐标。
如图2,4,5所示,所述基线距和基距角的标定方法包括以下步骤:
(3.1)、获取零平面基准面1和基准面2的标准高度0,H1,H2的值和激光光斑在各高度的图像像点;
(3.2)、准确提取各个平面上激光斑点的亚像素中心P0(u1,v1),P1(u2,v2),P2(u3,v3);括号里的数值表示括号前该点的直角坐标。
(3.3)、采用最小二乘方法对P0(u1,v1),P1(u2,v2),P2(u3,v3)三点坐标进行直线拟合aui+bvi+c=0(其中i=1、2、3),并计算相机内参数矩阵中的图像中心坐标O(u0,v0)在上述直线上的投影
(3.4)、计算向量
记该向量的方向为正方向,依次计算
判断向量方向正负,计算有向线段像素分别在u方向和v方向的投影长度
(3.5)、依次按照如下公式计算∠1、∠2、∠3,∠4=∠1-∠3的正切值:
∠4的正切值通过正切两角和差公式得到。根据各自向量的方向,为∠1、∠2、∠3的正切值添加正负号,正向量的正切值为正,反之则为负。
(3.6)、根据成像的光路几何关系可以得到如下的关系
H1/cosθ=L×tan(Δ+∠1-∠2)-L×tanΔ ①
H2/cosθ=L×tan(Δ+∠4)-L×tanΔ ②
令H1/H2=const,tan(∠1-∠2)=a,tan∠4=b,由①、②两式得带回①求得Lcosθ;完成基线距和基准角的标定。
如图4所述利用标定参数实时测量高度H包括以下步骤:
(4.1)、采集激光照射待测平面的光斑图像,利用第二步所述方法准确提取激光像点中心P(u,v)。
(4.2)、计算向量
计算
的夹角正切值,
根据向量
的方向判断tanφ的正负,则H=Lcosθ×tan(Δ+φ)-Lcosθ×tanΔ,实现高度的在线实时测量。绘制实时曲线。