基于HALCON的单目视觉标定研究

2018-09-26 07:46,,
关键词:冲床畸变算子

, ,

(石家庄铁道大学 机械工程学院,河北 石家庄 050043)

图1 基于机器视觉的冲床改造示意图

在一种基于机器视觉的冲床自动化改造中,如图1所示为冲床改造的示意图,机器视觉系统实现了对板料的自动布料,得到了在图像坐标系下布料位置坐标,为了实现冲床落料,需要进行坐标变换确定冲床冲头坐标系和在世界坐标系下工业相机和板料的位置关系[1-2],根据位置关系,控制系统控制送料平台将板料移送至冲头落料位置下方,控制系统控制冲头实现冲压动作得到落料件,这就需要求解摄像机外参数。与此同时,为防止镜头畸变导致落料件不完整,需要对采集到的布料图像进行畸变矫正,以提高落料精度,这就需要获得摄像机畸变参数。

空间某点的位置和其在图像中对应映射点之间的关系是由摄像机成像的数学模型唯一确定,获得的摄像机成像模型参数就是摄像机参数,其只能通过实验根据摄像机模型进行计算获得,摄像机参数的确定过程称为摄像机标定[3]。经过大量的文献研读,标定方法主要有传统标定方法、自标定方法、和基于主动视觉的标定方法。基于HALCON机器视觉软件的标定方法能够利用自带编程语言开发标定程序并应用到实际应用环境当中,因此基于HALCON的标定方法研究与应用越来越广泛。文献[4]提出一种基于HALCON的双曲面折反射全景标定方法,适用于全景足球机器人定位精度要求;文献[5]基于HALCON平面标定板,设计了一种新的手眼机器人视觉标定方法,适用于工业上需要抓取定位及装配的机器人视觉系统。该标定方法属于传统标定方法,传统标定法具有技术最成熟,标定操作简单,精度高的特点,应用最为广泛。在冲床改造中机器视觉系统采用了HALCON机器视觉软件,冲床使用前对摄像机进行一次标定无需再次标定,传统标定法采用标定板进行标定,而标准标定板虽然精度高但价格昂贵,因此提出了采用自制标定板的基于HALCON的面阵相机单目视觉标定方法,并对其进行了实验验证。

1 HALCON相机模型

在不同的机器视觉应用中,所采用的摄像机类型和具体应用条件都不同,所以采用的标定方法也不相同,因此有多种HALCON相机模型。冲床改造中采用CCD面阵相机,该类相机的标定一般采用’area_scan_division’和’area_scan_polynomial’两种模型。

图2 HALCON面阵相机针孔模型

1.1 HALCON面阵相机针孔模型

图2为HALCON面阵相机针孔模型,世界坐标系中的一点P通过镜头的光心投影到图像平面的P′点,图像平面位于镜头光心后端镜头焦距f处。世界坐标系到摄像机坐标变换,可由式(1)表示,该变换属于刚度变换[6]

(1)

式中,R=(α,β,γ)T为正交单位旋转矩阵,α,β,γ分别是绕摄像机坐标系x,y,z轴的旋转角度;T=(tx,ty,tz)T为三维平移向量。 为摄像机的外参。

对于针孔摄像机模型来说,摄像机坐标系中的三维点到图像平面坐标系的投影为投射投影,可用下式表示

(2)

图像平面坐标系到图像坐标系的转换可以由式(3)表示

图3 镜头畸变示意图

(3)

式中,sy和sx是缩放比例系数,表示针孔摄像机CCD传感器中各个传感器单元在水平方向和垂直方向的距离。点 (cx,cy)定义了径向畸变的中心,是镜头光心在图像平面上的垂直投影。式(2)和式(3)中的参数(f,k,sx,sy,cx,cy)被称为摄像机的内部参数。

1.2 HALCON畸变模型

实际应用中,由于镜头畸变的存在会使(u,v)发生改变,图3为镜头畸变示意图,可见若镜头未畸变,投影点P′将在点P与光心连线的延长线上,镜头畸变导致P′ 的位置发生了偏移,需对畸变进行修正。

面阵相机如果采用’area_scan_division模型,可以用式(4)表示

(4)

’area_scan_division’相机畸变模型只考虑了径向畸变,属于线性畸变模型,模型参数求解可逆;而’area_scan_polynomial’畸变模型同时考虑了径向畸变和切向畸变,属于非线性畸变模型,畸变参数求解不可逆。’area_scan_polynomial’相机畸变模型使用K1,K2,K33个参数表示径向畸变, P1,P2两个参数表示切向畸变,从畸变图像平面坐标系转换到非畸变图像平面坐标系的相机畸变模型的数学表达式为

(5)

(6)

2 标定板与标定图像的获取

2.1 标定板的选取

传统的标定方法需要标准的标定板来实现标定,选择合适的标定板有助于简化标定流程,提高标定精度等。

