二分粒度聚类和KELM 的全景图像火焰识别研究

2021-06-05 07:03段锁林任云婷潘礼正王一凡
机械设计与制造 2021年5期
关键词:学习机全景火焰

段锁林,任云婷,潘礼正,王一凡

(1.常州大学机器人研究所,江苏 常州 213164;2.常州纺织服装职业技术学院机电工程学院,江苏 常州 213164)

1 引言

针对现有灭火机器人视觉系统中的云台摄像机不能在同一时刻得到360°范围的图像,只能应用于低实时性场合这一问题,改用大视野且实时性好的全景摄像机。针对全景图像的目标提取的一般方法是先将全景图像展开并校正,然后对图像中的目标物进行提取。如文献[1]用梯度算子从展开矫正后的全景图像中提取目标,但矫正后的图像存在信息缺失且实时性差。直接对未展开的全景图像进行火焰提取,减少信息处理时间,利用全景图像的内部结构关联进行聚类获得KELM 训练样本,从而更有效地提取出结果。

针对火焰识别,实则就是图像分割。火焰最显著的静态特征是颜色,文献[2-3]中的火焰识别算法在颜色模型基础上对其进行聚类分析从而进行火焰识别。在对含有大量数据信息的图像进行聚类分析,虽有一定识别率,但耗时太长,实时性差。文献[4-5]采用聚类预先筛选样本,再用优化的支持向量机来分割图像提取目标,与单用聚类分析分割图像相比,分割精度有一定的提升,但效果不是很理想,因此研究寻找相应且合适的算法对全景图像的分割具有很大的意义。极限学习机具有学习速度快、泛化性能好和良好的全局寻优能力[6],但将核极限学习机(Kernel Extreme Learning Machine,KELM)应用到全景图像分割这一方向的文献很少。

根据以上问题,提出一种经改进聚类算法优化后的核极限学习机分类方法,对具有复杂背景的全景图像中的火焰进行分割提取。这种方法建立在抗光照干扰的颜色模型上,在前期聚类算法下得出优化的样本,将优化后的样本参数输进KELM 进行训练,最后通过训练好的KELM 分析提取目标。仿真结果得出,本算法不仅能准确快速提取出全景图像中的火焰区域而且也能提取出其它类复杂背景图像中的火焰区域,具有广泛适用性、实时性以及光照鲁棒性。

2 灭火机器人视觉系统

2.1 视觉系统介绍

现有机器人视觉系统采用的是云台摄像机采集现场环境的图像,其通过单个镜头的旋转来扩大视野范围,使得原视觉系统设计较为复杂,实时性较差。将实时性好、视野广的全景摄像机取代原有云台摄像机,优化原有机器人视觉系统,优化后的机器人视觉系统示意,如图1 所示。

图1 机器人视觉系统示意框图Fig.1 Graphical Block Diagram of the Robot Vision System

该视觉系统就是对机器人视野区先用全景摄像头进行图像数据信息采集,将采集的信息经由无线模块传输到上位机,然后在上位机系统中用改进聚类算法优化过的核极限学习机进行图像信息处理获取火焰信息,最后将火焰目标信息输出到灭火机器人进行下一步的灭火操作。

2.2 全景图像成像原理

一张全景图片可以拥有360°的图像信息,其成像原理[7],如图1 所示。A 为入射光线中的点,B 为成像面中的点。凸面镜镜面坐标系中任一点为(r,z),凸面镜视点为O(0,0),摄像机的焦点为p(0,c),凸面镜视点到摄像机焦点的距离为c,摄像机的焦距为f。

光线经由镜头前凸面镜,反射入CCD 摄像机成像面成像。以凸面镜的视点为坐标原点,系统中的透视成像摄像机满足针孔成像这一模型,因此入射光线经过镜面反射后经过焦点p,并成像于成像面,即图2 中世界坐标系中点A 变换到成像平面坐标系中点B 的过程[7]。

