从3D图像自动检测目标对象的计算机实现方法和系统与流程

文档序号:16268832发布日期:2018-12-14 22:06阅读:199来源:国知局
从3D图像自动检测目标对象的计算机实现方法和系统与流程

本申请要求于2017年8月9日提交的美国临时申请第62/542,890号的优先权,其全部内容通过引用并入本文。

本公开总体上涉及图像处理和分析。更具体地,本公开涉及用于从3d图像自动定位和检测目标对象的方法和系统。

背景技术

诊断的准确性和治疗效果取决于医学图像分析的质量,特别是目标对象(诸如器官、组织、目标部位等)的检测。与常规二维成像相比,容积(3d)成像,诸如容积ct,可捕获更有价值的医疗信息,从而有助于更准确的诊断。但是,目标对象通常由经验丰富的医疗人员(诸如放射科医生)检测,而不是由机器来检测,这使得它很繁琐、耗时且容易出错。

一个例子是从肺部图像中检测肺结节。图1显示了来自容积胸部ct的轴状面图像的一个例子。白色边界框内的高密度质量对应于肺结节。为了检测这种肺结节,放射科医师必须从容积ct扫描中筛查数百和数千幅图像。由于缺乏3d空间信息,仅仅从2d图像中识别结节并不是一项简单的任务。在2d图像中区分小结节和血管是不容易的,因为2d轴状视图中的血管也是圆形或椭圆形,其看起来像结节。通常,放射科医师需要检查相邻图像以虚拟地(在头脑中)重建3d空间关系和/或检查矢状或冠状视图(较低分辨率)以供参考。因此,检测肺结节完全取决于放射科医师的经验。

虽然一些基本的机器学习方法被引入用于检测,但是这些方法通常人为地定义特征,并且因此检测准确度低。此外,这种机器学习通常仅限于2d图像学习,但由于缺乏3d空间信息和3d学习所需的可观计算资源,无法直接在3d图像中检测到目标对象。

本公开提供了一种方法和系统,其能够借助于3d学习网络从3d图像快速、准确地和自动地检测目标对象。这种检测可以包括但不限于定位目标对象、确定目标对象的大小、以及识别目标对象的类型(例如血管或肺结节)。



技术实现要素:

在一个方案中,本公开涉及一种用于从3d图像自动检测目标对象的计算机实现方法。该方法可以包括接收由成像装置获取的3d图像。该方法可以进一步包括由处理器使用3d学习网络检测包含目标对象的多个边界框。学习网络可以被训练以基于3d图像生成不同尺度的多个特征映射。该方法还可以包括由处理器使用3d学习网络来确定识别各个检测到的边界框的一组参数,并且由处理器基于所述一组参数来定位目标对象。

在一些实施例中,所述一组参数包括识别所述3d图像中的各个边界框的位置的坐标。

在一些实施例中,所述一组参数包括识别各个边界框的大小的尺寸。

在一些实施例中,所述3d学习网络被训练以对所述一组参数执行回归。

在一些实施例中,所述的计算机实现方法进一步包括将多个锚框与所述3d图像相关联,其中所述一组参数指示各个边界框相对于相应锚框的偏移。

在一些实施例中,每个锚框与特征映射的栅格单元相关联。

在一些实施例中,所述锚框根据所述特征映射的尺度缩放。

在一些实施例中,其中所述多个特征映射具有变化的图像尺寸。

在一些实施例中,其中所述多个特征映射使用可变尺寸的滑动窗口。

在一些实施例中,所述的计算机实现方法还包括创建初始边界框,其中检测包含所述目标对象的多个边界框包括将所述初始边界框分类为与多个标签关联。

在一些实施例中,所述的计算机实现方法还包括对检测到的边界框应用非最大抑制。

在一些实施例中,所述的计算机实现方法还包括:分割所述3d图像以获得凸包并且使用所述凸包来约束所述多个边界框的检测。

在一些实施例中,所述学习网络被进一步训练以在各个检测到的边界框内分割所述目标对象。

在一些实施例中,其中所述成像装置是计算机断层摄影成像系统。

在一些实施例中,所述目标对象是肺结节。

在一些实施例中,所述学习网络是全卷积神经网络。

另一方案中,本公开还涉及用于从3d图像自动检测目标对象的系统。该系统可以包括被配置为接收由成像装置获取的3d图像的接口。该系统还可以包括处理器,该处理器被配置为使用3d学习网络检测包含目标对象的多个边界框。学习网络可以被训练以基于3d图像生成不同尺度的多个特征映射。处理器可以进一步被配置为使用3d学习网络来确定识别每个检测出的边界框的一组参数,并且基于所述一组参数来定位目标对象。

在一些实施例中,所述处理器包括图形处理单元。

