DCAN: Deep Contour-Aware Networks for Accurate Gland Segmentation

作者:Hao Chen Xiaojuan Qi Lequan Yu Pheng-Ann Heng 香港中文大学

文章:https://arxiv.org/abs/1604.02677

背景:腺体的形态与癌症的恶性程度息息相关。

目的:检测腺体并同时分离接触腺体

难点

病例分级很多、疾病种类各不相同

相互接触的腺体难以准确分离

病变细胞与正常细胞差异性很大

人工切片和染色的差异性会引起细胞形态变化加大检测分割难度

左侧为染色细胞,右侧为专家标注。上方为正常的结肠细胞,下方为病变细胞。上下差异性很大。正常腺体如左上角,由空腔、上皮细胞环绕,细胞核大多集中在外围。

网络三大特点:

1、使用了网络中的多层特征,并且能够端到端(一次前向传播)进行实验;

2、没有对腺体结构进行预测,因而无论是良性还是恶性的腺体切片图片都可作为输入进行检测分割;

3、多任务网络。同时实现腺体检测和腺体分割(成簇分割,如毗邻的腺体)。

全卷积网络FCN

FCN通常包含下采样和上采样两部分。

U1-U3三个上采样层,选用了不同大小的感受野的特征。感受野小的时候,可能刚刚好适合良性腺体,然而病变的腺体愈发细长,需要更大的感受野。为了更好地适应不同尺寸不同类型的腺体,网络采用了不同层级的特征。

网络过深容易陷入局部极小值、梯度消失,因而增加了C1-C3层。

损失函数:参数惩罚项+辅助loss之和+数据预测误差

Deep contour-aware network

目的:分离互相接触的腺体(同时检测腺体)。对于大尺寸图片有明显优势。

依据:腺体边缘有一圈细胞核围绕,恰好便于分离腺体。

检测与分割共用下采样参数并共同训练,上采样参数分别训练。

损失函数:

分割mask:检测为腺体且不是边缘

最终的结果需要进行洞填充和移除小尺寸区域的平滑除磷。

迁移学习:

医疗数据集由于人工成本过高而较小,在训练数据匮乏的情况下,迁移学习不失为一种不错的选择。浅层网络参数具有普适性,而深层网络参数更针对具体任务,因而浅层网络的参数可以借助其他模型初始化,既能避免过拟合又能提升效果。

论文中作者采用了PASCAL VOC 2012 dataset迁移学习。下采样过程参数使用与训练模型初始化,其他层采用高斯分布随机数初始化,并使用SGF端到端训练。实验表明,如此初始化收敛更快。

数据集:

Gland Segmentation Challenge Contest in MICCAI 2015 (also named as Warwick-QU dataset)

http://www2.warwick.ac.uk/fac/sci/dcs/research/combi/research/bic/glascontest/

链接中可以下载数据集和评测代码

训练集:85(37正常48变异)含label

测试集:PartA(60张)用于线下测试;PartB(20张)用于线上测试。结果需要在数据集公布一小时之内提交。最终结果为A和B的均值。

为了避免过拟合,作者采用了数据增强来扩充训练集,包括平移、旋转、扭曲

训练细节:

1、输入:从原始图片随机裁剪480*480区域

2、轮廓线label获取:根据标注获取边缘信息,并以半径3加宽

3、学习率初始化0.001,以十倍递减,直至10e-7

4、权重Wa 初始化为1,每一万次迭代以十倍递减,直至10e-3

5、卷积层增加dropout层,kernel size=1*1

检测结果:

正常腺体:

变异腺体:

第一行为原始图片,第二行为检测结果,第三行为增加了轮廓分割的分割结果。变异腺体的第四列为轮廓线分割失败的例子,由于变异腺体形变过大产生了错误的分割。

评估标准

腺体竞赛有三项评估标准(最终将三项结果排名相加,排名总和越小越好):

1、检测结果评估:F1 score

2、分割结果评估:Dice index

3、相似性评估:Hausdorff distance

说明:

结果表格中CUMedVision1表示只有检测分支, CUMedVision2表示含有轮廓线分割结果。

Freiburg表示有名的U-net网络的结果。

Detection检测

F1 score:准确率P和召回率R的调和平均值

检测结果与ground truth有至少50%的重合则为true positive,否则false positive

ground truth 若没有任何一个检测结果与之有50%以上的重合则为false negative

PartA中正常腺体偏多,PartB中变异腺体偏多。由于形变过大,根据上皮细胞分割边界可能会不准确,结合轮廓线的方法在PartB的结果偏低。

Segmentation

ground truth的一系列像素标记为G

检测出的表示腺体的一系列像素标记为S

Dice index:

此处需要变换一下评估标准:

分别以groud truth和检测结果为基准加权再去取平均。

