APP下载

基于HSV颜色空间的快速边缘提取算法

2019-08-07王红雨尹午荣胡江颢乔文超

上海交通大学学报 2019年7期
关键词:色相像素点障碍物

王红雨, 尹午荣, 汪 梁, 胡江颢, 乔文超

(上海交通大学 仪器科学与工程系, 上海 200240)

随着无人机(UAV)在生活中的应用越来越广泛,对无人机安全性能的要求也越来越高.为了保证无人机的安全作业,以超声波、红外线、激光、视觉等为基础的避障技术是当前的研究热点[1-3].文献[1]利用激光扫描仪进行无人机避障,虽然可以获得良好的避障效果,但因成本过高而无法大规模应用.视觉避障技术利用摄像头获取无人机周边环境中大量的障碍物信息,可以为无人机避障及路径规划提供充分的依据,并且成本较低,因此具有较大的优势.文献[2]通过双目立体视觉技术获取无人机前方场景的深度图进行无人机避障.无人机正常飞行时仅测量图像中央一小块区域的距离,一旦发现障碍物再进行全局测距,从而引导无人机向深度图中景深较远的方向飞行.这种方法实时性较强,但没有充分利用视觉避障的优势.从本质上而言,摄像头等同于一个测距传感器,虽然它拍摄到了前方场景中的全部障碍物,但由于缺少相应的算法识别,两个摄像头仅用于测量距离,并未进行目标识别,导致无人机不能实时地感知障碍物的分布情况.目前,无人机避障技术的研究重点为测距技术和避障路径规划算法,在智能感知障碍物方面尚未受到广泛关注,而图像边缘提取算法在这方面具有很大的优势.通过提取图像边缘信息准确地获取障碍物的大小、形状及方位,再辅以一定的测距手段,即可为避障路径规划算法提供可靠的判断依据.

高实时性的图像边缘提取算法主要利用Sobel算子、Laplace算子、Canny算子等检测算子[4-7]来提取边缘特征.这些检测算子,具有计算量小、计算速度快的优点,实时性很强,但对光照和噪声比较敏感,在光照条件较差和有噪声污染的情况下对图像边缘的检测效果较差.

除了检测算子之外,模糊集理论也可用于图像边缘提取[8-11].然而,该方法在带来良好的边缘提取效果的同时需要耗费大量的计算时间,难以应用于无人机避障的高实时性场景.本文提出一种基于HSV (Hue, Saturation, Value) 颜色空间的快速边缘提取算法,通过模糊集理论改进局部二值模式(LBP)算子对像素点局部纹理特征的描述,并用Hausdorff距离确定边缘点,最后用矩形框圈出障碍物轮廓.在保证边缘提取效果良好的同时提高实时性,并增强了无人机障碍物检测的能力.

图1 I-LBP算子整体结构Fig.1 Structure of the I-LBP operator

1 改进型LBP算子

障碍物检测的第一步是提取图像边缘信息,运用数学方法描述具有边缘特征的像素点.图1所示为改进型LBP(I-LBP)算子的整体结构.

I-LBP算子处理的基础数据是HSV颜色空间[12-13]中的色相值数据,而非经典LBP算子处理的是灰度值数据.为了便于模糊推理,首先需要进行数据修正与预处理.然后,通过模糊推理得到改进的纹理特征描述,由于该特征为8维向量,为了便于之后利用Hausdorff距离确定边缘特征,需要将其降维成3维向量(每一维分别表示色相值的差异性、连续性和奇异性).

1.1 数据修正与预处理

LBP算子[14-15]的计算公式为

(1)

(2)

式中:LBP(xI,yI)为像素点I的LBP码;s(x)为符号函数;iI为像素点I的灰度值;ik为像素点I在p个连通区域中像素点k的灰度值,如在8连通区域中,p=8,从左上角按顺时针方向依次为i0~i7.

虽然LBP算子可以很好地描述图像的局部纹理特征,但简单的二值化处理会导致图像信息的缺失.传统的LBP算子只能获取8连通区域中ik与iI的大小关系,而无法获取ik与iI的量化差异大小.基于LBP算子,将计算灰度值改为计算色相值,并对简单的二值化处理进行扩展,将LBP算子中仅表示色相值大小关系的1和0转换为用于量化色相值差异大小的[0,10]区间内的数据.

