当前位置:网站首页>[论文阅读] CA-Net: Leveraging Contextual Features for Lung Cancer Prediction
[论文阅读] CA-Net: Leveraging Contextual Features for Lung Cancer Prediction
2022-07-02 17:38:00 【xiongxyowo】
[论文地址] [代码] [MICCAI 21]
Abstract
在肺癌的早期诊断中,一个重要步骤是对每个肺结节进行恶性/良性分类。对于这种分类,结节的特征(如形状、边缘)历来是主要的焦点。最近,背景特征由于其提供的补充信息而吸引了越来越多的关注。在临床上,这种背景特征指的是结节周围结构的特征,这样(与结节的特征一起)它们可以暴露出恶性/良性的鉴别模式,如血管汇聚和裂隙附着。为了利用这些上下文特征,我们提出了一个上下文注意网络(CA-Net),它可以提取结节和上下文特征,然后在恶性/良性分类中有效地融合它们。为了准确识别包含结节扭曲/附着的结构的上下文特征,我们通过注意机制将结节的特征作为参考。此外,我们提出了一个特征融合模块,可以自适应地调整各结节的特征和背景特征的权重。我们提出的方法的实用性表现在比Kaggle比赛中的数据科学碗2017年数据集的第一名有明显的优势。
Method
本文算是一种比较高级的上下文attention机制,即引入了肺结节的扭曲,附着之类的信息。具体流程如下:
检测肺部疾病本质上其实就是个多阶段实现的二分类问题。首先,要用一个结节检测(Nodule Detection)算法把CT图像汇总的肺结节给检测出来,本文直接用了个TNNLS上的经典算法;接着,要对每个结节进行分类(Nodule Malignancy Classification),判断其为恶性的概率;最后,依据每个结节的状态对肺部CT状态进行综合的诊断(Cancer Prediction)。诊断其实就是一个预测概率汇总: P ( Y ∣ I ) = 1 − ( 1 − p l ) ∏ k = 1 K ( 1 − P ( M ∣ I N k ) ) P(Y \mid I)=1-\left(1-p_{l}\right) \prod_{k=1}^{K}\left(1-P\left(M \mid I_{N_{k}}\right)\right) P(Y∣I)=1−(1−pl)k=1∏K(1−P(M∣INk)) 因此本文的核心工作其实就在肺结节分类上,包含三步:特征提取,上下文注意力以及特征融合。特征提取其实就是使用3D-UNet拿到feature map。
上下文注意力:
这一步做的是如何将从原始特征 X X X中分别提取出结节特征 X N X_N XN以及上下文特征 X C X_C XC。 X N X_N XN是很好获得的,只需要进行一个ROI Pooling就可以提取出来。这里的亮点是 X C X_C XC的获得需要 X N X_N XN来辅助。
从图中可以看到, X C X_C XC是在 X S X_S XS的基础上做了一个空间注意力得到的, X S = X − X C X_S = X - X_C XS=X−XC。至于这个空间注意力,其实就是由 X N X_N XN做了一个"Nodule Encoding", X S X_S XS做了一个"Surrounding Encoding",把得到的结果concat起来作为attention map。至于这两个Encoding block,本文并未指出其结构,不过按照注意力的一般做法使用任意可学习的网络组件(甚至全连接层)应该都是可以的。
特征融合:
至于这个特征融合走的也还是空间注意力的思想,只不过这里甚至更加简单粗暴,即要得到: X fuse = Concat ( ω N × X N , ω C × X C ) X_{\text {fuse }}=\operatorname{Concat}\left(\omega_{N} \times X_{N}, \omega_{C} \times X_{C}\right) Xfuse =Concat(ωN×XN,ωC×XC) 因此直接各自上了一个小的MLP(可以认为就是几个全连接层)来计算这个系数 ω \omega ω。
边栏推荐
- R language ggplot2 visualization: visualize the line chart and add customized X-axis label information to the line chart using labs function
- PR曲线和ROC曲线概念及其区别
- Mysql高级篇学习总结8:InnoDB数据存储结构页的概述、页的内部结构、行格式
- 拦截器与过滤器的区别
- 【JVM调优实战100例】02——虚拟机栈与本地方法栈调优五例
- FastDFS安装
- Web实时通信技术之Websocket
- 文字编辑器 希望有错误的句子用红色标红,文字编辑器用了markdown
- 如何设置VSCode删除整行快捷键?
- 材质UV遮罩的技巧
猜你喜欢

A simple PHP personal card issuing program v4.0

Leetcode (81) -- search rotation sort array II

M2DGR:多源多场景 地面机器人SLAM数据集(ICRA 2022 )

鸿蒙第四次学习

Have you stepped on the nine common pits in the e-commerce system?
![[daily question] the next day](/img/8a/18329bd9b4a3a4445c8fbbc1ce562b.png)
[daily question] the next day

科技公司不同人对Bug的反应 | 每日趣闻

迷你高尔夫球场:伦敦休闲旅游好去处

CDN acceleration and breaking J anti-theft chain function

Mysql高级篇学习总结8:InnoDB数据存储结构页的概述、页的内部结构、行格式
随机推荐
Learning summary of MySQL advanced 6: concept and understanding of index, detailed explanation of b+ tree generation process, comparison between MyISAM and InnoDB
页面标题组件
Matlab中弧度转角度、角度转弧度
Mysql高级篇学习总结6:索引的概念及理解、B+树产生过程详解、MyISAM与InnoDB的对比
How to play when you travel to Bangkok for the first time? Please keep this money saving strategy
“栈”的典型应用—表达式求值(C语言实现)
R language dplyr package filter function filters dataframe data. If the name of the data column (variable) to be filtered contains quotation marks, you need to use!! SYM syntax processing, otherwise n
深度学习数学基础
SAP S/4HANA OData Mock Service 介绍
How to copy and paste interlaced in Excel
产品经理应具备的能力
The text editor hopes to mark the wrong sentences in red, and the text editor uses markdown
MySQL advanced learning summary 7: MySQL data structure - Comparison of hash index, AVL tree, B tree and b+ tree
[100 cases of JVM tuning practice] 03 -- four cases of JVM heap tuning
Typical application of "stack" - expression evaluation (implemented in C language)
迷你高尔夫球场:伦敦休闲旅游好去处
The difference between promise and observable
LightGroupButton* sender = static_cast<LightGroupButton*>(QObject::sender());
R language uses the lsnofunction function function of epidisplay package to list all objects in the current space, except user-defined function objects
任职 22 年,PowerShell 之父将从微软离职:曾因开发 PowerShell 被微软降级过