首先说一下我对这个方案的看法,相比第一名与第二名的方案,这个方案的分割方法确实复杂的多,原论文是发表在MICCAI,后来砖投到IEEE image processing(SCI 1区),总体感觉给人一种花里胡哨的感觉,但是看分割结果,却着实让人满意。以下将解析此论文。

摘要

肿瘤分割的一个主要难点就是类别不平衡,肿瘤部分占整个脑的比例太小以至于难以精准的分割。传统解决类别不平衡的方法是采用级联的网络,一步一步的从粗到精的分割。先不考虑此网络的性能如何,就网络结构而言级联网络结构复杂,而且忽略了模型的相关性。针对此缺陷,本文提出了一种轻量级(模型参数是MC的三分之一)一步多任务分割模型(One-pass Multi-task Networks,OM-Net)。此模型有以下特点:首先,OM-Net将单独的分割任务集成到一个深度模型中,该模型由学习联合特征的共享参数以及学习区分性的特定任务参数组成 特征。 其次,为了更有效地优化OM-Net,我们利用任务之间的相关性来设计在线训练集传输策略(training data strategy)和基于课程学习的训练战略。 第三,我们进一步提出任务之间的共享预测结果,使我们能够设计一个跨任务引导注意力(CGA attention)模块。最后提出了一种有效的后处理方法:K-means

1

传统的级联模型(MC)往往是由多个单独的网络组成,大多数的分割步骤是:首先分割出感兴趣的区域(ROI),然后在感兴趣的区域进行精准分割,虽然此方法能够缓解肿瘤的类别不平衡因素,但是还是有很多缺陷:首先是MC需要训练多个网络,增加了复杂性;其次,训练集是相互独立的,忽略了多个模型之间的相关性。最后,缺少多个任务之间的相互作用,并且计算成本高。所以,提出了OM-Net(多任务集成,多任务相互作用,training data strategy,课程学习,单步预测,CGA)

将三个任务整合到一个模型当中,加强了训练阶段任务之间的相互作用,并且在预测阶段只需要一步的计算即可预测,不需要多步预测。并且采用training data strategy共享加强数据集之间的相互作用,采用课程学习的方式,根据任务的那一程度逐步将任务将如到网络中。采用CGA attention机制,加强了对重要信息的提取,抑制了不重要的信息。并且采用k-means的后处理的方式,对分割结果又一定的提升。

2

A.综述

介绍数据集与前人的工作。

B proposed attention

目前主流有三种attention机制,分别可以参考https://blog.csdn.net/qq_41639077/article/details/105161157?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase。相比SE attention而言,SE块基于每个通道中所有体素的平均响应,并使用单个权重重新校准每个通道,而不管这些体素属于哪个类别

3 方法

A.

采样获得数据集:(1)随机的在脑部区域进行采样,此时有5个类别:三个肿瘤类别,一个正常脑组织,一个背景。在预测时,把三个肿瘤的预测图进行相加获得粗分割图。(2)对coarse tumor mask 扩展5个体素以减少假阴性, 训练数据在扩张的真实的完整的肿瘤区域内随机取样(3)训练数据在扩张的真实的肿瘤核心区域内随机采样。

由于缺乏上下文信息,补丁中边界体素的分割结果可能不准确,采用重叠切片策略:https://blog.csdn.net/qq_34759239/article/details/79209148?tdsourcetag=s_pcqq_aiomsg,在本文中,仅仅预测中心区域的20*20*5的区域,抛弃对边界体素的预测。

B.

OM-Net:

特点(多任务集成,多任务相互作用,training data strategy,课程学习,单步预测,CGA),满足一下条件,启动training data strategy(但是在inference阶段,数据融合,数据迁移都去掉)

C.Cross-task Guided Attention

OM-net网络的由粗-精的分割可以看做是spatial attention,本文为了提高OM-Net的性能,提出了;另一种channel attention机制-----CGA。

在SE块中的全局平均池(GAP)操作忽略了输入补丁中每个类的体积的巨大变化。 我们通过计算特定类别区域而不是整个补丁中的统计数据来解决这个问题。 然而,在我们到达最终分类层之前,普通CNN的特定类别区域是未知的;因此,这是一个鸡和蛋的问题 。 幸运的是,OM-Net允许我们通过在任务之间共享预测结果来预先估计特定类别的区域(前面任务的分割结果会作用于后面的任务)

pt用了两次,第一次是为了利用特定类别的概率,第二次是为了减小St,Sn对tumor与non-tumor的敏感性。

D.后处理

1)移除满足下式的鼓励的集群,

TV OL= min(2000, 0.1 ×Vmax),Vmax表示最大联通的肿瘤区域的体积。此方式对DIce提升较少
2)非增强肿瘤容易被误分类成水肿,

If vole/volt< 0.1, vole(n)/volt(n) <0.05, and vole(n) < 1000,启动k-means,此方式显著提高Dice
通过一系列的对照试验,试验表明,OM-Net(CGA)性能很强大。
总体来说,此方法十分复杂(晕)
 
