首先说一下我对这个方案的看法,相比第一名与第二名的方案,这个方案的分割方法确实复杂的多,原论文是发表在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. 认识OSI七层模型

    概述: OSI全名(Open System Interconnect),是指定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架.层次:从低到高的层级:物理层.数据链路层.网络层.传 ...

  2. SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis

    今天项目不忙,想搞一下shardingJDBC分库分表看看,主要想实现以下几点: 舍弃xml配置,使用.yml或者.properties文件+java的方式配置spring. 使用 Druid 作为数 ...

  3. 使用jdk1.8 stream特性对参数名称进行排序

    在对外对接的时候,通常会碰到签名方式, 然后签名的时候,要求按照参数名称进行排序. 比如参数为 c=22&a=1, 需要将结果排序为a=1&c=22, 然后再进行别的运算. 可以使用j ...

  4. RabbitMQ系列之【设置RabbitMQ远程ip登录】

    由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq. ...

  5. String源码理解之indexOf函数

    1前言 不多说,直接上源码 2源码 我自己的理解,可能表述不清,多看几遍,不行就debug跟一遍代码自然就懂了. /** * Code shared by String and StringBuffe ...

  6. [AGC043-D]Merge Triplets

    题目   点这里看题目. 分析   我们不妨来考虑一下生成的序列有什么性质.   为了方便表示,我们将序列\(S\)的第\(i\)项写为\(S[i]\).   首先考虑如果所有的\(A\)序列都是递增 ...

  7. logging模块封装

    logging模块封装 #!/usr/bin/env python # -*- coding: utf-8 -*- import datetime import logging import env ...

  8. jmeter对数据库进行简单的压测

    1.点击测试计划,再点击“浏览”,把JDBC驱动添加进来: 注:JDBC驱动一般的位置在java的安装地址下,路径类似于:    \java\jre\lib\ext 文件为:mysql-connect ...

  9. Redis系列(四):数据结构String类型中基本操作命令和源码解析

    1.介绍 string类型本质上是char[]数组的封装  中文网:http://www.redis.cn/commands.html#string  2.常用命令 set 命令 set命令的时间复杂 ...

  10. 记linux vsftpd配置遇到的错误

    环境:centos 7 yum安装 yum install -y vsftpd 增加用户 # 家目录为/www 并设置nologin useradd -d /www -s /sbin/nologin ...