在又一方案中,本公开还涉及其上存储有指令的非临时性计算机可读介质。指令在由处理器执行时可以执行用于从3d图像自动检测目标对象的方法。该方法可以包括接收由成像装置获取的3d图像。该方法可以进一步包括使用3d学习网络检测包含目标对象的多个边界框。学习网络可以被训练以基于3d图像生成不同尺度的多个特征映射。该方法还可以包括使用3d学习网络来确定识别各个检测到的边界框的一组参数,并且基于所述一组参数来定位目标对象。

应该理解的是,前面的一般性描述和下面的详细描述仅仅是示例性和解释性的,并不是对要求保护的本发明的限制。

附图说明

在不一定按尺度绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。具有字母后缀或不同字母后缀的相似数字可表示相似部件的不同实例。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所公开的实施例进行说明。在适当的时候,在所有附图各处使用相同的附图标记指代同一或相似的部分。这样的实施例是例示性的,而并非旨在作为本方法、系统或其上具有用于实现该方法的指令的非暂时性计算机可读介质的穷尽或排他实施例。

图1示出了用胸部容积计算机断层摄影术产生的示例性轴状图像;

图2示出了根据本公开的实施例的示例性结节检测系统;

图3示出根据本公开的实施例的从全连接层到全卷积层的示例性转换;

图4描绘了图示根据本公开的实施例的示例性医学图像处理设备的框图;

图5示出了根据本公开的实施例的3d学习网络的示意图;

图6示出根据本公开的实施例的用于训练卷积神经网络模型的示例性过程的流程图;

图7示出了根据本公开的实施例的用于识别目标对象的示例性过程的流程图;

图8示出根据本公开的实施例的用于从3d图像自动检测目标对象的示例性过程;

图9示出了根据本公开的实施例的使用n个尺度的3d学习网络的示例性结节检测过程;以及

图10示出根据本公开的实施例的使用一种尺度的3d学习网络的示例性结节分割过程。

具体实施方式

本文使用的术语“目标对象”可以指受检者身体中的任何解剖结构,诸如组织、器官的一部分或目标部位。例如,目标对象可以是肺结节。在下面的实施例中,以肺结节作为“目标对象”的例子进行说明而非限制,但本领域技术人员可以将以下各个实施例中的肺结节容易地替换为其他类型的“目标对象”。

图2示出根据本公开的实施例的用于从3d图像自动检测目标对象的示例性结节检测系统200。在该实施例中,肺结节是目标对象。肺结节可成为诸如放疗等治疗的靶部位(靶区)。如图2所示,结节检测系统200包括:结节检测模型训练单元202,用于训练检测模型;和结节检测单元204,用于使用训练好的检测模型来检测结节对象的位置和分类。训练好的检测模型可以从结节检测模型训练单元202传输到结节检测单元204,使得结节检测单元204可以获得训练好的检测模型并将其应用于例如从3d医学图像数据库206获取的3d医学图像。在一些实施例中,检测模型可以是3d学习网络。

例如,结节对象的位置可以由结节对象的中心及其范围来识别。根据需要,结节对象的分类可以通过从(n+1)个结节标签中选出的标签来识别,诸如但不限于非结节、第一尺寸的结节、...、第n尺寸的结节。又例如,该位置可包括包含结节对象的多个边界框。可选地或另外地,结节对象的位置可以包括识别各个检测到的边界框的一组参数。所述一组参数可以包括识别3d医学图像中各个边界框的位置(例如,中心)的坐标。所述一组参数还可以包括识别3d医学图像中各个边界框的大小的尺寸。基于检测到的边界框和/或识别其的一组参数,可以定位结节对象。

训练样本可以存储在训练图像数据库201中,并且可以由结节检测模型训练单元202获取以训练检测模型。每个训练样本包括医学图像和相应医学图像中的结节对象的位置以及分类信息。

在一些实施例中,结节检测单元204的输出结果(包括结节对象的位置和分类)可以使用与原始医学3d图像(例如原始的容积ct图像)重叠的热图而可视化。在一些实施例中,检测结果可以通过网络205传输到训练图像数据库201,并且与相应的图像一起作为附加训练样本被添加。以这种方式,可以通过包括新的检测结果来持续更新训练图像数据库201。在一些实施例中,结节检测模型训练单元202可以用更新的训练样本周期性地训练检测模型,以提高训练好的检测模型的检测准确度。

