Deep Learning Based Registration文章阅读(五)

这篇文章是MIA2021新出的一篇文章《Anatomy-guided Multimodal Registration by Learning Segmentation without GroundTruth: Application to Intraprocedural CBCT/MR Liver Segmentation and Registration》。目的是做多模态3D的affine registration。关于为什么只做affine可能有两点原因:1、因为这篇文章所用的模态之一为CBCT,CBCT的图片如下图,是一个limitated的FOV。作者说在这种limitated FOV下,要分割的liver可能会被截断,这时候用non-rigid registraion就会效果不好,这一点在他后面基于B-spline的non-rigid的多模态配准结果中可以看出确实不好,但是笔者觉得不好的原因不一定是non-rigid,可能是基于B-spline的non-rigid方法是传统的基于MI等metric导致的。2、第二点原因是笔者的猜测,因为要做术中引导,deformable的方法可能目前其实不太被医生认可,所以只用了affine。

Motivation

这篇文章的逻辑是,之前研究表明,通过在配准过程中加入分割的annotation作为弱监督的信息可以提高多模态配准的效果。但是之前研究中至少需要一种模态的分割annotation:1、需要两种模态分割annotation的情况需要手动对两种模态的分割区域进行注释。2、只需要一种模态的情况是需要一种模态的手动分割注释,结合GAN网络学出另一种模态的分割注释。本篇文章的创新在于,因为哪怕只需要一种模态的分割注释也是非常耗时的,所以这篇文章通过引入第三方的注释比较多(同时数据也比较多)的一种模态,这里是CT,来像之前一样结合GAN网络,但是是同时学习两种模态(CBCT/MR)的分割注释。把学习到的分割注释用于下阶段一个传统迭代的估计仿射变换的算法中。总体而言,这篇文章的方法分两个阶段:第一阶段利用Cycle GAN结合specified task的loss学习2D图像的segmentation annotation;第二阶段利用第一阶段估计出的分割轮廓,将3D分割区域(2D slice stack起来)的表面点提取出来,利用这些点使用RPM一个传统的迭代的算法,估计3D仿射矩阵。

Framework

分为两部分:一部分是基于Cycle GAN的分割学习网络;另一部分是传统的RPM算法。
第一部分:

上图是第一部分,IAI_AIA​和IBI_BIB​代表两种模态的图像,其中IAI_AIA​是CT图像并且有liver分割的ground truth,IBI_BIB​是CBCT或者是MR的图像。像之前很多用GAN来解多模态的问题一样,通过生成器来实现图像风格translation,通过判别器来判断fake image的可信度,相互对抗训练,用到的对抗loss以及自监督的cycle loss应该都是Cycle GAN里面常规的。后面的segmenter是一个U-net like的网络来对风格转换后的I^B\hat{I}_BI^B​进行分割,同时因为转换前的IAI_AIA​是CT图像,是有分割的ground truth,所以可以有一个分割区域的loss来监督分割训练。注意I^B\hat{I}_BI^B​和IAI_AIA​只是模态的不同,但是shape information是相同的。右上角的部分是说明,在生成器训练的时候,如果已经是要生成模态的图像,那输出应该就是该图像,不能有改变。segmenter,generator以及dicriminator的结构如下图所示:值得一提的是segmenter引入了SE module来实现注意力机制(左下角)。该注意力机制分别在channel和spatial方向上引入,在channel方向引入是通过global average pooling以及一个三层的全连接实现的,在spatial上引入是通过在channel方向上进行1 ×\times× 1卷积进行一个降维来实现的。

Loss

这篇文章loss比较多,但是大部分的loss都是比较容易理解的,在GAN也经常用到。比如对抗loss以及cycle loss都是Cycle GAN中用到的,没什么变化。


分割loss的具体实现就是1-Dice。

关于framework第一张图右上角的部分的loss是一个简单的MSE。

值得一提的是AP loss,AP就是结构保护的英文首字母缩写,它包括两部分:一部分就是NCC,是一种结构相似性的描述,另一部分是MIND loss,这里它简写为MD。


MIND是modality independent neighborhood descriptor的缩写。看名字就是一种与模态无关的描述子。它的表现与SIFT很像,就是通过对图像中每一个像素生成一个一维的描述子,从而形成一个3D tensor。它的具体实现可以参考《MIND: Modality independent neighbourhood descriptor for multi-modal deformable registration》这篇文章,是2012 MIA的文章。


下面这个公式就和上面那个公式是一样的,下面的三个公式是MIND原文章的公式,其实现为,在一定搜索范围内R内,计算以当前像素x以及在R内偏移r的像素x+r,这两个像素为中心的patch的patch distance,作为描述当前像素x的描述子向量中的一个element,所以分子是一个向量,向量长度就等于R范围可便宜的个数,也就是|R|。分子是一个variance的概念,就是对于3D图像来说,取6邻域的patch distance取一个平均。

patch distance的公式:

分母计算公式:

Dataset

这里对数据集的处理有一个特别的地方:就是在第一步分割的时候,需要使用CT数据集,但是CT图片和CBCT图片在FOV上有一定区别,所以通过模拟CBCT的FOV来处理CT图片,如下图:

Results


分割结果如上,CycGAN-SegCT是用Cycle GAN来将CBCT/MR的图像转成CT,再用一个用CT训练好的segmenter来做分割;全监督SegCBCT是用他自己的CBCT做标注然后训练segmenter做分割。定量结果如下:


