0 引言
双目立体视觉测量是基于视差原理,由多幅图像获取物体三维几何信息的方法。在计算机视觉系统中,双目立体视觉测量一般由双摄像机从不同的角度同时获取周围景物的两幅图像,或有单摄像机在不同时刻从不同角度获取周围景物的两幅数字图像,并基于视差原理即可恢复出物体的三维几何模型,重建周围景物的三维形状与位置。
在双目立体视觉测量的许多应用中,可以在待测物体表面分布一些具有明显特征且易于识别的元素作为标记点,如圆、十字刻画线等。若给标记点加载唯一的身份信息,即对标记点进行编码,对图像中标记点进行唯一身份识别后,可以方便,可靠地实现多幅图像间标记点的对应匹配。
基于上述原理,在实验室自主研发并联机器人双目主动立体视觉监测平台的过程中,需要事先知道两个摄像机的初始位置,由于光栅尺的造价昂贵及圆形光栅尺的生产加工难度大,我们设计了含有编码标志点的特殊靶标。靶标的关键部分为编码标志点,本文主要对实验中所用编码标志点的设计与识别进行研究。
1 靶标的设计
本文设计了如图1所示的靶标(其中,中心处的编码标志点是不同的),利用其已知信息,完成对摄像机位置的标定,实现了与圆形光栅尺相同的作用。在圆形导轨内侧均匀设置了6组(12块)含有一个编码标志点和18个非编码点的靶标(如图2所示),其中编码标志点位于靶标的中心,其余非编码点均为正方形,按一定尺寸关系均匀分布在编码标志点的两侧。
根据实际需要,本文采用了马扬飚等设计的编码标志点。编码标志点由编码点和标志点组成,其中标志点提供位置信息,编码信息被编译储存在编码点的排布中。编码标志点应该满足以下要求:
·旋转与改变比例的不变性;
·对可能存在误差修正的目标数量的强鲁棒陛识别几率;
·制定一个能精确测量与物体上一个控制点对应的标志点的中心的规则;
·在没有统—对比度的图像中,—个标志点的强检测几率。
为了满足这些要求,本文采用的8位编码标志点如图3所示。其中标志点和编码点全部为圆形,标志点位于中央,面积较大,编码点规则排布在同一个圆周上,面积较小,整个编码标志点的位置信息由中央的标志点圆心位置提供,各个编码位上编码点的有无决定了不同的编码信息。编码点由8个圆构成,因此可能得到个编码,然而由于一个编码应满足旋转和改变比例不变的需要,只有34个(编码点个数为1的丢弃)可以作为编码。
2 靶标的识别
2.1 编码标志点的识别
2.1.1 图像截取
使用双目主动立体视觉监测平台上的任一摄像机拍摄一幅靶标图像,其中可以含有几个靶标,使用图像截取函数,从图像中截取出只包含编码标志点的图像。
2.1.2 图像二值化
为了简化目标识别过程,需要将截取出的彩色图像转化成灰度图像,然后再将灰度图像转化为二值图像,通过与阈值比较,图像二值化按下式执行:
其中:f(x,y)初始图像,b(x,y)为二值图像,t(x,y)为像素的阈值。由于图像中对比度比较统一,应用一个自适应的阈值t(x,y)=t0,可以比较精确地将对象阈值初始化。
2.1.3 圆点质心查询
为了提取每个圆点的区域,使用"标签算法",执行标签算法后,每个区域得到一个唯一的数字。对每一个连通区域使用"测量图像中的对象属性"方法,得到各个区域的面积和质心。对中央标志点圆来说,其质心为(x0,y0),对于外围的编码点圆来说,其质心为(xc,yc)。按照参数读入的顺序对所有区域进行编号,通过比较,找到面积最大的圆,即中心标志点,记住其编号。
2.1.4 质心角的求取
以任意一点为起始点,按照逆时针的顺序对编码点进行排序,然后利用相邻两个编码点的质心信息与中心标志点的质心信息,求出各个相邻编码点间的质心角θn(其中0°≤θn≤180°,2≤n≤8),并按逆时针顺序存储。
2.1.5 目标编码读取
由于起始编码点一定存在,故将其环形码相应位置"1"。对于8位编码标志点,当8个编码点都存在时,各个相邻编码点间的质心角均为45°。利用这个信息,按照存储顺序,将求得的质心角θn分别与45°的整数倍进行比较,如果相等,表示在该角度位置存在一个编码点。实际操作中,编码点质心角θn值是根据图像处理中求得的编码点质心与中心标志点质心值计算所得,由于误差的存在,质心角θn值的实际值往往与理论取值(m×45°,1≤m≤4)有出入,所以在判断某个角度位置是否有编码点存在时,可以先设定一个误差允许范围δ(0≤δ<22.5°),如果θn的实际值介于理论值±δ的范围内,就说明该角度位置上存在编码点,将环形码相应位置"1"。通过循环,对编码点质心角θn的实际值逐一判断,看其是否在上述的取值区间内,从而决定将环形码相应位置"0"或置"1".
如前文所示,同一个编码标志点对应的环形码不唯一,将该环形码在任意位置处截断后,再将后一子序列置于前一子序列之前(此操作称为"循环截断"),所得到的序列仍然表示该标志点,这里称这些序列为"同胚"序列。因此,预先将每个标志点的编号和给定的逆时针顺序下它的最小循环码存储起来。识别时只要得到一个最小环形码的"同胚"特征序列,将该序列反复做循环截断,直到它等于最小环形码为止,根据后者即可取出对应的编号。
2.2 非编码标志点的识别
由于编码标志点的唯一性,通过对编码标志点的识别可以确定出靶标的编号,从而得到靶标上各靶标点的空间位置。靶标上的其余非编码点均为正方形,且和编码标志点有确定的位置关系,都可以通过角点检测等步骤实现对其图像的识别,从而完成对整个靶标的识别。
3 数值实验
在本文的实验中,只用到其中的12个编码标志点,我们按其在圆形导轨内侧顺时针排列的顺序进行重新编号。为验证所提算法的效果,对拍摄的多幅图像进行了数值实验,其中一幅如图4(a)所示(由于页面原因,对图像作了裁剪和缩小,但保留了所有有效信息)。图4(b)为从这幅图像中按顺时针顺序截取出的四个编码标志点的图像。表1给出了各幅编码标志点图像中每个圆的质心坐标值。表2给出了实验中得到的各幅编码标志点图像中相关质心角的值、环形码值及编码标志点的编号。实验表明,该算法对任意一幅图像中编码标志点的识别率接近100%。
4 结论
在双目立体视觉中,靶标识别问题对于目标图像的重构起着关键性的作用。本文提出了基于质心角的方法,对各幅编码标志点图像进行准确的识别。通过大量的数值试验,验证了此算法的有效性,实验结果表明,本文提出的基于质心角的标志点识别算法,对于采用本文所用的特定平台等背景不太复杂的情况具有很高的识别性和实用性。通过编码标志点的准确识别及相对确定的位置信息,即可通过对角点的检测,实现对整个靶标的准确识别.