3d学习网络可以通过各种神经网络来实现。在一些实施例中,3d学习网络可以是前馈3d卷积神经网络。这种前馈3d卷积神经网络在应用于肺容积ct图像时可以生成多个特征映射,各个特征映射对应于相应一类结节对象,诸如非结节、第一尺寸的结节、...、第n尺寸的结节。在一些实施例中,特征映射的各个栅格单元可以指示在肺容积ct图像的对应区域中的相应类型的结节对象的存在状态。基于多个特征映射,生成多个边界框和这些边界框中的结节对象的存在状态的评分。例如,分数1.0可以指示边界框中存在相应类型的结节对象,分数0.0可以指示边界框中不存在相应类型的结节对象,以及0.0和1.0之间的分数可以表明在边界框中存在相应类型的结节对象的概率。在一些实施例中,前馈3d卷积神经网络之后可以是非最大抑制层以产生最终检测结果。作为选择,在3d卷积神经网络之上,可以附加辅助全连接层或辅助全卷积层作为检测层。在一些实施例中,边界框可以是3d的并由一组参数识别。例如,它可以通过边界框的中心的坐标(x,y,z)和x轴、y轴和z轴上分别的框尺寸(size_x,size_y,size_z)来识别。在一些实施例中,可以训练3d卷积神经网络来对所述一组参数执行回归,因此3d卷积神经网络的结果可以包括结节对象的分类结果(检测出的结节对象的类型)以及针对相应检测到的结节对象的类型的6个回归参数值。

在一个实施例中,所述前馈3d卷积神经网络可以包括基本网络,并且可以从基本网络得出尺度1(第一尺度)的特征映射。例如,基本网络可以包括三个卷积块和三个检测层fc1、fc2和fc3,每个卷积块由两个3×3×3卷积层、relu层和2×2×2最大池化层组成。卷积块1中的卷积层1和卷积层2具有64个特征映射,卷积块2中的卷积层1和卷积层2具有128个特征映射,并且卷积块3中的卷积层1和卷积层2具有256个特征映射。在一些实施例中,fc1、fc2和fc3可以是用于分类任务的辅助全连接层。在一个实施例中,fc1在relu层之后具有512个神经元,fc2在relu层之后具有128个神经元,并且fc3所具有的神经元的数量取决于分类。例如,如果将结节对象分为10类(如非结节、第1尺寸的结节、第2尺寸的结节、…、第9尺寸的结节),则fc3层中的神经元数量为10。

在另一个实施例中,可以通过将上述全连接层fc1、fc2和fc3分别变换为全卷积层fc1-conv、fc2-conv和fc3-conv来修改基本网络。因此,由于对图像进行卷积运算的加速效果,基于修改后的基本网络的计算可得到加速。图3示出根据本公开的实施例的从全连接层到全卷积层的示例性转换。在一些实施方式中,fc1-conv的内核大小可以与特征映射的尺寸相同,如果需要,特征映射在从卷积块3输出之后被池化,而fc2-conv和fc3-conv都具有1x1x1的内核大小。在一些实施例中,三个全卷积层的特征映射的数量与相应的全连接层的特征映射的数量相同。如图3所示,卷积核的权重w00、w01、w10和w11转换自相应全连接层的相应权重w00、w01、w10和w11。在一些实施例中,可以根据卷积内核大小和特征映射的数量来重塑全连接层的权重。

在一个实施例中,上述基本网络或其修改版本可以用作3d学习网络以直接检测边界框。基本网络可以应用在输入的3d图像上以生成多个特征映射,各个特征映射对应于对象的特定类别。在一些实施例中,特征映射的各个栅格单元对应于3d图像中的相应块。例如,对于与第i类对象对应的第i个特征映射,其栅格单元的值可以指示第i类对象存在于3d图像的对应块中的概率。在一些实施例中,可以基于各个特征映射的对应栅格单元的值来对相应块内的对象进行分类。此外,通过将栅格单元的坐标从特征映射空间变换到3d图像空间,可以生成初始边界框并以分类结果作为其标签。在一些实施例中,对于没有填充的卷积运算,可以使用公式(1)来执行变换。

其中,xf是预测特征映射中的坐标,xori是图像空间中的坐标,s1、s2和s3是尺度因数,是下取整运算,ci_j(i=1,2,3,j=1,2)为第i卷积块中第j卷积层的卷积内核大小,c1_1=c1_2=c2_1=c2_2=c3_1=c3_2=3,c4=8,c5=1,c6=1。

在一些实施例中,对于使用填充的卷积运算,可以使用公式(2)来执行变换。

在一些实施例中,3d学习网络可以具有数个尺度。例如,可以使用基于多尺度特征映射的卷积网络。尺度的数量可以基于不同的检测任务来确定。卷积网络的多尺度特征可以以各种方式实现。例如,多个特征映射可以具有相同的尺度大小,但是使用不同大小的滑动窗口来获得。作为另一个例子,可以使用卷积滤波器或池化滤波器或两者将特征映射下采样到不同的尺度,同时使用相同尺寸的滑动窗口。作为又一个示例,还可以使用下采样层将特征映射下采样为不同的尺度等。使用所公开的基于多尺度特征映射的卷积网络可以加速计算,从而使基于3d学习网络的检测在能够检测具有广泛尺寸范围的物体的同时也可适用于临床。