根据标定原理,首先,在进行摄像机标定时,必须建立已知世界坐标系三维空间点的坐标和这些已知空间点在图像中的投影点的二维图像坐标的对应关系。为满足这一要求,通常将容易提取特征的标志物放置在一个已知位置上,以便于上述对应关系的确定。圆靶的圆心坐标和角点坐标提取算法简单并易于提取。因此,标定板主要采用圆形靶标和棋盘方格两种类型。然后,摄像机标定世界坐标系中已知点与其在标定图像中的投影的对应关系需确定,这一过程的实现难度较大。因此,标定板设计时采用的结构一般尽可能使确定对应关系的过程更简单。比如,使用一个平面标定板,在其平面上绘制多个整齐排列的标志点。平面标定板具有容易操作、制作精度高和制作工艺简单等优点。

图4 HALCON标定板

如图4所示为HALCON标定板,在一个黑色等边矩形方框中包含7行7列共49个等直径黑色圆形靶标,每个圆靶的圆心作为标定点,使用HALCON标定板时世界坐标系原点可定义在正中央圆靶的圆心位置,坐标轴z轴垂直标定板向上,坐标系方向可由位于矩形边框的左上角的方向标记唯一确定。

选用HALCON软件配套设计的标定板有很多优势。HALCON标定板对HALCON软件有极好的兼容性,软件开发时进行了大量的优化,使用HALCON标定板进行标定开发时,开发者不需要单独对标定板进行描述,仅需软件通过相关算子自动生成标定板描述文件并直接调用,使用极其方便;标定板主要有圆形靶标和棋盘方格两种类型,与棋盘方格的角点提取相比圆形靶标的圆心提取算法抗噪能力更强,算法简单,执行速度快,圆心坐标可以精确提取,因此HALCON标定板具有高标定精度;HALCON标定板所有圆靶按照等间距行列排列,呈矩形阵列,排列方式简单,各个圆靶的圆心坐标容易提取,摄像机标定算法相对简单,算法执行速度更快,精度更高。综合这些优势,标定实验中采用HALCON标定板。

2.2 HALCON标定板的制作

HALCON标定板精密度高,但价格昂贵,若实验精度要求不高,可以使用自制的标定板进行实验,这样不仅降低成本,而且根据摄像机拍摄范围大小生成最合适大小的标定板。本文拟采用自制标定板进行标定实验。

首先在HALCON的Hdevelop开发环境中调用HALCON标定板生成算子gen_caltab;其次运行程序,生成标定板描述文件和标定板图像文件;最后使用Gsview图像软件打开标定板图像文件并打印完成自制标定板,为后续工作奠定基础。

2.3 标定板图像的采集

标定图像的采集是摄像机标定的必要过程,使用HALCON标定板进行图像采集最简单、最有效的方法是使用HALCON自带的标定助手完成,与此同时可以生成标定代码,为标定算法的开发提供参考,减轻开发强度。

为了验证标定方法能否满足整个机器视觉系统标定精度等要求,根据冲床改造方案搭建了模拟真实环境下的实验平台,模拟真实的图像采集方法和图像采集环境,实验场景如图5所示。平台搭建方法为:首先安放并固定背光装置,之后使用相机支架将相机固定并调整相机到离背光正上方预设高度,并通过支架自带的功能调节镜头垂直于地面,工业相机采用的是GigEVision接口的相机,因此将相机通过网线连接到计算机的网卡,并连接电源,准备拍摄图像。随后计算机安装好摄像机驱动程序和HALCON机器视觉软件,给设备供电,打开光源,调试设备并确认能否正常工作。调试好设备后,通过Hdevelop中的图像获取助手,拍摄图像,根据获取的图像,移动支架调整支架的方位和调节装置保证相机处于背光区域正中心,镜头光心垂直于背光板并且图像无偏斜。最后手动调节镜头的光圈和调焦环以获取质量最佳的图像。设备调试好后,接下来就是利用HALCON的Hdevelop开发环境进行图像获取。

打开软件中的摄像机标定助手,在安装一栏中选择标定任务、加载所采用的标定板的标定板描述文件和正确填入摄像机参数,然后在标定一栏中采用图像采集助手实时获取标定图像,在图像采集中根据标定助手的提示调整设备曝光等,多次拍摄拍摄范围标定板不同方位的标定图像,在基本覆盖整个拍摄范围后,保存图像,点击标定按钮,进行标定;标定结果可以点击结果一栏查看;在代码生成一栏中可以根据需要生成参考的标定代码。采集到的部分标定图像见图6。

图5 实验场景

图6 标定图像

3 基于HALCON的摄像机标定的实现

3.1 标定算法开发和实验

采用’area_scan_division’模型为例,对相机标定算法进行研究、开发和实验验证。

图7为标定程序实现流程,标定程序实现过程:

第一步,创建标定数据模型。使用算子create_calib_data,实例中为create_calib_data (’calibration_object’, 1, 1, CalibHandle),该算子是为了创建标定数据模型,即标定的数据将存放于CalibHandle中。

