【论文阅读笔记】Diagnose like a Radiologist: Attention Guided Convolutional Neural Network

本文介绍了一种基于Attention机制的卷积神经网络(AG-CNN),该方法模仿医生诊断流程,首先全局扫描胸片,然后聚焦于疑似病灶区域,最后融合全局和局部特征进行判断。在ChestX-ray14数据集上取得了优异成果。

      本文发表在2018年的arXIV上,通过Attention机制,让计算机关注病理区域,在ChestX-ray14数据集上,达到了state-of-the-art的性能。

      本文的想法思路来得很自然,医生在阅读胸片时通常先整体看片子中是否有问题,然后再集中精力看有病理可能的局部区域,最后在结合整张片观察,确定病理结论。本文的算法也按照这种思路,提出一种Attention-guided Convolutional Neural Network(AG-CNN)。

     算法分为三部分:1、Global branch:输入整张胸片,数据经过了常用的数据增强手段处理,从中提取出可疑区域(mask)。2、Local branch:输入为步骤一输出的可疑区域,网络模型同Global branch,这一部分体现了attention机制。3、将Global branch和Local branch训练输出的特征图通过fusion branch的池化层进行连接,输出最后的结果。几个步骤中使用的CNN为ResNet-50和Dense-CNN,损失函数使用binarycross-entropy(BCE)。网络模型如下图:


算法描述如下:


      完整的胸片在经历globalbranch后会计算出mask局域,标识出可能存在病理的区域,使用热力图可视化展示,这里有一个关键的阈值参数来确定mask的大小,通过实验该数值在0.7时网络效果最好。


     文章对比了几种baseline算法,看出在该数据集上达到了state-of-the-art。


     同时实验对比了几种不同的训练方式:先训练global 和local branch,再训练fusion以及序列化的训练global,local和fusion,最终发现序列化效果最好。



你提到的负载内容: ```json { "method": "do", "diagnose": { "start_oneclick_diagnose": { "type": "01111000" } } } ``` 是典型的 **diagnose(诊断)模块触发的一键诊断请求**,我们来逐项分析它是否来自 `diagnose` 模块,并指导你如何在 NVMP 平台中定位相关内容。 --- ### ✅ 一、这个负载是否来自 `diagnose` 模块? **是的。** - `"method": "do"` 表示这是一个动作执行请求。 - `"diagnose"` 是模块名,表示当前操作属于诊断模块。 - `"start_oneclick_diagnose"` 是一个动作函数,表示“启动一键诊断”。 - `"type": "01111000"` 是诊断类型的标志位,通常用于指定诊断项(如网络、设备状态、云连接等)。 --- ### ✅ 二、如何在 NVMP 平台的 `diagnose` 模块中找到对应内容? #### 1. **查看诊断模块的源码文件** 通常在以下路径中可以找到诊断模块的实现: ``` <nvmp_root>/src/modules/diagnose/ ``` 在这个目录下,你可能会看到如下文件: - `diagnose.c` / `diagnose.cpp`:主逻辑处理文件。 - `diagnose_cmd.c` / `diagnose_cmd.cpp`:命令解析,处理 `method: "do"` 的请求。 - `oneclick_diagnose.c`:一键诊断逻辑实现。 - `diagnose_type.h` 或 `diagnose_def.h`:定义诊断类型(如 `"type": "01111000"`)。 #### 2. **搜索 `start_oneclick_diagnose` 函数** 你可以使用 `grep` 或 IDE 的搜索功能查找: ```bash grep -r "start_oneclick_diagnose" <nvmp_root> ``` 通常会找到类似函数定义: ```c void start_oneclick_diagnose(const char *type) { if (type[0] == '1') { do_network_diagnose(); // 网络诊断 } if (type[1] == '1') { do_device_status_diagnose(); // 设备状态 } ... } ``` #### 3. **解析 `type: "01111000"` 的含义** 这是一个8位二进制字符串,每一位代表一个诊断项: | 位 | 含义(示例) | 是否启用 | |----|---------------------|----------| | 0 | 网络诊断 | 0 | | 1 | 存储状态 | 1 | | 2 | 设备状态 | 1 | | 3 | 云服务连接 | 1 | | 4 | 流媒体服务 | 1 | | 5 | 硬件状态 | 0 | | 6 | 系统日志 | 0 | | 7 | 自定义扩展 | 0 | 所以 `"01111000"` 表示将执行: - 存储状态 - 设备状态 - 云服务连接 - 流媒体服务 --- ### ✅ 三、你导师的意图 导师让你“特别关注”这个负载,是因为: 1. 它触发了诊断模块的核心功能。 2. `type: "01111000"` 是一个典型的诊断组合,可能用于测试网络配置是否正常。 3. 你点击 Web 界面的“网络配置”按钮后触发这个请求,说明 Web 界面和诊断模块已经联动。 --- ### ✅ 四、建议你下一步操作 1. **在诊断模块中定位 `start_oneclick_diagnose` 函数**。 2. **打印调试日志**,确认该函数是否被调用,以及 `type` 参数是否被正确解析。 3. **查看诊断结果输出**(可能返回到 Web 界面或写入日志)。 4. **尝试修改 `type` 值并测试不同诊断组合的行为**。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值