在一些实施例中,3d学习网络在各个尺度上使用一系列全卷积滤波器(也称为全连接层)产生固定数量的检测结果。在一些实施例中,3d学习网络可以返回多个边界框,每个边界框与两个部分相关联:对象分类和识别对应边界框的一组参数。对象分类可具有c个类别。在一个实施例中,c=3,其中三个对象类别分别是非肺背景、非结节但为肺组织、以及结节。对于结节类别,边界框包围相应的结节对象。在一些实施例中,可以为每个特征映射栅格单元引入多个锚框,以便使检测到的边界框更好地跟踪目标物体。例如,识别相应边界框的一组参数可以是相对于对应锚框在坐标(以所评估的栅格单元为中心)和尺寸上的回归的偏移量。对于结节类别,偏移量可以是相对于相应锚框的坐标和尺寸的相对值(dx,dy,dz,dsize_x,dsize_y和dsize_z)。对于每个尺度的特征映射,如果将k个锚框与其中的每个栅格单元相关联,则s个尺度的特征映射的每个对应栅格单元获得总共k*s个边界框(和k*s个锚框)。然后,对于k*s个边界框中的每个边界框,可以计算c个类别中的每个类别的分数及其相对于相应锚框的6个偏移量。这会导致总共应用在特征映射中每个位置周围的(c+6)*k*s个滤波器。在每个特征映射的大小为m*n*d的情况下,可以产生(c+6)*k*s*m*n*d个输出。在一些实施例中,锚框是3d的并且与不同尺度的特征映射相关联。在一些实施例中,锚框可以基于对应特征映射的尺度缩放。可选地,可以根据图像信息通过回归算法来调整锚框的位置和尺寸。

图4描绘了图示根据本公开的实施例的适于从3d图像自动检测目标对象的示例性医学图像处理设备300的框图。医学图像处理设备300可以包括网络接口328,借助于网络接口328,医学图像处理设备300可以连接到网络(未示出),例如但不限于医院中的局域网或互联网。网络可以将医学图像处理装置300与诸如图像采集装置(未示出)的外部装置、医学图像数据库325、图像数据存储装置326连接。图像采集装置可以是获取对象的图像的任何装置,例如dsa成像设备、mri成像设备、ct成像设备、pet成像设备、超声设备、荧光透视设备、spect成像设备或用于获得患者的医学图像的其他医学成像设备。例如,成像装置可以是肺部ct成像装置等。

在一些实施例中,医学图像处理装置300可以是专用智能装置或通用智能装置。例如,装置300可以是为图像数据采集和图像数据处理任务定制的计算机,或者云端的服务器。例如,装置300可以被集成到图像采集装置中。可选地,该装置可以包括或者与3d重建单元协作,3d重建单元用于基于由图像获取设备获取的2d图像来重建3d图像。

医学图像处理装置300可以包括图像处理器321和存储器322,并且可以额外包括输入/输出327和图像显示器329中的至少一个。

图像处理器321可以是包括一个或多个通用处理设备(诸如微处理器,中央处理单元(cpu),图形处理单元(gpu)等)的处理设备。更具体地说,图像处理器321可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、运行其他指令集的处理器或运行指令集的组合的处理器。图像处理器321也可以是一个或多个专用处理设备,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、片上系统(soc)等等。如本领域技术人员将理解的,在一些实施例中,图像处理器321可以是专用处理器,而不是通用处理器。图像处理器321可以包括一个或多个已知处理设备,诸如由英特尔公司制造的pentiumtm、coretm、xeontm或itaniumtm系列的微处理器,由amd公司制造的turiontm、athlontm、semprontm、opterontm、fxtm、phenomtm系列的微处理器或太阳微系统(sunmicrosystems)制造的各种处理器的任一种。图像处理器321还可以包括图形处理单元,诸如来自nvidia公司制造的系列的gpu,由英特尔tm制造的gma、iristm系列的gpu或者由amd公司制造的radeontm系列gpu。图像处理器321还可以包括加速的处理单元,诸如amd公司制造的桌面a-4(6,8)系列,英特尔公司制造的xeonphitm系列。所公开的实施例不限于任何类型的处理器或处理器电路,这些处理器或处理器电路以其他方式被配置为满足如下计算需求:识别、分析、维护、生成和/或提供大量成像数据或操纵此类成像数据以与所公开的实施例一致地从3d图像检测和定位目标对象或操纵任何其他类型的数据。另外,术语“处理器”或“图像处理器”可以包括多于一个处理器,例如,多核设计或多个处理器,所述多个处理器中的每个处理器具有多核设计。图像处理器321可以执行存储在存储器322中的计算机程序指令的序列,以执行本文公开的各种操作、过程、方法。