图2 全景成像原理图Fig.2 Panorama Imaging Schematic

全景摄像机一次获取的图像范围较大,因此会造成图像中物体存在一定的畸变。全景图像中的火焰静态特征中形状特征可能会产生变形,但是颜色特征却是不变的。因此对全景图像的火焰识别主要是基于颜色特征来进行图像处理的。克服环境光干扰和保证图像稳定性,是火焰识别的关键,所以选择一种不受光照变化影响的颜色模型显得尤为重要。

3 二分粒度聚类算法

3.1 颜色模型的建立

最常用的是RGB 模型,但RGB 模型比较容易受到光照变化的影响。Lab 颜色模型由三个分量组成,L 表示的是亮度信息,a和b 表示色彩信息。在Lab 模型下数据处理速度与RGB 模型同样快,考虑到火焰识别实时性要求高,因此选择建立Lab 模型。

RGB 模型不能直接转换到Lab 颜色模型,需要经过XYZ 颜色空间过渡[8]。

3.2 Lab 模型下颜色分量的聚类分析

聚类是一种无监督学习的分类方法,有着类内相似,类间相别的效果[9]。全景摄像机因其视角范围广,从而得到的全景图像背景就很复杂。在图像背景复杂且提取目标较小的情况下,直接用普通的阈值分割或是边缘提取方法效果很不理想,但聚类方法很适用。

3.2.1 K-means 聚类的缺陷

K-means 是划分方法中最经典和基础的聚类算法。该聚类算法核心思想是依据误差平方和准则通过不断迭代和调整聚类中心,使得聚类结果更为合理。

该算法的优点是运算速度快,计算简便,对大数据集效率较高。但其不足之处是需事先指定聚类数目K,而且初始聚类中心的选取对结果有较大影响。

针对K-means 需事先指定聚类数目K 这一缺陷引入粒度计算,通过粒度计算得到样本间的相似度函数。根据样本点的不同特点,选择相应的粒度空间进行分析,来确定聚类数K。在最佳聚类数的聚类下加入二分思想和粒度计算,通过Between-Within Proportion 即BWP 聚类指标的评价利用,优化初始聚类中心。

3.2.2 粒度计算下的聚类算法思想

K=(X,A)表示聚类空间,X 是样本集,A 是属性集合。根据粒度概念[10-11],更新样本相似度函数S(xi,xj)来表示样本xi,xj之间的相似度。

算法流程如下:

(1)根据式(4)计算样本间的相似度

(2)设定阈值,得到每个样本的颗粒结构。若相似度大于阈值,则样本间的模糊相似矩阵M 记为1,反之为0。

(3)将样本按M 进行归类,得到最大聚类数K。

3.2.3 BWP 聚类指标

BWP 是类间与类内聚类的双重评价指标,用于综合评价类间类内距离,其值越大,则聚类效果越好。

令K={X,R}为聚类空间,假设n 个样本被聚类为c 个类,则b(j,i)为第j 类的第i 个样本的最小类间距,表示该样本到其他每个类中样本平均距离的最小值;w(j,i)为第j 类的第i 个样本的类内距,表示该样本到第j 类中其他所有样本的平均距离。具体公式表达如下:

3.2.4 二分粒度聚类算法与步骤

根据K-means 算法的不足,将粒度概念引入,获得样本间的相似度函数,利用模糊相似矩阵M 进行样本划分得到聚类数目K。在此基础上,利用粒子密度优化得到初始聚类中心。在划分过程中,用二分法降低K-means 算法的使用次数,加速样本划分运算,通过BWP 聚类指标评价获得最佳聚类结果。算法步骤具体如下:

(1)根据计算样本间相似度,按矩阵按M 进行归类得到K;

(2)引入粒子密度概念计算所有样本点的距离比vi;

(3)选择使vi最小的点为初始聚类中心xi;

(4)选择离xi最远的点为第二个聚类中心,对簇进行K=2 的K-means 聚类,将簇一分为二;

