APP下载

基于模糊聚类的施工升降梯内部人数统计

2018-01-18程书睿陈翰林胡荣春

现代计算机 2017年35期
关键词:二值安全帽像素点

程书睿,陈翰林,胡荣春

(1.西南科技大学理学院,绵阳 621010;2.西南科技大学信息工程学院,绵阳 621010)

0 引言

现代社会高层建筑的使用越来越广泛,电梯作为一种垂直的交通运输工具,也得到了越来越广泛地利用,电梯的稳定与安全运行也越来越受到人们的广泛关注。为了防止电梯超载而导致其不能安全稳定的运行,常常需要控制电梯轿厢内的人数,以防止电梯超载。

目前,研究人员已经提出了多种关于人员检测、人员计数的方法。文献[1]中根据头部轮廓特征,提出了一种基于直径的改进Hough变换头部检测算法用于实时统计电梯轿厢内人数;文献[2]采用摄像头获取视频流,通过图像处理技术对进出电梯的双向人数进行统计,进而统计出电梯内部的人数。文献[3]利用基于多信息融合的算法对电梯内安全帽的数量统计达到了较高的准确度,但是需要获得空间中极端位置处的安全帽图像样本,采用线性拟合的方法获得不同位置处的最小安全帽面积以检测不同大小轮廓的安全帽,这种方式依赖于先验知识的获取;文献[4]采用机器学习的方法对安全帽进行识别,准确度达到80%以上,但是需要对神经网络进行训练,而且训练时间比较长;本文所提出的算法避免了算法在实际应用当中对于先验知识的过分依赖,而且通过大量图像实验验证,本算法具有很好的时间效率和比较高的准确率,算法的适用性强。

对于一些特殊的场景,例如施工场地的升降梯,由于施工工人们常常带有安全帽,而安全帽本身所具有的特殊颜色就为安全帽的识别与计数提供了一定的方便,电梯内部人数的统计可以通过安全帽的个数的统计来实现,这就意味着,理论上可以将颜色作为区别安全帽与电梯内部环境空间颜色的依据。

1 模糊聚类

近些年来,聚类算法方面的研究取得了很多成果,很多种模糊聚类算法被提出,其中比较常见的两种为:一种是基于模糊关系的聚类算法;另一种是基于目标函数的聚类算法。而第二种由于其设计简单、应用范围广,本质可归结为优化问题等优点,使得该方法成为模糊聚类分析的主要方法之一[5]。而基于模糊关系的聚类算法在数据量比较少的情形下则表现出更好的性能。

Ruspini最早系统地对模糊聚类进行研究,并提出了数据集的模糊划分[6];Zadeh[7]等也提出了基于相似关系和模糊关系的聚类方法。基于模糊关系的聚类算法首先要建立模糊等价矩阵,当待分类的数据量很大的时候,采用这种方法的计算量就会很大。

由于后面我们对待处理数据进行了有效地提取,使得最终能提取出数量有限的数据点,这样就避免了数据量过多的问题,所以本文采用第一种基于模糊关系的聚类算法。

参考书籍[8]中基于模糊关系的聚类算法的相关描述,基于模糊关系的聚类算法的基本原理可概括如下:

设S={X1,X2,…,XN}是待聚类的全部样本,每一个样本都由n个特征表示。首先是求取样本集中任意两个样本Xi与Xj之间的相关系数rij,进而构造模糊相似矩阵如下:

其中rij=μ(Xi,Xj),表示Xi与Xj的相关性。

计算 μ(Xi,Xj)的常用方法有数量积法、相关系数法、指数相似系数法等。对于相关系数法,即[9]:

其中-xi和-xj分别表示第i个和第 j个样本的均值,xik表示第i个样本的第k个特征,μ( )Xi,Xj越接近于1,则这两个变量越接近;μ( )Xi,Xj越接近于-1,则关系越疏远。

然而,此处待处理对象是一系列像素点的坐标,它们的相近和疏远程度的最直接表征就是像素点坐标之间的欧氏距离,很明显此处选择欧氏距离的表达方式更方便,如果rij的表达方式选择欧氏距离,那么rij的值越小,则表示Xi与Xj离的越近,选择合适的距离λ,当rij<=λ时,rij=1,表明 Xi与 Xj属于同一类,其余情形rij=0,这样得到了相应矩阵Rλ,根据Rλ中各个元素的值便可实现类的合并。

