APP下载

基于离散曲率特征的弧线形状检测方法

2017-11-11张旭东赵其杰

关键词:弧段弧线曲率

张旭东,赵其杰

基于离散曲率特征的弧线形状检测方法

张旭东,赵其杰

(上海大学机电工程与自动化学院,上海200444)

物体形状检测是实现机器人自主环境理解的基础.针对机器人作业场景经过色彩分层及多尺度滤波分割后的物体表现为连通域,以及便于分析形状的特点,提出了一种基于离散曲率特征的物体轮廓弧线形状检测方法.该方法将物体轮廓提取、直线和特征点检测作为基础,剔除影响弧线检测的轮廓直线,并根据剩余轮廓各点处的离散曲率滑动变化特性检测弧线特征.对机器人作业场景实物进行实验,弧线形状检测的平均正确率达到90.6%,处理时间为0.75 s,表明该方法能有效地对物体轮廓弧线形状进行检测.

弧线检测;物体形状;服务机器人;环境理解

场景理解、环境信息检测与感知有助于服务机器人自主作业、无人驾驶汽车智能行驶等,因而针对场景理解的研究受到广泛的关注[1-3].近年来,随着整个社会老龄化的加速,自主服务型机器人的研究受到重视,在自主服务机器人面向实际应用的过程中,机器人对作业环境场景的理解是十分关键的.环境场景信息的获取方法有三维激光测距[4]、射频识别定位(radiofrequency identif i cation,RFID)[5]和机器视觉等,其中基于机器视觉的物体属性检测是自主服务机器人环境感知的基础.另外,形状特征[6]是物体最显著的特征之一,检测物体形状有助于机器人提高物体识别的正确率,进而增强对环境的理解,因此研究描述物体形状的方法具有重要意义.

服务机器人常常处于半结构化的工作环境中,场景中已知物体形状的识别主要通过点与点或者轮廓与轮廓之间的形状约束关系来实现,如Zhou等[7]提出利用点对之间的几何关系实现物体检测和分类;黄东晋等[8]提出利用角点及局部特征及几何不变特性,并基于“块”的快速匹配算法来进行饮料瓶形状识别;Stark等[9]提出基于局部形状特征来实现知识转移及减少形状训练模型的数量,从而提高训练效率.对于环境中的未知物体,机器人无法通过已有信息进行识别,需要使用更加通用的方法来对其形状进行描述.未知形状描述的研究包含很多方面,比如如何精确提取轮廓.吴桐树等[10]采用B样条曲线拟合的方法提取能精确地表示出轮廓的特征点并拟合轮廓曲线;王文豪等[11]对连通域轮廓的提取进行了深入研究.直线是最基本的形状特征,董晶等[12]提出了一种基于边缘连接的快速直线段检测方法,实现了对轮廓上直线特征的检测.多边形也是物体形状的基本构成,胡立华等[13]提出了一种四边形自动检测技术,能对图像中长方形射影变换成的四边形进行检测.对于椭圆的检测,范怡等[14]提出了基于中点提取的椭圆检测算法,实现了快速检测椭圆形状.以上方法均可以获取部分形状特征,而对弧线形状的检测手段尚显不足.弧线形状作为场景图像中物体最重要的形状属性之一,表现为具有唯一弯曲方向且平滑变化的曲线,检测弧线有助于对物体大小和方位朝向的判别,是基于部分显著形状特征进行形状识别的基础.另外,弧线检测对于工业生产中零件边缘质量检测也有实际应用价值[15].

基于以上分析,本工作以移动机器人室内环境感知为背景,基于色彩分层和多尺度滤波[16]对场景图像进行分割,并重点对分割后物体轮廓弧线形状进行检测,提出了基于离散曲率特征的弧线形状检测方法.本方法将直线特征检测作为基础,剔除轮廓直线以减少弧线检测数据量;根据剩余轮廓上各点处的离散曲率滑动变化特性设计相应方法检测弧线.

1 弧线检测方法

