1.5 机器视觉的功能与精度
机器视觉的功能,与人眼相似,简单来说就是判断和测量。每项功能又包含了丰富的内容。判断功能可以分为有没有、是不是、缺陷等的判断,一般不需要借助工具。测量功能包括尺寸、形状、角度等几何参数的测量和速度、加速度等运动参数的测量。像人眼一样,测量功能一般需要借助工具。例如,要求0.1mm的尺寸误差,人眼测量一般需要借助精度为0.1mm以上的卡尺。而机器视觉测量,除了需要借助0.1mm的卡尺(标定物)之外,还需要相机有足够的解像度,也就是说需要一个像素所代表的实际尺寸能够小于等于0.1mm。对于不同的功能,虽然精度的概念不一样,但是测量时需要镜头焦距固定、预先标定是其共同的特点。以下分别说明不同功能的精度。
(1)判断功能
判断功能也有精度问题。如图1.11所示,只有缺陷的大小在图像上用人眼能够看出来,才能进行自动判断。对于静态图像,只要缺陷的面积大于物体自身的纹理结构就可以判断。而对于生产线上的动态判断,除了缺陷的静态大小之外,还需要考虑生产线运行速度和相机采集帧率的关系。例如,假设生产线运动速度是每秒100毫米(100mm/s),相机的图像采集帧率是每秒100帧(100fps),那么每帧图像间的位移就是1mm,这样1mm以下的缺陷就判断不了。
图1.11 有缺陷的图像
(2)精密测量
如图1.12所示,精密测量一般用于对静态目标的尺寸测量,摄像头垂直于被测量目标进行图像采集,通过在测量平台放置标尺来进行相机标定。
图1.13是相机标定的实例。图面上“2”到“3”的白线代表实际距离的1cm,总共有146个像素,那么确定后一个像素就表示1/146(0.00685)cm。
图1.12 精密测量
图1.13 标定图
(3)摄影测量
摄影测量(也叫摄像测量)分为单目测量和双目测量,测量内容一般包括位置、距离、角度等。单目测量就是用一台摄像机拍摄一幅图像,根据标定数据推算测量数据,如图1.14(a)所示,在摄像机视野中心附近有个平铺在地上的标定物。双目摄影测量是用两台相机同时拍摄两幅图像,根据标定数据和测量的图像数据计算出被测物体的三维数据,如图1.14(b)所示,几个竖直杆是其标定物。
图1.14 摄影测量
摄影测量与上述精密测量的最大差别是,摄影测量的相机一般是斜对被测物体,由于相机有倾斜角度,而且一般视野比较大,不能简单地用某处像素所代表的实际大小来作为标定值,需要经过几何透视变换来计算标定矩阵,这也决定了摄影测量一般不会有很高的精度,摄影测量的精度表达方式一般是用百分数来表示相对精度,例如,误差1%等,而不是用毫米或者厘米等来表示绝对数精度。根据经验,10m之内的测量误差一般在5%之内,距离越远误差越大,被测物偏离标定物越远,误差也越大。
(4)运动测量
运动测量的内容一般包括位置、距离、速度、加速度、角度、角速度和角加速度。其中的位置、距离和角度就是上述摄像测量的内容。因此,也可以说,运动测量就是对运动目标的连续摄像测量。速度、加速度、角速度和角加速度等运动参数则是由目标在每个帧上的位置、距离和角度等数据结合帧间的时间差计算获得。帧间的时间差也就是帧率,例如,30fps帧率的帧间时间差就是1/30s(0.3333s)。图1.15是一个二维运动测量的标定界面,上面包含了距离比例标定、时间(帧率)标定和用于原点选定的坐标变换。三维标定比较复杂,将在后面的章节说明。
运动测量的精度和摄影测量相似,一般精度不高,也是用相对精度来描述。
图1.15 二维运动标定界面