2 图像中特定颜色安全帽的提取

本文所研究的情形中,安全帽区域为感兴趣区域(ROI),而且安全帽的颜色相对固定,较为完整的提取出安全帽区域是后续进行聚类、计数等步骤的基础,摄像头采集到的图像往往包含着好几种颜色的安全帽,本文则讨论三种比较容易快速提取出来(红色、棕色,黄色)的安全帽,这三种颜色的R、G、B三个通道的取值具有很明显的有助于区别于空间中其他颜色的特征,根据这些特征提取出这些安全帽区域的二值图像,而白色的安全帽与空间环境的背景颜色很接近,所以很难将其从图像中提取出来,而对于蓝色安全帽,它的三个通道的取值非常接近,并且与背景中较暗的部分难以进行有效的分离,所以很难在比较短的时间内比较准确的提取出蓝色安全帽的区域。

颜色特征是安全帽的最明显的特征,可以利用安全帽的颜色特征将特定颜色的安全帽从照片的背景中提取出来,参考文献[3]中颜色提取的方法,这里先提取原始照片中的红色、黄棕色两种颜色的安全帽区域,利用不同色彩R、G、B三通道的颜色值的取值范围,可以很轻松的提取出三种(红色、棕色,黄色)安全帽的区域,设R(i,j)、G(i,j)、B(i,j)分别为某个像素点(i,j)的三通道颜色取值,通过尝试可以发现满足下面条件的取值的像素点可以将红色、棕色的区域提取出:

这里取a=30,b=c=40。通过这些条件找出的区域记为U1。

通过类似的原理,提取出黄色安全帽的区域,具体如下:

通过经验尝试,取e=f=80,g=200。记提取出的黄色区域为U2。

在本文所采用的实验图片中蓝色与白色的安全帽像素点都不满足(3)式与(4)式那样的明显区别于空间背景色的特征,所以目前为止很难快速的进行有效提取。

则接下来要研究的对象便是U=U1⋃U2。实践证明,通过这种方式能够较快的将三种(红色、黄色、棕色)颜色的安全帽区域找出来,进而形成标明这些安全帽的二值图像如下:

图1 安全帽区域提取效果图

可以看出,根据彩色图像的像素点的三个通道的取值可以将相应的安全帽对应的区域提取出来,从图1可以看出,安全帽区域基本完全被提取出来了,但是安全帽区域内部出现了一些值为零的像素点,这是由于光照分布不均匀,反光所造成的,如果这部分区域过大,将会影响后面安全帽实际边缘附近点的消除,进而影响靠近安全帽中心点的获取,为了尽量减小这部分像素点,考虑进行连通域填充,膨胀或者调整a~g这几个参数,考虑此处实际场景,要求算法效率尽可能高,而连通域填充算法过于复杂,图像膨胀又会将靠的很近的区域连在一起,调整参数的方法能在很短时间内提取出相应区域,而且通过调整相应参数又能将安全帽内部区域的零像素点数目减少到足够少,设图像U为h*w像素大小,本文中为提高算法运行效率,将所有待测图片统一为293×499的大小。

3 模糊聚类获得安全帽数量

3.1 安全帽中心附近像素点的获取

对于之前步骤提取到的安全帽区域的二值化图像,安全帽有一定大小,在实际的电梯内部情形中,两个安全帽有可能离得比较近,更有可能出现相互遮挡的情形(遮挡的情形暂不讨论),所以不可能直接提取这些像素点进行模糊聚类,通过观察发现安全帽边缘的像素点的周围有更多的零点,而靠近安全帽几何中心的像素点周围则具有更多的亮点,基于此,可将靠近安全帽边缘的一部分像素点清除,余下的像素点更加靠近实际的几何中心,这样一来,就为模糊聚类提供了很大的帮助,此处为了降低运算复杂度,将安全帽区域的像素点离散化,具体如下:

将提取到的二值化图像的非零点保存在一个矩阵A中,A是一个N行2列的矩阵,第一列保存着横坐标,第二列保存着纵坐标,此处N表示非零像素点的个数,此处没必要将所有的像素点都保存,只需要选取一些有代表的像素点,此处采取采样的方式将连续分布的像素点进行离散化,对于提取出来的随机排序的像素点按照相等的坐标间距再次提取得到保存像素点坐标的矩阵E,已达到降低运算复杂度的目的(此处根据实际情况每隔三个坐标取定下一个坐标),这样得到的像素点基本均匀的分布在图像中安全帽的区域范围内,很明显E⊂A,假设E中保存了k组坐标。E中保存的坐标点如下图所示(这是只有一个安全帽的情形):

