基于单目视觉的标定
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Eye‐To‐Hand 的单目视觉的标定
要想让工业机器人抓取到目标物体,首先就要确定目标物体的位置。本章所研究的单目视觉的标定就是为了确定目标物体的位置。主要研究内容分为两个部分:目标物体
图像坐标的获取与处理和目标物体图像坐标到世界坐标系下的坐标的转换。
3.1 目标物体图像的获取与处理
3.1.1 单帧图像的获取
ARTCAM 130MI CCD 摄像机通过USB 2.0 接口输出到计算机中的是数字信号,并且可以通过计算机来完成采集视频中的单帧图像(数字图像),数字图像在计算机中是以二维数组M×N 的形式存储起来的,M 表示图像在水平方向上的像素点个数,N 表示图像在垂直方向上的像素点个数。M×N 也就是该单帧图像像素的大小。
本实验用的视觉控制软件是通过调用安装在计算机中的相机驱动程序中的CACamMI130Sdk:: Capture ( ) 这个接口函数,来完成摄像机单帧图像的采集。
3.1.2 图像的处理
图像处理部分主要实现了图像的灰度化、图像的二值化、图像轮廓的提取以及中心点的生成等功能模块。
3.1.2.1 图像的灰度化
图像的灰度化就是将彩色图像转化为黑白图像。因为转化为黑白图像后,就会更容易对所采集的数字图像进行后续的处理和运算,所以在视觉图像处理中经常会把采
集到的彩色图像转化成灰度图像[18]。3.1.2.2 图像的二值化
在实现了图像的灰度化操作之后,我们还要对图像进行二值化操作。图像的二值化就是在显示图像时,图像只显示有两种颜色,通常都是黑色和白色。图像二值化的方法有很多种,较常用到的是阈值判别法[26]。
阈值判别法就是通过区分灰度图像中各个像素点亮度值的大小来判定该像素点二值化后是白色或是黑色。当我们使用阈值判别法来对灰度化后的图像进行二值化时操作时,就需要给定一个具体的判别数值,当灰度图像中的像素点亮度值小于这个设定值时,就把像素点设置成为黑色,而当图像中的像素点亮度值大于这个设定值时,就会把像素点设置成为白色[26]。
阈值的选取方法分为自动和手动阈值选取法。在自动阈值选取法中,首先是对灰度图像进行扫描,再根据得到的图像中点的亮度情况,自动地为其设定了一个阈值。而手动阈值得设定比较简单,就是通过人为的设定一个阈值,但这就需要我们在设定之前对整个图像中各部分的亮度有大致地了解。在本实验中,工件为白色,工作台是是深灰色,色差很大,所以采用手动选取阈值的方法。
3.1.2.3 图像轮廓的提取和中心点的生成
实现了图像的二值化后,就要对图像进行分析运算,进行边缘的检测、轮廓的提取以及图像轮廓中心点的提取。
在OpenCV 中通过调用接口函数int cvFindContours( ) 来实现对轮廓的提取,通
过调用CvRect cvBoundingRect( CvArr* points, int update=0 )来实现对中心点的提取。
3.2 单目摄像机的标定
摄像机的标定就是来确定摄像机的内外参数。摄像机标定的途径就是根据确定的摄像机模型,通过已知若干特征点的图像坐标和该这些特征点的世界坐标这两组坐标值来求解摄像机的内外参数。本实验中工作台平面与安装的摄像机的位置关系为摄像机的轴心垂直于工作台平面且安装在正中央的位置,鉴于工件不高且工作台也不大的特点,这样因为摄像机的安装误差引起的图像的畸变就会较小,工件不高就会使图像采集到的目标物体上表面的中心位置与理论需求的下表面的中心位置的误差就会较小。而对于本实验这将是目标物体定位误差产生的主要原因。所以本实验选用单目平面视觉也足够满足实验要求。基于单目平面视觉的标定简单,并且不用考虑CCD 摄像机的内参数,只需计算出CCD 摄像机的外参数就可以完成摄像机的整体标定。这样摄像机的位姿相对于机器人基坐标系就是不变的,这样相机安装位置标定好后,就是常值。3.2.1 坐标系的定义在对线性摄像机进行标定的过程中,一般需要建立世界坐标系、摄像机坐标系和图像坐标系这三个坐标系,这三个坐标系的相互位置关系如图3.2 所示,在平面视觉中,标定用的更多的是图像坐标系和世界坐标系。世界坐标系(X W,Y W,Z W)是在外部环境中选择的一个基准坐标系,用来描述目标物体的位置,可以根据描述和计算的方便等原则自由选取,在机器人视觉标定中我们把世界坐标系设为机器人的基座标系。当中的任一点都用(x w,y w,z w)表示。这样对于选取线性摄像机模型,选择机器人基坐标系为摄像机标定的世界坐标系可以大大简化数学表达式和简化标定操作。
摄像机坐标系(X C,Y C,Z C)是将坐标原点设在摄像机镜头光心O C 上,两个坐标轴X C、Y C 轴平行于图像平面,另一个轴Z C 轴则垂直于图像平面。与图像平面的交点在图像坐标系上的坐标为(u0,v0)即摄像机的主点。摄像机的主点一般位于图像平面的中心处,但出于摄像机的制作原因,有时也会有偏离,因此在需要进行精确的摄像机标定时,摄像机主点坐标的两个参数也是需要标定的。而焦距f 表示的就是摄像机镜头光心到摄像机主点之间的距离。对于图像中的任一点,我们就用(u,v)表示。图像坐标系(u,v)则是定义在二维图像上的一个直角坐标系,分为以像素为单位和以物理长度(如毫米)为单位两种表示方式,分别用(u,v)和(x,y)表示,如图3.3 所示,图像坐标系中,以像素为单位的坐标系的原点定义在图像的左上角,以物理长度为单位的坐标系的原点定义在图像的中心。
3.2.2 摄像机模型的建立
摄像机模型是光学成像几何关系的简化,其中最简单的模型是线性模型(或称针孔模型)。线性模型成像关系为线性,是最常用的理想模型。
ARTCAM 130MI CCD 摄像机采集的图像通过以数字信号的形式输入到计算机,每一个数字图像在计算机内都是以一个M×N 数组的形式存储起来,数组中的每一个元素就代表一个像素,每一个元素的数值就是图像点的亮度,也称为灰度。如图3.3 所示,在图像上定义了一个以像素为单位的直角坐标系uv,每一像素的坐标(u,v)分别代表该像素在数组中的列数与行数。(u,v)是以象素为单位的图像坐标系的坐