首页 > 技术文章 > Towards Topological Correct Segmentation of Macular OCT from Cascaded FCNs 论文笔记

qingliu411 2017-09-25 14:22 原文

随着年纪的增大,看过的东西真的就如过~眼~烟~云~,风一吹,转瞬就不~记~得~了~,好无奈哦。只能拿键盘敲出来了,嘤嘤嘤~~~

从今起,重新收拾旧博客。

Jerry L. Prince,Prof. at Johns Hopkins University,IEEE fellow 这个工作是Jerry Prince组2017年MICCAI workshop的工作(只是因为没看到前面的workshop,所以就把文章看了)。

 

论文链接

深度学习大法已经用到了眼底OCT的图像了,但是很难保证the strict biological tissue order,例如,眼底OCT图像可以分成10层,每一层都有一个相对位置。为此,本文提出一个级联的FCN来保证分割出来的结果具有正确的tissue order. 框图如下:

 

 

步骤:

Step1: 先将BM层检测,将OCT图像根据BM层进行整平

Step2: 丢到一个分割网络中,取名叫做S-Net,一个类似于U-net的神经网络,但是每一层的参数与U-net不一样,同时,在某些卷积层后进行了BatchNormalization

Step3: 经过forward propagation就能得到一个分割结果,可以用一个mask进行表示,如第一层记为1,第二层记为2,...

Step4: 对每一个A-scan进行check,应该长成如下图左边(a)和(b)的样子,(b)中横坐标为depth,纵坐标为层layer index,应该单调递增,这样就能通过Topology Checking。而对于不满足biological tissue order的,会长成(c)和(d)的样子,这样不能通过Topology Ckecking,这个时候就要接着进行Topology Fixing了。

Step5: 对于Topology check不通过的segmentation,丢到T-Net中进行Topology fixing。T-Net与S-net结构相同,但是每一次max-pooling以及up-sampling之后进行了dropout,dropout ratio=0.5. T-Net的作用是学习true segmentation的形状和正确的拓扑结构

 

训练过程:

S-Net的输入为128*128的图像块,GT为10*128*128的manual delineation,误差函数为GT与output segmentation之间的dice score

T-Net 训练数据为随机生成的topological detects,GT为manual delineation

 

实验:

数据:7个SD-OCT scans, 大小为496*1024*49, 每一个SD-OCT scans中有8个标记好了的B-scans用于训练。将每一个B-scan整平,从中裁剪128*1024大小的图像出来(以BM层为参考线向上128像素),进行重叠块采样,对于每一个B-scan,采样69个图像块,所以总共有7*8*69=3864个图像块用来进行训练。在验证阶段,用10个人工标定的Spectralis(海德堡的一个OCT的型号?) scans (总共490个标记好的-scans)以及6个Cirrus Scans。Cirrus Scans中每一个scans包含8个B-scans,所以总共有48个标记好了B-scans。

 

比较:

Spectralis (490个B-scans) 礼貌而有点尴尬还好是comparable的结果

 

 

 

 Cirrus (48 B-scans)

 

 所以,问题来了,怎么样可以让深度学习大法在biomedical images领域取得像CV领域一样辉煌的成就?

推荐阅读