机器人视觉避障的图像处理算法研究

2017-04-06 01:43武龙冬尤洪祥郭永强李丽娜
关键词:障碍物阴影滤波

武龙冬,尤洪祥,郭永强,李丽娜

(辽宁大学 物理学院,辽宁 沈阳 110036)

机器人视觉避障的图像处理算法研究

武龙冬,尤洪祥,郭永强,李丽娜*

(辽宁大学 物理学院,辽宁 沈阳 110036)

由于阴影的存在,给机器人视觉避障增加了诸多困难.因此,需要先解决阴影的检测和去除的问题,它是智能机器人能更好地为人们服务的前提条件.对于阴影的检测和去除的问题,国内外有很多学者提出过一些方法,在此基础上,基于阴影的特性提出了一种新颖有效的阴影去除的方法,很好地去除了障碍物的阴影.

视觉避障;阴影检测;阴影去除

0 引言

近年来,由于国内经济良好的发展使得人们生活水平不断提升,智能机器也逐渐走进寻常百姓家.实现智能机器人避障是必不可少的一部分,机器人视觉避障的第一步就是从指定的监控场景中检测出障碍物并躲避开.然而,在实际的室内智能机器人避障的过程中,由于各种光线的存在,场景中的障碍物往往会携带有或多或少的阴影,并且阴影与产生阴影的障碍物具有相同或类似的特征,这就使得在图像处理检测过程中,智能机器人容易把阴影当作是障碍物,变相地放大了障碍物的区域,同时减小了可行区域,影响了机器人的行走.

因此,视觉避障图像处理算法中的一个难点就是检测和去除阴影.本文提出了一种阴影的检测和去除的有效方法,并通过Matlab仿真实验验证了结果,得到了真正有效的障碍物区,有效祛除了障碍物的阴影.

1 阴影的特征

阴影主要是由于不透光的物体遮挡了光线的照射而在自身或是地面上产生的一个明显的区域.本影和投影是阴影的两种类型,而本影是障碍物自身的一部分,有利于增强物体的立体感,不需要被去除,对于智能机器人避障几乎没有影响.而投影的存在往往会使得提取出的障碍物面积大于本身实际面积,使外形变化变大等诸多问题,所以,在图像视觉避障处理过程中,障碍物的投影才是我们在目标提取时所需要考虑并去除的区域信息.

通常来讲,相比于非阴影区域,阴影区域有如下特征:

1)阴影区域各像素点的亮度值比非阴影区域中各像素点的亮度值要低.

2)阴影区域各像素点的色度异于非阴影区域的色度.

3)背景区域的纹理特征不会因阴影的存在或改变而改变.

对于阴影去除,主要分为基于物理模型的方法、基于阴影特征的方法和基于图像提取(Matting)的方法三大类.基于物理模型的方法主要是分析阴影产生的物理过程,并借助一些先验信息,建立阴影的模型,在此基础上对图像或者视频的特定区域进行匹配,检测并去除阴影.基于阴影特征的方法一般是通过在视觉上找出阴影区域不同于非阴影的区域的地方来实现检测及去除阴影.基于图像提取(Matting)的方法一般是从图像背景中分离出前景部分来以实现阴影的去除.鉴于以上对阴影特征的分析,本文提出了一种通过利用前背景差分比及形态学手段来去除阴影的方法.

2 算法的研究和分析

2.1 背景差分法

背景差分法是利用图像序列某一帧的背景作为参考,之后把需要预处理的图片与背景参考图做差分运算,再经阈值划分得到目标的二值化图像,定义式如下所示:

(1)

这种方法可以比较完整和精确地对运动目标进行检测,背景差分法的优点是可以应用于静止背景的条件下,并且对周围环境自我适应性强,可在复杂场景中检测障碍物.缺点就是如果用到动态的背景条件下,实现自适应性能力较弱,若想要适应动态的背景环境,需要对背景提取和更新,即实时升级.

2.2 形态学算法

2.2.1 膨胀

膨胀,顾名思义就是“放大”的意思,就是把二值图像各为1的像素连接成分的边界扩大一层(填充边缘或0像素内部的孔),在数学上,膨胀被定义为集合运算,若X被B膨胀,可表示为:

M=X⊕B={y:B(m)∩X≠φ}

(2)

或者可以用另一种表达形式:

M=X⊕B≡{(p+q)|p∈X且q∈B}

(3)

图1是膨胀后的结果.可以看出,它包括X原来所有的范围,就像X长“胖”了似的.

图1 膨胀运算

2.2.2 腐蚀

腐蚀,是膨胀的逆运算,有类似“缩小”的意思,即让二值图像为1的像素边界连接点向内收缩一层(可提取骨干信息,去掉毛刺,去掉孤立的0像素).同理,在数学上,腐蚀被定义为集合运算,若X被B腐蚀,可表示为:

N=X⊖B={n:B(n)⊂X}

(4)

或者可以用另一种表达形式:

N=X⊖B≡{p⊂Z2|(p+q)∈X,对于所有的q∈B}

(5)

图2是腐蚀后的结果.可以看出,它在X的范围内,而且比X包含的点少了一圈,就像X变‘瘦’了似得.