图2 像素点的离散化采样示意图

为了得到一小部分接近安全帽实际中心的像素点,此处采取“逐步逼近”的方法,即逐步消除安全帽边缘的点,这样就可得到接近实际中心的一部分像素点坐标,根据边缘附近的像素点周围一定区域内的非零点数量或者说非零点所占的比例小于内部的像素点,可以将外部轮廓附近的非零点置零,最后得到的非零像素点都是非常接近安全帽中心的,具体如下:

生成一个与U完全相同的图像,记为I,以I为背景参照计算E中保存的所有坐标点的周围10个像素点范围内非零像素点所占的比例,记为p,即:

其中,E(i)表示矩阵E中第i行所保存的一组坐标,count(E(i))表示在二值图I中E(i)周围10个像素距离范围内非零像素点的数量,而sum(E(i))则表示在图I中E(i)周围10个像素距离范围内的像素点总数量。

然后设定条件如下:

根据实际情景和经验尝试,选择e=0.8,将E中满足式条件的像素点保存到d中,d依然是每行保存一组坐标,显然d⊂E(假设d中保存了f组坐标)。在二值图I中将距离d中所有坐标s距离内的像素值全部置为零(s的具体表达形式在后面讨论)。具体如下:

设distance(a,b)表示a、b两组坐标之间的欧氏距离,则在二值图像I中与d中某一个坐标距离小于s的所有非零像素点的集合可以表示为:

如图3,较大圆形表示安全帽轮廓,大圆内部包含的小圆则表示通过“逐步逼近”方式寻找到的靠近安全帽几何中心的像素点:

图3 寻找模糊聚类样本点示意图

通过将安全帽边缘附近的非零像素点置零这种方式来逼近安全帽的实际中心会将较小的安全帽区域完全消除。基于这种情况,此处根据安全帽的大小,不妨先将消除半径s稍微设置的大一些,这样较小的安全帽被完全消除,剩余一部分较大安全帽的靠近中心的区域。

3.2 模糊聚类获取安全帽的数量

找出I与E的交集部分像素点即:c=I⋂E,将c作为模糊聚类的样本点,按照(1)式构造模糊矩阵R,在R这个矩阵中,r的形式采用欧氏距离的表示方法,即:

这样,模糊矩阵R便形成了,选定λ=18,即:

当ri,j=1时,表示c中第i个坐标分量可以和第j个坐标分量进行合并,它们是属于同一个安全帽内部的像素点,合并之后形成一组保存着一部分安全帽中心坐标的矩阵center。center中依然可能存在离的很近的若干组坐标,此时只需将center中保存的坐标再次进行一次上面所述的模糊聚类,将离的近的中心进行合并得到新的center,这就防止了安全帽的重复计数。

通过计算机测试发现,对于离得比较近的两个安全帽也会有一定的效果,但是对于安全帽之间有相互遮挡的情形很难有效果。

上面的步骤将较小的安全帽区域完全消除,未能找到它们区域内的像素点,很明显接下来要适当减小s,以防止较小的安全帽区域被完全消除,在U图中将center中所有坐标的周围30个像素范围内的非零像素点置为零像素点,利用MATLAB在U与E中将center中所有坐标的周围30个像素范围内的所有像素的坐标值保存在矩阵D中,然后将U与E中属于D的那部分像素点取值均置为零,即:

这样便形成了新的U和E,将E矩阵中为零的行清空,形成新的E,之后再进行下一轮靠近安全帽实际中心的像素点的提取,同样的进行模糊聚类,获得聚类中心和安全帽数量。

如此进行下去,直到t>tmax,得到最终的安全帽个数。具体流程如下(tmax为必要的最大的边缘消除的操作数,下面有说明):

图4 中心点附近像素点的获取及模糊聚类流程示意图

3.3 消除半径s的选取

由于拍摄视角不同,不同位置的安全帽所展现出的大小轮廓也不尽相同,事实上,在消除安全帽边缘非零点时希望得到数量尽可能少、而且离真实安全帽中心尽可能近的点,这就要求进行每一轮消除安全帽边缘区域时,消除半径s尽可能大,即在不将所有像素点置为零的情况下,将尽可能多的像素点置为零,又由于之前的分析s的取值应该是逐渐减少的,这里按照如下方式设置s:

