本人刚入配准,理解错误的地方还清各位道友指出改正,谢谢!
摘要
文章提出了一种基于学习的解决方案;将注册问题描述成一个函数:将输入图像对映射到一个将这些图像对齐的变换场(deformation field )。
开发了两种不同的训练策略:
- 无监督的配置:训练模型以最大化基于图像强度的标准图像匹配目标函数;
- 利用训练数据中可获得的辅助解剖分割信息,结合无监督的目标函数构造新的目标函数进行训练。
介绍
用传统的基于优化的方法的计算开销大引出作者提出的一种基于学习的配准框架方法:一种从volume集合中通过CNN学习参数化配准函数的新方法。以及进行一系列的实验证明,如,数据集大小对精度影响,特例优化可以怎么提高效果,以及超出参数的影响。
背景
介绍传统的volume配准方法以及他们的作用(分析大脑解剖结构在人群中的差异或者了解疾病患者大脑解剖结构随时间的演变。)可变形的配准大致两个步骤:首先初始化一个用于全局对齐的仿射变换,然后在更高自由度上进行缓慢的转换。本文专注于后面的步骤,在该步骤中,我们为所有体素计算一个密集的非线性对应关系。
现有的大多数可变形配准算法都基于能量函数来迭代优化转换。将优化问题表示成如下函数:
其中,m◦ϕ代表将带配准图像m对应的配准区域ϕ用一个空间变换参数转换成Moved图像(m◦ϕ),Lsim(·,·) 度量两图像相似性。Lsmooth(·)正则项。
然后,介绍 ϕ ,Lsim(·,·) ,Lsmooth(·)的常见计算方法。
- ϕ通过一个displacement vector field u (移位向量场)计算ϕ = Id + u==, Id是一个恒等变换。
- Lsim(·,·)通常有:灰度强度均方误差,相互信息,互相关
- Lsmooth(·) ,正则化项,强制执行空间平滑变形,通常是一个关于u的空间梯度的函数。针对每对volume 进行优化,显然计算花费非常的大,本文假设这个变换场可以通过一个参数化函数计算,在数据集上训练这么个函数。本质上这种方式将特定对优化的转换场用一个参数共享的全局优化的转换场,叫做“摊销”。
相关工作
- 介绍传统的一些非基于学习的方法。
- 介绍最近的一些应用CNN的基于学习的方法。其中,有两个无监督的学习方法,首次将无监督学习引入到配准上。此外还有一种 a segmentation driven cost function(分割驱动的)损失函数用在不同形式的图像注册上,证明基于分割图的损失函数可以得到一个精确的目标内跨模态配准网络。借鉴这种思想,作者提出了正经了分割图在注册的训练中的作用。
- 2D Image Alignment:介绍光流计算概念和相关方法。基于其中的一些无监督方法,空间变换层使得神经网络能够在不需要监督标签的情况下实现全局参数的2d图像对齐和密集空间变换。以这些想法为基础,扩展空间变换器以实现n-D体积配准,并进一步展示训练期间如何利用图像分割来提高测试时的配准精度。
方法
本文提出的框架不限图像维度,但是一3D为例。 假设将图像f和进行仿射对齐作为一个预处理步骤,让工作重点放在非线性映射上。使用CNN来建立一个函数 gθ(f,m) = u ,位移场u通过一个n+1维图像进行保存。下图概述了论文的方法。
输入为 f 和 m ,通过一组参数θ计算ϕ = Id + u = Id + gθ(f,m) ,结合空间变换将待配准图像m变换到图像m◦ϕ,然后将f与m◦ϕ进行相似性度量。
-
VoxelMorph CNN Architecture
这部分是VoxelMorph CNN 的具体结构。CNN结构可分为两部分:编码和解码。
编码阶段 m 和 f 在通道维度上连接作为输入。在两个阶段都是用3x3的卷积核,编码阶段步长为2(图像尺寸减半),每个卷积层后接激活函数LeakyReLU,即:3x3 conv (stride=2) + LeakyReLU(λ=0.2)。
解码阶段交替 upsampling + 3x3 conv.(stride=2) + 串联跳跃连接 -
Spatial Transformation Function
提出的方法部分通过最小化 m◦ϕ 和 f 之间的差异学习最佳参数值。为了使用标准的基于梯度的方法,作者基于空间变换器网络]构造了可微分的运算过程来计算 m◦ϕ。对每个体素p,计算一个体素:
因为图像值近能在整数位置,需要进行线性插值在相邻的体素:
Z(p’)表示p’的领域体素,d表示空间维度,这样就可以计算梯度和二阶梯度,可以进行误差反向传播。 -
Loss Functions
提出2个损失函数:无监督损失和辅助数据损失函数。
-
Unsupervised Loss Function:
实验中 Lsim 采用了两种:- mean squared voxelwise erro (均方误差)
- local cross-correlation(局部互相关)
这种方法对于灰度变化有更好的鲁棒性,CC公式如下,CC值越高说明对齐更好,那么应用在损失函数中应该取负: Lsim =-CC
正则项为位移场 u 的梯度,梯度使用相邻体素的差值近似代替:
∂u( p ) / ∂x = u(px+1,py,pz) - u(px,py,pz)
- mean squared voxelwise erro (均方误差)
-
Auxiliary Data Loss Function:
描述VoxelMorph在训练阶段如何利用可获得的辅助信。在训练期间解剖分割图可能是可获取的,每个体素都归为一个解剖结构(每个体素都有一个解剖结构标签)。如果配准场ϕ表示准确的解剖学对应关系,则 f 和m◦ϕ中与同一解剖结构相对应的区域应很好地重叠。对这个重叠进行量化:
结合Lus得到目标函数:
解剖标签由于是明确的,单纯使用线性插值计算 sm◦ϕ 不合适,并且直接使用公式(8)可能使得框架无法自动化可微分。作者将 sf 和 sm 设计成K个通道,每个通道是一个二值图像体对应一个解剖结构。然后对每个通道使用线性插值对 sm 进行空间变换,接着再计算公式(8)
</div>
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" rel="stylesheet">
<div class="more-toolbox">
<div class="left-toolbox">
<ul class="toolbox-list">
<li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true">
<use xlink:href="#csdnc-thumbsup"></use>
</svg><span class="name">点赞</span>
<span class="count"></span>
</a></li>
<li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{"mod":"popu_824"}"><svg class="icon" aria-hidden="true">
<use xlink:href="#icon-csdnc-Collection-G"></use>
</svg><span class="name">收藏</span></a></li>
<li class="tool-item tool-active is-share"><a href="javascript:;"><svg class="icon" aria-hidden="true">
<use xlink:href="#icon-csdnc-fenxiang"></use>
</svg>分享</a></li>
<!--打赏开始-->
<!--打赏结束-->
<li class="tool-item tool-more">
<a>
<svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
</a>
<ul class="more-box">
<li class="item"><a class="article-report">文章举报</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="person-messagebox">
<div class="left-message"><a href="https://blog.csdn.net/qq_36775458">
<img src="https://profile.csdnimg.cn/8/8/4/3_qq_36775458" class="avatar_pic" username="qq_36775458">
<img src="https://g.csdnimg.cn/static/user-reg-year/2x/3.png" class="user-years">
</a></div>
<div class="middle-message">
<div class="title"><span class="tit"><a href="https://blog.csdn.net/qq_36775458" data-report-click="{"mod":"popu_379"}" target="_blank">H.Y.</a></span>
</div>
<div class="text"><span>发布了4 篇原创文章</span> · <span>获赞 0</span> · <span>访问量 101</span></div>
</div>
<div class="right-message">
<a href="https://im.csdn.net/im/main.html?userName=qq_36775458" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
</a>
<a class="btn btn-sm bt-button personal-watch" data-report-click="{"mod":"popu_379"}">关注</a>
</div>
</div>
</div>
本人刚入配准,理解错误的地方还清各位道友指出改正,谢谢!
摘要
文章提出了一种基于学习的解决方案;将注册问题描述成一个函数:将输入图像对映射到一个将这些图像对齐的变换场(deformation field )。
开发了两种不同的训练策略:
- 无监督的配置:训练模型以最大化基于图像强度的标准图像匹配目标函数;
- 利用训练数据中可获得的辅助解剖分割信息,结合无监督的目标函数构造新的目标函数进行训练。
介绍
用传统的基于优化的方法的计算开销大引出作者提出的一种基于学习的配准框架方法:一种从volume集合中通过CNN学习参数化配准函数的新方法。以及进行一系列的实验证明,如,数据集大小对精度影响,特例优化可以怎么提高效果,以及超出参数的影响。
背景
介绍传统的volume配准方法以及他们的作用(分析大脑解剖结构在人群中的差异或者了解疾病患者大脑解剖结构随时间的演变。)可变形的配准大致两个步骤:首先初始化一个用于全局对齐的仿射变换,然后在更高自由度上进行缓慢的转换。本文专注于后面的步骤,在该步骤中,我们为所有体素计算一个密集的非线性对应关系。
现有的大多数可变形配准算法都基于能量函数来迭代优化转换。将优化问题表示成如下函数:
其中,m◦ϕ代表将带配准图像m对应的配准区域ϕ用一个空间变换参数转换成Moved图像(m◦ϕ),Lsim(·,·) 度量两图像相似性。Lsmooth(·)正则项。
然后,介绍 ϕ ,Lsim(·,·) ,Lsmooth(·)的常见计算方法。
- ϕ通过一个displacement vector field u (移位向量场)计算ϕ = Id + u==, Id是一个恒等变换。
- Lsim(·,·)通常有:灰度强度均方误差,相互信息,互相关
- Lsmooth(·) ,正则化项,强制执行空间平滑变形,通常是一个关于u的空间梯度的函数。针对每对volume 进行优化,显然计算花费非常的大,本文假设这个变换场可以通过一个参数化函数计算,在数据集上训练这么个函数。本质上这种方式将特定对优化的转换场用一个参数共享的全局优化的转换场,叫做“摊销”。
相关工作
- 介绍传统的一些非基于学习的方法。
- 介绍最近的一些应用CNN的基于学习的方法。其中,有两个无监督的学习方法,首次将无监督学习引入到配准上。此外还有一种 a segmentation driven cost function(分割驱动的)损失函数用在不同形式的图像注册上,证明基于分割图的损失函数可以得到一个精确的目标内跨模态配准网络。借鉴这种思想,作者提出了正经了分割图在注册的训练中的作用。
- 2D Image Alignment:介绍光流计算概念和相关方法。基于其中的一些无监督方法,空间变换层使得神经网络能够在不需要监督标签的情况下实现全局参数的2d图像对齐和密集空间变换。以这些想法为基础,扩展空间变换器以实现n-D体积配准,并进一步展示训练期间如何利用图像分割来提高测试时的配准精度。
方法
本文提出的框架不限图像维度,但是一3D为例。 假设将图像f和进行仿射对齐作为一个预处理步骤,让工作重点放在非线性映射上。使用CNN来建立一个函数 gθ(f,m) = u ,位移场u通过一个n+1维图像进行保存。下图概述了论文的方法。
输入为 f 和 m ,通过一组参数θ计算ϕ = Id + u = Id + gθ(f,m) ,结合空间变换将待配准图像m变换到图像m◦ϕ,然后将f与m◦ϕ进行相似性度量。
-
VoxelMorph CNN Architecture
这部分是VoxelMorph CNN 的具体结构。CNN结构可分为两部分:编码和解码。
编码阶段 m 和 f 在通道维度上连接作为输入。在两个阶段都是用3x3的卷积核,编码阶段步长为2(图像尺寸减半),每个卷积层后接激活函数LeakyReLU,即:3x3 conv (stride=2) + LeakyReLU(λ=0.2)。
解码阶段交替 upsampling + 3x3 conv.(stride=2) + 串联跳跃连接 -
Spatial Transformation Function
提出的方法部分通过最小化 m◦ϕ 和 f 之间的差异学习最佳参数值。为了使用标准的基于梯度的方法,作者基于空间变换器网络]构造了可微分的运算过程来计算 m◦ϕ。对每个体素p,计算一个体素:
因为图像值近能在整数位置,需要进行线性插值在相邻的体素:
Z(p’)表示p’的领域体素,d表示空间维度,这样就可以计算梯度和二阶梯度,可以进行误差反向传播。 -
Loss Functions
提出2个损失函数:无监督损失和辅助数据损失函数。
-
Unsupervised Loss Function:
实验中 Lsim 采用了两种:- mean squared voxelwise erro (均方误差)
- local cross-correlation(局部互相关)
这种方法对于灰度变化有更好的鲁棒性,CC公式如下,CC值越高说明对齐更好,那么应用在损失函数中应该取负: Lsim =-CC
正则项为位移场 u 的梯度,梯度使用相邻体素的差值近似代替:
∂u( p ) / ∂x = u(px+1,py,pz) - u(px,py,pz)
- mean squared voxelwise erro (均方误差)
-
Auxiliary Data Loss Function:
描述VoxelMorph在训练阶段如何利用可获得的辅助信。在训练期间解剖分割图可能是可获取的,每个体素都归为一个解剖结构(每个体素都有一个解剖结构标签)。如果配准场ϕ表示准确的解剖学对应关系,则 f 和m◦ϕ中与同一解剖结构相对应的区域应很好地重叠。对这个重叠进行量化:
结合Lus得到目标函数:
解剖标签由于是明确的,单纯使用线性插值计算 sm◦ϕ 不合适,并且直接使用公式(8)可能使得框架无法自动化可微分。作者将 sf 和 sm 设计成K个通道,每个通道是一个二值图像体对应一个解剖结构。然后对每个通道使用线性插值对 sm 进行空间变换,接着再计算公式(8)
</div>
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" rel="stylesheet">
<div class="more-toolbox">
<div class="left-toolbox">
<ul class="toolbox-list">
<li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true">
<use xlink:href="#csdnc-thumbsup"></use>
</svg><span class="name">点赞</span>
<span class="count"></span>
</a></li>
<li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{"mod":"popu_824"}"><svg class="icon" aria-hidden="true">
<use xlink:href="#icon-csdnc-Collection-G"></use>
</svg><span class="name">收藏</span></a></li>
<li class="tool-item tool-active is-share"><a href="javascript:;"><svg class="icon" aria-hidden="true">
<use xlink:href="#icon-csdnc-fenxiang"></use>
</svg>分享</a></li>
<!--打赏开始-->
<!--打赏结束-->
<li class="tool-item tool-more">
<a>
<svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
</a>
<ul class="more-box">
<li class="item"><a class="article-report">文章举报</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="person-messagebox">
<div class="left-message"><a href="https://blog.csdn.net/qq_36775458">
<img src="https://profile.csdnimg.cn/8/8/4/3_qq_36775458" class="avatar_pic" username="qq_36775458">
<img src="https://g.csdnimg.cn/static/user-reg-year/2x/3.png" class="user-years">
</a></div>
<div class="middle-message">
<div class="title"><span class="tit"><a href="https://blog.csdn.net/qq_36775458" data-report-click="{"mod":"popu_379"}" target="_blank">H.Y.</a></span>
</div>
<div class="text"><span>发布了4 篇原创文章</span> · <span>获赞 0</span> · <span>访问量 101</span></div>
</div>
<div class="right-message">
<a href="https://im.csdn.net/im/main.html?userName=qq_36775458" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
</a>
<a class="btn btn-sm bt-button personal-watch" data-report-click="{"mod":"popu_379"}">关注</a>
</div>
</div>
</div>