基于结构化随机森林的DME病灶分割

Learning layer-specific edges for segmenting retinal layers with large deformations

作者:S. P. K. KARRI
来源:2016 BOE
摘要:本文提出了一种结构化学习算法用于提升传统图论方法的分割效果,该算法同时检测独立的层和对应的边缘。算法基本原理是首先通过结构化随机森林获得层次边缘的概率图,之后使用图论方法进行精分割。实验中的数据来自于杜克大学公开的10个DME患者的110张两位专家标定过的OCT图像。最终实现的平均分割误差为1.38个像素,而目前最好的算法分割误差是1.68个像素。

Induction

  • 视网膜中层次的厚度与一些眼科疾病有关,因此需要更加具有鲁棒性的图像分割算法。
  • 近些年来,图论算法,特别是动态规划算法,由于其良好的性能、较低的复杂度以及对噪声的鲁棒性而得到广泛应用。
  • 然而,当视网膜出现病变时,其层次结构发生了较大的变化,此时传统的分割算法的效果很不理想。由于病变结构多种多样,分割难度较大。为了解决这个问题,出现了很多基于学习的方法。
  • 随机森林作为一种传统的学习分类方法,由于其实现简单、计算复杂度低、不容易过拟合等有点而被广泛使用。然而原始的随机森林为单值分类方法,不能用于2D图像块的分类。为了将其引入二维空间,出现了结构化学习方法,如结构化的SVM、结构化的随机森林,这些方法可以用于图像分割及图像的边缘检测。本文提出的算法即是使用结构化随机森林作为学习算法,输入的图像块的特征,输出的对该图像块的预测,如下图:

image.png

structured random forests

随机森林由多颗决策树组成,多个决策树的结果通过一定的规则运算得到随机森林的结果。传统的随机森林只能够进行标签的分类,而结构化随机森林能够对2D的图像块进行分类。训练时使用的数据为:特征图像块、标签图像块以及对应的边缘图像块。

image.png

image.png
决策树构建的过程中使用基尼不纯度作为衡量标准,叶子节点上的图像块代表该路径对应的分类结果。

Method:

本文方法流程图:

image.png

image.png

image.png
image-correction为图像归一化过程;
extracting the image intensity and gradient features:提取灰度特征、梯度特征以及HOG特征,考虑到图像可能发生尺度上的变化,提取特征时将图像缩小1/2。因此总的特征包括11个:原始尺度的灰度信息,两个尺度上的梯度信息、两个尺度4个方向上的HOG特征。
The ‘n’ layer selection process:选择某一层次的边界,生成该边界对应的Label image(BL)和contour image(BC):

image.png
guided sampling process:图像块提取过程;首先对BC进行膨胀,之后再膨胀后的白色区域位置对应的原始图像中选取32*32的图像块,单个像素生成的特征图像块为32*32*11,在训练时会将特征块展开为一维向量。然后按照这个规则,在Label image和contour image对应位置选取16*16的图像块。

image.png

数据:

来自杜克大学公开的DME数据集,包含10个DME患者的110张图像,其中每张图像含有两名专家标定的8条层次线。训练集为55张,测试集为55张。每个森林包含8课决策树。

实验分析:

三个衡量指标:
Metric 1: Mean absolute difference between the predicted contour and the expert contour along the column实验结果与金标准之间的平均绝对误差
Metric 2: Mean absolute difference in layer widths层次厚度的平均绝对误差

image.png

image.png

image.png

image.png

注:AN:传统图论方法;AD:kernel-guided graph approach

分割结果图片:

image.png

image.png

未来方向:

  1. 结构化学习时考虑相邻图片之间的信息
  2. 将层次分割与病变预测结合起来

不足之处:

HoG依赖于梯度,而图像中由于血管阴影的存在导致的梯度信息缺失会影响结果,目前的结构化随机森林能够处理少于16个像素宽度的梯度信息丢失。

### 关于深度学习用于视网膜水肿区域分割 #### 深度学习在视网膜水肿分割中的应用现状 近年来,随着计算机视觉技术的发展,基于深度学习的方法被广泛应用于医学影像分析领域。对于糖尿病性黄斑水肿(DME),其自动检测和量化成为研究热点之一。利用卷积神经网络(CNNs)可以有效地提取病灶特征并完成精确的像素级分类任务,在此过程中能够识别出视网膜图像上的微小变化,进而实现对水肿区域的有效分割[^1]。 #### 基本算法框架 一种常见的做法是采用U-Net架构来构建模型。该结构由编码器路径(下采样过程)和解码器路径(上采样恢复空间分辨率的过程)组成,两者之间通过跳跃连接传递低层语义信息给高层表示,有助于保持边界清晰度的同时提高定位准确性。具体来说: ```python import torch.nn as nn class UNet(nn.Module): def __init__(self, n_channels=3, n_classes=1): super(UNet, self).__init__() # 定义编码部分 self.encoder = Encoder(n_channels) # 中间桥接层 self.bridge = Bridge() # 解码部分定义 self.decoder = Decoder() def forward(self,x): enc_out = [] for layer in self.encoder.layers: x = layer(x) enc_out.append(x.clone()) x = self.bridge(x) dec_in = reversed(enc_out[:-1]) for (dec_layer, skip_connection) in zip(self.decoder.layers, dec_in): x = dec_layer(torch.cat([skip_connection, x], dim=1)) out = final_convolution(x) return out ``` 上述代码展示了如何创建一个简单的 U-net 架构实例化对象 `UNet` 类,并实现了前向传播逻辑。实际项目开发时还需要考虑更多细节优化措施如数据增强、损失函数设计等[^2]。 #### 数据预处理与标注策略 为了训练高质量的分割模型,通常需要准备大量带有标签的数据集。这些图片应当经过专业眼科医生的手动勾勒得到标准答案作为监督信号指导网络参数调整方向;另外也可以借助一些开源工具辅助生成伪标记样本以扩充有效素材库规模。同时针对特定应用场景可能还需实施额外操作比如标准化亮度对比度分布特性消除个体差异影响等因素干扰[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值