一、使用背景

我在进行乳腺癌图像识别的学校项目中,参考了山东大学的硕士论文,并希望加以简化复现,此论文会在文末附上。项目要求我们需要对乳腺癌图片进行分类(无肿瘤,良性肿瘤,恶性肿瘤),参照论文所说,我们需要将乳腺图片分割成以超像素为单位的像素块,并以每一个超像素块为单位进行后续操作,在此我整理一下我在使用slic算法来进行超像素分割的一些经验感受,以便后来复盘回溯。

二、Slic算法

(1)基础知识

1、此代码中涉及到了一个与RGB不同的颜色模型,LAB------Lab颜色模型是由CIE(国际照明委员会)制定的一种色彩模式。自然界中任何一点色都可以在Lab空间中表达出来,它的色彩空间比RGB空间还要大。其中L表示亮度,其中的取值范围是[0,100],表示从纯黑到纯白;a表示从红色到绿色的范围,取值范围是[127,-128];b表示从黄色到蓝色的范围,取值范围是[127,-128]。

2、超像素:以个人理解是一群具有相似特征(颜色,纹理,有较近的距离)的像素点,聚合成一起形成一个像素块,将整张图片进行分割,以便后期使用。

(2)算法以及伪代码解析

/∗ Initialization ∗/Initialize cluster centers Ck = [lk , ak , bk , xk , yk ]T
by sampling pixels at regular grid steps S.
Move cluster centers to the lowest gradient position in a 3 × 3 neighborhood.
Set label l(i) = −1 for each pixel i. Set distance d(i) = ∞ for each pixel i.repeat
/∗ Assignment ∗/
for each cluster center Ck dofor each pixel i in a 2S × 2S region around Ck doCompute the distance D between Ck and i.if D < d(i) thenset d(i) = Dset l(i) = kend ifend for
end for/∗ Update ∗/Compute new cluster centers. Compute residual error E.
until E ≤ threshold

1、首先在需要处理的图片上选取聚类中心,每两个相邻初始聚类中心的距离近似S。其中需要自己确定需要的超像素数目K,被处理图片的所有像素点为N,S=

2、移动初始聚类中心到以它为中心的3×3范围中梯度最小的地方,成为新的聚类中心。

3、以下开始循环,为每一个聚类中心周围(搜索范围在2S×2S,但是最终超像素范围是S×S)中进行搜索遍历,并打上标签(例如以第一个超像素为中心搜索出来的点都包含在第一个超像素中)

4、进行分类条件距离如下图所示

d_lab是当前聚类中心点与当前遍历像素的色彩距离,d_xy是当前聚类中心点与当前遍历像素空间距离 ,D‘是最终判断当前遍历像素能否和当前聚类中心打上相同标签的距离(D’与当前像素到前一个聚类中心的距离作比较,若是小于则当前像素标签更新到现在的超像素中,否则仍属于上一个超像素范围)。其中m决定超像素的紧凑程度,m越小,超像素越贴合图像边缘,m越大,超像素越趋近于独立的四边形,一般m的取值范围在[1,40]之间。

5、在一次遍历后,还需要重新计算聚类中心,选取当前超像素块中D'值最小的像素点作为新的聚类中心点。

6、迭代4,5步,直到最后聚类中心趋近于不变,最后停止(一般迭代10就可以获得较好效果)。

7、在最后,有较小的超像素,就会合并到周围较大的超像素中去。

(3)个人思考

1、为什么超像素是十分不规整的,并且最后得到的分割后的图片产生的超像素个数会与当初设定的个数K有出入?

答:因为在每次迭代过程中,像素被打成属于某个超像素标签是基于D’的大小,一个像素和很可能被许多超像素遍历到,但只能属于一个超像素,即进行比较取D‘较小的划分,那么综合下来就是不规整的了。

2、在分割出超像素后,需要如何去进行下一步操作呢?

答:如果需要对超像素进行颜色特征提取,纹理特征提取等都需要逐像素进行,在算法的实现过程中会明确得到一个超像素中有哪些像素,比如每一个像素都会有l,a,b等属性,就可以计算一个超像素的颜色特征。

三、代码与运行结果

代码:SLIC算法分割超像素原理及Python实现 | 卡瓦邦噶!

图片来源:数据集|阿里·法米 (cu.edu.eg)

实现效果:

未经处理的恶性肿瘤图片

k=200,m=30的经slic分割后的图片

欢迎大家指正讨论,本人不胜感激!!!!!

参考论文:[1]叶碧. 乳腺超声图像处理技术的研究与应用[D].山东大学,2016.

乳腺超声图像处理技术的研究与应用 - 中国知网 (cnki.net)

