MATLAB环境下基于图像处理的视网膜图像血管分割

预防糖尿病对每个人的健康至关重要,而糖尿病的早期症状在眼底视网膜血管会有所体现,如静脉血管扩张、轻度弯曲等。高血压作为常见疾病,在中国有多达2.45亿的患者。高血压的病情也会在眼底视网膜血管上有所体现,如交叉压迫征等反映着病情的严重程度。而青光眼等眼科疾病的诊断,更离不开视网膜血管的特征。作为人体唯一无需手术便可观察到的较深血管,眼底视网膜血管越来越受到医学研究与临床的重视。在产学研结合的大潮下,对眼底视网膜图像中血管与背景的分割也进入了计算机视觉研究人员的视野。

人体视网膜位于眼球壁的内层,眼底视网膜图像中眼底血管粗细不一、纹路复杂、背景与血管对比度低及病变区域的干扰,造成血管与背景分割有较大的难度。传统眼底视网膜图像中血管的分割由医生来手动分割,不仅受医生水平和状态的影响,也会耗费大量的时间,不能满足大规模血管图像分割的要求。随着图像处理技术的发展,利用计算机实现高效、稳定和精确的眼底视网膜图像分割算法,在相关疾病上会提高医生的诊断效率,同时也为学者在医学图像领域的继续深入研究提供了有价值的参考。由此,实现对微血管与背景的分割,助力医生的医疗诊断成为了图像领域的重要研究方向。常见的眼底视网膜图像分割结果中,血管像素被分割为白色,背景像素被分割为黑色。

综上,眼底视网膜血管的特征在疾病预防与诊断中有着重要的作用,因此对眼底图像中血管与背景的分割可提高医生的临床诊断效率。由于设备及环境的影响,在采集眼底视网膜图像的过程中难免会有光照不均、局部噪点等瑕疵,这对传统手工分割图像中的血管与背景带来麻烦,既影响了精度又拖慢了速度,对医疗人员造成大量的负担。视网膜血管本身走向复杂,尺寸不一,特别是末端的细微血管难以辨认,有着较低的对比度,这对医疗人员本身的专业水平也提出了过硬的要求。实现自动分割视网膜图像中血管与背景的算法便有了不可忽视的价值,为医生的后续诊断提供了便利。而由于标注成本高,造成眼底视网膜血管图像的数据集较少,如何在现有的数据集上训练出稳定、高效的网络模型是一个艰巨的挑战。

因此提出一种MATLAB环境下基于图像处理的视网膜图像血管分割方法,主要步骤如下:

Preprocessing:

  • Extract mask image
  • Extract green channel
  • CLAHE contrast enhancement
  • Replace black ring
  • Top-hat transform

Vessel Extraction

  • Otsu thresholding
  • Remove small regions
  • Thick vessel extraction
  • Thin vessel extraction
  • Create the final image using the last two images

Compare my result and ground truth

  • Green: same ture in mr(my result) and gt(ground truth)
  • Red: one in mr and zero in gt
  • Purple: Zero in mr and one in gt

部分代码如下:

复制代码
close all; clc;
im_rgb = im2double(imread('DRIVE/Test/images/03_test.tif'));
im_mask = im_rgb(:,:,2) > (20/255); % Extract green channel
im_mask = double(imerode(im_mask, strel('disk',3)));
figure
subplot(2,2,1),imshow(im_rgb),title('general image');
subplot(2,2,2),imshow(im_mask),title('Mask after erosion');
im_green = im_rgb(:,:,2);
subplot(2,2,3),imshow(im_green),title('Green Channel')
% CLAHE
im_enh = adapthisteq(im_green,'numTiles',[8 8],'nBins',128);
subplot(2,2,4),imshow(im_enh),title('CLAHE enhancement')

出图如下:

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任
《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
工头阿乐4 分钟前
PyTorch中的nn.Embedding应用详解
人工智能·pytorch·embedding
alpszero7 分钟前
YOLO11解决方案之物体模糊探索
人工智能·python·opencv·计算机视觉·yolo11
June`8 分钟前
专题三:穷举vs暴搜vs深搜vs回溯vs剪枝(全排列)决策树与递归实现详解
c++·算法·深度优先·剪枝
vlln14 分钟前
适应性神经树:当深度学习遇上决策树的“生长法则”
人工智能·深度学习·算法·决策树·机器学习
奋斗者1号22 分钟前
机器学习之决策树与决策森林:机器学习中的强大工具
人工智能·决策树·机器学习
多巴胺与内啡肽.31 分钟前
OpenCV进阶操作:风格迁移以及DNN模块解析
人工智能·opencv·dnn
szxinmai主板定制专家1 小时前
基于TI AM6442+FPGA解决方案,支持6网口,4路CAN,8个串口
arm开发·人工智能·fpga开发
冲帕Chompa1 小时前
图论part09dijkstra算法
算法·图论
·云扬·1 小时前
【PmHub后端篇】PmHub中基于Redis加Lua脚本的计数器算法限流实现
redis·算法·lua
周Echo周1 小时前
20、map和set、unordered_map、un_ordered_set的复现
c语言·开发语言·数据结构·c++·算法·leetcode·list