模糊C均值聚类图像分割的.net设计与实现

2017-04-25 06:38杨志飞严天峰杜丽霞
实验室研究与探索 2017年3期
关键词:车牌均值聚类

杨志飞, 严天峰, 杜丽霞

(兰州交通大学 电子与信息工程学院,兰州 730070)

模糊C均值聚类图像分割的.net设计与实现

杨志飞, 严天峰, 杜丽霞

(兰州交通大学 电子与信息工程学院,兰州 730070)

提出了一种新的基于模糊C均值(FCM)聚类的图形图像分析方法,并采用高级语言对其进行了设计与实现。阐述了FCM聚类的基本原理,建立了FCM聚类的类别识别模型,研究了FCM聚类分类的模型的缺陷并提出优化策略。在此基础上,采用.net与FCM聚类相结合的算法,展示了FCM聚类的算法优势,采用.net语言提高了FCM聚类分析的速度与聚类效果,多线程的应用更好地展示了FCM在图形图像分析中的优势。通过对不同情况下车牌图像的分割分析,提升了FCM对复杂图像的应用效果。

聚类; 模糊分析; 图像

0 引 言

K-均值算法[1-4]]是一种经典的聚类分析算法,它具有算法简单且收敛速度快的优点,K-均值聚类算法的基本思想是先随机选取K个对象作为初始的聚类中心。然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算。该过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。但是,算法的聚类结果易受初始聚类中心影响,且容易陷入局部最优。

作为一个聚类算法[5-7],希望它所分的类之间耦合度低,类内的聚合度高,即类内离散度矩阵中的数值要小,而类间离散度矩阵中的数值要大,其目标为使准则函数收敛。

本文提出了基于RGB的欧式距离方程,增强了RGB图像聚类分析,同时,采用.net的并行运算技术,提高了运算效率,缩短了运算时间;使用工作者线程,提高了算法的用户响应。

1 传统的K均值聚类转换为模糊C均值聚类

模糊C均值(FCM)聚类[8-10]是K均值聚类的优化与扩展,FCM算法的基本思想是在K均值聚类的基础上增加模糊隶属度,其目标函数定义如下:

(1)

式中:J为目标函数;n为数据点数;C为聚类数;μ为模糊分类矩阵,

(2)

m为加权指数(即模糊指数m>1);pi为图像E中的第i个像素;vk为第k个聚类的聚类中心,

(3)

|pi-vk|为第i个数据点pi与聚类中心vk之间的欧式距离,

(4)

该算法的具体步骤如下:①设定聚集数,模糊参数与停止条件;②初始化隶属度矩阵;③设定循环计数k=0;④计算聚类的聚类中心,计算目标值J;⑤对每个像素、每个聚类计算模糊分类矩阵值;⑥如果J值在迭代过程中小于停止条件,迭代终止,否者,k=k+1,转到④步;⑦分割数据。

2 基于C#的FCM分析算法实现

2.1 FCM类分析

根据式(1),在该公式中需要建立待分类的数据集p,聚类的聚类中心集v,模糊分类矩阵μ,目标函数J等关键属性;同时根据上述分析需要建立距离函数,聚类中心计算函数,模糊分类矩阵计算函数与目标函数等方法。

为了便于对RGB图形图像进行聚类分析[11-16],根据RGB图像的特点有R、G、B 3种基本颜色,其他颜色可以用这3种色合成,从而可以将RGB图像看做三维向量分别为R、G、B,建立基于RGB图形图像的欧式距离方程,

|pi-vk|=

(5)

2.2 FCM类设计

根据上述分析,建立FCM算法类命名为:

FCM,建立其属性与方法。

其中属性有:

待分类的数据点集

List〈ClusterPoint〉 Points;

聚类聚类中心集

List〈ClusterCentroid〉 Clusters;

模糊分类矩阵 double[,] U;

当前模糊度因子 double Fuzzyness;

目标函数值 double J;等。

其中方法有:

RGB图像距离函数:

CalculateEuclideanDistance(ClusterPoint p, ClusterCentroid c)

目标函数:CalculateObjectiveFunction()

聚类中心计算函数:

CalculateClusterCentroids()

模糊分类矩阵计算函数:

RecalculateClusterMembershipValues()

模糊C聚类函数:

FCM(List〈ClusterPoint〉 points, List〈ClusterCentroid〉 clusters, float fuzzy, Bitmap myImage, int numCluster)

2.3 FCM的关键代码实现

根据式(4)知,RGB图像的距离代码如下:

double CalculateEuclideanDistance(ClusterPoint p, ClusterCentroid c)

{

return

Math.Sqrt(Math.Pow(p.PixelColor.R - c.PixelColor.R, 2.0) + Math.Pow(p.PixelColor.G - c.PixelColor.G, 2.0) + Math.Pow(p.PixelColor.B - c.PixelColor.B, 2.0));

}

模糊分类矩阵的初始化过程

void Init()

{

//遍历点集,初始化分类矩阵U

for (int i = 0; i 〈 this.Points.Count; i++)

{

ClusterPoint p = this.Points[i];

double sum = 0.0;

for (int j = 0; j < this.Clusters.Count; j++)

{

ClusterCentroid c = this.Clusters[j];

diff = Math.Sqrt(Math.Pow(CalculateEuclideanDistance(p, c), 2.0));

“师长话语”给人的感觉始终是一种严谨、拘束的状态。在中国这样的礼义之邦,适当的严肃能够树立一定的威严,但面对现今普及化的大学教育,过于严肃的话语方式很难起到实质性的教育效果。学生不会对大而空的套话、官话感兴趣,他们所需要的是新时代励志教育所注入的新的思维话语模式。

U[i, j] = (diff == 0) ? Eps : diff;

sum += U[i, j];

}

}

}