其中t=1,2,…tmax,tmax为必要的最大的边缘消除的操作数,这里设为tmax=8,t初始值为1,每当完成一轮边缘附近像素点的消除,t的值增加1,就这样循环下去,直到 t>tmax。

4 实验结果及分析

实验利用MATLAB在PC上运行,实验所用图像为在实验室中拍摄所得,图像中人数较多,在10个以上,在图像中安全帽没有相互遮挡且相互之间距离不是特别近的情形下,本算法体现出了较好的效果,可以有效地统计出安全帽数量,并对安全帽进行定位。

个人PC机配置为主频2.40Ghz,内存为4.00GB,程序运行时间约为0.72秒,所采用的图片为在教室中模拟电梯中场景拍摄所得,通过对50张图片的测试,该算法的平均运行时间为0.72秒,准确率在86%以上。

通过对参与聚类的点进行上述简化与处理,再进行模糊聚类,可以得到安全帽的数量以及各个安全帽的大概位置坐标,可以在原彩色图像中标出安全帽如图5所示。

5 结语

本文采用模糊聚类算法进行图像中彩色安全帽的统计计数,根据安全帽颜色特征提取出安全帽区域,此后,在这些非零的像素点中通过采样将安全帽区域坐标离散化,选取出了一些代表性坐标,从而降低了运算复杂度,然后根据安全帽边缘附近的点周围零像素点占的比例比较高这一特征,将靠近安全帽实际边缘的非零像素点清除(变成零像素点),这样就得到了靠近安全帽实际中心的一部分点,这一过程相当于对模糊聚类进行了优化,通过模糊聚类,可以得出大小在一定范围内的安全帽数量,然后在二值图像中将这些安全帽对应区域的像素点取值变为零,然后使用同样类似的方法去寻找轮廓更小的安全帽,如此进行下去,直到满足循环结束的条件。实践证明,光照条件较好的情形下该算法对特定颜色(红色、棕色、黄色)的安全帽表现出了一定的准确度,对于有安全帽离得比较近甚至是一定程度轻微的粘连的情形依然表现出了一定的准确性,与现有的算法相比较,可以对场景中不同大小和轻度粘连的情形进行比较准确的定位,对人员比较密集的情形也能较好的应对,但是该算法计数结果对参数设置比较敏感,也会受到其他相同颜色物体比如衣服颜色或者较大面积的相同或相近颜色物体的干扰,对于安全帽有比较严重互相遮挡的情形也不能做出正确的判断,之后将对算法进行改进,以期克服这些缺陷。

图5 聚类结果及安全帽位置示意图

[1]应俊.基于计算机视觉的电梯轿厢内人数统计研究[D].硕士学位论文.杭州电子科技大学,2012.

[2]靳海燕,熊庆宇,王楷,石为人.基于图像处理的电梯轿厢内人数统计方法研究[J].仪器仪表学报,2011,32(6):161-165.

[3]杨静,惠秦双,徐彬.基于多信息融合的施工升降机轿厢人数统计方法研究[J].西安理工大学学报,2015,31(2):238-241.

[4]周迅,陶青川.基于HOG的电梯人数统计方法研究[J].现代计算机(专业版),2014(01).

[5]曾山.模糊聚类算法研究[D].博士学位论文.华中科技大学,2012.

[6]Ruspini HE.A New Approach to Clustering.Inf Cont.,1969,15:22-28.

[7]Zadeh LA.Similarity Relations and Fuzzy Orderings.Inf Sci.,1971,3:177-85.

[8]冯伟兴,梁洪,王臣业.Visual C++数字图像模式识别典型案例详解[M].第1版.北京:机械工业出版社,2012:118-120.

[9]谭颖.文本挖掘中的聚类算法研究[D].硕士学位论文.吉林大学,2009.

猜你喜欢

二值安全帽像素点
矿工有无数顶安全帽
小小安全帽,生命保护伞
混沌伪随机二值序列的性能分析方法研究综述
支持CNN与LSTM的二值权重神经网络芯片
基于二值形态学算子的轨道图像分割新算法
基于canvas的前端数据加密
基于曲率局部二值模式的深度图像手势特征提取
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
基于Node-Cell结构的HEVC帧内编码
肤色检测和Hu矩在安全帽识别中的应用