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. vue初级使用

    一.Vue是什么? Vue(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.采用自底向上增量开发的设计.Vue.js 的目标是通过尽可能简单的 API 实现响应 ...

  2. Swift枚举的全用法

    鉴于昨天开会部门会议讨论的时候,发现有些朋友对枚举的用法还是存在一些疑问,所以就写下这个文章,介绍下Swift下的枚举的用法. 基本的枚举类型 来,二话不说,我们先贴一个最基本的枚举: enum Mo ...

  3. Android JSBridge原理与实现

    在Android中,JSBridge已经不是什么新鲜的事物了,各家的实现方式也略有差异.大多数人都知道WebView存在一个漏洞,详细信息见你不知道的 Android WebView 使用漏洞,虽然该 ...

  4. VIM的配置以及插件管理

    VIM的配置详细说明参考:http://www.ruanyifeng.com/blog/2018/09/vimrc.html 此外VIM的插件管理比如 Vundle可以参考这个博客: https:// ...

  5. 本地ssh快速登录

    每次登录都要ssh -p wang@xx.xx.xx.xx 虽然做了公钥验证 https://www.cnblogs.com/php-linux/p/10795913.html 不需要输入密码,但是每 ...

  6. SQL SERVER-CROSS APPLY

    CROSS APPLY和 OUTER APPLY 区别详解 SQL Server 2005 新增 cross apply 和 outer apply 联接语句,增加这两个东东有啥作用呢? 我们知道有个 ...

  7. python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(已弃用)

    前言 1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请 ...

  8. mqtt服务搭建(emqx,原emq)

    系统环境: ubuntu 18.04server lts 目标系统IP地址(可访问):192.168.1.31 emqx版本: v3.2.3 打开网页,根据目标系统和emqx版本选择好安装包.这里我选 ...

  9. linux kernel相关学习资料的收集与周边

    <<linux内核设计与实现>>读了一遍.穿线作用比较好. 收获一个网站,和三本书 https://kernelnewbies.org/ https://book.douban ...

  10. python爬虫爬取get请求的页面数据代码样例

    废话不多说,上代码 #!/usr/bin/env python # -*- coding:utf-8 -*- # 导包 import urllib.request import urllib.pars ...