超像素分割(Slic算法)——个人梳理相关推荐

  1. julia 调用python库_Julia调用Python实现超像素分割SLIC算法

    最近想要在julia中实现 Simple Linear Iterative Clustering (SLIC) 算法对图像进行超像素分割,关于SLIC超像素分割算法,请参考SLIC Superpixe ...

  2. 超分辨率分割SLIC算法实现过程遇到的问题,shape mismatch: value array of shape (3,) could not be broadcast to indexing

    超分辨率分割SLIC算法实现过程遇到的问题 shape mismatch: value array of shape (3,) could not be broadcast to indexing r ...

  3. 超像素(slic算法)特征提取(颜色,纹理)——个人梳理

    一.研究背景 在上一篇slic超像素分割的文章中,提到了需要对分割后的超像素进行特征提取,依旧为简化复现论文,论文在文末附上,在这里我整理以下特征提取过程中的代码以及心得,方便后期回溯复盘.本文的特征 ...

  4. SLIC超像素分割的算法介绍和源码分析

    前述 最近在看显著性检测,发现很多算法的基础是超像素分割,而正在看的Saliency Optimization from Robust Background Detection算法的预处理是SLIC算 ...

  5. 超像素分割算法————综述

    参考:超像素-学习笔记 什么是超像素?评价标准?SLIC.SEED.ETPS算法 比较的指标:图像边界的粘附性.算法速度.存储效率.分割性能 超像素算法:将像素组合成感知有意义的原子区域( atomi ...

  6. 图像分割:Python的SLIC超像素分割

    图像分割:Python的SLIC超像素分割 1. 什么是超像素? 2. 为什么超像素在计算机视觉方面有重要的作用? 3. 简单线性迭代聚类(SLIC) 4. 效果图 5. 源码 参考 1. 什么是超像 ...

  7. SLIC 超像素分割详解(三):应用

    看过上面的介绍后,我们应该思考一下:分割好的超像素有什么用?怎么用?用到哪里? 首先,超像素可以用来做跟踪,可以参考卢湖川课题组发表在IEEE TIP上的<Robust superpixeltr ...

  8. python-opencv实现图像超像素分割(SLIC、SEEDS、LSC)

    转载自:苏格拉- PYTHON - OPENCV实现图像超像素分割(SLIC.SEEDS.LSC) 超像素 超像素是把一张图片中具有相似特征的像素进行聚类,形成一个更具有代表性的大"像素&q ...

  9. SLIC超像素分割详解

    SLIC超像素分割详解(一) 超像素概念是2003年Xiaofeng Ren提出和发展起来的图像分割技术,是指具有相似纹理.颜色.亮度等特征的相邻像素构成的有一定视觉意义的不规则像素块.它利用像素之间 ...

最新文章

  1. python下载超链接文件-如何使用python从docx文件中提取超链接中的url
  2. c# is和as的区别
  3. Java实现算法导论中有限自动机字符串匹配算法
  4. 50%人使用视听设备音量超标,如何正确佩戴耳机?
  5. 《Python 数据分析》笔记——pandas
  6. ThreadLocal的学习
  7. 央行数字货币研究所悄然挂牌 工作人员:已有一段时间
  8. 如何实现input输入框自带清除按钮
  9. Android漫游记(1)---内存映射镜像(memory maps)
  10. 加密技术,给邮件安全加上一把锁
  11. 国产操作系统思普将起诉微软涉嫌“商业诋毁”
  12. 学历-GBT 4658-2006
  13. 『论文笔记』目标追踪结合相关滤波器资料收集+机器学习基础知识补充!
  14. XML实现异构数据库间转换的实现与分析
  15. 新手理解光猫和路由器
  16. 如何提高团队管理能力
  17. 一道google面试题--自然数e中出现的连续的第一个10个数字组成的质数
  18. 双系统Linux grub引导,双系统修复ubuntu grub2引导的方法
  19. Revit二次开发 外部命令和外部应用
  20. 基于LabVIEW的二维码识别程序

热门文章

  1. 使用大华惠智双目半球网络摄像机DH-IPC-HD4140X-E2获取人流量统计数据
  2. LTE(4G) - NR(5G) NSA Transfer (RRC UL Information transfer)
  3. 港科夜闻|香港科大张明杰教授课题组报道相分离介导突触前膜活性区的组织方式...
  4. 大新闻!微软正考虑添加 Python 为官方的 Excel 脚本语言
  5. 窗口DEA及matlab应用,文后有网盘链接
  6. 计算机信息技术的具体应用案例,信息技术应用案例学习心得体会.doc
  7. 网络蚂蚁与FlashGet的文件多线程下载原理
  8. 华硕触摸板关闭后AsusTPCenter.exe占用太多cpu资源
  9. 新电脑的正确打开方式——(近万字图文并茂详细分步骤讲解)【万一那天你就有新电脑了呢】包括个性化·等你来解锁哦
  10. 计算机——常用数制及转换