N聚类中心: vj??ruii?1Nii?1mji?mjii
?ru注:ri是灰度值为i的的像素点的个数
EnFCM提供了与 FCM_S可比的分割结果,但其分割的质量取决于所选择的窗口大小,参数a和过滤方法。如果参数a选择是足够大,该方法抗噪声强。但是,另一方面,当a选择足够小时,可分段图像保持其清晰度和细节。然而,如果没有图像噪声的先验知识,选择参数并不是一件容易的事,只能通过经验或通过反复多次试验得出理想的值。
E、模糊局部信息聚类FLICM(Fuzzy Local Information C-Means
Clustering Algorithm):
Stelios Krinidis和Vassilios提出了一种改进的模糊C -均值的聚类(FCM)算法,用于图像的聚类分割。改进算法结合局部空间信息和灰度级信息,是一种新型的模糊方式,被称为模糊局部信息C -均值(FLICM)。 2010年4月发表在IEEE上。
FLICM定义了有如下特性的模糊因子:
(1)包括空间信息和灰度级信息,提高鲁棒性和噪声灵敏性 (2)以邻域像素到中心像素的距离,控制其影响 (3)使用原始图像,避免预处理可能会导致细节丢失 (4)无任何参数的选择
定义的模糊因子:
Gki??j?Nii?j1??1?ukjdij??mxj?vk2
N目标函数:
Jm???i?1j?1ccm?ukixi?vk?2?Gki???
隶属度值:uji?1?(j?1xi?vkx?vij2?G?G
ki1/m?12)jiN 聚类中心:vk?uxjimi?i?1N?ui?1mki
该算法对噪声容限和离散抗阻性能,完全依靠新的模糊因子,因为Gki是自动确定,而不是人为设置的。即使在没有任何先验的噪声知识的情况下,该值将自动在每次迭代中重新计算,汇聚成中央像素的值从而保持噪声和离散的不灵敏性。
三、实验结果:
(1)经典FCM和HCM算法结果比较:
图1 分割三类 背景与目标分割清楚 效果差不多
(2)FCM_S/FCM_S1/FCM_S2结果比较:
图2 三种方法对图像的分割效果差不多,只是后两种运行时间短
(3)EnFCM和FLICM结果比较:
图3 无噪图像分割,都将目标和背景很清楚的分开
(4)七种聚类方法对加噪图像分割结果比较:
FCM只是对每一个像素点的灰度值作用,故噪声对分割进多影响较大;
FCM_S及其变体1,2通过对像素点的邻域求和均值中值化,对图像进行了滤波预处 理,但在更新隶属度核聚类中心时也考虑了原图像,因此对噪声和离散点仍然敏感; EnFCM通过线性加权对图像进行了预处理,但处理时亦考虑了原图像,故噪声和离 散点仍然对分割结果有影响;
FLICM定义的模糊因子通过距离和灰度值对图像进行滤波处理,大大降低了噪声对分割的影响,也通过每次更新提高了算法适应度。
高斯噪声 椒盐噪声
2%
2%
四、小结(我的收获):
暑期实习的这次试验,是我第一次自己动手做一个较大的实验。以前很多的实验,上机作业等都借助很多的参考,老师同学的帮助,很少自己一个人编写一个解决问题的程序,更就没有过冥思苦想如何解决一个问题的经历了。
基于FCM的图像分割,是图像分割方面最常用最经典的方法,之前的课程,实验等都有接触。所以刚拿到题目时,我认为很简单,把以前的程序拿来改改,心想就能完成任务。自己也在网上搜了一些有关FCM图像分割的论文,但都不是最原始的文献。
当我拿到老师给我的Stelios Krinidis 和 Vassilios Chatzis在IEEE上发表的论文:A Robust Fuzzy Local Information C-Means Clustering Algorithm时,借助词典翻译看完整篇论文,我对论文里提到的方法,以及解决问题是循序渐进的思考方式所吸引。于是我开始用MATLAB编程实现文中提到的各种算法,但由于对MATLAB了解不深,在编程过程中出现了很多大大小小的问题,也浪费了很多时间。
很感谢朱双娇同学帮我找错改错,终于在答辩的前一天把所有的程序都成功的调试出来。但由于时间仓促,没有对每一种方法进行更深入的研究,分割结果只能实现分割三类或两类。几种方法中参数a的值也没有进行大量实验找到最优值,只找到了可行值。还有答辩当天缑水平老师的提问,她问我对分割结果的评价标准以及分割的图片是怎么找的。我才知道,一直以来,我对图像分割的理解的错误,分割并不是对像素点的归类,而是为了更好的后续研究,比如说将背景和目标分开;还有有些图片不适合图像分割,就看不出分割的效果,更说明不了算法的优越性。
根据缑老师的指导,我昨天又对算法进行了完善和改进,使其对二类分割效果更好,也重新找了一些易于分割的图像,背景和目标都明显的图像重新进行了试验。由于时间关系,我还做得很不够,但我已经对这个题目感兴趣,我会继续做下去,找出
每个算法适合哪类图片,找出算法的优化方法···
这次试验让我知道,即使是一个验证试验,别人的理论方法都讲得清清楚楚,但你要把它变成自己的知识,要编程实现他们,还是一件很困难的事。创新与思考的第一步,就是要站在巨人的肩上,知道巨人们做过什么,而你也要会做,不是吗?
最后,我真诚的感谢王爽老师的指导,短短两周,我感触很深,也学到很多。