基于边缘重心模板的水中机器鱼阈值分割算法研究
2018-06-28,,2,,,,2
, ,2, ,,,2
(1.江苏科技大学张家港校区机电与动力工程学院,江苏 张家港 215600;2.中科探海(苏州)海洋科技有限责任公司,江苏 张家港 215600)
0 引言
机器鱼作为仿生机器人的研究热点,在污染物监测、水下资源勘探等方面扮演着关键性角色[1-2]。
2004年8月,北航机器人研究所利用自研制的SPC II机器鱼,通过对摄像头获得的图像进行目标提取,进而实现机器鱼控制来协助考古学家完成了冬古湾古沉船的考古发掘。其中视觉目标检测是重点,为此,国内外很多学者进行了相关研究[3-5]。巨志勇等[6]基于灰度化图像,利用插值法和Otsu算法实现对目标的分割。此方法能有效抑制光照强度分配不均的问题,但无法处理图像光照条件发生变化的情况。杨康叶等[7]综合分析图像各像素RGB分量,通过对像素的聚类实现目标提取,该方法直观便捷,但在适应光照条件变化的方面还是差强人意。沈志忠等[8]基于YCrCb颜色空间,利用边缘提取实现了适应光照条件变化的机器鱼视觉分割。但由于YCrCb颜色空间的限制,执行算法所需参数较多,不利于实时检测。鉴于此,提出了一种新的基于边缘重心模板阈值分割算法。
1 机器鱼像素H分量值的极差确定
1.1 颜色空间的选择
摄像头默认使用RGB颜色空间来表述图像颜色,但RGB颜色空间存在受光照条件影响较大的不足,而HSV颜色空间具有独立颜色亮度、提高颜色聚类效果的优点[9],为此以HSV颜色空间作为进行机器鱼视觉分割的颜色空间。令k,m分别为RGB分量的最大和最小值,即k=max(R,G,B),m=min(R,G,B),则从RGB颜色空间到HSV颜色空间的映射过程如式(1)~式(3)所示:
V=k/255
(1)
(2)
H=
(3)
H,S,V为HSV颜色空间的分量,分别对应颜色的色调信息、饱和度信息和亮度信息。图1a为机器鱼的原始RGB图像,利用式(1)~式(3)转换后,可得如图1b所示的HSV颜色空间图像和如图1c所示的仅H分量图像。由图1可知,尽管鱼头部、身部、尾部的RGB值分布离散,但整条鱼的H分量值却是连续相近的,这为利用H分量进行机器鱼的视觉分割提供了保障。
图1 机器鱼的颜色空间转换
1.2 机器鱼像素H分量的极差求取方法
机器鱼像素H分量值的极差(以下简称为极差,用L表示)是H分量值的上极限与下极限之差。设机器鱼像素H分量的上极限值和下极限值分别用Hstm和Hstn表示,则极差L为:
L=Hstm-Hstn
(4)
以图1a的机器人原始RGB图像为例,在进行平滑去噪等图像预处理后,遍历图像像素得到H分量直方图,如图2所示。在H分量直方图中,一般至少存在两个波峰,一个是反映机器鱼H分量值的波峰,称为数据峰,另一个则是反映背景色H分量值的波峰,称为背景峰。两个峰一般有明显的分界,如果分界不明显,可以重复遍历各个像素的H分量,将对应像素的H分量值进行叠加从而获得多次遍历后的H分量直方图,得到理想的两峰分界效果。
图2 H分量直方图
2 基于边缘重心模板的阈值分割算法
在RGB颜色空间下,当光照条件发生变化时,各像素的RGB值会发生变化,通过式(3)转化的机器鱼像素的H分量也随之变化,影响机器鱼的视觉分割。由HSV颜色空间的定义可判断,机器鱼像素H分量值的极差是由机器鱼本身的物理性质决定的,不会因为光照条件的变化而产生较大的改变。故可以寻求一个以H分量为变量的动态阈值来适应光照条件的变化。文中将机器鱼H分量的极差L定义为阈值长度。基于Sobel算子进行边缘提取获得边缘重心坐标,将以边缘重心为中心的n×n模板称为边缘重心模板,计算边缘重心模板囊括的n2个像素的H分量平均值,这个值是在实时光照条件下获得的,故它是一个随光照条件变化的变量。利用这个H分量平均值作为阈值中值,极差L作为阈值长度,进而可以确定边缘重心模板的动态阈值,并实现机器鱼的阈值分割。基于边缘重心模板的机器鱼阈值分割步骤如下所述。
a.步骤一,对待处理的机器鱼RGB图像进行灰度化、Sobel算子边缘提取。
图1a为试样图像,对其进行灰度化,效果如图3a所示。基于Sobel算子[10]进行边缘提取,获得如图3b所示的二值化边缘图像。利用边缘二值化图像,可以进一步求取边缘重心坐标。
图3 Sobel算子边缘提取
b.步骤二,计算边缘重心坐标。
设提取的机器鱼边缘的像素集合为O,集合O的元素数为N(O),采用式(5)即可获得机器鱼边缘重心坐标(XCO,YCO)。
(5)
对(XCO,YCO)进行如式(6)的修正处理:
(6)
修正系数α1,α2,β1,β2的值视边缘提取的效果而定,当提取边缘集合的横纵坐标值之和过大时,以调整α1,α2为主,不太大时,以调整β1,β2为主。
由于图像存在噪声干扰,Sobel算子会造成边缘误分割,由式(5)获得的边缘重心坐标(XCO,YCO)往往存在误差。通过修正系数α1,α2,β1,β2的调节可以修正边缘重心坐标,保证计算的准确性。
c.步骤三,计算边缘重心模板阈值。
定义以边缘重心为中心的n×n模板为边缘重心模板。n根据实际所需的分割效果而定,可以选择3,5,7,9等奇数。n取值越大,机器鱼的分割效果越理想。设边缘重心模板囊括的像素集合为M,边缘重心模板阈值的长度为极差L。通过式(7)求得边缘重心模板阈值Hcm和Hcn。
Δ为极差修正系数,一般可取L的1%~2%。Δ用以提高极差的准确度,避免噪声等因素干扰,提高分割精度。并且由于∑(x,y)∈MH(x,y)/n2的调节,使阈值具有自适应性,故能适应光照条件变化。
d.步骤四,二值化处理。
利用边缘重心模板阈值将机器鱼图像进行二值化处理,获得的二值化机器鱼图像如图4所示。
图4 二值化图像
e.步骤五,闭合二值化图像。
对获得的二值化机器鱼图像进行边缘平滑、形态学闭合操作,结果如图5所示。
图5 闭合后的二值化图像
3 实验测试与分析
为了验证边缘重心模板阈值分割法(EGTTSA)的有效性,在酷睿i5 2.6 GHz计算机上,基于MATLAB2016a进行试验测试。场地如图6所示,机器鱼置于水池中,水池正上方装有获取机器鱼图像的全局摄像头,并将图像传输至主机,主机再通过无线收发模块控制机器鱼的运动。
图6 试验场地
为了验证文中算法抑制光照条件变化的效果,针对人造光照、强光照和弱光照3种环境下,对超过50个机器鱼目标进行了性能测试,并将测试结果与基于RGB模型颜色相似性分割算法[7](CSSABR)和基于YCrCb颜色空间的自适应阈值分割算法[8](ATSABY)进行了比较。比较性能指标为检出率和误检率,且定义如下:
检出率=Nums/Numo×100%
(8)
误检率=Nume/Numo×100%
(9)
Nums表示分割出且属于原图像机器鱼的像素数;Nume表示分割出但不属于原图像机器鱼的像素数;Numo表示原图像机器鱼的像素数。
3种算法的性能对比如表1所示。由表1可知,CSSABR算法虽然平均误检率最低,但其平均检出率分别低于ATSABY算法12%和EGTTSA算法16%。ATSABY算法由于主要依靠YCrCb颜色空间的Cr,Cb颜色分量实现机器鱼的视觉分割,故其响应时间高出EGTTSA算法50%,并且平均检出率低于EGTTSA算法4%,平均误检率也高于CSSABR算法大约1%和EGTTSA算法0.6%。相比于这2种算法,EGTTSA算法由于进行了边缘重心模板的H分量均值求取,使阈值具有自调节性,有效降低了光照条件的影响,从而保证了高检出率,而且极差不随光照条件的变化而变化,故具有较低的误检率,响应时间也只比CSSABR算法慢大约29%。上述试验结果表明,EGTTSA算法具有较高的机器鱼分割精度,对不同光照条件下的图像实现了高检测、低误检的良好效果。
表1 3种算法的识别性能对比
图7a ~图7e给出了3种不同环境下的机器鱼原图像和3种算法的执行结果。由图7可知,CSSABR算法遗漏的机器鱼像素数较多,无法有效适应光照条件变化。ATSABY算法在弱光照的条件下分割精度较低,性能不如EGTTSA算法。文中给出的EGTTSA算法所分割图像具有最完整的检测区域和较少的误检区域,而且图像闭合完整,边缘光滑,进一步证明了算法的有效性。
图7 3种算法处理效果
4 结束语
为了解决不同光照条件对机器鱼视觉分割带来的影响,提出了一种边缘重心模板的阈值分割算法,通过理论分析和试验可以得到以下结论:
a.利用机器鱼HSV颜色空间像素的H分量作为分割依据,避免了因计算参量过多导致计算量过大的问题,具有实时检测特性。
b.利用H分量的极差作为分割阈值长度。极差是根据机器鱼本身的物理特性决定的,不受光照条件的影响,故多次使用同一条机器鱼只需确定1次极差即可,减少了执行算法的准备步骤,增强了算法的可操作性。
c.利用边缘重心模板阈值对机器鱼进行分割,有效降低了光照条件对机器鱼视觉分割的影响,提高了不同光照条件下机器鱼的分割效果。
参考文献:
[1] Marrazza G, Ravalli A, Rossi C. Fish robot based on chemical sensors for water monitoring [C]// Proceedings of 19th AISEM National Conference on Sensors and Microsystems, 2017: 59-64.
[2] Cui Z, Jiang H Z. Design and implementation of thunniform robotic fish with variable body stiffness[J]. International Journal of Robotics and Automation, 2017,32(2):109-116.
[3] 刘敦浩,张彦铎,李迅,等.动态环境下自适应阈值分割方法[J].计算机应用,2016,36(增刊2):152-156.
[4] 雷俊,王立辉,何芸倩,等.适用于机器人视觉的图像分割方法[J].系统工程与电子技术,2017,39(7):1653-1659.
[5] Yuan M X,Zhao R,Hua X B,et al.Research on visual segmentation and localization of multi-robots under different lighting conditions[J].Journal of Systems and Control Engineering, 2015,229(9):838-850.
[6] 巨志勇, 苏春美.非均匀光照下的车牌图像分割算法[J].信息技术,2015(10):34-37.
[7] 杨康叶,邬春学.基于RGB模型颜色相似性的彩色图像分割[J].计算机系统应用,2013,22(3):128-131,160.
[8] 沈志忠,王硕,曹志强,等.基于边缘检测的图像分割方法及其在机器鱼中的应用[J].机器人,2006,28(4):361-366.
[9] Sabzi S, Abbaspour-Gilandeh Y, Javadikia H.Machine vision system for the automatic segmentation of plants under different lighting conditions[J].Biosystems Engineering, 2017,161(9):157-173.
[10] 赵来刚,陈道炯.一种基于Sobel算子的新型边缘提取技术[J].机械与电子,2011(2):59-61.