图像处理器321可以通信地耦合到存储器322并且被配置为执行存储在其中的计算机可执行指令。存储器322可以包括只读存储器(rom)、闪存,随机存取存储器(ram)、诸如同步dram(sdram)或rambusdram的动态随机存取存储器(dram)、静态存储器(例如,闪存,静态随机存取存储器)等,其上以任何格式存储计算机可执行指令。在一些实施例中,存储器322可以存储一个或多个图像处理程序223的计算机可执行指令。计算机程序指令可以被图像处理器321访问,从rom或者任何其他合适的存储位置读取,并加载到ram中供图像处理器321执行。例如,存储器322可以存储一个或多个软件应用程序。存储在存储器322中的软件应用程序可以包括例如用于通用计算机系统的操作系统(未示出)以及软控制设备。此外,存储器322可以存储整个软件应用程序或仅存储软件应用程序的一部分(例如图像处理程序223)以能够由图像处理器321执行。另外,存储器322可以存储多个软件模块,用于实现与本公开一致的从3d图像自动检测目标对象的方法或训练3d学习网络的过程的各个步骤。此外,存储器322可以存储在执行计算机程序时生成/缓存的数据,例如医学图像数据324,其包括从图像采集装置、医学图像数据库325、图像数据存储装置326等发送的医学图像。这样的医学图像数据324可以包括接收到的将要对其实行目标对象的自动检测的3d医学图像。此外,医学图像数据324还可以包括3d医学图像连同其的目标对象检测结果。

图像处理器321可以执行图像处理程序223以实现用于从3d图像自动检测目标对象的方法。在一些实施例中,当执行图像处理程序223时,图像处理器321可以将对应的3d图像与包括对象分类和检测到的边界框的检测结果相关联,并且将3d图像连同(例如用标记有)检测结果存储到存储器322。可选地,存储器322可以与医学图像数据库325通信以从中获得图像(其中具有待检测的对象)或者将3d图像连同检测结果一起发送给医学图像数据库325。

在一些实施例中,3d学习网络可以被存储在存储器322中。可选地,3d学习网络可以被存储在远程设备、分立的数据库(诸如医学图像数据库325)、分布式设备中,并且可以由图像处理程序223使用。3d图像连同检测结果可以作为训练样本存储在医学图像数据库325中。

输入/输出327可以被配置为允许医学图像处理装置300接收和/或发送数据。输入/输出327可以包括允许设备300与用户或其他机器和设备通信的一个或多个数字和/或模拟通信设备。例如,输入/输出327可以包括允许用户提供输入的键盘和鼠标。

网络接口328可以包括网络适配器、电缆连接器、串行连接器、usb连接器、并行连接器、诸如光纤的高速数据传输适配器、usb3.0、闪电、无线网络适配器如wifi适配器、电信(3g、4g/lte等)适配器。装置300可以通过网络接口328连接到网络。网络可以提供局域网(lan)、无线网络、云计算环境(例如,作为服务的软件、作为服务的平台、作为服务的基础设施等)、客户端服务器、广域网(wan)等的功能。

除了显示医学图像之外,图像显示器329还可以显示其他信息,诸如分类结果和检测到的边界框。例如,图像显示器329可以是lcd、crt或led显示器。

这里描述了各种操作或功能,其可以被实现为软件代码或指令或被定义为软件代码或指令。这样的内容可以是可直接执行(“对象”或“可执行”形式)的源代码或差异代码(“增量”或“块”代码)。软件代码或指令可以存储在计算机可读存储介质中,并且当被执行时,可以使机器执行所描述的功能或操作,并且包括用于以机器可访问的形式存储信息的任何机构(例如,计算设备,电子系统等),诸如可记录或不可记录介质(例如,只读存储器(rom)、随机存取存储器(ram)、磁盘存储介质、光存储介质、闪存设备等)。

如上所述,根据本公开的实施例的3d学习网络可以以端对端方式工作,并直接预测结节类别和边界框。

在一些实施例中,为了减少计算和存储成本,可以使用分阶段训练方案。训练方案可分为三个阶段:(1)非监督学习;(2)基于小图像块的分类网络训练;和(3)基于大图像块的检测网络训练。在一些实施例中,阶段(1)和(2)可以用于训练分类网络(检测网络的一部分),诸如本文公开的基本网络,以便为整个检测网络产生良好的网络初始化。在一些实施例中,阶段(3)可以在大图像块上进行端对端训练。

在一些实施例中,如果原始3d图像太大而不能装入到图像处理器321(诸如现代gpu)存储器中,则其可以根据图像处理器321的存储器大小被划分成多个大图像块以便装入其中。通过将原始3d图像分割成小图像块和大图像块,并利用包括非监督训练在内的阶段式训练方案,针对小图像块训练3d检测网络中的分类网络,然后在训练好的分类网络的基础上训练3d检测网络,训练所需的总计算可以充分减少以由现代gpu来实现。

在一个实施例中,初始网络权重可以使用3d卷积自动编码器来生成,如图5所示。在一些实施例中,编码器部分由级联卷积块(例如3个卷积块)组成,并且解码器部分由对应于编码器部分的3个卷积块的级联去卷积块组成。在去卷积块内,去卷积层由上采样层和之后的卷积层组成。如图5所示,输入图像块,由编码器部分执行卷积运算,并且由解码器部分执行反卷积运算,然后输出预测的图像块。可以训练3d卷积自动编码器,使得输出图像块与输入图像块(目标图像块)相同。在一个实施例中,诸如高斯噪声之类的噪声可以被添加到输入的图像块但不添加到目标输出图像块中,以便使得学习具有鲁棒性。在一些实施例中,可以对输入图像块和目标输出图像块两者进行变换,诸如旋转、变形、放大/缩小等,以使得学习具有更高的鲁棒性。然后,利用训练后的编码器(即,基本网络)的网络权重来初始化有监督的训练过程。