由于变异腺体的形变过大,PartB中存在过多的误分割,结合轮廓线分割准确率略有下降。

Shape similarity

Hausdorff distance:维基百科上的图解比较直观:

 

整体排名:

【论文阅读】DCAN: Deep Contour-Aware Networks for Accurate Gland Segmentation的更多相关文章

  1. 论文阅读笔记六十:Squeeze-and-Excitation Networks(SENet CVPR2017)

    论文原址:https://arxiv.org/abs/1709.01507 github:https://github.com/hujie-frank/SENet 摘要 卷积网络的关键构件是卷积操作, ...

  2. 【CV论文阅读】:Rich feature hierarchies for accurate object detection and semantic segmentation

    R-CNN总结 不总结就没有积累 R-CNN的全称是 Regions with CNN features.它的主要基础是经典的AlexNet,使用AlexNet来提取每个region特征,而不再是传统 ...

  3. [论文阅读]VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION(VGGNet)

    VGGNet由牛津大学的视觉几何组(Visual Geometry Group)提出,是ILSVRC-2014中定位任务第一名和分类任务第二名.本文的主要贡献点就是使用小的卷积核(3x3)来增加网络的 ...

  4. 【论文阅读】Deep Adversarial Subspace Clustering

    导读: 本文为CVPR2018论文<Deep Adversarial Subspace Clustering>的阅读总结.目的是做聚类,方法是DASC=DSC(Deep Subspace ...

  5. 【论文阅读】Deep Mixture of Diverse Experts for Large-Scale Visual Recognition

    导读: 本文为论文<Deep Mixture of Diverse Experts for Large-Scale Visual Recognition>的阅读总结.目的是做大规模图像分类 ...

  6. 【论文阅读】Deep Mutual Learning

    文章:Deep Mutual Learning 出自CVPR2017(18年最佳学生论文) 文章链接:https://arxiv.org/abs/1706.00384 代码链接:https://git ...

  7. [论文阅读] MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications (MobileNet)

    论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 本文提出的模型叫Mobi ...

  8. 【CV论文阅读】Deep Linear Discriminative Analysis, ICLR, 2016

    DeepLDA 并不是把LDA模型整合到了Deep Network,而是利用LDA来指导模型的训练.从实验结果来看,使用DeepLDA模型最后投影的特征也是很discriminative 的,但是很遗 ...

  9. 三维目标检测论文阅读:Deep Continuous Fusion for Multi-Sensor 3D Object Detection

    题目:Deep Continuous Fusion for Multi-Sensor 3D Object Detection 来自:Uber: Ming Liang Note: 没有代码,主要看思想吧 ...

随机推荐

  1. Python 实现自动导入缺失的库

    原文:由浅入深:Python 中如何实现自动导入缺失的库? 作者:豌豆花下猫 在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No module nam ...

  2. springboot学习入门简易版八---springboot2.0多环境配置、整合mybatis mysql8+(19-20)

    2.11 SpringBoot多环境配置(19)  application.properties中配置 Spring.profiles.active=prd 配置环境: Application-dev ...

  3. 解决远程连接数据库:Host is not allowed to connect to this MySQL server

    远程连接数据时,报以下提示: Host 'web1' is not allowed to connect to this MySQL server 原因是数据库服务不允许远程登录,没有授权导致,解决方 ...

  4. C#验证邮箱,电话,手机,数字,英文,日期,身份证,邮编,网址,IP类等常用函数封装

    #region 验证邮箱验证邮箱 /**//// <summary> /// 验证邮箱 /// </summary> /// <param name="sour ...

  5. 使用OpenLiveWriter来写博客

    话不多说,首先是下载http://openlivewriter.org/,安装. 博客配置,我是使用博客园,配置如下: 确保博客园自己后台账号"设置"中的"推荐客户端&q ...

  6. 开发环境wamp3.06 + Zend studio 12 调试配置

    <?php $fileName = "php大师.test.php"; //补充程序,显示文件名(不包括扩展名) $start = strrpos($fileName, &q ...

  7. Linux 绑定 ttyUSBn 串口方法。

    Linux 绑定 ttyUSBn 串口方法. 在linux下, 使用usb转串口, 经常会碰到一个问题: 如果有多个串口, 以不同顺序插入的时候, /dev/ttyUSB0 /dev/ttyUSB1的 ...

  8. go cache

    go 编译, 或是安装库的时候,产生的日志量很大 go env 删除掉这个log.txt文件,系统空间瞬间就够了

  9. 自定义创建vue文件代码块

    "vue-component": { "prefix": "vue-component", "body": [ &quo ...

  10. 多线程实现的方式一继承Thread

    实现方法一:继承Thread类 package thread; /** * @function 多线程继承Thread类 * @author hj */ public class Threads ex ...