第二步,设定摄像机的初始化参数。摄像机参数初始化算子为set_calib_data_cam_param (CalibHandle,0,’area_scan_division’,StartParameters)。式中StartParameters:=[0.025,0,3.75e-006,3.75e-006, 648,483,1 296,966],参数根据硬件参数确定。摄像机参数初始化设置可以减少标定运算量,加快标定实现。

第三步,描述标定板。set_calib_data_calib_object (CalibHandle, 0, TmpCtrl_PlateDescription)为标定板描述算子。TmpCtrl_PlateDescription是标定板描述文件所在路径,使用自制的HALCON标定板时,调用由gen_caltab算子生成的标定板描述文件。标定板描述文件中的标定板信息必须与标定过程中使用的标定板实际规格、尺寸相符,否则无法进行标定或获得的标定结果错误。

第四步,获取标定数据。标定数据均是通过标定板图像获得的,首先是识别出标定板并确定所在位置,然后在标定板中识别出标定点确定其位置。

图7 标定程序实现流程

获取标定数据的过程就是HALCON中提取目标点的过程,具体实现过程:首先使用find_caltab算子对标定图像进行高斯滤波,使标定板区域特征突出并提高标定板区域分割精度,接下来进行阈值分割将标定板的区域分离出来;然后使用find_marks_and_pose算子对标定板区域中的黑心圆形标志点进行分割和提取,确定圆的个数、周长、坐标位置等,这些信息应该和标定板描述文件中的一致,否则find_marks_and_pose算子自动调整参数StartThresh,使得StartThresh按照DeltaThresh步长减小到MinThresh,直到找到准确的圆心。

find_calib_object算子可以一并实现前面两个算子的功能,为了简化运算,采用后者。因为采集的标定图像为多幅图像,因此通过循环语句控制,对多幅图像进行图像标定数据获取。

第五步,标定。利用算子camera_calibration(CalibDataID, Errors)执行相机标定,返回平均投影误差Errors。

第六步,输出标定结果。通过算子get_calib_data (CalibHandle, ’camera’, 0, ’params’, CameraParameters),将摄像机内参存储在CamParam中,通过write_cam_par()算子将内参写入文本文件。当标定板在测量平面上时,默认测量平面在世界坐标系xoy面上,z=0,此时直接调用get_calib_data(CalibDataID,’calib_obj_pose’,[0,NumImage],’pose’,CameraPose)得相机外参。

3.2 标定结果和误差分析

运行标定程序,得到标定结果。取采用’area_scan_division’模型的其中一次标定结果进行分析:摄像机外参CameraPose [-0.146 407, 0.086 028 8, 1.258 25, 1.307 78, 355.458, 179.572, 0],摄像机内参CameraParameters [0.027 251 1, -203.496, 3.774 74e-006, 3.75e-006, 1 164.85, -176.784, 1 296, 966],平均投影误差Errors0.365 579 个像素点。实验中CCD芯片像素尺寸为3.75 μm,工作距离为1.5 m,焦距为25 mm,平均投影误差换算成世界坐标系下实际误差采用公式(7)[6]进行计算。

(7)

式中,SC为CCD芯片尺寸;FOV为视场;f为焦距;dw为工作距离。

采用自制标定板标定时,标定误差产生的原因有多种,其中标定板自身存在误差是标定误差产生的主因。实验中采用自制标定板,打印标定板标志点轮廓的清晰程度,标定板粘贴的平整程度等都会影响标定结果、产生标定误差。为了减小自制标定板的标定误差,实验中多次改进完善自制标定板的制作方法并对实验结果进行比较分析,完善自制标定板的标定流程。采用不同改进措施标定实验的平均投影误差见表1。

表1 自制标定板改进实验数据对比

由实验结果可以看出,最后得到的平均投影误差为0.082 3 mm,该误差大小不会对冲床布料和落料的精度造成影响。因此实验结果得到了机床改造坐标变换和图像畸变矫正的必要参数,平均投影误差换算成世界坐标系下实际误差,在允许范围,该标定方法能够满足实际需要。

4 结论

根据实现冲床自动化改造的实际需要,提出了一种采用自制标定板的基于HALCON的面阵相机单目视觉标定方法。并且根据冲床改造方案搭建了模拟真实环境下的实验平台,采用自制标定板,对该方法进行了实验验证。实验得到摄像机内外参数和畸变参数,标定结果的平均投影误差小,标定结果能够应用到冲床改造中的坐标变换和图像矫正。该方法采用自制标定板,在满足标定精度的同时降低了冲床改造成本。

猜你喜欢
冲床畸变算子
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
拟微分算子在Hp(ω)上的有界性
Heisenberg群上与Schrödinger算子相关的Riesz变换在Hardy空间上的有界性
Domestication or Foreignization:A Cultural Choice
几何特性对薄壁箱梁畸变效应的影响
高速冲床出料过程工件运动状态数值模拟
在Lightroom中校正镜头与透视畸变
高速冲床喷口压力及位置对工件出模影响分析
机电一体化技术在自动冲床进料机构中的应用
波纹钢腹板连续刚构桥扭转与畸变的试验研究