检测网络包括所述分类网络。在一个实施例中,可以在训练检测网络之前训练分类网络。图6示出了用于训练其中的分类网络的卷积神经网络训练过程400的流程图。过程400开始于接收3d训练图像和相关分类结果的步骤450。在一些实施例中,在步骤452,可以将3d训练图像例如使用滑动窗口划分为图像块。然后,在步骤454,将单个图像块连同其分类结果一起作为训练数据输入到分类网络中。在一些实施例中,分类网络的权重可能已经被初始化。在步骤456,可以基于训练数据来确定分类网络的分类器参数。在步骤458,分类器参数的确定可以包括针对损失函数进行验证。在一些实施例中,步骤456和458也可以被集成在相同的步骤中,其中可以基于每个图像块,针对损失函数优化分类网络的分类器参数。在一些实施例中,优化过程可以由任何一种常用算法执行,包括但不限于梯度下降算法、牛顿法、共轭梯度算法、拟牛顿法和levenbergmarquardt算法等。在步骤460,它判定是否已经处理了所有图像块,如果是,则在步骤462,将具有当前优化的分类器参数的训练好的分类网络输出作为训练好的模型。否则,该过程返回到步骤454以处理后续图像块,直到处理完所有图像块。在步骤452,可以使用滑动窗口将3d训练图像划分成图像块。在一个实施例中,如以上参照图3所解释的,作为分类网络(或检测网络)的卷积网络的最后的数个全连接层可以被转换为全卷积层。卷积运算的跨步就像滑动窗口的跨步,这些操作是等效的。由于gpu上的快速卷积计算,获得了巨大的加速。

在一些实施例中,基于训练好的分类网络,可以在大图像块上构建和训练检测网络。例如,分类网络的训练过程400可以适用于训练检测网络。区别如下:在步骤454输入的训练数据是大图像块和关于其中检测到的包含目标对象的边界框的信息,诸如识别相应的检测到的边界框的一组参数。这样的一组参数可以包括但不限于标签(与大图像块中的目标对象相关联)和检测到的边界框的一组位置参数。作为示例,标签0可以表示3d图像块不包含结节(即,其中检测到的边界框包含非结节目标对象),并且标签1-9可以分别表示3d图像块包含不同尺寸1-9的结节(即,其中检测到的边界框包含尺寸n的结节目标对象,n是1-9范围内的整数)。在步骤456和458中也存在区别,其中要针对损失函数优化的参数是属于检测网络的参数。

在一些实施例中,为了训练检测网络,可以将标签分配给各个锚框。在一个实施例中,如果锚框与任何地面真值框交叠的交并比(iou)高于特定阈值(例如0.7),则对应于地面真值框的标签可以被分配给锚框。请注意,单个地面真值框(例如包含结节的紧边界框)可将相应标签分配给数个锚框。例如,对于非结节锚框对于所有肺外部地面真值框的iou比率低于0.3,则可以将肺内非结节标签分配给该非结节锚框。相反,如果非结节锚框对于所有肺内地面真值框的iou比率低于0.3,可将肺外部非结节标签分配给该非结节锚框。

在一个实施例中,用于训练检测网络的损失函数可以是多任务损失函数,以覆盖分类任务和边界框预测任务两者。例如,多任务损失函数可以由公式(3)定义。

其中i是训练小批量中锚框的索引,pi是锚框i为结节的预测概率。地面真值标签是pi*,ti表示预测的边界框的6个参数化坐标,ti*是与结节锚框相关联的地面真值框的参数化坐标。lcls是交叉熵损失,lreg是鲁棒损失函数。在一些实施例中,ncls和nreg可以分别是小批量中对应框的数量,用于归一化。λ是分类任务和回归任务之间的加权参数。

作为例子,可以对边界框回归采用6参数回归,并且可以由公式(4)定义这6个参数。

其中x、y、z、w、h和d表示边界框的中心坐标及其宽度、高度和深度。变量x、xa和x*分别用于预测的边界框、锚框和地面真值框(同样适用于y、z、w、h和d)。

