杜佳 何小平 赵阿朋 王国河 权子奇
(1 中广核研究院有限公司,广东深圳,518124;2 大亚湾核电运营管理有限在责任公司,广东深圳,518124)
核电站系统设备结构复杂,设备本身或其运行环境具有放射性,为保证设备安全可靠性,核电站需周期性进行停堆检修[1],以保证核电站正常、安全地运行。在此维修活动中,往往涉及高放射性场所,操作者难以接近,而且常常伴随着高温、狭窄空间、低光照、噪音等复杂恶劣环境,给维修活动带来极大困难,仅靠人工进行维修,不仅效率低下,降低核电站运行的经济性,而且会增大维修人员的受辐照剂量。
核电站某高放过滤器[2]位于核岛厂房,环境剂量率较高,其过滤器芯通常每个燃料循环更换一次。目前多采用人工更换,更换时,工作人员将法兰盖打开,并手动均匀用力抽出高放射性的过滤器芯子,通过接力传递的方式,经过狭长狭窄通道、不规则楼梯等复杂环境后,将过滤器芯子传递到准备好的水泥桶旁。本课题针对该过滤器芯子更换,研发高放过滤器更换机器人系统,以代替人工方式进行作业。机器人可以进入高放过滤器房间,通过远程遥操作方式实现过滤器的抽出、搬运和最终放置,减小人工操作的高风险及人员辐照剂量。
机器人在作业时,首先需要对作业目标进行识别,包括过滤器盖、螺母、螺栓、过滤器口、铅筒、水泥桶等,获取其位置信息,从而为机器人进行自主更换或操作者远程操作提供依据。
机器人作业主要依靠视觉传感器(单目、RGBD、激光雷达等),在通过视觉传感器获得足够信息后,使用轨迹规划方法对移动平台及机械臂本体包括执行器末端在内进行轨迹控制。
机器人对物体的识别包括物体的几何特征和位姿特征等的计算。在机器视觉领域,物体识别可以定义为从图像(既可以是二维的灰度或彩色图像,也可以是包含三维信息的深度图像)中检测出指定物体。
随着机器视觉、人工智能等相关领域技术的发展,物体识别技术经历了从基于几何信息的识别到基于外观模型的识别的进步:按照待识别物体的维数,可大致分为对二维物体的识别与对三维物体的识别[3],二维物体的识别又可分为对特定模板图像的识别与对一般二维物体的识别。随着计算机技术的发展,对于物体识别的算法也越来越多。
早期的研究者重点研究单一背景下的多面体的识别,并将这类问题称为“积木世界”(blocks world)问题[4]。基本上都是基于物体的边缘、轮廓[5]、三维表面等信息进行匹配,主要用于对工件的识别。
由于受到视角、光照、遮挡等的影响,相比较对二维工件的识别,面向一般三维物体的识别要复杂得多。而随着局部不变特征检测子的涌现,基于局部不变特征的方法逐渐成为物体识别领域的主流方法。目前使用最广泛的三种物体识别算法[6-7]有:SIFT/SURF 算法、haar特征和广义Hough 变换。
SIFT/SURF 算法[8]实现是基于灰度图的处理,首先,建立图像金字塔,形成三维的图像空间,通过Hessian矩阵获取每一层的局部极大值,然后在极值点周围26 个点进行NMS,从而得到粗略的特征点,再使用二次插值法得到精确特征点所在的层(尺度),即完成了尺度不变任务。
然后,在特征点选取一个与尺度相应的邻域,求出主方向,其中SIFT 采用在一个正方形邻域内统计所有点的梯度方向,找到占80%以上的方向作为主方向;而SURF 则选择圆形邻域,并且使用活动扇形的方法求出特征点主方向,以主方向对齐即完成旋转不变任务。
最后,以主方向为轴可以在每个特征点建立坐标,SIFT 在特征点选择一块大小与尺度相应的方形区域,分成16 块,统计每一块沿着八个方向占的比例,使特征点形成128 维特征向量,对图像进行归一化则完成强度不变任务;而SURF 分成64 块,统计每一块的dx、dy、|dx|、|dy|的累积和,同样形成128 维向量,再进行归一化,完成对比度不变与强度不变任务。
Haar 特征基于灰度图,首先通过大量的具有比较明显的haar 特征[9](矩形)的物体图像、用模式识别的方法训练出分类器。分类器是级联的,每级都以大概相同的识别率保留进入下一级的具有物体特征的候选物体,而每一级的子分类器则由许多haar 特征构成(由积分图像计算得到,并保存其位置),有水平的、竖直的、倾斜的,并且每个特征带一个阈值和两个分支值,每级子分类器带一个总的阈值。在识别物体的时候,计算积分图像为后面计算haar 特征做准备,然后采用与训练的时候有物体的同样大小的窗口遍历整幅图像,以后逐渐放大窗口同样做遍历搜索物体:每当窗口移动到一个位置,即计算该窗口内的haar 特征,加权后与分类器中haar 特征的阈值比较,从而选择左或者右分支值,累加一个级的分支值与相应级别的阈值比较,大于该阈值才可以进入下一轮筛选。当通过分类器所有级的时候,说明该物体已大概率被识别。
在图像处理中,Hough 变换是从图像中识别几何形状的基本方法之一。Hough 变换的基本原理在于利用点与线的对偶性,将原始图像空间的给定的曲线,通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定曲线的检测问题,转化为寻找参数空间中的峰值问题。也即把检测整体特性转化为检测局部特性,比如直线、椭圆、圆、弧线等。简而言之,Hough 变换思想[10]为:在原始图像坐标系下的一个点对应为参数坐标系中的一条直线,同样参数坐标系的一条直线对应了原始坐标系下的一个点;然后,原始坐标系下呈现直线的所有点,它们的斜率和截距是相同的,所以它们在参数坐标系下对应于同一个点。这样,在将原始坐标系下的各个点投影到参数坐标系下之后,看参数坐标系下有没有聚集点,这样的聚集点就对应了原始坐标系下的直线。
广义Hough 变换同样基于灰度图,它使用轮廓作为特征,融合了梯度信息,以投票的方式识别物体,看票数多少确定是否识别出物体。
计算机视觉检测具有非接触、速度快、精度高、抗干扰能力强等优点,在机械加工精度检测、工件尺寸测量、产品检测等方面得到越来越广泛的应用,为非接触测量提供了一个理想的手段。基于以上优点,结合过滤器操作机器人的功能要求,本系统拟利用机器视觉技术,自动识别和测量过滤器法兰盖上4 个六角螺母、过滤器口、铅筒、以及水泥桶的位置。
机器视觉检测主要通过摄像机拍摄物体的清晰图像,然后采用后端计算机硬件及软件技术对图像信息进行辅助处理,提取所需几何特征值。
图1 视觉检测系统图
过滤器更换机器人视觉系统由1 台全景相机、2 台前后视相机、3 台末端作业相机组成。全景相机为搭载二自由度可水平无限旋转、俯仰±45°云台的可变焦耐辐照相机,用于机器人在行走及越障过程中对路况及周围环境的观察,配合激光测距等传感器还可进行移动车体定位。前后视相机为定焦耐辐照相机,用于观测短距离内的路况、路障,尤其在机器人越障情况下,为主端操作者提供直观的视觉反馈。末端作业相机3 台均为定焦耐辐照相机,分别安装在螺母旋松机构、螺栓胀形机构、滤芯抽取机构末端,分别用于作业过程中螺母识别、螺栓识别、及过滤器存放位置识别。
各个相机将检测到的环境画面及识别信息反馈至主端,并结合其他距离传感反馈信息,进行精确定位。
摄像机标定是摄像机内、外参数的求解过程,是双目视觉定位系统根据二维图像信息反推投影过程,还原空间点三维坐标信息的基础。摄像机标定的准确度和精度将直接影响三维坐标的计算,是双目视觉定位系统的重要流程。
为了可以用数学方法对摄像机内、外参数求解,需要人为地提供未知量的信息,将其视为已知量。现今常用的方法是:提供一个尺寸、形状已知的参照物,在参照物上建立世界坐标系,这样参照物上的点在世界坐标系中的坐标可以视为已知量,这个参照物称为靶标。靶标有平面靶标和三维靶标,靶标上有一组按阵列排布的点,这些点经过精密加工,相对位置已知,点也有圆形点和角点之分。
图2 铝合金基材棋盘格标定板
根据摄像机成像模型,小孔成像模型是线性的,畸变模型是非线性的,对单一模型的求解比较简单,但对两个模型进行同时求解是很复杂的,因此大多数标定方法采用两步法:先不考虑畸变,仅根据线性模型进行线性方程求解,将求得的解作为初始值;再根据畸变模型求解畸变系数。这虽然简化了计算,但仅用线性模型求解的初始值与实际值存在较大的偏差,也会影响到畸变系数的准确度,带来较大的标定误差。
等价于:
其中,rij和ti分别为摄像机外参矩阵中旋转矩阵和平移矩阵的参数。上述等式实为世界坐标系到像素极坐标系的刚体变换过程。
在切向畸变影响不大的情况下,不需要考虑切向畸变系数,这样可以减少位置数,简化计算量,同时也能得到足够精度的结果。仅考虑径向畸变,用表示经过径向畸变校正的成像平面坐标,对径向畸变提出约束条件:径向对准约束,则根据径向畸变模型,有:
径向畸变在x、y 方向上的校正系数相同,因此成像平面坐标系原点实际投影点理想投影点三点在同一直线上,因此有:
由于进行标定时,以平面靶标为参照物,将世界坐标系固定在标定板上,以标定板左上角的角点为原点,横向为x 轴,纵向为y 轴,z 轴垂直于标定板,且各角点之间的距离已知,因此标定板上各角点的世界坐标已知,板上的所有点的z 坐标均为0,即则式(4)可以写成:
改成矩阵的形式,有式(6):
对于标定板上的每一个空间点P 均可以列出式(7)所示的方程组,当点数大于5 时,可以组成一个超静定方程组,得到式(6)中列矩阵的未知量:的唯一解。
但是,这意味着在安置成像元件时,需要以微米的精度级将成像元件中心点安置在光轴上,否则一旦稍有偏差将会直接影响像素坐标的准确性。例如,上文已经算出即每个像素的宽度仅有0.0075mm,当安装成像元件时偏差0.1mm,像素坐标即偏差了13.33个像素,产生了很大的误差,且这种误差会在接下来的立体匹配和重投影中继续放大,严重影响定位精度。因此,不能将主点视做像素图像的中心点,需要求取初始值,这里采用消隐点模型求取内参的方式。
根据消隐点模型得到的摄像机内参数作为初始值,求得投影点的实际成像平面坐标。利用多个空间点的空间坐标和投影坐标建立超静定方程组,用最小二乘法求出的唯一解。这样可以避免将设为0 或其他值带来的初始值误差,使用更接近真实值的初始值。这不仅提高了求取摄像机内参数的精度,还为接下来的畸变系数的求取提供了更好的初始值,并且可以减少最大似然逼近的迭代次数,降低运算量。
对标定板上任一角点,可列出如下关系式:
对于n 个点,可以得到2n 个等式,用最小二乘法求解五个畸变系数。
至此,摄像机的内外参数和畸变系数已全部求出,但由于中间步骤没有考虑镜头畸变,且利用最小二乘法得出的解都是近似值,因此,求出的内外参数和畸变系数的精度若不能满足双目视觉定位的需求,则需要对计算结果进行优化。
对标定初步结果进行优化,采用Levenberg-Marquardt最优化算法。设标定板上有个角点,将标定板放在不同的方位拍照次,用表示标定板上的第个角点在第次拍照时得到的图像点,用表示标定板上第个角点在第次拍照时的空间坐标,表示标定板在第次拍照时相对于摄像机坐标系的旋转矩阵,表示标定板在第次拍照时相对于摄像机坐标系的平移矩阵,表示摄像机内参数矩阵,是根据摄像机内外参数和畸变系数的初始值得到的像素坐标初始值。
对摄像机内外参数和畸变系数进行评估:
综上所述,摄像机标定算法的流程图如图3 所示。
2.3.1 六角螺母识别
依据现场实际情况,过滤器需旋松的螺母为六角螺母,为保证机器人可准确定位过滤器法兰盖上4 个螺母,视觉系统需准确识别六角螺母(即正六边形)各角点和几何中心位置等特征参数。
由正六边形的几何性质可知,正六边形的边长相等,相邻两边的夹角为120°,6 个顶点分布在同一个圆周上,因此可以把正六边形检测的问题分解成直线检测、角度测量、边长测量和圆检测,而直线、圆等基本图形单元具有明确的数学表达式,我们可通过Hough 变换把图像空间给定曲线的检测问题转化为参数空间的峰值求解问题。最终根据它们的检测结果来判断是否为正六边形,从而自动识别出螺母。
1)滤波和边缘提取。
图3 摄像机标定算法流程图
在拍摄图像过程中,不可避免有外界干扰进入,在图像上形成干扰噪声,可根据实际情况对原始图像进行滤波去噪和边缘检测,以增强图像质量和提取所需特征边缘,如采用常用的中值滤波和Canny 边缘检测。图4可以看到基于此原则采用相应软件对六角螺母进行中值滤波和Canny 边缘检测示意。可以看出,原始图像经过预处理之后仍含有部分噪声,主要原因是螺母表面上有花纹和毛刺。
图4 六角螺母检测结果
2)Hough 变换检测直线。
一条直线在图像中是一系列离散点的集合,直线的极坐标公式如下:
3)寻找正六边形。
利用上一步检测到的直线,在图像平面内建立直线方程。然后根据直线方程,计算相邻两条直线的夹角和交点,求出每条边的长度,同时检测6 个交点是否均匀分布在同一圆周上。
4)计算中心。
根据上面对摄像机的标定,可以得到图像上任一点的三维坐标。据此计算得到各关键特征点(如正六边形的6 个交点)的三维坐标,进行拟合,得到中心的坐标。
2.3.2 过滤口、铅桶、水泥桶识别定位
在滤芯抽取机器人抽出滤芯作业中,需要抽取机构对准过滤器口。
在将滤芯从滤芯抽取机器人转移到滤芯运输机器人时,滤芯抽取机器人需要将抽取机构对准滤芯运输机器人的铅筒,完成放置。
在将滤芯从滤芯运输机器人转移到水泥桶时,滤芯运输机器人需要将铅筒对准水泥桶内的固定环。
上述这几个需要对准的装置,其共同特点为截面是圆形或环形,因此可以用统一的方法来识别和定位。设计识别定位方法如下。
1)滤波和边缘提取。
方法同上节。
2)Hough 变换检测圆。
使用Hough 变换检测圆的原理与Hough 变换检测直线类似,不同的是参数方程变为如下等式:
对于圆的半径未知的情况,可以看作是有三个参数的圆的检测,中心和半径这个时候变换方法仍然相同,只是参数空间的维数升高,计算量增大。图像空间中的任意一个点都对应了参数空间中的一簇圆曲线,是一个圆锥型。参数空间中的任意一个点对应了图像空间中的一个圆。
图5 过滤器口检测结果
3)判断。
环形与圆形不同,环形自身有内外两个圆圈,Hough变换在识别圆时,是对组成圆圈的各个像素点分别进行计算,分析其可能的圆心和半径,然后进行聚合。在聚合和判断时受噪声影响,可能将内外圈的点错误组合,得到相邻的多个圆,圆心有偏差。因此需要对Hough 变换检测到的圆进行分析判断,找到正确的圆。
判断方法为:在边缘图像上,对得到的圆逐一分析,根据其圆心和半径得到三重圆环(厚度为3 个像素),分别计算外环、内环、和自身所在环的像素值均值;然后计算所有像素值均值的最大值,以所在环均值最大、且外环和内环显著低于所在环均值的圆作为最终结果。
4)计算中心。
根据上一节对摄像机的标定,可以得到图像上任一点的三维坐标。据此计算得到圆心的三维坐标。
针对核电站某高放过滤器操作机器人作业工艺流程中的目标识别问题,笔者结合相机自身参数通过相机标定实现了内、外参数求解建模,通过Hough 变换把图像空间给定曲线的检测问题转化为参数空间的峰值求解问题,最终实现过滤器盖、螺母、螺栓、过滤器口、铅筒、水泥桶识别,并获取其位置信息,从而为机器人自主更换或操作者远程操作提供依据。