目录
一、前言
二、完成情况
2.1 一种具有边缘增强特点的医学图像分割网络
2.2 融合边缘增强注意力机制和 U-Net 网络的医学图像分割
2.3 遇到的困难
三、下周计划
一、前言
上周参加了一些师兄师姐的论文讨论会议,并完成了初稿。
本周继续修改论文,阅读了两篇医学图像分割方向的论文,学习他们的表达与创新点,并尝试复现。
二、完成情况
2.1 一种具有边缘增强特点的医学图像分割网络
期刊:电子与信息学报 Journal of Electronics & Information Technology
时间:2022年5月
DOI:10.11999/JEIT210784
痛点:传统医学图像分割缺失值大、边缘不清 晰、模型参数冗余等问题。
解决方案(创新点):本文提出一种具有边缘增强特点的医学图像分割网络(AS-UNet)。利用掩膜边缘提取算法得到掩膜边缘图,在UNet扩张路径的最后3层引入结合多 尺度特征图的边缘注意模块(BAB),并提出组合损失函数来提高分割精度;测试时通过舍弃BAB来减少参数。
具体实现如下:本文所提具有边缘增强特点的医学图像分割网络AS-UNet结构如图1所示。
图1 AS-UNet网络结构
注意力模块:
BAB的引入提高了模型的分割精度,但也不可避免地增加了网络参数,本文方法AS-UNet在测试时利用神经网络结构的冗余性进行模型精简,只需要选择模型的输出1,达到不增加网络参数的目的。
本文所提BAB具有可迁移性,可应用于多种网络。
图2 BAB结构
图3 图像掩模与对应边缘图
受空间通道压缩与激励(spatial-channel Sequeeze & Excitation, scSE) 注意力模块的启发, 本文提出一种新的注意力模块,具体结构如图4所示。对于输入特征图 ,分别在通道和空间上进行压缩得到特征图
和向量
,两者相乘得到新的权重
, 再将其与输入特征图
逐像素相乘得到最终输出
。整个过程如下式所示:
其中, 代表两图扩展维度后直接相乘,
代表逐像素相乘。
cSE和sCE顺着空间和通道维度分别进行特征压缩,将得到的特征权重向量分别加权到输入特征图上,完成不同维度上对原始特征的重标定。而 scSE的工作仅仅是将cSE和sCE的输出结果逐像素 相加,同时完成空间以及通道上的压缩与激励。
本文所提出的注意力模块首先将空间和通道上压缩得到的特征图进行相乘,得到与输入相同大小的权重W,如此便可以为输入特征图的每个像素都提供各自的权重,且相乘能够让重要的位置更加突出, 而价值较小的位置则可以被抑制。随后再将这一权重与输入逐像素相乘得到最终输出。
此方法相较于scSE同样简单且不增加任何参数,但能够更多地关注重要位置的信息,获取感兴趣区域及边缘特征信息。
本文将其应用于边缘注意模块3×3的卷积层之后,帮助模型取得更好的分割效果。
图4 注意力模块
思考:这篇文章提供了基于TensorFlow实现的代码,可以从中学习并复现为基于pytorch的代码。其中:
- ①可以将这里面的注意力机制替换为其他注意力机制,然后将速度模型的边缘图像处理为相应层的图像大小,接着融合到代码中去;
- ②可以将这个网络架构变为多任务学习的网络架构;
部分复现情况如下:
2.2 融合边缘增强注意力机制和 U-Net 网络的医学图像分割
期刊:医学学报 Journal Of Graphics 图像处理与计算机视觉
时间:2022年4月
DOI:10.11996/JG.j.2095-302X.2022020273
痛点:现有方法不能充分利用特征位置信息;医学图像分割过程中,病灶特征的边缘像素点划分不准确,进而 导致边界模糊、图像分割效果不理想的问题。
解决方案(创新点):本文提出一种边缘增强的注意力模块(CEA),分别进行水平和垂直 2 个不同方向的特征编码捕获位置信息,并通过计算位置特征和输入特征之间的偏移量加强边缘信息。
优势:将该模块应用基于 U-Net 的医学图像分割网络中,可突破卷积核的空间限制,捕获具有位置感知的跨通道信息及更加明确的边缘轮廓信息,从而提高分割的准确性。
具体实现如下:整体网络结构设计如图 1 所示,其中左半支为编码器阶段,进行下采样操作,提取目标的特征信息。右半支为解码器阶段,进行上采样操作完成特征信息的解码过程。在上采样过程中引入CEA,加强对特征位置信息利用的同时有效捕捉边界的轮廓信息,帮助网络提取到边缘信息更加明确的病灶特征,提高分割结果的准确性。
图1 整体网络架构
在解码器网络中,CEA 的整体设计如图 2 所示,将经过上采样的每一层输入该模块。首先对 输入特征进行 2 个方向的特征编码,让其充分获取病灶的位置信息,并在此基础上加强边界差异, 最终输出的特征图包含丰富的位置感知和较强的边界轮廓,改善医学图像的最终分割效果。
具体步骤实现包含五个步骤:
- 步骤一:初始化。给定尺寸大小为 h×w 的输入特征 x,分别沿着水平方向和垂直方向进行平均池化操作,获得输入特征垂直结构和水平结构上的信息编码;
- 步骤二:特征压缩。将 2 个方向的特征进行拼接操作后,送入卷积 F 中,得到 2 个方向空间信息的特征图;为加快模型的收敛速度并且提高对目标区域的关注度,对融合后的特征图进行非线性归一化操作;
- 步骤三:特征激励。将融合后的特征划分为 2 个方向的特征向量,利用 1×1 的卷积得到激励后 的分方向特征,并通过 Sigmoid 函数将特征值映射为[0,1]之间的权重值;
- 步骤四:计算加权特征图。计算加权特征图。通过矩阵相乘操作, 综合水平垂直方向权重信息,获得空间中每一个位置的权重;将其作用于原始图像中,以获得空间加权后特征注意力;
- 步骤五:计算边缘特征图。计算边缘增强特征。为捕捉差异、加强边缘特征信息,进一步地计算原始特征图 x 和加权特征注意力图 y 之间的差值,得到边界偏移量。
图2 边缘增强注意力模块
疑问:在这篇文章中,我有理解为什么整体网络架构中出现了 TSCA 多尺度上下文细节感知提取模块,但是后续没有介绍该模块的相关内容。然后,我进行搜索也没有查询到。
2.3 遇到的困难
① 报错提示:在计算InversionNet参数量的时候突然出现下述报错,在之前可以正常运行并计算,疑惑......
百度提示可以查看torch的版本号是否为最新版本、检查代码书写情况等,但是并没有解决这个问题。
- x = F.pad(x, [-5, -5, -5, -5], mode="constant", value=0) # (None, 32, 70, 70) 125, 100 TypeError: pad() got an unexpected keyword argument 'mode'
②报错提示:py文件忘记声明使用的编码方式。
因此,为了解决这个问题,需要在文件的第一行添加注释,声明正确的编码方式:
- SyntaxError: Non-UTF-8 code starting with '\xcf' in file D:/Wang-Yumei/TU_Net/test.py on line 119, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
# -*- coding: utf-8 -*-
三、下周计划
- 总结当前全波形反演的相关文献,并分类;
- 思考组会内容;