图7示出了用于识别3d图像扫描中的目标对象的示例性过程500的流程图。目标对象识别过程500在步骤512开始,在该步骤中接收训练好的结节检测模型。在步骤514,接收可能包括目标对象的3d医学图像。然后,在步骤452,可以使用滑动窗口将3d医学图像划分为图像块。在步骤516,使用检测网络从图像块中检测多个边界框。在步骤518,确定识别各个边界框的标签和一组位置参数。作为选项,步骤516和518可以集成在同一步骤中。然后,可以在步骤520使用标签对边界框进行分类,并且可以使用所分类的边界框及其位置参数来定位诸如结节的目标对象。在步骤460,确定是否处理了所有图像块,如果是,则在步骤462,将各个图像块的结节检测结果集成,以获得并输出完整的结节检测结果。如果否,则处理500返回到步骤516。虽然如图7所示的目标对象识别过程500是基于滑动窗口的,但不限于此。在一个实施例中,如以上参照图3说明的,作为分类网络(或检测网络)的卷积网络的最后数个全连接层可以被转换为全卷积层。卷积运算的跨步起到与滑动窗口的跨步类似的作用,这些操作是等效的。由于gpu上的快速卷积计算,获得了巨大的加速。

图8图示根据本公开的另一实施例的用于从3d图像自动检测目标对象的示例性过程。如图8所示,可以将3d肺容积ct图像输入检测系统,该系统使用训练好的模型来检测其中的结节,并且识别包含各个结节的相应边界框,包括相应边界框的位置和尺寸。

在一些实施例中,可以将3d图像沿着各种方向(诸如但不限于z方向)划分为更小的组块,然后可以将检测网络及其相关算法应用于各个组块以获得目标对象的相应检测结果。可以集合各个组块的检测结果,并且可以整合具有相应检测结果的组块,以产生对于整个3d图像的完整检测结果。

图9示出了使用n尺度的3d学习网络的示例性结节检测过程。如图9所示,输入的3d医学图像是w*h*z容积ct扫描。为了将检测网络和特征映射装入gpu内存中,输入ct扫描被分割成更小的组块,注意,图9举例说明了两个组块w*h*z1ct扫描和w*h*z2ct扫描,作为阐明和举例说明检测过程的一个例子,实际上可以根据需要选择组块的数量,以便适合gpu的性能。例如,基本网络对应于尺度1,并且对应于包括尺度2~n的其它尺度的学习网络可以通过对基本网络的尺度缩放(rescale)操作实现,包括但不限于卷积和最大池化。每个组块可以有3个用于边界框的类别标签。可以使用各种尺度的3个类别的特征映射来检测每个组块内的边界框。该检测结果可以包括边界框的类别标签和相对于锚框的回归的6个偏移参数(dx,dy,dz,dsize_x,dsize_y和dsize_z)。检测到的所有组块的边界框,即图9所示的多框预测,可以组合并转换到原始图像坐标系中,然后进行3d非最大抑制,以得到最终的检测结果。通过3d非最大抑制,冗余边界框可以被取消,以简化和澄清3d医学图像中目标对象的检测/定位结果。例如,作为3d非最大抑制的结果,可以针对一个结节确定一个检测到的边界框。

可选地,可以在运行检测算法之前执行分割,以将检测算法约束到3d医学图像的潜在区域而不是整个3d医学图像。由此,可以提高检测精度,同时可以减少检测网络所需的计算量。

以肺结节作为目标对象的例子,已知肺结节总是在肺内。在一个实施例中,可以预先执行肺部分割以进一步去除肺内的假警报。特别地,可以预先执行肺部分割以生成肺凸包,然后利用凸包来约束结节检测。肺部分割可以通过各种手段来执行,包括但不限于卷积网络、活动轮廓模型、分水岭分割算法等。在一些实施例中,可以在较低分辨率扫描中执行这种肺部分割,并且可以对结果上采样到原始分辨率,以将3d学习网络和特征映射装入gpu内存,同时加快分割过程。

在临床环境中,放射科医师通常需要对肺结节进行定量分析。例如,除了检测到的边界框之外,他们还需要结节的边界,以及取决于结节分割的所检测结节的准确尺寸等。在一些实施例中,可以基于检测到的边界框来执行分割。例如,可以使用3d卷积网络在检测到的肺结节的边界框内执行分割。由此,分割模型/学习网络可以在较小的结节图像块上被训练并被应用到所检测到的边界框内的图像区域。

在一个实施例中,如图10所示,结节分割和检测可以被整合到结节分割过程中,以实现端到端的检测和分割过程。虽然在图10中,输入w*h*z3d扫描被分成两个ct扫描,可以设想输入3d扫描可以被分成任何合适数量的ct扫描。对于每个划分的ct扫描,可以在基本网络上执行各种尺度缩放操作,包括卷积和最大池化操作,以获得相应尺度的检测结果。一旦检测到边界框,可以将边界框缩放回特征映射空间(例如,重新对准到最后的特征层),然后在其上应用roi(感兴趣区域)池化,从而产生roi区域。可以对每个roi执行分割算法以直接生成结节分割。作为一个例子,这种分割算法可以通过全卷积网络分割层来实现。这样的分割算法也可以通过卷积层之后的一系列反卷积层或上采样层来实现。在一些实施例中,每个分割ct扫描的结节分割结果可以被整合,以获得所输入的原始ct扫描中的整个结节分割结果。在一个实施例中,池化使用双线性插值和重采样来使roi具有相同的尺寸,以加速gpu计算。