服务机器人通过视觉传感器获取场景图像,基于色彩分层和多尺度滤波方法将图像进行分割,得到的物体表现为连通域.本工作为分析物体形状特征提出了如图1所示的基于离散曲率特征的弧线形状检测方法.本方法由易到难分3个步骤:①提取连通物体外轮廓;②提取非直线轮廓,即在轮廓上检测直线特征和特征点,为避免弧线检测过程中对直线的重复操作,设计直线剔除方法剔除轮廓上直线段,并利用特征点将剩余轮廓进行分段;③根据离散曲率特征设计弧线检测算法对剩余轮廓进行弧线形状检测.弧线检测算法经过微弧段检测、微弧段合并、大弧段检测3个步骤检测出完整弧线段.

微弧段检测首先根据经典的数学定义计算轮廓点的离散曲率(见图2),Pi为微弧段上任一点,Pi−k和Pi+k为轮廓上与Pi距离为k个像素的离散点,Ui和Ui+1为Pi到两点的向量,Δθi为两个向量的夹角.由以上数据可求得离散曲率Ci,然后根据待检轮廓段上每个点的离散曲率Ci的变化情况,设定突变条件阈值δ,统计突变点的数量n,制定微弧段检测筛选方法:

式中,n为轮廓上符合σCi>δ的点的个数,SCi[n]为第i条轮廓段的基于突变点数n的筛除器,N为突变点数条件上限,各离散点的曲率差波动值为σCi.

图1 基于离散曲率特征的弧线形状检测方法Fig.1 Arc contour detection method based on discrete curvature characteristics

图2 离散曲率定义Fig.2 Def i nition of discrete curvature

由于多个微弧段可能同属于某个完整大弧段,故需要对经过微弧段检测得到的弧段进行合并.图3(a)为合并后的大弧段,由微弧段ab和bc组成,Pn为任一点,Pb为连接点,Δθn和Δθb分别为Pn点和Pb点弧的离散向量夹角.依照上述微弧段检测方法,对合并得到的大弧段进行筛选,剔除如图3(b)所示的连续微弧段不属于同一大弧段的情况.

图3 微弧段合并Fig.3 Merge micro arc contour

合并后的初选大弧段还存在如图4(a)所示的有多个弯曲方向的奇异情况.根据弧线上点到特征直线距离单调性变化的特点设计大弧段检测算法剔除奇异曲线(见图4(b)),连结弧线首尾虚线段ab为特征直线,Pi(xi,yi)为弧段上任一点,其到ab的距离为Si,Ps(xs,ys)为弧线上距离ab最远的点,距离为Smax.根据弧线特征,即Ps两侧点到ab的距离Si变化具有单调性且单调性相反的特点,设计筛选方法:

式中,BC[Si]为基于Si变化规律的筛选器,表示单调递增,表示单调递减.

图4 大弧段检测Fig.4 Large arc contour detection

2 算法实现

基于所提出的检测方法思路,首先提取连通区域外轮廓,再通过计算轮廓特征参数得到离散曲率,并基于离散曲率检测弧线.

2.1 连通区域外轮廓的提取

采用轮廓跟踪技术提取物体轮廓(见图5),从图像原点P(0,0)沿x轴正方向逐行扫描图像直到检测出连通区域的首个边缘点P0.以P0为起点,采用逆时针链码跟踪的方式存储连通区域的轮廓信息CON0.当轮廓CON0完整闭合时,扫描回到链码初始位置P0,继续逐行扫描直到再次发现新的连通域边缘点P1,得到新的轮廓链码CON1.根据轮廓的长段剔除无效的局部小轮廓或内部轮廓CON1,提取最能表达物体形状特征的外部轮廓CON0.

图5 轮廓提取Fig.5 Extract the contour

2.2 轮廓特征参数的计算

利用霍夫变换[17]检测轮廓CON0上的直线段.由于霍夫变换直线检测算法中所有边缘点都要进行多次投票记录,会导致同一条直线被多次标识,从而不能真实反映轮廓上直线段的属性,因此对霍夫变换检测到的直线进行如下进一步的筛选.

(1)计算直线段的斜率Sl和直线段长度L.

