Segmentation of retinal OCT images using a random forest classifier

Segmentation of retinal OCT images using a random forest classifier

使用随机森林分类器对视网膜OCT图像进行分割

抽象

光学相干断层扫描(OCT)已成为诊断视网膜异常的最常用工具之一。视网膜形态和层厚均可提供重要信息,以帮助对这些异常进行鉴别诊断。自动分段方法对于提供这些厚度测量至关重要,因为考虑到每次OCT扫描中的数据量很大,每层的手动描绘都很麻烦。在这项工作中,我们提出了一种使用随机森林分类器进行视网膜层分割的新方法。从OCT数据中总共提取了七个特征,并用于同时对九个层边界进行分类。利用随机森林的概率性质,提取每个边界的概率图,并将其用于帮助完善分类。我们能够准确地分割八个视网膜层,其平均Dice系数为0.79±0.13,并且层边界的平均绝对误差为1.21±1.45像素。
关键词
OCT; 视网膜层分割 随机森林分类

1.引言

光学相干断层扫描(OCT)是一种新兴技术,在眼科学1中还有许多其他用途。 OCT的一种新兴应用是评估多发性硬化症(MS)患者。 已显示患有MS的受试者表现出各种视网膜层的显着变薄。2自动分割方法对于估计这些视网膜厚度变得尤为重要,因为每层的手动分割是一项耗时的任务。 迄今为止,在文献中已经提出了各种各样的自动视网膜分割方法。 许多作者提出了自动视网膜层分割方法,利用了多种技术,包括活动轮廓3,基于梯度的信息4,5,统计模型6,基于图的方法7-9以及像素分类10。
基于图形的OCT分割方法越来越受欢迎。 视网膜的分层结构非常适合这种问题的形成。 这些方法还被证明是高效,简单且具有良好的最优性。 Chiu等人[8]从每张2D OCT图像中构造出一个图形,并使用最短路径算法分割多层。 Garvin等人7构建了4D图,以对3D OCT体积和所有图层进行建模。 使用新颖的图形切割公式解决了该问题。 这些基于图的方法的问题之一是在图上找到适当的成本函数来区分每一层。 Antony等[9]在先前的工作7的基础上,通过使用近邻分类器将图像特征分组到不同的区域中,然后将其用于图形权重中。
使用像素分类进行分割的另一种方法来自Vermeer等人[10]。这项工作使用一组18个梯度和强度特征,将其投影到更高维度的空间中,为每个视网膜层创建支持向量机分类器。 然后使用级别设置方法对独立分类的像素进行正则化以创建平滑表面。 对每个层使用单个分类器,对每个表面使用单独的正则化方法,会导致效率特别低下。 另外,仅给出了五层接口的分割结果。
在这项工作中,我们提出使用随机森林分类器 11自动了解黄斑OCT图像中适当的边界在哪里。 总共检测到九层边界,导致八层分割。 这种类型的分类器在不同的图像分割任务12、13中表现出良好的性能,并且由于易于使用,需要调整的参数数量少以及能够同时对多个标签进行分类而广受欢迎。 随机森林的一个特别好的功能是,它以概率的形式为每个标签提供了软分类。 在对图像进行分类时,可以生成概率图,然后将其细化为硬分割。 在视网膜分割的情况下,我们在边界而不是层上进行分类,然后可以利用层的有序结构,通过为每个边界每次A扫描仅选择一个像素来将概率细化为分割。

2.方法