(5)根据式(7)计算样本BWP 值,选择使BWP 值最大的那个簇,对其返回第四步继续进行下一步,直至簇的数目等于K,输出聚类结果。

图3 二分粒度聚类算法简化流程图Fig.3 BGKM Clustering Algorithm Simplified Flow Chart

3.3 二分粒度聚类算法应用于全景图像

将全景图像从RGB 颜色模型转换成Lab 模型,在Lab 模型中提取色度分量a 和b 作为二分粒度聚类(Bisecting GranularKMeans,BGKM)的输入特征参数,输出为目标的分类。将a 和b 分量作为一组样本数据,分别对其用K-Means 聚类算法和BGKM 算法进行图像处理,并对输出结果进行分析,如图4、图5 所示。图4(b)、图4(c)是图4(a)分别在K-Means 和二分粒度聚类算法下的聚类得出的疑似火焰区域。图4(b)、图4(c)两图可以看出这两种算法对全景图像中火焰区域提取是有效的,图4(c)的提取效果比图4(b)效果好,提取的疑似火焰区域更为细致,噪声更少。图5(b)中的4 个聚类中心之间距离比图5(a)中的4 个聚类中心之间的距离大,由此可看出这是二分粒度聚类对初始聚类中心进行优化后的结果。对比图6(a)、图6(b)目标函数的变化图,发现二分粒度聚类算法下的目标函数值是逐渐变小,直至最小,变化稳定。而K-Means 算法下的目标函数值变化是比较波折的,不太稳定。

图5 a、b 分量在两种算法下的聚类分布图Fig.5 Clustering Distribution of a and b Components under Two Algorithms

图6 在两种算法下的目标函数变化图Fig.6 Objective Function Change Graph under Two Algorithms

分析表1 中数据得出,BGKM 算法聚类效果优于K-Means算法聚类效果,且运算时间也少于K-Means 算法。

表1 两种算法聚类数据分析Tab.1 Analysis of Clustering Data of Two Algorithms

4 二分粒度聚类算法与KELM 的结合

4.1 核极限学习机

极限学习机作为一种单隐含层前馈网,被广泛地应用于分类、识别领域[12-13],成为机器学习领域研究的热点。其算法流程[14]如下:设N={(xi,ti)|xi∈Rn,ti∈Rm}为训练样本集合,隐含层神经元的激活函数为g(x),隐含层节点数为L。

(1)随机生成输入权值wi和偏置bi;

(2)计算隐含层输出矩阵H;

(3)计算输出权值矩阵β,最小范数最小二乘解β^。

核极限学习机(Kernel Extreme Learning Machine,KELM)算法可以在H 未知的情况下,将h(x)HT和HHT用相同的核函数K(x,xi)代替,就可以求出输出函数的值,且隐含层节点数能够自适应确定。

4.2 BGKM-KELM 全景图像火焰提取

经过BGKM 算法得到疑似火焰区域和非火焰区域两类样本后,选取训练样本的a、b 分量值以及LBP 纹理特征这三种特征属性作为输入向量来训练核极限学习机。最后利用训练好的高斯核极限学习机对原全景图进行提取火焰。其算法主要流程如下:

(1)利用BGKM 算法对全景图像进行聚类分析,得到疑似火焰区域和非火焰区域两类训练样本;

(2)提取训练样本的特征属性对核极限学习机进行训练得到相应的核极限学习机分类器;

(3)输入原图像,利用训练好的核极限学习机分类器就可以直接对图像进行分割提取出火焰。

原全景图、进行BGKM 聚类后结果图以及最终BGKMKELM 算法提取出的火焰结果,如图7(a)~图7(c)所示。

图7 这里算法最终结果图Fig.7 Final Result of Algorithm in this Paper

5 算法仿真及结果分析