可以想到的是,如图10所示的结节分割过程,可以从先前的检测网络扩展,其中检测和分割阶段可以共享相同的检测网络,例如基本网络。

在一些实施例中,对图10中使用的网络的训练可以如下地进行。首先,训练检测网络以获得检测网络部分的权重。然后,给定检测网络部分的权重,使用地面真值边界框对分割网络部分进行训练。可以采用几种损失函数来训练分割网络部分,包括但不限于基于前景和背景体素数量的归一化交叉熵。可以组合上述两种网络以得到结节分割结果。

检测网络部分和分割网络部分可以分别地、顺序地或同时地被训练。在一个实施例中,在训练阶段期间,检测网络部分和分割网络部分两者可以同时针对联合损失函数进行训练,其中使用地面真值边界框和分割来监督分割。联合损失函数可以由公式(5)定义。

其中,前面的项与公式(3)中的那些项相同并因此省略其定义。最后末项是分割的损失分量。nseg是一个小批量中分割区域的数量。lseg是一个区域中的体素损失函数,j是训练小批量中感兴趣区域的索引,sj是感兴趣区域的预测概率,sj*是地面真值分割。

前面的描述是为了说明的目的而呈现的。这不是穷尽的,并且不限于所公开的确切形式或实施例。考虑到所公开的实施例的说明和实践,实施例的修改和改变将变得显而易见。

在本文档中,如在专利文献中常见的那样,使用术语“一”或“个”来包括一个或多于一个,独立于“至少一个”或“一个或多个”的任何其他实例或用法。在本文中,除非另外指出,术语“或”用于指非排他性的,或者使得“a或b”包括“a但不包括b”,“b但不包括a”和“a和b”。在本文档中,术语“包括(including)”和“其中(inwhich)”用作相应术语“包括(comprising)”和“其中(wherein)”的通俗英语等同物。而且,在下面的权利要求中,术语“包括(including)”和“包括(comprising)”是开放式的,即,包括除了那些在权利要求中在该术语后列出的要素以外的要素的设备、系统、设备、制品、组成、配方或过程,也被视为落入该权利要求的保护范围内。此外,在下面的权利要求中,术语“第一”、“第二”和“第三”等仅被用作标签,并不旨在对其对象施加数值上的要求。

这里描述的示例性方法可以至少部分地是机器或计算机实现的。一些示例可以包括用指令编码的计算机可读介质或机器可读介质,所述指令可操作以配置电子设备执行如以上示例中所述的方法。这种方法的实现可以包括软件代码,诸如微代码、汇编语言代码、更高级的语言代码等。各种程序或程序模块可以使用各种软件编程技术来创建。例如,可以使用java、python、c、c++、汇编语言或任何已知的编程语言来设计程序段或程序模块。一个或多个这样的软件部分或模块可以被集成到计算机系统和/或计算机可读介质中。这种软件代码可以包括用于执行各种方法的计算机可读指令。软件代码可以形成计算机程序产品或计算机程序模块的一部分。此外,在一个示例中,软件代码可以诸如在执行期间或其他时间有形地存储在一个或多个易失性、非暂时性或非易失性有形计算机可读介质上。这些有形的计算机可读介质的示例可以包括但不限于硬盘、可移动磁盘、可移动光盘(例如,光盘和数字视频盘)、磁带盒、存储卡或棒、随机存取存储器(ram),只读存储器(rom)等。

此外,尽管在此描述了说明性实施例,但是范围包括具有基于本公开的等效元素、修改、省略、组合(例如,跨各种实施例的方案的组合)、调整或变更的任何和所有实施例。权利要求中的要素将基于权利要求中使用的语言进行宽泛地解释,而不限于本说明书中或在本申请的存续期间描述的示例,这些示例将被解释为非排他性的。此外,所公开的方法的步骤可以以任何方式进行修改,包括通过重新排序步骤或插入或删除步骤。因此,意图仅仅将描述视为例子,真正的范围由以下权利要求及其全部等同范围表示。

以上描述旨在是说明性的而不是限制性的。例如,上述示例(或其一个或多个方案)可以彼此组合使用。本领域普通技术人员在查看以上描述时可以使用其他实施例。而且,在上面的详细描述中,各种特征可以被组合在一起以简化本公开。这不应被解释成意图让不要求保护的公开特征对于任何权利要求而言都是必不可少的。而是,发明主题可以在于比一个公开的实施例的所有特征少的特征组合。因此,以下权利要求由此作为示例或实施例并入到具体实施方式中,其中每个权利要求独立作为单独的实施例,并且可以构想的是,这些实施例可以以各种组合或置换来相互组合。本发明的范围应该参考所附权利要求以及赋予这些权利要求的等同物的全部范围来确定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1