(2)根据不同直线斜率Sl的差值ΔSl=Sl[i]−Sl[j],ΔSl<Φ(Φ为阈值)和直线段中心点否为同一条直线,保留符合条件的最长的直线段,其中Pmid[i]和Pmid[j]分别为两条直线的中点,如图6所示得到有效直线段L1~L3.

图6 直线段检测Fig.6 Detection of straight line

基于Shi-Tomasi角点检测方法[18]将提取到的轮廓CON0上的突变点(拐点)作为选取的特征点.由于轮廓分段需要多于实际角点数量的特征点,故在Shi-Tomasi方法中设定较小阈值从而得到较多特征点.

计算特征点Pf[i]到直线lj的距离dPf[i]−lj,满足条件dPf[i]−lj<Δd(Δd为距离阈值),且对于到直线中点Pmid[j]的距离dPf[i]−Pmid[j],当满足条件dPf[i]−Pmid[j]< Lj/2时,Pf[i]为直线上的特征点,剔除直线特征点及其之间的直线轮廓,保留位于直线外的特征点和非直线轮廓,并将剩余轮廓用特征点分段.如图7所示,Pi为直线外特征点,Cu[i]为待检测微小曲线轮廓段.

图7 待检测轮廓Fig.7 Remaining contour

根据上述离散曲率定义,计算Cu[i]上每个点的离散曲率.首先确定Pi的一个邻域δ(Pi)={Pi−k,Pi−k−1,···,Pi−1,Pi,Pi+1,···,Pi+k},δ(Pi)为Pi的支撑区域,k为支撑区域的半径. 综合各种因素,本工作采用支撑区域为11个像素点进行计算.设Pi点的坐标为(Pi.x,Pi.y),则Pi分别到支撑区域边缘点的向量为

且两向量的夹角为

式中,|Ui|和|Ui+1|为向量的模

可得Pi点的曲率:

2.3 弧线判别算法

利用计算得到离散曲率参数,通过微弧段判别、微弧段合并和大弧段判别3个步骤完成弧线检测.

其中,δ和N由具体实验确定,由此得到微弧段arci[small]的数量为m.

由此可得合并后的大弧段arci[big]数目为w.

由以上算法步骤可以得到符合弧段定义的轮廓弧线(见图8),图中arc[1]和arc[2]为经过弧线检测得到的弧线.

图8 弧线检测结果Fig.8 Result of arc contour detection

3 实验与分析

图9 实验环境和软件界面Fig.9 Experimental environment and software interface

为了验证本方法的有效性,构建了由移动机器人(内置一台配置为酷睿i3CPU和2G RAM的个人电脑)、软件界面、4自由度机械手臂、彩色摄像机等构成的人-机器人协作系统(见图9).用户通过软件界面向机器人发出执行任务的指令,机器人根据任务信息在实验室环境中移动并完成取物等任务.机器人移动过程中通过彩色摄像机实时采集大小为640×480的RGB(red,green,blue)场景图像,并进行场景分割和物体轮廓弧线形状特征检测处理,将结果和任务执行情况反馈到软件界面,便于用户与机器人的协作.

移动机器人作业过程中采集的图像如图10所示,分全局环境场景(见图10(a))和局部作业场景(见图10(b)),场景中待检测物体数目不相同.本实验的目的是验证物体轮廓弧线形状检测方法的效果,因此共采集了38个场景图像进行分割,并对167个物体进行了弧线检测实验,其中形状相对规则的物体(如图10(b)中物体4)97个,不规则(如图10(b)中物体2)的70个.检测方法的效果由实验人员根据呈现在软件界面(见图9(b))上的检测结果进行判断,对弧线检测各阶段的处理数据、检测结果和算法效率进行统计(见表1~3).图11为部分实验效果图,(a)~(h)列分别为原图、物体二值图、轮廓提取图、直线检测图、特征点检测图、剔除直线的待弧线检测轮廓图、弧线检测结果和最终效果图.

