Dense biased networks with deep priori anatomy and hard region adaptation: Semi-supervised learning
分享篇论文吧。
毕竟做的是医疗图像,还是讲究实用性为主。医疗的深度学习总的来说肯定是要滞后于机器视觉的,但应用型文章的出发点就是实用,很多在机器视觉上应用的很好的东西在医疗图像上往往效果很不好。这个也是数据决定的,一个好的算法工程师应该可以很好的应用各种算法在实际应用上。
Dense biased networks with deep priori anatomy and hard region adaptation: Semi-supervised learning
这篇论文是MIA 2020新出的。阅读医疗图像的文章要是抱着看看这文章算法提出了什么以前没有的东西这种想法是不太正确的,毕竟实用最要紧。管他啥,效果好最重要。
先放结构图:
总的来讲这篇文章干了三件事:
第一:设计了一个无监督的encoder(也就是上图中粉红色的encoder)学习CT图的解剖学特征。
第二:设计了一个DenseBiasNet网络,可以快速训练,并且有点深监督的感觉。
第三:使用了一个困难区域的损失函数。
下面一个一个讲。
第一个encoder是一个在压缩领域很常用的网络,一个encoder+一个decoder,encoder压缩图像,decoder恢复成原图像,如果在压缩上就是可以提取出encoder压缩维度最低的特征当成是降维后的特征。道理也很简单,就是decoder能根据维度最低的特征恢复最完整的原始图像,那么最低维度的特征应该就是包含了图像绝大部分的信息,从而达到了对图像特征进行压缩的效果。数字图像处理一样的。下图是网络结构。损失函数是均方差损失。
这部分其实原理很简单,但是作者进行了一个很炫的包装,就是这种结构学习到的不是图像特征,而是CT的解剖学特征(其实就是图像特征),这听起来就很厉害了。而且是无监督学习,网络结构也简单。
第二部分是这个DenseBiasNet网络,总体结构图如下:
这个网络其实就是3Dunet的变体,最下面的DPA特征就是第一部分中我们提到的encoder。encoder先在无监督的训练中学习了CT的解剖学特征,训练好了以后,在DenseBiasNet中直接拿过来当成是特征提取器,用于提取图像的解剖学特征,这个encoder在整个DenseBiasNet的训练过程中参数是forzen的,也就是不对encoder进行训练。
DenseBiasNet网络最大的提点就是稠密的链接,可以看出每一个block出来的特征会和后面所有的block进行一个串联(concatenation),这样子的话,最后一层的loss可以直接反向传播到最底层,不需要经过中间的层,这就达到了一个深监督的效果。具体的特征传递方式如下:
由于不同block之间的分辨率可能是不一样的,他采用了最大池化层的方式进行下采样,插值的方式进行上采样。
第三个就是它的损失函数,如果是一般的交叉熵损失函数,会覆盖整个图像,如下图中的左边第一个,而他们的函数会focus在分割不好的区域,也就是右边两个图。
这个损失函数也是很简单的原理
yn是GT(ground-truth),yn^ 是预测的值,I表示采样策略,|yn−yn^ | > T的时候,I=1,否则I=0,也就是说I=1的时候这个点的损失就会被计算,而I=0的时候表示这个点不会被计算到损失中,|yn−yn^| 表示预测值也实际值的绝对距离,如果这个距离很小,那么就认为是分割对了,那么久不计算他的损失,这样就达到了选择难分割点的效果。T可以控制这个误差,文中选了T=0.1.
后面的实验我就不讲了。总的来说,希望可以在这种应用的文章中学到一些如何把算法的长处用到实际应用中的思路吧。