提出的工作目的是在黄斑OCT扫描中分割八个视网膜层(图1)。从视网膜的顶部到底部列出要分割的层是:视网膜神经纤维层(RNFL),神经节细胞层和内部丛状层(GCL + IPL),内部核层(INL),外部丛状层(OPL),核外层(ONL),内部部分(IS),外部部分(OS)和视网膜色素上皮(RPE)。这八个层有九个关联边界,请注意,内部限制膜(ILM)用于表示玻璃体RNFL边界,外部限制膜(ELM)用于ONL-IS边界和Bruch膜(BM)用于RPE脉络膜边界。单个2D OCT图像称为B扫描图像,其中A扫描是B扫描中的单个像素列。多个B扫描在平面方向上组合以形成3D体积。我们还将x和y方向分别表示为B扫描中的从左到右和自上而下的方向,将z方向表示为穿过平面的方向。
在分割视网膜层之前,会自动生成视网膜蒙版,以粗略定义我们希望在其中找到这些层的感兴趣区域。 视网膜掩模的计算还使我们能够将每个图像展平到BM。 为了分割视网膜层,从OCT数据中提取了七个特征,并用于训练随机森林分类器以找到每个边界。 分类器产生每个像素属于每个边界的概率。 然后对这些概率进行细化,以估计每层的最终分割。

2.1视网膜检测和展平

在分割视网膜层之前,我们会生成一个粗糙的视网膜遮罩,以指示哪些像素在视网膜的内部和外部。 图2(b)示出了图2(a)中的OCT图像的示例性视网膜掩模,其中白色和黑色分别表示视网膜内部和外部的区域。 视网膜掩模的计算需要ILM和BM边界的估计。 由于这是一个预处理步骤,因此需要快速计算。 此外,由于这些边界将在以后的阶段中进行完善,因此只需大致定位即可。
为了计算视网膜遮罩,首先使用高斯滤波器(σx=σy= 10)平滑体积中的每个B扫描图像。沿每次A扫描查看,假定具有最大正梯度值的像素为ILM或IS-OS边界。在距先前找到的最大值至少25个像素处具有最小正梯度值的最大正梯度值的像素被视为第二边界。给定这两个像素,最接近图像顶部的一个作为ILM。然后,沿着每次A扫描,将BM作为IS-OS以下的最大负梯度值。由于这些估计的ILM和BM表面可能包含虚假的跳跃和不连续性(例如,由于血管伪影所致),因此我们删除并用最近的点填充外围边界点。外围点是那些距离其各自的10×10中值滤波表面超过15个像素的点。最后,使用高斯核对两个表面进行平滑处理(对于ILM,σx,z = {10,0.75},对于BM,σx,z = {20,2})。然后,视网膜蒙版体积包含估计的ILM和BM表面之间的所有像素。图2(c)显示了一个B扫描图像,其中非视网膜区域被遮盖,表明该视网膜遮罩仅粗略地定位了顶部和底部边界。
给定视网膜掩模,然后通过平移每个单独的A扫描将OCT数据平整到BM,以使该边界完全平坦。 双线性插值用于平移。 平坦化过程去除了每个图像中的大部分曲率,将所有视网膜图像放置在跨对象的公共空间中,这是文献中常见的一个步骤。5,7图10和图10是OCT图像及其产生的平坦化图像的示例。 2(a)和2(d)。

2.2随机森林分类器

作为分割的第一步,训练一个随机森林分类器11以找到每个图层的边界像素。 仅使用一个分类器来学习所有边界,每个像素被分配一个0到9的标签,具体取决于该像素是否位于九个边界之一(标签1–9)或不位于(九个标签)0上。 森林中使用了五十棵树,并且在每个节点上随机选择了两个特征。 为了训练分类器,使用了七个特征(如图3所示)。 前两个特征是位置特征,后五个特征是局部图像特征。 这些特征是在平坦的OCT图像中的每个像素处计算的。
第一个特征是利用Sec21中计算的视网膜蒙版为视网膜所特有的。 它是从视网膜蒙版的底部到顶部的每个像素的分数距离,取值介于0和1之间。视网膜蒙版上方或下方的像素被分配为-1的值,以帮助分类器更好地区分视网膜与完全背景。 下一个使用的特征是图像中每个像素的x位置(在我们的数据中采用1到1024的整数值)。 此功能的目的是帮助了解整个图像上层厚度的变化。 它与视网膜掩模距离互补工作,以区分高曲率中央凹区域,由于扫描协议,中央凹区域始终朝着图像中心出现。 这两个位置特征在图3(b)和3(c)中示出。
接下来,通过获取每个像素上方和下方3×3邻域的平均值之差,计算出四个多尺度,类似梯度的特征。 邻域位于上方和下方的2、4、8和16像素处,这有助于解释周围图层的强度差异。 这些特征的示例如图3(d-g)所示。 此功能旨在了解附近有哪些图层(即上方的暗层和下方的亮层)。 最终特征是每个像素上结构张量的最大特征值的大小。14张量积用sigma值0.5平滑。 每个像素的第一特征值在各向异性区域较大,因此特别擅长在视网膜底部找到较薄的层(图3(h))。
接下来,通过获取每个像素上方和下方3×3邻域的平均值之差,计算出四个多尺度,类似梯度的特征。 邻域位于上方和下方的2、4、8和16像素处,这有助于解释周围图层的强度差异。 这些特征的示例如图3(d-g)所示。 此功能旨在了解附近有哪些图层(即上方的暗层和下方的亮层)。 最终特征是每个像素上结构张量的最大特征值的大小。14张量积用sigma值0.5平滑。 每个像素的第一特征值在各向异性区域较大,因此特别擅长在视网膜底部找到较薄的层(图3(h))。