和传统方法的比较如上图,’CT‘ indensity based是通过Cycle GAN将CBCT/MR的图像转成CT图像后再进行基于indensity的配准,indensity based是直接用多模态图像做。RPM based on human annotation是用人工标注的分割注释来估计3D仿射矩阵,可以说是作为这个研究的ground truth。定量结果如下图:


上图是他提出的方法配准后的结果,想说明配准后箭头所指的肝脏肿瘤部位对的比较齐,因为术中关注的也是肿瘤的切除。

上图是想说明不同方法和作为ground truth的huamn annotation估计出的仿射矩阵的自由度参数的误差。

最后一幅图是想说明用他的方法做分割的结果和human annotation差异不大。

Deep Learning Based Registration文章阅读(五)《Anatomy-guided Multimodal Registration by Learning Segment 》相关推荐

  1. 文章阅读:Social-STAGE: Spatio-Temporal Multi-Modal Future Trajectory Forecast

    Social-STAGE: Spatio-Temporal Multi-Modal Future Trajectory Forecast 摘要 1 引言 2 相关工作 3 METHODOLOGY 4. ...

  2. 【文献阅读03】Deep Reinforcement Learning Based Resource Allocation for V2V Communications

    Deep Reinforcement Learning Based Resource Allocation for V2V Communications(点击可见原文) p.s.此文19年发表,到20 ...

  3. Deep Learning论文笔记之(五)CNN卷积神经网络代码理解

    Deep Learning论文笔记之(五)CNN卷积神经网络代码理解 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文,但 ...

  4. 基于深度强化学习的车道线检测和定位(Deep reinforcement learning based lane detection and localization) 论文解读+代码复现

    之前读过这篇论文,导师说要复现,这里记录一下.废话不多说,再重读一下论文. 注:非一字一句翻译.个人理解,一定偏颇. 基于深度强化学习的车道检测和定位 官方源码下载:https://github.co ...

  5. 论文翻译七:Adversarial Transfer Learning for Deep Learning Based Automatic Modulation Classification

    30天挑战翻译100篇论文 坚持不懈,努力改变,在翻译中学习,在学习中改变,在改变中成长- Adversarial Transfer Learning for Deep Learning Based ...

  6. 【论文学习笔记】《A Review of Deep Learning Based Speech Synthesis》

    基于深度学习的语音合成综述论文学习 文章目录 基于深度学习的语音合成综述论文学习 1 简介 2 语音合成概述 2.1 语音合成概念 2.2 语音合成发展历史 2.3 传统语音合成技术 2.3.1 拼接 ...

  7. 综述:基于深度学习的文本分类 --《Deep Learning Based Text Classification: A Comprehensive Review》总结(一)

    文章目录 综述:基于深度学习的文本分类 <Deep Learning Based Text Classification: A Comprehensive Review>论文总结(一) 总 ...

  8. Deep Learning for NLP 文章列举

    一.大部分文章来自: 原文:http://www.xperseverance.net/blogs/2013/07/2124/ http://www.socher.org/ http://deeplea ...

  9. 【推荐算法】深度学习推荐算法综述 Deep Learning based Recommender System: A Survey and New Perspectives

    一.MLP based Recommender System 1. Deep Crossing模型 Deep Crossing模型完整的解决了从特征工程.稀疏向量稠密化.多层神经网络进行优化目标拟合等 ...

最新文章

  1. 四十六、获得SD卡的大小以及内部的文件信息
  2. PHP中date()函数详细参数
  3. 河北职称计算机2012试题,2012年河北省职称计算机考试试题及答案.doc
  4. !!基础---c# 下载网页+图片
  5. 时间日期类JAVA包含地区属性_Java常用类 | 时间和日期类
  6. 所想即所得 运维进行时
  7. CQRS架构下Equinox开源项目分析
  8. nvidia控制面板点了没反应win7_为什么没有nvidia控制面板_win7没有nvidia控制面板怎么找回-系统城...
  9. 关于WinCE中config.bib的问题
  10. MediaWiki安装配置(Linux)【转】
  11. linux du -sh 脚本,Linux之shell脚本(2)
  12. php mysql练手_ThinkPHP5练手Demo实战
  13. unison+inotify-tools实现双向实时同步
  14. FPGA基本开发设计流程
  15. h0043. 奇怪的汉诺塔
  16. Seq2Seq模型中的集束搜索(Beam Search)
  17. traceroute命令(unix)/tracert命令(windows)
  18. Git 不忽略某个文件
  19. 【cpg控制】Hopf振荡器的一种python实现
  20. pdf java解析_JAVA解析PDF内容

热门文章

  1. CC254x/CC2540/CC2541库函数速查
  2. [ web 漏洞篇 ] 常见web漏洞总结之 SQL 注入总结
  3. 讲人话科普,Python是个啥?为啥大家都在学?
  4. 需求分析——什么是需求分析?
  5. 保理业务系统-产品介绍
  6. 「自控原理」3.3 稳定性与稳态误差、时域校正
  7. AlexNet神经网络结构
  8. linux中uboot作用,uboot的作用和启动方式
  9. 控制工程/机器人SLAM/机器视觉/避障导航/求职笔记
  10. 给 32 位系统装 8g 内存条能用吗?为什么?