FCM算法迭代代码如下:

FCM alg = new FCM(points, centroids, 2, filteredImage, (int)numericUpDown2.Value);

do

k++;迭代次数计数

alg.J = alg.CalculateObjectiveFunction();

alg.CalculateClusterCentroids();

alg.Step();

double Jnew = alg.CalculateObjectiveFunction();

if (Math.Abs(alg.J - Jnew) < accuracy) break; //精度满足退出

} while (maxIterations > k);//迭代次数满足退出

2.4 基于图像的FCM处理流程

FCM对图像分割的处理流程如图1所示。

图1 FCM处理流程

3 基于FCM的图像聚类分析

为了验证FCM分类的有效性,本文采用两类图像,第1类选用简单车牌图像进行FCM分析,结果如图2~4所示。在该车牌图像中有2个基本的颜色图像为白色与蓝色。设定分类参数见图3;分类结果如图4所示。

图2 待分割的图像

图3 参数设置

图4 FCM聚类分析结果

由上述结果可见,FCM很好地对车牌区域进行了识别分析。为了进一步验证FCM聚类的正确性,给定复杂的多颜色车牌图像尽心分割处理,结果如图5所示。在该图像中车身为黄色,车牌为蓝色,号码为白色。FCM分析结果如图6所示。

图5 待分析图像

从上述图形切割分析可以看出,FCM对复杂图像亦具有良好的分割效果。

4 结 语

本文说明了FCM聚类能对图像进行很好的分析识别分割,并将其用C#语言实现,取得了较为理想的结果。根据算法分析可以看出,FCM聚类比K均值聚类分析及神经网络增加了模糊度,使得类别隶属更合理科学,使聚类更优。

[1] 胡 伟. 改进的层次K均值聚类算法[J]. 计算机工程与应用,2013,49(2):157-159.

[2] 傅德胜,周 辰. 基于密度的改进K均值算法及实现[J].计算机应用,2011,31(2):432-434.

[3] 刘靖明,韩丽川,侯立文.基于粒子群的K均值聚类算法[J].系统工程理论与实践,2005,25(6):54-58.

[4] 曹志宇,张忠林,李元韬.快速查找初始聚类中心的K-means算法[J]. 兰州交通大学学报,2009,28(6):15-18.

[5] 贲志伟,赵勋杰.基于改进的k均值聚类算法提取彩色图像有意义区域[J].计算机应用与软件,2010,27(9):11-13.

[6] 黄祥东,夏士雄,牛 强,等. 基于K均值的“教”与“学”优化算法[J]. 计算机应用,2015, 35 (11):3126-3129.

[7] 李林林,张效义,张 霞,等. 基于K均值和k近邻的半监督流量分类算法[J]. 信息工程大学学报,2015,16(2):234-239.

[8] 肖满生,肖 哲,文志强,等. 模糊C均值聚类区间型模糊化参数模型[J]. 系统工程与电子技术,2015,37(4):868-873.

[9] 熊拥军,刘卫国,欧鹏杰. 模糊C-均值聚类算法的优化[J]. 计算机工程与应用,2015,51(11):124-128.

[10] 庞淑敬,彭 建. 一种改进的模糊C均值聚类算法[J]. 微计算机信息,2012,28(1):161-162.

[11] 胡 磊,牛秦洲,陈 艳. 模糊C均值与支持向量机相结合的增强聚类算法[J]. 计算机应用,2013,33(4):991-993.

[12] 李志梅,肖贵德.快速模糊C均值聚类的图像分割方法[J].计算机工程与应用,2009,45(12):187-189.

[13] 杨润玲,高新波.基于加权模糊C均值聚类的快速图像自动分割算法[J].中国图象图形学报,2007,12(5):2106-2112.

[14] 何 月,申铉京.基于塔形信息空间约束 FCM图像分割算法[J].计算机工程,2011,37(20):210-214.

[15] 吴大林,郭大勇.改进的FCM在人脑MR图像分割中的应用[J].清华大学学报,2004,44(2):157-159.

[16] 裴继红,谢维信.直方图模糊约束 FCM 聚类自适应多阈值图像分割[J].电子学报,1999,9(10):38-42.

Design and Realization of Imagine Analysis by Using .net Technique and Fuzzy C Means Clustering

YANGZhifei,YANTianfeng,DULixia

(School of Electronic & Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China)

A new analytical method based on fuzzy C means (FCM) clustering is proposed and realized. FCM clustering is an extension of K means clustering to fuzzy discriminant analysis. Firstly, the basic principle of FCM clustering is displayed, then the model on FCM for image is built. Secondly, the defects of FCM model are detailed, then the optimization strategy is put forward. Finally, the model is realized by C# language, the .net technique better displays its advantages and improves clustering analysis speed and effect. The result shows the advantages of FCM in image analysis and complex image application.

clustering; fuzzy analysis; image

2016-06-23

甘肃省自然科学基金项目(215213);兰州交通大学校青年基金项目(2015008)

杨志飞(1980-),男,山西沁县人,讲师,现主要从事模式识别与智能系统研究。

Tel.:15117271298;E-mail:yzf@mail.lzjtu.edu.cn

TP 393

A

1006-7167(2017)03-0020-03

猜你喜欢
车牌均值聚类
基于K-means聚类的车-地无线通信场强研究
数字图像处理技术在车牌识别系统中的应用
第一张车牌
基于高斯混合聚类的阵列干涉SAR三维成像
基于MATLAB 的车牌识别系统研究
均值与方差在生活中的应用
关于均值有界变差函数的重要不等式
一种层次初始的聚类个数自适应的聚类方法研究
对偶均值积分的Marcus-Lopes不等式
关于广义Dedekind和与Kloosterman和的混合均值