结合表1中数据进行分析,规则物体由于轮廓形状相对易于检测,直线和弧线的检测正确率均高于形状不规则的物体;不规则物体由于直线检测正确率下降,出现直线漏检和错检现象,导致部分直线被认为是弧线.形状规则物体具有清晰边缘和明显形状特征,不规则物体则边缘锯齿化严重且特征模糊.表2和3表明,剔除直线轮廓只对非直线轮廓进行弧线检测能大幅减少数据处理量,提高算法整体效率,并大幅提高弧线检测的正确率.

图10 全局和局部场景Fig.10 Global and local scene

表1 轮廓属性检测结果统计Table 1 Statistical results of contour properties detection

表2 各阶段处理数据统计Table 2 Data statistics of every stage processing

表3 弧线检测处理效率对比Table 3 Efficiency contrast of arc detection

图11 部分实验效果图Fig.11 Part results of experiments

根据本工作提出的弧线检测算法,在δ=0.03,N=3时能得到最佳的检测结果.对于检测方法中的关键数据进行抽样统计(见图12),其中(a)为随意抽取的符合条件的弧线和不规则曲线的离散曲率走势图,图中弧线段的离散曲率变化平顺,都在0.28的上下小范围浮动,σC均小于0.03;而不规则曲线的离散曲率则跳跃巨大且无规律,σC大于0.03的离散点个数有7个,超过突变条件上限(红圈表示突变离散点);(b)为弧线和波浪线上点到特征直线的距离走势图,可以看出弧线的距离走势呈现先增后减单调性变化,非弧线则单调性无规律.

图12 抽样对象关键数据走势图Fig.12 Key data trend graphs of sampling object

根据以上实验分析,本工作提出的方法在图像采集质量和分割效果均良好的情况下,检测直线和大弧线的平均正确率分别达到93.95%和90.6%,综合正确率为91.85%.从表4中本方法与类似工作的对比中可以看出,本工作基于离散曲率特征的物体弧线形状检测方法检测目标包括直线和弧线特征,且不需要手动干预,处理效率更高,检测正确率也较高;整个方法经过直线筛选、微弧检测提取,再到微弧段拼接筛选得到完整大弧段的进阶过程,能够实现由简到繁的物体直线和弧线形状的高效检测,较适用于服务机器人在室内环境下对物体形状的理解和应用.

表4 本方法与类似工作对比Table 4 Contrast with similar work

4 结束语

围绕移动服务机器人作业环境场景理解的问题,重点对物体形状特征中有代表性的弧线形状进行研究.本工作提出了一种基于离散曲率特征的物体弧线形状检测方法,本方法将物体轮廓提取、筛选霍夫变换检测的直线和轮廓特征点选取作为基础,并提出了根据连续离散曲率变化是否符合平顺性的特征对轮廓弧线形状进行检测.通过实验验证,结果表明本方法能有效检测弧线形状特征,具有检测效率高、误检率低的特点,有助于机器人环境检测感知.然而,本方法中的图像分割、直线和角点检测效果容易受到光照条件和图像噪声的影响,从而会降低弧线检测正确率.未来的工作将着重从提高算法鲁棒性入手,并基于物体不同属性轮廓段通过机器学习的手段对形状分类作更深入的研究.

[1]UCkERMANN A,EIbRECHTER C,HASCHkE R,et al.Real-time hierarchical scene segmentation and classif i cation[C]//2014 14th IEEE-RAS International Conference on Humanoid Robots(Humanoids).2014.

[2]BORGES P V K,MOGHADAM P.Combining motion and appearance for scene segmentation[C]//2014 IEEE International Conference on Robotics and Automation(ICRA).2014:1028-1035.

[3]LI J,JIN L,FEI S,et al.Robust urban road image segmentation[C]//11th IEEE World Congress on Intelligent Control and Automation(WCICA).2014:2923-2928.

[4]庄严,卢希彬,李云辉.移动机器人基于三维激光测距的室内场景认知[J].自动化学报,2011,37(10):1232-1240.

[5]李平,杨宁,钟绍山.基于RFID和DR技术的室内组合定位技术[J].上海大学学报(自然科学版),2014,20(4):498-504.

[6]武丽,陈军,张海瑞.基于傅里叶描述子的形状特征提取的讨论与研究[J].中国科技信息,2013(7):51.

