LADDERNET: MULTI-PATH NETWORKS BASED ON U-NET FOR MEDICAL IMAGE SEGMENTATION
Paper:LadderNet
Code:LadderNet
时间:2018
摘要
多分支的UNet网络用于医学图像分割 摘要:UNet架构已在医学图像分割领域取得许多成果,针对UNet也做了诸多改进如AttentionUNet,R2-UNet等。但整体结构还是一组encoder+decoder+skip connection的结构,这样限制了信息传递的路径,因此本文提出了LadderNet的架构,可以看做是一系列UNet,拥有多个encoder-decoder路径。在相邻的decoder建都有skip connections。以及受ResNet的启发在同一个block中的卷积使用共享的权重参数。整个网络可以看做是一系列FCN的集合可以有效提升分割准确率,同时每个residualblock中权重共享有效减少了模型参数。最终LadderNet在视网膜血管分割的两个经典数据集上进行了测试。
Section I Introduction
UNet是医学图像分析中广泛采用的框架,其编码器-解码器+skipconnection的结构有效的传递了信息,尤其是在有限数据集的情况下。UNet也衍生了一系列变体,如RecurrentUNet,AttentionUNet,DenseBlockUNet.但上述结构仍仅采用了一组encoder-decoder的架构,本文的LadderNet信息流更多,可被视为一系列FCN的集合。
Section II LadderNet
Part A LadderNet
adderNet结构如图1所示。A-E代表提取的不同层次的特征,1/3列是encoder编码分支,2/4列为解码分支。并且实验中通过stride为2的卷积用于获取更大的感受野。
在expanding path部分使用步长为2的转置卷积,不同层级之间通道数目加倍。
Part B 与UNet的对比
LadderNet可视为一条UNet链。1-2列为一个UNet结构,3-4列则是另一个UNet结构每一个UNet中同级的expanding和contracting path通过skipconnection进行连接,而两个UNet之间也通过skip connection完成了信息的流动,但skip connection的操作不再是级联(concatenate)而是sum,而且可以通过增加UNet数目进一步增加网络复杂度。
LadderNet中的信息流动:
(1)A1->A2->A3->A4
(2)A1->A2->A3->B3->B4->A4
(3)A1->B1->B2->B3->B4->A4
(4)A1->B1->C1->D1->E1->D2->C2->B2->A2->A3->A4
每一条信息流动的路径都可以视为一个FCN,随着编解码组数的增加以及每个UNet层次的增加,使得信息流指数提升,从而使得LadderNet可以捕获更加细微的特征,精度更高。
Part C shared weights residual block
由于过多的编解码结构会增加网络的参数量及训练难度,因此本文使用的是权值共享的残差模块。好循环卷积神经网络类似,同一个block里的卷积层可视为一个recurrentlayer,两层conv之间添加了dropout方式过拟合。使用的这一block具有skip connection、循环卷积和dropout正则化,同时比标准的residual block参数更少。
Section III Experiments
Datasets:
DRIVE:前文已介绍过,在此不赘述
CHASE_DB:14名学龄儿童的左右眼共28张图片,train:test = 20:8
大小:996960pixels 随机取960000个patch(4848)
settings:
训练:实验采用5级的LadderNet,dropout=0.25,levelA的通道数为10,最终整个LadderNet的参量为1.5M
Loss:cross-entropy
Adam Optimizer
试验指标:Accuracy & Sensitivity & Specificity & F1-score&AUC
Section IV Results
通过和他人work的对比,LadderNet取得了最佳的F1-score,acc,AUCLadderNet引入了更多组编解码结构
skip connections也增加了信息流的路径
共享权值的残差网络结合了residual block和recurrent的优点同时参数量还不多
也取得了较好的分割结果,此框架还可用于肿瘤或脑损伤的分割。
Summary
个人觉得创新之处在于
(1)多组encoder_decoder的引入
(2)对information flow的理解
(3)提供了源码 可以进行学习