2.3最终细分

随机森林分类器为每个像素输出每个标签的概率,该概率是根据投票给该标签的随机森林中决策树的数量计算得出的(见图4)。 由于我们希望每个A扫描仅给每个边界标签分配一次,因此在每个像素处以最大概率获取标签效果不佳。 相反,对于每个类别的概率图像,我们每次A扫描都仔细选择一个像素位于其关联的边界上。
为了从图层的概率图像中提取单个边界,首先将高斯平滑(σ= 15)应用于图像。沿每次A扫描具有最大概率的像素被选为该类别的初始边界像素。如图4所示,由于这些边界通常很嘈杂,因此将概率低于阈值0.05的像素删除,然后使用具有较大平滑参数的三次平滑样条对其余点进行平滑处理。可以对每一层重复此过程以估计所有边界。最后,在适当的边界之间填充图层标签。为了确保各层的顺序正确,从顶层和底层开始,一次填充一层。在添加每个图层时,将施加硬约束,以使新图层无法相交并穿过先前拟合的图层。如果曲面位于先前拟合曲面的外部,我们将调整这些点以在相邻边界上方或下方放置一个像素。仔细选择如何添加图层很重要,因此首先添加具有较高置信度的图层。

3.结果

在这项研究中使用了十个手动绘制的OCT卷。 所有手动描述均由单个评分者使用内部开发的软件完成。 提供知情同意后,患者在Spectralis OCT扫描仪(德国海德堡海德堡工程公司)上进行光谱域视网膜成像。 获得由49次B扫描组成的黄斑光栅扫描(20°×20°)。 该扫描仪利用自动实时(ART)技术,通过采集和平均同一位置的多幅图像并进行平均以降低噪声,从而提高图像质量。 本研究使用ART≥12(平均扫描数)且信号质量至少为20 dB的扫描。 图像体积每个A扫描有496个像素,每个B扫描有1024个A扫描。 还要注意,原始频谱强度数据的第四次根是在所有处理之前应用的。
五次OCT卷中的一小部分数据用于训练随机森林分类器。在每个训练量中,选择了三个B扫描作为代表扫描。三个扫描中的一个扫描包括中央凹中央区域,而其他两个扫描则从中央凹的每一侧进行。最后,除了在每个边界之间找到相等数量的随机背景点之外,每个边界上的所有点(每次B扫描每层1024个点)都用于训练。其余5个OCT卷用于探讨算法的执行情况。使用两种方法来分析算法的性能。首先,我们看一下每个估计的层边界与地面真实手动分割之间的平均绝对误差(MAE)。使用的第二个量度是Dice系数,它是估计的层分割与真实的层分割之间的重叠的量度。对于每个层,将其计算为,其中Xk和Yk分别是在地面真实层和估计层中标记为k层的点集。
在这里插入图片描述
表1和表2显示了我们算法在所有对象和B扫描中的平均MAE和Dice系数结果。根据表1,ILM的边界误差最低。可以预期该结果,因为该边界是背景与视网膜相交并具有较大渐变的位置。另外,参见图2(c),视网膜掩模非常紧密地定位ILM,从而使视网膜掩模功能在该边界上非常好。再次由于较大的可识别梯度,ELM,IS-OS和BM边界也显示出较低的误差。 OS-RPE边界被证明是最难估计的,因为该边界倾向于消失并重新出现在某些图像中。从Dice系数来看,所有层均显示出相当不错的结果,而IS,OS和RPE层则存在更多困难。 Dice系数最大的图层RNFL,GCL + IPL和ONL比许多其他图层都宽,并且在边界处也具有较大的渐变。由于IS,OS和RPE的层较薄,因此它们的性能最差。这些层中的一个像素边界误差转化为比在较大层中具有类似边界误差的更低的Dice系数。
图5显示了我们的分割方法在三个B扫描上的结果。 第一行显示输入的B扫描,第二行显示手动分割,最后一行显示自动分割的结果。 一个明显的困难领域是在包含血管伪影的区域。 如图4所示,在概率图像中,带有血管的区域要么显示为假阳性,要么接收到较低的概率值。 误报会导致边界不正确,然后在最后的细分步骤中将边界平滑。 但是,这种平滑效果不足以消除错误。 当边界的可能性较低时,通常会有足够的响应来使边界合理匹配。 如果响应太小(低于0.05阈值),则由于表面平滑变化,因此平滑处理可以非常准确地对缺失区域进行插值。
最后,我们快速查看算法的性能。 所有实验均在运行Windows 7的计算机上运行,该计算机使用MATLAB R2011b在1.73 GHz频率下运行四核处理器。 随机森林实现可在线在线获取。15此实现利用预编译的mex文件来提高效率。 所有其他处理都使用本机MATLAB函数。 该算法不同方面的性能如表3所示。训练分类器耗时约90秒。 如图所示,分割一个卷的总时间约为117秒,包括所有步骤。 此时间对应于每次B扫描2.4秒。 使用优化的代码可能会进一步提高性能。 例如,已在GPU上实现了随机森林的有效实现。16
4。结论
我们展示了仅使用七个特征就可以使用随机森林对视网膜层进行分类的能力。 为了为每一层生成最终的分割,需要对随机森林分类器输出的边界概率图像进行后处理。 该算法被证明是快速而准确的,在仅对五个体积的一小部分进行训练后,就可以成功分割多个OCT体积。 这项工作有许多方面可以改进。 该算法本质上是2D的,在单独的B扫描上运行,而不是使用来自完整3D卷的信息。 使用全部体积可能有助于解决血管伪影的问题。 还必须执行进一步的验证,比较评估者之间和评估者内部的细分差异。
在这里插入图片描述
图1手动裁剪的OCT图像 九个分段的边界从上到下分别是:ILM,RNFL-GCL,IPL-INL,INL-OPL,OPL-ONL,ELM,IS-OS,OS-RPE和BM。
在这里插入图片描述
图2.(a,b)一张OCT图像和计算出的视网膜掩模。 (c)遮盖了非视网膜像素的OCT图像,显示出粗略的准确性。 (d)OCT图像展平至底部边界。
在这里插入图片描述
图3. OCT图像(a)及其相关特征:(b)视网膜掩模距离,(c)x位置,(d–g)4个递增比例的梯度特征,以及(h)结构张量的最大特征值。
在这里插入图片描述
图4.从(a)的图像上的随机森林分类器生成的所有九层的OCT图像(a)和概率图(bj)。 概率介于0(黑色)和1(白色)之间。
在这里插入图片描述
图5.三个B扫描的分割结果,每列表示一个不同的B扫描。 顶部,中间和底部各行分别是输入的OCT图像,手动分割和自动分割。
在这里插入图片描述

表1 每个边界的平均绝对误差(标准偏差)值。 值以像素为单位。
在这里插入图片描述

表2估计的层分割和真实层分割之间的Dice系数值。
在这里插入图片描述

表3算法各个方面的运行时间

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值