采用二分粒度聚类与高斯核极限学习机相结合的方法即(BGKM-KELM)对全景图像中的火焰进行识别,将它与K 均值聚类与高斯核极限学习机相结合(KM-KELM)的算法以及二分粒度聚类与极限学习机(BGKM-ELM)相结合的算法作对比,并进行结果分析。仿真软件为MATLAB R2016a,运行环境为CORE i5,CPU2.5 GHz,RAM 8G。

用KM-KELM、BGKM-ELM 和BGKM-KELM 三种算法分别对全景图像、鱼眼图像以及普通图像进行火焰提取对比,图像结果,如图8~图9 所示。算法准确率以及运行时间,如表2 所示。用BGKM-KELM 算法对不同光照条件下拍摄的全景图像进行处理,得到图像结果,如图10 所示。对样本使用KM-KELM、BGKMELM 和BGKM-KELM 三种算法分别对其进行火焰目标提取,样本采集不同光照下的全景图像100 组,每组包含3 种不同光照和采集不同类型图片200 张。经仿真实验得出,这里算法的识别率达到96.9%,具体数据,如表2 所示。

图8 不同算法下的全景图火焰结果比较Fig.8 Comparison of Panoramic Flame Results under Different Algorithms

图9 不同算法下的不同类型图像的火焰结果比较Fig.9 Comparison of Flame Results for Different Types of Images under Different Algorithms

图10 不同光照下的这里的算法提取结果Fig.10 Extraction Results of the Algorithm in Different Illuminations

仿真1:选取光照不均的两幅全景图像,根据图8 可以看出,KM-KELM 算法虽对火焰的提取有一定效果,但还是包含有非火焰区域,如图8(b)中火焰在地面上的倒影和图8(f)中的电脑显示屏被一起提取出来了;BGKM-ELM 和BGKM-KELM 两种算法则能较好地提取出火焰,综合表2 数据分析得出BGKM-KELM和BGKM-ELM 算法的准确率相仿,但BGKM-KELM 运行时间少于BGKM-ELM。

表2 不同算法下不同样本类型的比较Tab.2 Comparison of Different Sample Types under Different Algorithms

仿真2:选取不同类型的复杂背景图像,根据图9 可以看出,KM-KELM 算法对火焰的提取还是有点欠缺,如图9(b)中右上烟雾区和图9(f)背景中的一些红布区域也被提取出来了;BGKMELM 和BGKM-KELM 两种算法则能较好规避掉疑似火焰区域,综合图8~图9 和表2 数据分析得出BGKM 算法经过引入粒子相似度的概念优化传统K-Means 算法,继而优化了初始样本特征属性,最终结合极限学习机得到较好的火焰提取。KELM 引入高斯核函数更是加速了火焰的提取。

仿真3:选取不同光照下拍摄的同一地点的全景图,通过改变房间日光灯开启的数量来模拟光照变化,全部开启为光照1,一半开启为光照2,全部关闭为光照3。通过图10(b)、图10(d)、图10(f)可以看出算法能够抗光照变化影响,较好地提取出图像中的火焰。

6 结语

提出的二分粒度聚类和核极限学习机相结合的算法适用于背景复杂的全景图像火焰识别,具有适用范围广、计算速度快、准确率高等优点,对复杂背景和光照变化噪声有较强的抑制作用。该算法通过对火焰的颜色特征包括其亮度及色度特征进行提取、限定,可以快速准确地提取全景图像中火焰区域,在实时性要求较高的场合有很好的应用前景。但在该算法中对K-means 算法中聚类数目的确定仅仅是靠粒子间的相似度去划分确定的,而进一步确定最佳聚类数目是我们的后续工作。

猜你喜欢
学习机全景火焰
最亮的火焰
缤纷的火焰
戴上耳机,享受全景声 JVC EXOFIELD XP-EXT1
漂在水上的火焰
极限学习机综述
全景敞视主义与侦探小说中的“看”
基于极限学习机参数迁移的域适应算法
分层极限学习机在滚动轴承故障诊断中的应用
吹不灭的火焰
从5.1到全景声就这么简单 FOCAL SIB EVO DOLBY ATMOS