受噪声污染的HSV图像局部细节图如图2所示.将像素点1记为一般点,即没有被噪声污染,也不是图像中的边缘像素点;将像素点2记为边缘点,它是图像中具有边缘特征的像素点;将像素点3记为噪声点,表明该像素点受到了噪声污染.

图2 图像局部细节图Fig.2 Local details of the image

令dk=|hk-hI|(k=0,1,…,p-1),dk为像素点I周围8连通区域中像素点k的色相值,hI为像素点I的色相值.若像素点I为一般点,则dk均较小;若I为边缘点,则约有1/2的dk较大;若I为噪声点,则dk均较大.

为了减小噪声干扰,用像素点I附近的8连通区域对像素点的色相值进行修正.如图3所示,区域内的像素点依次编号为0~7.

图3 像素点I附近8连通区域的像素编号Fig.3 The numbers of the pixels within 8-connected regions near pixel I

修正算法过程如下:

(1) 计算区块内像素点0~7及I的色相值均值;

(2) 求出d0~d7;

(3) 找出d0~d7色相值最小的像素点,并用该像素点的色相值代替像素点I的色相值.

该算法的本质是提取区块内出现频率最高的色相值以达到不失真和滤波的目的.对像素点I及其8连通区域内的每个像素点的色相值均需使用上述算法进行修正.虽然利用区块修正的色相值在一定程度上会使边缘特征模糊化,降低图像边缘部分的高频成分,导致提取出的边缘粒子较粗,但其应用于障碍物检测时,由于最重要的指标是边缘的连续性,故这一缺陷并不影响检测效果.

色相值的本质为色彩在色相环上的位置所成的角度,即[0°,360°].色相之间的差异不是简单的色相值相减,而是在色相环上由一个色相变为另一个色相所需要的最小角度,故色相之间的最大差异实际为180°,例如:0°和200°的差异为160°而不是200°.所以,dk用于表示色相差异大小时要进行预处理,其计算公式可表示为

(3)

1.2 模糊推理系统

采用模糊推理中的if-then-else机制设定以下4条规则.其中:PB代表大;PM代表中;PMB代表偏大; PS代表小.输入Din的论域为[0°,180°],输出Dout的论域为[0,10].

规则1如果Din为PB,则Dout为PB.

规则2如果Din为PM,则Dout为PM.

规则3如果Din为PMB,则Dout为PMB.

规则4如果Din为PS,则Dout为PS.

隶属度函数使用梯形隶属函数,其表达式为

(4)

式中:Y为输出;X为输入;a,b,c,d为常数,且满足a≤b≤c≤d.通过选取合适的数值,Din和Dout的隶属度函数(μX,μY)分别如图4所示.常数a,b,c,d的取值如表1所示.

根据模糊推理的4条规则以及输入输出各自的隶属度函数,可以得出输入输出曲线,如图5所示.

表1 不同输入输出的常数取值

Tab.1 The values of the constants with different inputs and outputs

输入输出项目abcd输入 PS00510 PM5153545 PMB35457585 PB7585180180输出 PS0013 PM1.52.545 PMB456.57.5 PB681010

图4 输入输出的隶属度曲线Fig.4 The membership curves of different inputs and outputs

图5 输入输出曲线Fig.5 Function curve of input and output

由于输入输出曲线可以近似为分段函数,所以将模糊推理系统得出的输入输出曲线以分段函数的形式来拟合可以极大地减小计算量,提高系统的实时性.拟合后的分段函数表达式为

(5)

1.3 样本降维

每个像素点的LBP特征经过模糊推理系统后可以转换为一个8维向量Dout,但过高的维数会增加计算量.因此,在确定边缘特征前,先要对图像中存在的大量数据样本进行降维.

