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等。

相关推荐
Eric.Lee20217 分钟前
数据集-目标检测系列- 螃蟹 检测数据集 crab >> DataBall
python·深度学习·算法·目标检测·计算机视觉·数据集·螃蟹检测
林辞忧16 分钟前
算法修炼之路之滑动窗口
算法
￴ㅤ￴￴ㅤ9527超级帅26 分钟前
LeetCode hot100---二叉树专题(C++语言)
c++·算法·leetcode
liuyang-neu28 分钟前
力扣 简单 110.平衡二叉树
java·算法·leetcode·深度优先
penguin_bark35 分钟前
LCR 068. 搜索插入位置
算法·leetcode·职场和发展
DogDaoDao36 分钟前
【预备理论知识——2】深度学习:线性代数概述
人工智能·深度学习·线性代数
牛哥带你学代码37 分钟前
交叠型双重差分法
人工智能·深度学习·机器学习
蓝色洛特43 分钟前
【Matlab元胞自动机】《高速公路人工—自动驾驶混行交通流临界特征研究》
matlab·自动驾驶·元胞自动机·交通仿真
学步_技术44 分钟前
自动驾驶系列—线控系统:驱动自动驾驶的核心技术解读与应用指南
人工智能·机器学习·自动驾驶·线控系统·转向系统
jmoych1 小时前
AI正悄然地影响着企业数字化转型
人工智能