视网膜血管分割方法整理

news/2025/2/4 1:06:58/

Project introduction

眼底血管分割是一个成熟的分割主题任务,在网络上已经有很多的解决方案这里我只是记录一下我的解决方案,眼底血管有明显的形态学特征,但是血管的粗细不等给分割造成了难度,同时也会存在其他血管结构和视神经盘的干扰提高了分割任务的难度。

目前的解决方案有很多,使用各种方法都可以做到有效的提取,我才用比较常见的三种方法:

匹配滤波、形态学、深度学习,下面详细介绍

匹配滤波

使用匹配滤波也就是卷积滤波的方式,对血管边缘进行有效的提取从而提取出整个血管结构

优点:计算速度快,可以有效提取出血管,对于细小血管的检测能力尚可

缺点:错分是神经盘,对于细小血管分割能力较差(可以尝试调整卷积核大小)

这一段是参考的了我站的一篇帖子:

https://blog.csdn.net/qq_40511157/article/details/102770108?ops_request_misc=%7B%22request%5Fid%22%3A%22162641860416780357214110%22%2C%22scm%22%3A%2220140713.130102334…%22%7D&request_id=162641860416780357214110&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-102770108.first_rank_v2_pc_rank_v29&utm_term=眼底血管分割&spm=1018.2226.3001.4187

形态学处理

使用开包和闭包算法模糊图片然后使用减法突出血管结构

优点:简单,计算快,可解释性强

缺点:形态学操作噪点较多(中值滤波解决),二值化困难(硬搞吧)

这一段也是来源我站的一篇帖子

https://blog.csdn.net/virus1175/article/details/107126348?ops_request_misc=%7B%22request%5Fid%22%3A%22162641902416780357223650%22%2C%22scm%22%3A%2220140713.130102334.pc%5Fall.%22%7D&request_id=162641902416780357223650&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-2-107126348.first_rank_v2_pc_rank_v29&utm_term=眼底血管分割+形态学&spm=1018.2226.3001.4187

Unet

深度学习end to end的结构就十分不讲道理,不知道计算过程但是可以得到一个较好的分割结果

但是使用的数据集较小,需要数据扩增,分割任务对于原图像和mask需要做同样的操作才能保证训练的收敛。这里采用的扩增方式为patch进行扩增

优点:分割效果好,不受干扰

缺点:计算时间长,算力大

这一部分参考了隔壁的一篇帖子

https://zhuanlan.zhihu.com/p/346583714

预处理

Green Channel or GrayScale

可以使用绿色通道或者将图片做灰度化处理,此处没有详细对比两种方法的分割差异

Gamma Correction

提升图片整体亮度和暗度,也可以区分血管与周围组织的对比度

Contrast Limited Adaptive Histogram Equalization

可以有效地进行灰度拉伸提高血管与周围组织的对比度

Median Filter & Gaussian Filter

使用高斯滤波可以消除噪声,但是形态学操作不宜使用高斯滤波,形态学要使用中值滤波

预处理的流程有很大的发挥空间,我在处理图片时没有按照代码中的处理流程,选取了自己的处理方式,得到的结果也没有相差很多

Result & Summary

最后的结果对比

匹配滤波:DICE:0.74 TPR:0.70 TFR:0.97

形态学:DICE:0.74 TPR:0.70 TFR:0.98

UNet:DICE:0.87 TPR:0.87 TFR:0.97

最后UNet没有做完整数据集的验证仅验证了6张图片,所以整个数据集的值可能还会要再低一点

总的对比,两种非深度学习方法也取得了较好的结果,但是一味的使用深度学习也失去了一些意义……

Other Methods

还尝试了分水岭,不太行,但是提取掩膜倒是很方便

尝试了graphcut和region growth,均只能分割出较粗的血管对于细小的血管分割能力不足

但是以上两种方法在其他文献中均能够使用,至少region growth的方法是很符合常识的,或许可以尝试增加每次判断的点的个数,以半径为2的球形添加需要判断的点……但是region growth需要手动操作选出种子点,不太智能……

其他的使用svm进行分割,最朴素的分割思想,pixel by pixel 对于每一个像素点进行分类,最后拼出整张图片,考虑点周围的像素的信息,如均值,方差,余弦变换值等等,使用SVM需要注意的这是一个非平衡样本的处理所以对于样本点的选取也决定了训练模型的质量和分割能力,由于时间问题并没有在我的project里面解决这个问题……不过SVM的分类方法的确值得尝试,毕竟svm还是yyds……

感谢以上博主分享的开源代码,博文中如果有任何说的不妥当地方还请大家多多指教……
在这里插入图片描述
图1 使用深度学习的分割结果
在这里插入图片描述
图2 匹配滤波的结果

在这里插入图片描述
图3 使用形态学分割的结果


http://www.ppmy.cn/news/882331.html

相关文章

源自视网膜细胞的poisson disk distribution

在渲染中我们在做各种up sampling的时候,会常常使用poisson disk distribution。 常常来说,我们就知道这个东东效果很好,就作为一个“黑盒”工具来使用,和高斯blur有点像,反正就用了。 那这个poisson disk distributi…

那些TensorFlow上好玩的和黑科技

那些TensorFlow上好玩的和黑科技 Google于2017年2月16日(北京时间)凌晨2点在美国加利福尼亚州山景城举办了首届TensorFlow开发者峰会。Google现场宣布全球领先的深度学习开源框架TensorFlow正式对外发布V1.0版本,并保证Google的本次发布版本的…

数字视网膜演化简史

2020-04-01 20:32 导语:一位学者在学术领域开山立派,最显著的一个标志就是某个学术概念能够与该学者划等号 一位学者在学术领域开山立派,最显著的一个标志就是某个学术概念能够与该学者划等号,例如当提起相对论必然会联想到爱因…

视网膜分辨率_了解像素密度,分辨率和视网膜显示

视网膜分辨率 Digital content creators are abuzz about “high DPI” and “Retina” displays: how they are changing the nature of the web and complicating the design process. Before telling you how to develop images for these new devices, it makes sense to u…

MySQL表的约束与内置函数

目录 MySQL表的约束 空属性 默认值 列描述comment zerofill 主键 复合主键 自增长 唯一键 外键 MySQL的内置函数 日期函数 字符串函数 ​编辑数学函数 其他函数 MySQL表的约束 MySQL表的约束是用于规定表中数据的完整性和一致性的规则。 约束可以在创建表时定义&…

【Linux初阶】基础IO - 软硬链接 | 初识、理解、应用 文件acm时间

🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【Linux初阶】 ✒️✒️本篇内容:初识软硬链接,软硬链接的区别,理解软硬链接,软硬链接的应用,文…

苹果4s忘记id密码怎么办_大哭!iPhone手机ID密码忘记了怎么办?3种方法轻松解决问题...

123阅读本文前,请您先点击上面的“蓝色字体”,再点击“关注”,这样您就可以继续免费收到文章了。每天都会有分享,都是免费订阅,请您放心关注。 每一个苹果用户都有一个iPhone ID,它的好处不言而喻&…

4s问题

刘建华 13:39:05 CustomerConfirmList OwnerInformationListUI 上面两个类的searchFilter方法里面增加校验 giianhui 13:40:09 嗯,还有其他信息吗? 刘建华 13:40:13 一共两个界面 增加2个复选框,2必选1. giianhui 13:41:36 radiobutton把…