图2 腐蚀运算

2.2.3 图像去噪算法

目前有关图像去噪常用的算法有均值滤波算法、中值滤波算法和维纳滤波算法三种.其中均值滤波是一种典型的线性滤波算法,其方法主要采用邻域平均值法.基本思想就是用均值取代原图像中的各个像素值,例如f(x,y)为当前要处理的像素点,挑选一个由其“邻居”的一些像素组成的模板,然后求得模板中所有像素的均值,再把该均值赋予当前像素点f(x,y),作为处理后图像在该点上的灰度值g(x,y),即

g(x,y)=1/m∑f(x,y)

(6)

m表示模板中总像素个数.

该滤波算法很好地抑制了噪声,但缺点就是在去噪的同时把原图像也模糊了.为后续图像处理带来了额外的麻烦.

中值滤波是一种非线性平滑滤波器,基本思想就是把数字序列中每个像素值用该点的一个方形或圆形邻域中各点的中值来取代,有效抑制了噪声,从而去除孤立的噪声点.有点类似于将像素按照像素值的大小进行排序,从大到小(或小到大)的二维数据序列.二维中值滤波输出可表示为:

g(x,y)=med{f(x-k,y-1),(k,l∈W)}

(7)

其中,f(x,y),g(x,y)分别为原始图像和处理后图像.W为二维模板,通常为3*3,5*5区域.

维纳滤波基本思想就是从连续的(或离散的)信号中过滤掉噪声而提取有用信息的过程,它可以自适应性的最小化原始信号和最终处理后的信号之间的均方误差,可有效处理含有噪声的模糊图像.不仅可以去除噪声,同时可以清晰化模糊图像.但缺点就是不能利用于对非平稳的随机噪声.

综上三种滤波算法所述,结合本文图像噪声的类型分析来看,由于在图像处理过程中,图像会产生一些孤立的噪声点,防止给图像后面的处理带来一些不必要的困难,所以本文选择使用中值滤波算法来去噪.

3 阴影去除程序流程图及实验仿真

图3 Matlab程序流程图

Matlab流程图如图3所示,先将前、背景图像存入Matlab内存中,待后续其他操作然后将内存中彩色图像灰度化,紧接着进行差分化、形态学等处理,通过多次实验可知,图像中阴影部分的灰度化值g设置在0.48和0.88之间,此时阴影检测的效果较好.

图4中是本人从实验室采集的水壶照片,地面投射有水壶的阴影.从实验仿真效果来看,结果可以很好地把阴影去除掉,准确地把障碍物标记出来,从而为智能机器人下一步进行视觉避障提供了有利的条件.

4 结语

在21世纪的今天,人们为了更好地去生活,希望智能机器人能辅助我们做些日常工作,但由于太阳光或者日光灯的存在,把障碍物的影子投射到地面上,机器人识别障碍物带来了很大的困难,因此本文依据阴影本身特有的属性,提出了一种阴影检测和去除简单而有效的方法,尤其对静态图像非常有效,效果不错,精度也达到了要求,有效地确定了障碍物区域,只是目前此方法还未能很好的用在动态图片中,尽管许多人在此方面做过大量研究,但效果仍不佳,所以说,未来我们还需要在阴影去除研究这一领域下足功夫.

图4 实验仿真图

[1] 孔繁奇.基于视频图像的车辆检测跟踪技术的分析研究[D].大连:大连理工大学,2007.

[2] 彭宏京,陈松灿,张道强.一种基于局部学习的自然图像景物提取方法[J].软件学报,2009,20(4):834-844.

[3] 俞浩.彩色图像偏色校正与阴影去除技术研究[D].天津:天津大学,2010.

[4] 秦襄培,郑贤中.MATLAB图像处理宝典[M].北京:电子工业出版社,2011.

[5] 冈萨雷斯.数字图像处理的MATLAB实现[M].北京:清华大学出版社,2013.

(责任编辑 郑绥乾)

Research on Image Processing Algorithm Based on Robot Vision Obstacle Avoidance

WU Long-dong,YOU Hong-xiang,GUO Yong-qiang,LI Li-na*

(CollegeofPhysics,LiaoningUniversity,Shenyang110036,China)

Because of the existence of shadows,it is added a lot of difficulties to robot vision obstacle avoidance.Therefore it is needed to figure out the detection and removal of shadows,which is a prerequisite for smart robots to serve people better.As to the problem of the detection and removal of shadows,some methods are pointed out by many scholars at home and abroad,on this basis,a novel and effective approach of shadow removal is presented,the method is based on the character of shadows,which could be better removed the shadows of obstacle.

vision obstacle avoidance; shadow detection; shadow removal

2016-09-19

辽宁省教育厅科学技术研究项目(L2013003)

武龙冬(1988-),男,硕士研究生,从事机器人视觉避障算法研究.

*通讯作者:李丽娜(1973-),女,博士,副教授,硕士生导师,主要从事物联网感知层相关技术研究,E-mail:lilina73@163.com.

TP 873

A

1000-5846(2017)01-0029-05

猜你喜欢
障碍物阴影滤波
你来了,草就没有了阴影
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
赶飞机
让光“驱走”阴影
阴影魔怪
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波