Data augmentation using learned transformations for one-shot medical image segmentation-论文详解

本文主要是介绍Data augmentation using learned transformations for one-shot medical image segmentation-论文详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是一篇CVPR2019的论文,主要是做Magnetic resonance imaging(MRI)医学图像的分割(segmentation)。

MRI

磁共振成像MRI)是一种用于放射学中的医学成像技术,用于形成人体解剖结构和生理过程的图片。MRI扫描仪使用强磁场,磁场梯度和无线电波来生成体内器官的图像。MRI不涉及X射线或使用电离辐射,这与CT或CAT扫描以及PET扫描不同。磁共振成像是一种医学上的应用的核磁共振(NMR)。NMR也可用于其他NMR应用(例如NMR光谱)中的成像

虽然现在在大多数医学环境中都可以很好地控制X射线的危害,但MRI扫描仍可能比CT扫描更好。MRI在医院和诊所中广泛用于医疗诊断,疾病分期和随访,而无需将身体暴露于放射线下。与CT相比,MRI可能会产生不同的信息。风险和不适可能与MRI扫描有关。与CT扫描相比,MRI扫描通常需要更长的时间并且声音更大,并且通常需要对象进入狭窄的封闭管中。此外,体内装有某些医疗植入物或其他不可移动金属的人可能无法安全地进行MRI检查。

MRI最初称为NMRI(核磁共振成像),但为了避免负关联而放弃了“核”。[1]当置于外部磁场中时,某些原子核能够吸收和发射射频能量。在临床和研究MRI中,氢原子最常用于生成可检测到的射频信号,该信号被靠近要检查的解剖结构的天线接收。氢原子在人和其他生物有机体中自然丰富,尤其是在水和脂肪中。由于这个原因,大多数MRI扫描本质上都绘制了体内水和脂肪的位置图。无线电波脉冲激发核自旋能量跃迁和磁场梯度将信号定位在空间中。通过改变脉冲序列的参数,可以基于组织中氢原子的弛豫特性在组织之间产生不同的对比度。

image segmentation

图像分割为一个分区的过程的数字图像分成多个段(集的像素,也被称为图像对象)。分割的目的是将图像的表示简化和/或更改为更有意义且更易于分析的图像。[1] [2]图像分割通常用于在图像中定位对象和边界(线,曲线等)。更准确地说,图像分割是为图像中的每个像素分配标签,以使具有相同标签的像素共享某些特征的过程。

图像分割的结果是一组集体覆盖整个图像的片段,或者是从图像中提取的轮廓集(请参见边缘检测)。区域中的每个像素在某些特征或计算的属性(例如颜色,强度或纹理)方面都相似。相邻区域在相同特征方面存在显着差异。[1] 当应用于医学成像中典型的一叠图像时,图像分割后得到的轮廓可借助诸如Marching cubes之类的插值算法用于创建3D重建。

这篇文章要解决的问题是:由于利用MRI数据进行训练的过程中需要进行手动的标注数据,因此作者希望仅仅利用一个区域标注的数据来生成其他未标注的数据和标签。

 

\large $$ \tau_{s}^{(i)}(x)=x \circ \phi^{(i)}, \quad \phi=g_{\theta_{s}}\left(x, y^{(i)}\right) $$

\large $$ \tau_{a}^{(i)}(x)=x+\psi^{(i)}, \quad \psi^{(i)}=h_{\theta_{\alpha}}\left(x, y^{(i)} \circ \phi^{-1}(i)\right) $$

其中的x 就是带标签的MRI原始数据, y就是未被标注的MRI数据。\large $\phi$ 是Spatial deformation function,主要是进行空间转换, \large $\psi^{(i)}$ 是per-voxel volume 的计算,也就是对区域的灰度计算的函数。

\large $\tau_{s}^{(i)}(x)$ 形式化表述为 :x 经过了Spatial transformation。

 \large $\tau_{a}^{(i)}(x)$形式化表述为:X 经过了appearance transformation。

通俗的理解就是:Spatial transformation 就是对空间的变换, appearance transformation:是对像素灰度的变换。当然这里面的变换都是在三维的。

下面是整个的模型架构图:

最后整个的loss:

\large ${\mathcal{L}_{\alpha}\left(x, y^{(i)}, \phi^{(i)}, \phi^{-1(i)}, \psi^{(i)}, c_{\alpha}\right)}{=\mathcal{L}_{s i m}\left(\left(x+\psi^{(i)}\right) \circ \phi^{(i)}, y^{(i)}\right)+\lambda_{\alpha} \mathcal{L}_{s m o o t h}\left(c_{\alpha}, \psi^{(i)}\right)}$

其中第一项:\large $\mathcal{L}_{\operatorname{sim}}\left(\left(x+\psi^{(i)}\right) \circ \phi^{(i)}, y^{(i)}\right)$ 表示的是x经过变换后和y(未标注的)的相似度的损失。

注意:这里面的spatial transformation 和 appearance transformation 都是x和y共同训练所得到的。因此x 变换肯定接近于y的结构。

第二项:\large $\mathcal{L}_{s m o o t h}\left(c_{\alpha}, \psi\right)=\left(1-c_{\alpha}\right) \nabla \psi$ 其中的\large c_a是带标注的二值图像,一旦图片确定,这个是一个确定值,因此我们需要最小化\large $\nabla \psi$,这个表现为图像在变化的过程之中要保持平滑,避免图像的剧烈变化。

最后生成的就是带标签的MRI 数据。 

                                                                                    \large $$ \hat{y}^{(i, j)}=\tau_{s}^{(i)}\left(\tau_{a}^{(j)}(x)\right) $$

                                                                                    \large $$ \hat{l}_{y}^{(i, j)}=\tau_{s}^{(i)}\left(l_{x}\right) $$

利用这个数据可以进行image segmentation 的训练。

 

Experiment

                                                          

             

 

可以看到,从各种指标中论文的方法都取得了不错的成绩,最后的实际实验中也与ground truth最接近。

论文连接:论文

 

这篇关于Data augmentation using learned transformations for one-shot medical image segmentation-论文详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/911987

相关文章

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Python ZIP文件操作技巧详解

《PythonZIP文件操作技巧详解》在数据处理和系统开发中,ZIP文件操作是开发者必须掌握的核心技能,Python标准库提供的zipfile模块以简洁的API和跨平台特性,成为处理ZIP文件的首选... 目录一、ZIP文件操作基础三板斧1.1 创建压缩包1.2 解压操作1.3 文件遍历与信息获取二、进阶技

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

Java中的@SneakyThrows注解用法详解

《Java中的@SneakyThrows注解用法详解》:本文主要介绍Java中的@SneakyThrows注解用法的相关资料,Lombok的@SneakyThrows注解简化了Java方法中的异常... 目录前言一、@SneakyThrows 简介1.1 什么是 Lombok?二、@SneakyThrows

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自

Redis Pipeline(管道) 详解

《RedisPipeline(管道)详解》Pipeline管道是Redis提供的一种批量执行命令的机制,通过将多个命令一次性发送到服务器并统一接收响应,减少网络往返次数(RTT),显著提升执行效率... 目录Redis Pipeline 详解1. Pipeline 的核心概念2. 工作原理与性能提升3. 核

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Nginx location匹配模式与规则详解

《Nginxlocation匹配模式与规则详解》:本文主要介绍Nginxlocation匹配模式与规则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、环境二、匹配模式1. 精准模式2. 前缀模式(不继续匹配正则)3. 前缀模式(继续匹配正则)4. 正则模式(大

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2