转载请标明出处,谢谢

2018年BRATS 肿瘤分割挑战赛第三名分割方案One-pass Multi-task Networks with Cross-task Guided Attention for Brain Tumor Segmentation的更多相关文章

  1. 语义分割之Dual Attention Network for Scene Segmentation

    Dual Attention Network for Scene Segmentation 在本文中,我们通过 基于自我约束机制捕获丰富的上下文依赖关系来解决场景分割任务.       与之前通过多尺 ...

  2. arcgis 按面积分割, 按比例分割面积,按等份批量面积分割工具

    arcgis 按面积分割, 按比例分割面积,按等份批量面积分割工具 视频下载:https://yunpan.cn/cvujkpKIqwccn  访问密码 e9f4

  3. 图片像素对比OpenCV实现,实现人工分割跟算法分割图像结果的对比

    图片对比,计算不同像素个数,已经比率.实现人工分割跟算法分割图像结果的对比,但是只能用灰度图像作为输入 // imageMaskComparison.cpp : 定义控制台应用程序的入口点. // / ...

  4. ccc数据库的水平分割和垂直分割

    在数据库操作中,我们常常会听说这两个词语:水平分割和垂直分割.那么到底什么是数据库的水平分割,什么是数据库的垂直分割呢?本文我们就来介绍一下这部分内容. 1.水平分割: 按记录进分分割,不同的记录可以 ...

  5. SilverLight:布局(2)GridSplitter(网格分割)垂直分割、水平分割

    ylbtech-SilverLight-Layout: 布局(2)GridSplitter(网格分割)垂直分割.水平分割 A, Splitter(分割)对象之 GridSplitter(网格分割)1: ...

  6. 2018年星际争霸AI挑战赛–三星与FB获冠亚军,中科院自动化所夺得季军

    雷锋网 AI 科技评论消息,2018 年 11 月 13-17 日,AAAI 人工智能与交互式数字娱乐大会 (AI for Interactive Digital Entertainment) 在阿尔 ...

  7. 【分割平面,分割空间类题】【HDU1290 HDU2050】

    HDU 2050 折线分割平面 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  8. PCL中分割_欧式分割(1)

    基于欧式距离的分割和基于区域生长的分割本质上都是用区分邻里关系远近来完成的.由于点云数据提供了更高维度的数据,故有很多信息可以提取获得.欧几里得算法使用邻居之间距离作为判定标准,而区域生长算法则利用了 ...

  9. Leetcode. 回文字符串的分割和最少分割数

    Q1: 回文字符串的分割 Given a string s, partition s such that every substring of the partition is a palindrom ...

随机推荐

  1. 源码分析(2)-LinkedHashMap(JDK1.8)

    1.概述 LinkedHashMap继承自HashMap:在HashMap基础上,通过维护一条双向链表,解决了HashMap键值对遍历顺序和插入顺序一致的问题. 想了解LinkedHashMap源码, ...

  2. Java—JDBC向mysql数据库中给某个表添加数据时,会遇到的问题,如下

    解析(jar包该放在那里,以及其它的操作): 把jar包(驱动)添加到自己的项目中,最好新建一个文件夹,再把jar包(驱动包)添加到这个所新建的文件中 1.先建好自己的项目,再新建一个文件夹,如下: ...

  3. ios支付签名认证

    一.解析json中参数的含义 private Long id; @ApiModelProperty(value = "创建时间") private Date gmtCreate; ...

  4. MYSQL SQL 语句修改字段默认值

    alter table tablename alter column drop default; (若本身存在默认值,则先删除) alter table tablename alter column ...

  5. 如何设置body内容不能复制?

    通过在body标签上设置相关的属性: <body oncontextmenu="return false" ondragstart="return false&qu ...

  6. [每日一题2020.06.16] leetcode双周赛T3 5423 找两个和为目标值且不重叠的子数组 DP, 前缀和

    题目链接 给你一个整数数组 arr 和一个整数值 target . 请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target .可能会有多种方案,请你返回满足要求的两个子数组长度和的 ...

  7. Anaconda 安装 以及conda使用

    下载 https://www.anaconda.com/distribution/#macos 管理 conda 版本查看 conda --version conda 版本更新 conda updat ...

  8. Jupyter notebook中的Cell and Line Magics

    参考资料: https://www.jianshu.com/p/81ada9234788 https://my.oschina.net/u/2306127/blog/832510 首先,Cell an ...

  9. 使用Apache commons email发送邮件

    今天研究了以下怎么用java代码发送邮件,用的是Apache的commons-email包. 据说这个包是对javamail进行了封装,简化了操作. 这里讲一下具体用法吧 一.首先你需要有邮箱账号和一 ...

  10. python基础整理(2)

    布尔表达式与其余值的替换 值的测试 Python不仅仅可以使用布尔型变量作为条件,它可以直接在if中使用任何表达式作为条件: 大部分表达式的值都会被当作True,但以下表达式值会被当作False: F ...