华南理工大学《数据挖掘》实验报告.docxVIP

华南理工大学《数据挖掘》实验报告.docx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

SouthChinaUniversityofTechnology

华南理工大学《数据挖掘》

实验报告

题目:数据仓库与数据挖掘实验

K-means图象分割

学院计算机科学与工程

专业计算机科学与技术(全英创新班)

学生姓名黄炜杰

学生学号202230590051

指导教师王家兵

课程编号145013

课程学分2分

起始日期2015年5月18日

实验概述

【实验目的及要求】

目的:

实现K-means聚类算法进行图象分割.

要求:

·以迭代次数为终止条件

·用图象分割Berkeley图片数据库中的图片作为数据集

·根据具体图象,自主设定k值

·尽量多使用一些图象特征,例如组合颜色、空间邻近性、纹理、SIFT等特征

【实验环境】

操作系统:window8(64bit)

编译器:MatlabR2022b

编程语言:Matlab

实验内容

【实验方案设计】

实验流程如下图1:

①含糊化③k-means聚类、

含糊图片

②特征提取

数据矩阵

分割

子图子图

子图

图1.k-means图象分割实验流程图

①根据像素点色度,把原图片进行平滑含糊化,减少孤立点数目,提高聚类质量。

②根据原图片进行变换,提取像素点特征,把图片转换为数据矩阵。

③对每一个像素点进行聚类,根据聚类结果对图片进行分割,产生分割子图。

实验过程:

含糊化

原始图片中,若清晰度很高,同一物体中(聚类中的同一类)存在少数点与其他点区分度很大,肉眼粗略看没有什区别,但是这些点却会对聚类产生很大影响,生成一些列很零散的点群,降低聚类质量。如图2中,绿色框中存在大量零

散的孤立点,而红色框中,可以看到物体的轮廓比较粗糙,分割结果并不理想。

图2.样本图片含糊化前分割结果

对图片进行含糊化有助于去除孤立点,减少噪声,使得分割后的图象连通性更强。在本实验中,含糊的处理方法是根据像素点的邻居点对本身进行平滑,大

致算法如下:

1.计算每一个像素点的8个邻居点与本身的相似度,根据相似度对每一个邻居点

赋予权重w;,其中w;=similarity:/sum(similarity)

2.设定比值r%,每一个像素点的色度r%由本身决定,(1-r%)由邻居点决定。

3.更新每一个像素点的色度:

色度=色度*邻居点j色度*w,*(1-r%)

4.重复步骤1~3k次,其中k为用户预设值

下图是进行3次含糊化后,可看出仅仅经过3次含糊化迭代,图象的锐化程度大大降低,可见图中红色方框,含糊化前狗背部毛发的纹理非常清晰,不少黑白相间的点,而含糊化后毛发颜色变得平滑,在背景颜色与毛发中某些颜色很相近的情况中,含糊化前的图象可能会导致错误的分割结果,而后者避免了这一问

题。

较之直接根据附近8个邻居点取平均值进行含糊化,这种加权含糊化的方式

不仅没有使物体边界变得含糊,反而增加了其区分度。

聚类时使用的是含糊化的图象,而最终得到分割图片仅利用含糊图片的点进行索引,内容还是使用含糊化前的图象。所以含糊化过程仅仅改善分割结果,不

会降低图片的质量。

含糊化图象

图3.样本图片含糊化先后

对含糊化先后的图片分别进行k-means聚类分割,结果对照在图4中。留意分割结果中的绿色框,含糊化前产生了较多的零散点群,而含糊化后,零散点群的数量大概减少了60%,而物体边界则变得更加平滑,分割效果变好。虽然分割结果并没大大提升,但是此处理方法计算代价比较少,值得采取,其时间复杂度为O(n*t),其中n为像素点个数,t为迭代次数。含糊化此大小为552*799个像素点的样例图片,只需要1.049秒(其中本机配置:CPU2.5G四线程,RAM=4G,

非SSD硬盘)。

分割子图-1分割子图-1

bfus)

分割子图-2分割子图-2

含糊化前

图4.样本图片含糊化先后分割结果

含糊化代码函数存储在imObfus.m中,其中核心代码为:

%%记录邻居点

neighPoint=repmat(imInput.[1118]):

neighPaint(1:end-1,::,1)=imInput(2:end::);

neighPoint(2:end,:,:,2)-inInput(1:end-1,,:);neighPoint(:

文档评论(0)

+ 关注
实名认证
文档贡献者

大部分作品为个人原创作品,部分作品整理于网络,旨方便供大家学习和参考,版权属原创作者所有,如有侵权,请联系删除。

1亿VIP精品文档

相关文档