定义:当数据样本降维为3维向量时,记为V.样本V的第1维数据表征8连通区域中色相值的差异性.Dout中的每一维代表色相值的差异大小,将Dout中每一个值的和作为V的第1维数据.该维数据的值越大,表征Dout中差异较大的色相值越多.第1维数据中数值最大的是噪声点,数值较大的是边缘点,数值较小的是一般点.通常认为若一个像素点是边缘点,那么这个点经过模糊推理得到的8维输出向量Dout中,有4个数值较大,理论上Dout中较大的数值为5,一共4个,合计为20.然而,仅仅靠这一数据得出的结果可靠性较差,基于8连通区域中像素点之间的分布特征,分别加入第2维和第3维数据来提高算子的可靠性.

图6 仅使用第1维数据会被误判的一般点Fig.6 The general point misjudged by only the first dimension

(6)

k=0,1,…,6

(7)

k=7

(8)

k=0,1,…,7

(9)

图7 仅使用第1和第2维数据会被误判的一般点附近被噪声污染的一般点Fig.7 The general point misjudged by the first and second dimension

I-LBP算子的LBP特征将传统的LBP算子计算结果(0~255之间的数字)由1维值改进为3维向量V,且具备旋转不变性,可以识别不同方向的边缘特征.结合上述对V的每一维数据的分析,理论上3维向量V=[20 2 0].

2 利用Hausdorff距离确定边缘

为了确定哪些特征属于边缘特征,本文利用 Hausdorff 距离对图像像素点的LBP特征与边缘LBP特征进行匹配.

2.1 边缘LBP特征确定

模糊C均值(FCM)是一种典型的无监督模糊聚类算法.在样本的分类过程中不需要人为干预,且在化分多类目标方面具有明显的优势[16].

为了使FCM算法适合本文的数据样本,将样本V的第2维和第3维数据的权重设为10,以使3维数据处于同一数量级,从而增加区分度.通过FCM算法分类,最终确定的边缘LBP特征为[19.32 24.36 1.41].该特征基本符合上述理论分析.

2.2 利用Hausdorff距离确定边缘点

Hausdorff距离描述的是2个点集的相似性.设有2个点集A={a1,a2,…,aN}和B={b1,b2,…,bJ},A和B之间的Hausdorff距离[17-18]表达式为

(10)

式中:‖·‖为距离范数.在Euclidean空间中,点集A和B可以看成2个图形轮廓,Hausdorff距离则度量了2个轮廓间的最大不匹配度.

借鉴Hausdorff距离的定义,将Hausdorff距离对于空间中轮廓间的度量转化为对于空间中像素点之间的度量.数据集A为图像中像素点的LBP特征集合,集合中的每个元素均为3维向量,数据集A代表3维空间中的一个点集;数据集B为边缘LBP特征,仅包含1个元素,代表3维空间中的一个固定点.选取阈值为15,将点集A中Hausdorff距离H<15的点筛选出来作为边缘点.为了方便后续的框选障碍物轮廓步骤,新生成1幅二值图像供框选算法处理,二值图像与原图像大小相同,所有像素点的值初始化为0.每找到1个边缘点,就将二值图像中相应位置的值修改为1.

3 框选障碍物轮廓

经过边缘提取的障碍物轮廓往往是不规则的图形,选取矩形框圈选障碍物轮廓,得到其在图像中的位置和大小信息.框选算法过程如下:

(1) 以图像左上角作为图像坐标原点,宽度方向为x轴,高度方向为y轴.

(2) 提取一个轮廓中坐标的最大、最小值xmax,xmin,ymax,ymin.如果轮廓位于图像边界且被边界切断,则将图像边界视为该轮廓的一部分.

(3) 将(xmin,ymin)和(xmax,ymax)2个点作为矩形的对角点,则矩形可被唯一确定为包含障碍物轮廓的最小矩形.同时,计算矩形的宽度Wr=xmax-xmin,高度Hr=ymax-ymin以及面积Sr=WrHr.

(4) 不保存面积过小的矩形数据,认为该矩形是检测过程中出现的误检或是距离特别远的物体,故无需考虑.

(5) 重复步骤(2)~(4),找出下一个矩形,并判断该矩形是否被之前找出的矩形所包含,互相包含的矩形只保留面积最大的矩形,即仅提取最大面积的外轮廓.

(6) 重复步骤(5),直至所有矩形都被找到.