[7]ZHOU L,HOSpITAL M T.Beyond local appearance:category recognition from pairwise interactions of simple features[C]//IEEE Conference on Computer Vision and Pattern Recognition.2007:1-8.

[8]黄东晋,张倩,吴冏,等.基于角点及局部特征的饮料瓶识别方法[J].上海大学学报(自然科学版),2011,17(3):238-242.

[9]STARk M,GOESELE M,SCHIELE B.A shape-based object class model for knowledge transfer[J].IEEE International Conference on Computer Vision,2009,30(2):373-380.

[10]吴桐树,张瑞林,邹敏.基于Freeman链码的B样条曲线轮廓拟合[J].计算机系统应用,2014,23(8):130-134.

[11]王文豪,周泓,严云洋.一种基于连通区域的轮廓提取方法[J].计算机工程与科学,2011(6):67-71.

[12]董晶,杨夏,于起峰.基于边缘连接的快速直线段检测算法[J].光学学报,2013(3):213-220.

[13]胡立华,张继福.基于图像的四边形自动检测方法[J].小型微型计算机系统,2014,35(8):1911-1915.

[14]范怡,傅继武.基于中点提取的椭圆检测算法[J].计算机应用,2011,31(10):2705-2707.

[15]师雪超,孙振忠,卢盛林,等.基于机器视觉的弧形件检测算法[J].计算机应用,2010,30(7):1841-1843.

[16]ZHANG X,ZHAO Q,MENG Q X,et al.A new scene segmentation method based on color information for mobile robot in indoor environment[C]//The International Conference on Wearable Sensor and Robot(ICWSR2015).2015:1867-1874.

[17]段汝娇,赵伟,黄松岭,等.一种基于改进Hough变换的直线快速检测算法[J].仪器仪表学报,2011(12):2774-2780.

[18]SHI J,TOMASI C.Good features to track[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition.1994:593-600.

[19]何鹏,高峰,魏厚敏.基于Catmull-Rom样条曲线的弯曲车道线检测研究[J].汽车工程学报,2015(4):276-281.

[20]蒋海波,张云伟,徐会杰,等.农田作业机器人视觉导航目标曲线检测算法研究[J].昆明理工大学学报(理工版),2008,33(4):91-96.

Arc contour detection method based on discrete curvature characteristics

ZHANG Xudong,ZHAO Qijie
(School of Mechatronic Engineering and Automation,Shanghai University,Shanghai 200444,China)

Detection of object shape is the basis of autonomous environment understanding for robots.An object turns into connected domains after color layering and multi-scale fi ltering segmentation,and therefore it can be easily analyzed.In view of this,a method based on discrete curvature characteristics is proposed to detect the arc shape of objects.This method is based on extraction of object contour,and detection of lines and features.Interferential lines are illuminated,and the arc features are detected according to the discrete curvature changes of the remaining contour points.A system of robot operation is established for experiments.Average precision of arc contour detection is 90.6%and the handling time is 0.75 s.The result shows e ff ectiveness of the proposed method in detecting arc contour of objects.

arc detection;object shape;service robot;environment understanding

TP 242

A

1007-2861(2017)05-0702-12

10.12066/j.issn.1007-2861.1764

2016-01-28

国家自然科学基金资助项目(61101177)

赵其杰(1977—),男,副教授,博士,研究方向为传感检测与控制、机器视觉、人机交互与智能信息处理等.E-mail:zqj@staf f.shu.edu.cn

本文彩色版可登陆本刊网站查询:http://www.journal.shu.edu.cn

猜你喜欢

弧段弧线曲率
大曲率沉管安装关键技术研究
基于改进弧段切点弦的多椭圆检测
You're my eyes
钢丝绳支撑波状挡边带式输送机物料通过支座的轨迹研究
一类双曲平均曲率流的对称与整体解
基于上衣袖山吃势分配方法的研究
交通运输网络的二叉堆索引及路径算法优化
电弧增材制造过程的外形控制优化
半正迷向曲率的四维Shrinking Gradient Ricci Solitons
浅析主变压器消弧线圈的运行维护与故障处理