基于轮廓框选障碍物,与目标跟踪不同,避障时不对特定的障碍物进行跟踪,而是将出现在图像中的物体均视为障碍物,因此没有严格的前景和背景之分.当无人机飞行速度变化较大、图像变化不稳定时,一旦检测到前方有距离较近的障碍物(使用超声波、毫米波雷达或双目摄像头辅助测距),避障算法会控制无人机进入避障模式,根据当前的障碍物分布情况规划避障路径,使无人机飞行进入稳定状态.此时的图像变化及障碍物检测情况均不会发生太大的变化.

4 仿真实验验证

在MATLAB r2017a平台上对算法进行仿真实验验证.PC机CPU为i5-4430@3.0GHz,内存为8 GB.

以分辨率为512像素×512像素的Lena图像作为实验对象,加入密度为 0.01 的椒盐噪声.I-LBP算子与 Sobel算子、Roberts算子、Laplace算子和Canny算子的检测效果对比如图8所示.

图8 I-LBP算子与其他算子的检测结果对比Fig.8 Comparison of I-LBP operator with other operators

由图8可知:I-LBP算子对噪声的抑制能力更强;Laplace算子和Canny算子对噪声的抑制能力最差;Sobel算子和Roberts算子具有一定的噪声抑制能力,然而其边缘信息提取不完整.

在傍晚光照条件较差的情况下,拍摄1张分辨率为720像素×540像素的石碑图片.I-LBP算子与Sobel算子、Roberts算子、Laplace算子和Canny算子的检测效果对比如图9所示.

由图9可见:在光照条件较差的情况下,I-LBP算子的检测效果较好;Sobel算子、Roberts算子检测效果类似,只能检测出图中最为明显的3个目标,且轮廓断裂较严重;Laplace算子和Canny算子噪声太多,无法顺利提取轮廓.此外,I-LBP算子还具有较高的实时性,处理分辨率为720像素×540像素的图片平均耗时100 ms,可以满足无人机避障的实时性要求.

使用结构相似性(SSIM)指标对边缘信息的提取效果进行量化,其量化指标对比结果如表2所示.由表2可知,I-LBP算子的SSIM指标优于其他算子.另外,当图像加噪后,I-LBP算子的SSIM指标降低幅度最小,所以,I-LBP算子具有良好的稳健性.

I-LBP算子对部分典型场景的障碍物框选实验如图10所示.前两幅图为在正常光照下拍摄的场景,后两幅为在傍晚弱光照条件下拍摄的场景,图片分辨率为720像素×540像素.由图10可见:I-LBP算子可以在正常光照条件下识别出图中的全部障碍物;在光照条件较差的傍晚也可以识别出绝大多数的障碍物.以I-LBP算子为基础的边缘提取算法可以为障碍物框选提供重要依据,达到无人机避障对障碍物的高实时性检测要求.

表2 不同算法检测结果的结构相似性指标Tab.2 SSIM of different algorithms

图9 光照条件较差时I-LBP算子与其他算子的检测结果对比Fig.9 Comparison of I-LBP operator with other operators under extreme illumination conditions

图10 障碍物框选效果Fig.10 Results of obstacle selection

5 结语

本文提出了一种基于HSV颜色空间的快速边缘提取算法,用模糊集理论改进LBP算子对像素点局部纹理特征的描述;用Hausdorff距离确定边缘点;用矩形框圈选障碍物轮廓.I-LBP算子可以在光照条件较差和高噪声污染的环境下,提取边缘信息,且具有较高的稳健性,可以有效地提升无人机避障系统对于光照条件的适应性,同时降低摄像头成本.此外,I-LBP算子还具有较高的实时性,处理分辨率为720像素×540像素的图片平均耗时100 ms,可以满足无人机避障的实时性要求.

I-LBP算子所提取的图像边缘连续性较好,但边缘粒子较粗.为提高I-LBP算子的适用范围,在今后的工作中将进一步研究边缘信息的细化问题.

猜你喜欢

色相像素点障碍物
基于局部相似性的特征匹配筛选算法
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
高效液相色谱在食品安全检测中的应用
赶飞机
基于5×5邻域像素点相关性的划痕修复算法
色相、心相与舞台造型——民国京剧批评中的“扮相”品评
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
高支纱羊绒衫缩水率问题的试验分析