会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 解剖与生理 / 心动周期 / 自动心脏体积分割

自动心脏体积分割

阅读:702发布:2021-02-28

IPRDB可以提供自动心脏体积分割专利检索,专利查询,专利分析的服务。并且用于自动分割解剖结构如人类心脏的系统和方法。该系统和方法使用卷积神经网络(CNN)来自动地分割由图像数据表示的解剖结构的各个部分,所述图像数据例如3D MRI数据。卷积神经网络利用两条路径:包含卷积/池化层的收缩路径和包括上采样/卷积层的扩张路径。用于验证CNN模型的损失函数可以特别地考虑到缺失的数据,从而允许使用更大的训练集。CNN模型可以利用多维内核(例如,2D、3D、4D、6D),并且可以包括编码空间数据、时间数据、流量数据等的多个通道。本公开的系统和方法还利用CNN以在解剖结构的图像中提供自动检测和显示位置标志。,下面是自动心脏体积分割专利的具体信息内容。

1.一种机器学习系统,其包括:

至少一个非临时性处理器可读存储介质,其存储处理器可执行指令或数据中的至少一个;和至少一个处理器,其可通信地耦接到所述至少一个非临时性处理器可读存储介质,所述至少一个处理器:接收包括多批带标签的图像集的学习数据,每个图像集包括表示解剖结构的图像数据,并且每个图像集包括至少一个标签,所述标签标识在图像集的每个图像中描绘的解剖结构的特定部分的区域;

训练全卷积神经网络(CNN)模型以利用所接收的学习数据来分割解剖结构的至少一部分;

将训练的CNN模型存储在所述机器学习系统的所述至少一个非临时性处理器可读存储介质中。

2.根据权利要求1所述的机器学习系统,其中,所述CNN模型包括收缩路径和扩张路径,所述收缩路径包括多个卷积层和多个池化层,每个池化层之前是至少一个卷积层,并且所述扩张路径包括多个卷积层和多个上采样层,每个上采样层之前是至少一个卷积层并且包括转置卷积运算,所述转置卷积运算用习得内核执行上采样和内插。

3.根据权利要求2所述的机器学习系统,其中,在每个上采样层之后,所述CNN模型包括来自收缩路径中的相应层的通过跳过连接的特征映射的级联。

4.根据权利要求1所述的机器学习系统,其中,所述图像数据表示贯穿心动周期的一个或多于一个时间点期间的心脏。

5.根据权利要求4所述的机器学习系统,其中,所述图像数据包括超声波数据或可见光照片数据。

6.根据权利要求1所述的机器学习系统,其中,所述CNN模型包括收缩路径,所述收缩路径包括具有1至2000个特征映射的第一卷积层。

7.根据权利要求1所述的机器学习系统,其中,所述CNN模型包括多个卷积层,并且每个卷积层包括大小为3×3且步幅为1的卷积核。

8.根据权利要求1所述的机器学习系统,其中,所述CNN模型包括多个池化层,并且每个池化层包括步幅为2的2×2最大池化层。

9.根据权利要求1所述的机器学习系统,其中,所述CNN模型包括四个池化层和四个上采样层。

10.根据权利要求1所述的机器学习系统,其中,所述CNN模型包括多个卷积层,并且所述CNN模型使用补零操作将输入填充至每个卷积层。

11.根据权利要求1所述的机器学习系统,其中,所述CNN模型包括多个非线性激活函数层。

12.根据权利要求1所述的机器学习系统,其中所述至少一个处理器:通过修改多批带标签的图像集中的至少一些图像数据来扩充学习数据。

13.根据权利要求12所述的机器学习系统,其中所述至少一个处理器:根据水平翻转、垂直翻转、剪切量、移位量、变焦量、旋转量、亮度级、或对比度中的至少一种来修改多批带标签的图像集中的至少一些图像数据。

14.根据权利要求1所述的机器学习系统,其中,所述CNN模型包括存储在所述至少一个非临时性处理器可读存储介质中的多个超参数,并且所述至少一个处理器:根据多个配置来配置所述CNN模型,每个配置包括超参数的值的不同组合;

对于多个配置中的每一个,验证所述CNN模型的精度;并且

至少部分基于通过所述验证确定的精度来选择至少一个配置。

15.根据权利要求1所述的机器学习系统,其中,所述至少一个处理器:对于每个图像集,识别所述图像集是否缺少所述解剖结构的多个部分中的任意一个的标签;并且对于识别为缺少至少一个标签的图像集,修改训练损失函数以考虑到所识别的缺失标签。

16.根据权利要求1所述的机器学习系统,其中,所述图像数据包括体积图像,并且每个标签包括体积标签掩模或轮廓。

17.根据权利要求16所述的机器学习系统,其中,所述CNN模型的每个卷积层包括大小为N×N×K像素的卷积核,其中N和K是正整数。

18.根据权利要求1所述的机器学习系统,其中,所述CNN模型的每个卷积层包括大小为N×M像素的卷积核,其中N和M是正整数。

19.根据权利要求1所述的机器学习系统,其中,所述图像数据表示贯穿心动周期的一个或多于一个时间点期间的心脏,并且其中多批带标签的图像集的子集包括排除乳头肌的标签。

20.根据权利要求1所述的机器学习系统,其中,对于每个被处理的图像,所述CNN模型利用至少一个图像的数据,所述至少一个图像是空间上与所述被处理的图像相邻的图像或时间上与所述被处理的图像相邻的图像中的至少一个。

21.根据权利要求1所述的机器学习系统,其中,对于每个被处理的图像,所述CNN模型利用空间上与所述被处理的图像相邻的至少一个图像的数据,并且利用时间上与所述被处理的图像相邻的至少一个图像的数据。

22.根据权利要求1所述的机器学习系统,其中,对于每个被处理的图像,所述CNN模型利用时间信息或相位信息中的至少一个。

23.根据权利要求1所述的机器学习系统,其中,所述图像数据包括稳态自由进动(SSFP)磁共振成像(MRI)数据或4D Flow MRI数据中的至少一个。

24.一种操作机器学习系统的方法,所述机器学习系统包括存储处理器可执行指令或数据中的至少一个的至少一个非临时性处理器可读存储介质,以及可通信地耦接到所述至少一个非临时性处理器可读存储介质的至少一个处理器,所述方法包括:通过所述至少一个处理器,接收包括多批带标签的图像集的学习数据,每个图像集包括表示解剖结构的图像数据,并且每个图像集包括至少一个标签,所述标签标识图像集的每个图像中描绘的解剖结构的特定部分的区域;

通过所述至少一个处理器,训练全卷积神经网络(CNN)模型以利用所接收的学习数据来分割解剖结构的至少一部分;

通过所述至少一个处理器,将训练的CNN模型存储在所述机器学习系统的所述至少一个非临时性处理器可读存储介质中。

25.根据权利要求24所述的方法,其中,训练所述CNN模型包括训练包括收缩路径和扩张路径的CNN模型,所述收缩路径包括多个卷积层和多个池化层,每个池化层之前是至少一个卷积层,并且所述扩张路径包括多个卷积层和多个上采样层,每个上采样层之前是至少一个卷积层并且包括转置卷积运算,所述转置卷积运算用习得内核执行上采样和内插。

26.根据权利要求25所述的方法,其中,训练CNN模型包括训练CNN模型以利用所接收的学习数据来分割解剖结构的至少一部分,并且在每个上采样层之后,所述CNN模型包括来自收缩路径中的相应层的通过跳过连接的特征映射的级联。

27.根据权利要求24所述的方法,其中,接收学习数据包括接收表示贯穿心动周期的一个或多于一个时间点期间的心脏的图像数据。

28.根据权利要求24所述的方法,其中,训练CNN模型包括训练CNN模型以利用所接收的学习数据来分割解剖结构的至少一部分,并且所述CNN模型包括收缩路径,所述收缩路径包括具有1至2000个特征映射的第一卷积层。

29.根据权利要求24所述的方法,其中,训练CNN模型包括训练包括多个卷积层的CNN模型,以利用所接收的学习数据来分割解剖结构的至少一部分,并且每个卷积层包括大小为3×3、步幅为1的卷积核。

30.根据权利要求25所述的方法,其中,训练CNN模型包括训练包括多个池化层的CNN模型,以利用所接收的学习数据来分割解剖结构的至少一部分,并且每个池化层包括步幅为2的2×2最大池化层。

31.根据权利要求24所述的方法,其中,训练CNN模型包括训练CNN模型以利用所接收的学习数据来分割所述解剖结构的至少一部分,并且所述CNN模型包括四个池化层和四个上采样层。

32.根据权利要求24所述的方法,其中,训练CNN模型包括训练包括多个卷积层的CNN模型,以利用所接收的学习数据来分割解剖结构的至少一部分,并且所述CNN模型使用补零操作将输入填充至每个卷积层。

33.根据权利要求24所述的方法,其中,训练CNN模型包括训练CNN模型以利用所接收的学习数据来分割解剖结构的至少一部分,并且所述CNN模型包括多个非线性激活函数层。

34.根据权利要求24所述的方法,其还包括:

通过所述至少一个处理器,通过修改多批带标签的图像集中的至少一些图像数据来扩充所述学习数据。

35.根据权利要求34所述的方法,其还包括:

通过所述至少一个处理器,根据水平翻转、垂直翻转、剪切量、移位量、变焦量、旋转量、亮度级、或对比度中的至少一个,修改多批带标签的图像集中的至少一些图像数据。

36.根据权利要求24所述的方法,其中,所述CNN模型包括存储在所述至少一个非临时性处理器可读存储介质中的多个超参数,并且所述方法还包括:通过所述至少一个处理器,根据多个配置来配置所述CNN模型,每个配置包括超参数的值的不同组合;

对于多个配置中的每一个,通过所述至少一个处理器,验证所述CNN模型的精度;以及通过所述至少一个处理器,至少部分基于通过所述验证确定的精度来选择至少一个配置。

37.根据权利要求24所述的方法,其还包括:

对于每个图像集,通过所述至少一个处理器,识别所述图像集是否缺少所述解剖结构的多个部分中的任意一个的标签;和对于识别为缺少至少一个标签的图像集,通过所述至少一个处理器,修改训练损失函数以考虑到所识别的缺失标签。

38.根据权利要求24所述的方法,其中,接收学习数据包括接收包括体积图像的图像数据,并且每个标签包括体积标签掩模或轮廓。

39.根据权利要求38所述的方法,其中,训练CNN模型包括训练包括多个卷积层的CNN模型,以利用所接收的学习数据来分割解剖结构的至少一部分,并且所述CNN模型的每个卷积层包括大小为N×N×K像素的卷积核,其中N和K是正整数。

40.根据权利要求24所述的方法,其中,训练CNN模型包括训练包括多个卷积层的CNN模型,以利用所接收的学习数据来分割解剖结构的至少一部分,并且所述CNN模型的每个卷积层包括大小为N×M像素的卷积核,其中N和M是正整数。

41.根据权利要求24所述的方法,其中,接收学习数据包括接收表示贯穿心动周期的一个或多于一个时间点期间的心脏的图像数据,并且其中多批带标签的图像集的子集包括排除乳头肌的标签。

42.根据权利要求24所述的方法,其中,训练CNN模型包括训练CNN模型以利用所接收的学习数据来分割解剖结构的至少一部分,并且对于每个被处理的图像,所述CNN模型利用至少一个图像的数据,所述至少一个图像是空间上与所述被处理的图像相邻的图像或时间上与所述被处理的图像相邻的图像中的至少一个。

43.根据权利要求24所述的方法,其中训练CNN模型包括训练CNN模型以利用所接收的学习数据来分割解剖结构的至少一部分,并且对于每个被处理的图像,所述CNN模型利用空间上与所述被处理的图像相邻的至少一个图像的数据,并且利用时间上与所述被处理的图像相邻的至少一个图像的数据。

44.根据权利要求24所述的方法,其中,训练CNN模型包括训练CNN模型以利用所接收的学习数据来分割解剖结构的至少一部分,并且对于每个经处理的图像,所述CNN模型利用时间信息或相位信息中的至少一个。

45.根据权利要求24所述的方法,其中,接收学习数据包括接收包括稳态自由进动(SSFP)磁共振成像(MRI)数据或4D Flow MRI数据中的至少一个的图像数据。

46.一种机器学习系统,其包括:

至少一个非临时性处理器可读存储介质,其存储处理器可执行指令或数据中的至少一个;和至少一个处理器,其可通信地耦接到所述至少一个非临时性处理器可读存储介质,所述至少一个处理器:接收表示解剖结构的图像数据;

通过全卷积神经网络(CNN)模型处理所接收的图像数据,以生成图像数据的每个图像的每个像素的每个类别的概率,每个类别对应于由图像数据表示的解剖结构的多个部分中的一个;并且对于图像数据的每个图像,使用所生成的每个类别的概率生成多个类别中的每个类别的概率图;并且将生成的概率图存储在至少一个非临时性处理器可读存储介质中。

47.根据权利要求46所述的机器学习系统,其中,所述CNN模型包括收缩路径和扩张路径,所述收缩路径包括多个卷积层和多个池化层,每个池化层之前是至少一个卷积层,并且所述扩张路径包括多个卷积层和多个上采样层,每个上采样层之前是至少一个卷积层并且包括转置卷积运算,所述转置卷积运算用习得内核执行上采样和内插。

48.根据权利要求46所述的机器学习系统,其中,所述图像数据表示贯穿心动周期的一个或多于一个时间点期间的心脏。

49.根据权利要求46所述的机器学习系统,其中所述至少一个处理器:至少部分地基于所生成的概率图,自动地使解剖结构的多个部分中的至少一个的指示显示在显示器上。

50.根据权利要求46所述的机器学习系统,其中所述至少一个处理器:对被处理的图像数据后处理以确保满足至少一个物理限制条件。

51.根据权利要求50所述的机器学习系统,其中,所述图像数据表示贯穿心动周期的一个或多于一个时间点期间的心脏,并且所述至少一个物理限制条件包括以下中的至少一个:心肌体积在所有的时间点相同,或右心室和左心室不能相互重叠。

52.根据权利要求46所述的机器学习系统,其中所述至少一个处理器:对于图像数据的每个图像,通过将每个像素的类别设置为具有最高概率的类别,将多个概率图转换为标签掩模。

53.根据权利要求52所述的机器学习系统,其中所述至少一个处理器:对于图像数据的每个图像,当像素的所有类别的概率低于确定的阈值时,将每个像素的类别设置为背景类别。

54.根据权利要求52所述的机器学习系统,其中所述至少一个处理器:对于图像数据的每个图像,当像素不是所述像素所关联的类别的最大连接区域的一部分时,将每个像素的类别设置为背景类别。

55.根据权利要求52所述的机器学习系统,其中所述至少一个处理器:将图像数据的所述标签掩模的每一个转换为相应的样条轮廓。

56.根据权利要求55所述的机器学习系统,其中所述至少一个处理器:自动使所生成的轮廓与图像数据一起显示在显示器上。

57.根据权利要求56所述的机器学习系统,其中所述至少一个处理器:接收对所显示的轮廓中的至少一个的用户修改;并且

将所修改的轮廓存储在所述至少一个非临时性处理器可读存储介质中。

58.根据权利要求55所述的机器学习系统,其中所述至少一个处理器:利用所生成的轮廓来确定解剖结构的多个部分中的至少一个的体积。

59.根据权利要求55所述的机器学习系统,其中所述解剖结构包括心脏,并且所述至少一个处理器:利用所生成的轮廓确定在心动周期的多个时间点心脏的多个部分中的至少一个的体积。

60.根据权利要求59所述的机器学习系统,其中所述至少一个处理器:基于分别被确定为具有最小体积和最大体积的时间点,自动确定心动周期的多个时间点中的哪些时间点对应于心动周期的心脏收缩阶段末期和心脏舒张阶段末期。

61.根据权利要求58所述的机器学习系统,其中所述至少一个处理器:使得解剖结构的多个部分中的至少一个的所确定的体积显示在显示器上。

62.根据权利要求46所述的机器学习系统,其中所述图像数据包括体积图像。

63.根据权利要求62所述的机器学习系统,其中所述CNN模型的每个卷积层包括大小为N×N×K像素的卷积核,其中N和K是正整数。

64.一种操作机器学习系统的方法,所述机器学习系统包括存储处理器可执行指令或数据中的至少一个的至少一个非临时性处理器可读存储介质,以及可通信地耦接到所述至少一个非临时性处理器可读存储介质的至少一个处理器,所述方法包括:通过所述至少一个处理器,接收表示解剖结构的图像数据;

通过所述至少一个处理器,通过全卷积神经网络(CNN)模型处理所接收的图像数据,以生成图像数据的每个图像的每个像素的每个类别的概率,每个类别对应于由图像数据表示的解剖结构的多个部分中的一个;和对于图像数据的每个图像,通过所述至少一个处理器,使用所生成的每个类别的概率生成多个类别中的每个类别的概率图;和通过所述至少一个处理器,将所产生的概率图存储在所述至少一个非临时性处理器可读存储介质中。

65.根据权利要求64所述的方法,其中,通过所述CNN模型处理所接收的图像数据包括:通过包括收缩路径和扩张路径的CNN模型来处理所接收的图像数据,所述收缩路径包括多个卷积层和多个池化层,每个池化层之前是至少一个卷积层,并且所述扩张路径包括多个卷积层和多个上采样层,每个上采样层之前是至少一个卷积层并且包括转置卷积运算,所述转置卷积运算用习得内核执行上采样和内插。

66.根据权利要求64所述的方法,其中,接收图像数据包括接收表示贯穿心动周期的一个或多于一个时间点期间的心脏的图像数据。

67.根据权利要求64所述的方法,其还包括:

通过所述至少一个处理器,至少部分地基于所生成的概率图,自动地使解剖结构的多个部分中的至少一个的指示显示在显示器上。

68.根据权利要求64所述的方法,其还包括:

通过所述至少一个处理器,对经处理的图像数据后处理以确保满足至少一个物理限制条件。

69.根据权利要求68所述的方法,其中,接收图像数据包括接收表示贯穿心动周期的一个或多于一个时间点期间的心脏的图像数据,并且所述至少一个物理限制条件包括以下中的至少一个:心肌体积在所有的时间点相同,或右心室和左心室不能相互重叠。

70.根据权利要求64所述的方法,其还包括:

对于图像数据的每个图像,通过所述至少一个处理器,通过将每个像素的类别设置为具有最高概率的类别,将多个概率图转换为标签掩模。

71.根据权利要求70所述的方法,其还包括:

对于图像数据的每个图像,通过所述至少一个处理器,当像素的所有类别的概率低于确定的阈值时,将每个像素的类别设置为背景类别。

72.根据权利要求70所述的方法,其还包括:

对于图像数据的每个图像,通过所述至少一个处理器,当像素不是所述像素所关联的类别的最大连接区域的一部分时,将每个像素的类别设置为背景类别。

73.根据权利要求70所述的方法,其还包括:

通过所述至少一个处理器,将图像数据的所述标签掩模的每一个转换为相应的样条轮廓。

74.根据权利要求73所述的方法,其还包括:

通过所述至少一个处理器,自动使所生成的轮廓与图像数据一起显示在显示器上。

75.根据权利要求74所述的方法,其还包括:

通过所述至少一个处理器,接收所显示的轮廓中的至少一个的用户修改;以及通过所述至少一个处理器,将所修改的轮廓存储在所述至少一个非临时性处理器可读存储介质中。

76.根据权利要求73所述的方法,其还包括:

通过所述至少一个处理器,利用所生成的轮廓来确定解剖结构的多个部分中的至少一个的体积。

77.根据权利要求73所述的方法,其中所述解剖结构包括心脏,所述方法还包括:通过所述至少一个处理器,利用所生成的轮廓确定在心动周期的多个时间点心脏的多个部分中的至少一个的体积。

78.根据权利要求77所述的方法,其还包括:

通过所述至少一个处理器,基于分别被确定为具有最小体积和最大体积的时间点,自动确定心动周期的多个时间点中的哪些时间点对应于心动周期的心脏收缩阶段末期和心脏舒张阶段末期。

79.根据权利要求76所述的方法,其还包括:

通过所述至少一个处理器,使得解剖结构的多个部分中的至少一个的所确定的体积显示在显示器上。

80.根据权利要求64所述的方法,其中,接收图像数据包括接收体积图像数据。

81.根据权利要求80所述的方法,其中,通过CNN模型处理所接收的图像数据包括通过其中每个卷积层包括大小为N×N×K像素的卷积核的CNN模型来处理所接收的图像数据,其中N和K是正整数。

82.一种机器学习系统,其包括:

至少一个非临时性处理器可读存储介质,其存储处理器可执行指令或数据中的至少一个;和至少一个处理器,其可通信地耦接到所述至少一个非临时性处理器可读存储介质,所述至少一个处理器:接收多个3D MRI图像集,多个集合中的每一个的图像表示患者的解剖结构;

接收所述多个3D MRI图像集的多个注释,每个注释指示在对应图像中描绘的患者的解剖结构的位置标志;

训练卷积神经网络(CNN)模型以利用3D MRI图像预测所述多个位置标志的位置;以及将训练的CNN模型存储在所述机器学习系统的所述至少一个非临时性处理器可读存储介质中。

83.根据权利要求82所述的机器学习系统,其中,所述至少一个处理器训练全卷积神经网络(CNN)模型以利用所述3D MRI图像预测所述多个位置标志的位置。

84.根据权利要求82所述的机器学习系统,其中,所述至少一个处理器训练CNN模型,所述CNN模型的输出为一组或多于一组空间坐标,所述一组或多于一组空间坐标的每一组标识所述多个位置标志中的一个的位置。

85.根据权利要求82所述的机器学习系统,其中,所述CNN模型包括收缩路径和之后的一个或多于一个全连接层。

86.根据权利要求82所述的机器学习系统,其中,所述CNN模型包括收缩路径和扩张路径,所述收缩路径包括多个卷积层和多个池化层,每个池化层之前是一个或多于一个卷积层,并且所述扩张路径包括多个卷积层和多个上采样层,每个上采样层之前是一个或多于一个卷积层并且包括转置卷积运算,所述转置卷积运算用习得内核执行上采样和内插。

87.根据权利要求82所述的机器学习系统,其中所述至少一个处理器:对于解剖结构的一个或多于一个位置标志中的每一个,至少部分地基于所接收的3D MRI图像集和所接收的多个注释来定义3D标签映射,每个3D标签映射对位置标志位于3D标签映射上的特定位置的可能性进行编码,其中所述至少一个处理器训练所述CNN模型以利用所述3D MRI图像和所述生成的3D标签映射来分割所述一个或多于一个位置标志。

88.根据权利要求82所述的机器学习系统,其中,所述多个集合中的每一个中的图像表示在心动周期的不同相应时间点的患者的心脏,并且每个注释表示在相应的图像中描绘的患者心脏的位置标志。

89.根据权利要求82所述的机器学习系统,其中所述至少一个处理器:接收3D MRI图像集;

通过所述CNN模型处理所接收的3D MRI图像,以检测所述一个或多于一个位置标志中的至少一个;并且使检测到的多个位置标志中的至少一个呈现在显示器上。

90.根据权利要求89所述的机器学习系统,其中所述至少一个处理器:通过所述CNN模型处理所接收的3D MRI图像,并输出点或标签映射中的至少一个。

91.根据权利要求89所述的机器学习系统,其中所述至少一个处理器:通过所述CNN模型处理所接收的3D MRI图像,以在多个时间点检测多个位置标志中的至少一个;并且使在多个时间点所检测到的多个位置标志中的至少一个呈现在显示器上。

92.根据权利要求82所述的机器学习系统,其中,所述CNN模型利用与所接收的3D MRI图像相关联的相位信息。

93.一种操作机器学习系统的方法,所述机器学习系统包括存储处理器可执行指令或数据中的至少一个的至少一个非临时性处理器可读存储介质,以及可通信地耦接到所述至少一个非临时性处理器可读存储介质的至少一个处理器,所述方法包括:通过所述至少一个处理器,接收多个3D MRI图像集,多个集合中每一个的图像表示患者的解剖结构;

通过所述至少一个处理器,接收所述多个3D MRI图像集的多个注释,每个注释指示在对应图像中描绘的患者的解剖结构的位置标志;

通过所述至少一个处理器,训练卷积神经网络(CNN)模型以利用3D MRI图像预测所述多个位置标志的位置;以及通过所述至少一个处理器,将训练的CNN模型存储在所述机器学习系统的所述至少一个非临时性处理器可读存储介质中。

94.根据权利要求93所述的方法,其中,训练CNN模型包括训练全卷积神经网络(CNN)模型以利用所述3D MRI图像预测所述多个位置标志的位置。

95.根据权利要求93所述的方法,其中,训练CNN模型包括训练输出为一组或多于一组空间坐标的CNN模型,所述一组或多于一组空间坐标的每一组标识所述多个位置标志中的一个的位置。

96.根据权利要求93所述的方法,其中,训练CNN模型包括,训练包括收缩路径和之后的一个或多于一个全连接层的CNN模型。

97.根据权利要求93所述的方法,其中,训练CNN模型包括,训练包括收缩路径和扩张路径的CNN模型,所述收缩路径包括多个卷积层和多个池化层,每个池化层之前是至少一个卷积层,并且所述扩张路径包括多个卷积层和多个上采样层,每个上采样层之前是至少一个卷积层并且包括转置卷积运算,所述转置卷积运算用习得内核执行上采样和内插。

98.根据权利要求93所述的方法,其还包括:

对于解剖结构的多个位置标志中的每一个,通过所述至少一个处理器,至少部分地基于所接收的3D MRI图像集和所接收的多个注释来定义3D标签映射,每个3D标签映射对位置标志位于3D标签映射上的特定位置的可能性进行编码。

99.根据权利要求93所述的方法,其中,接收多个3D MRI图像集包括接收多个3D MRI图像集,并且多个集合中的每一个的图像表示在心动周期的不同相应时间点的患者的心脏,并且每个注释表示在相应的图像中描绘的患者的心脏的位置标志。

100.根据权利要求93所述的方法,其还包括:

通过所述至少一个处理器,接收3D MRI图像集;

通过所述至少一个处理器,通过所述CNN模型处理所接收的3D MRI图像以检测所述多个位置标志中的至少一个;和通过至少一个处理器,使检测到的多个位置标志中的至少一个呈现在显示器上。

101.根据权利要求97所述的方法,其还包括:

通过所述至少一个处理器,通过所述CNN模型处理所接收的3D MRI图像以在多个时间点检测多个位置标志中的至少一个;和通过所述至少一个处理器,使在多个时间点检测到的多个位置标志中的至少一个呈现在显示器上。

102.根据权利要求93所述的方法,其中,训练CNN模型包括训练利用与所接收的3D MRI图像相关的相位信息的CNN模型。

说明书全文

自动心脏体积分割

[0001] 背景

技术领域

[0002] 本发明一般涉及解剖结构的自动分割。

背景技术

[0003] 核磁共振成像(MRI)通常被用于心脏成像以评估患有已知或疑似心脏疾病的患者。具体地,心脏MRI可以通过其精确地捕捉高分辨率的心脏电影图像的能力来量化与心力衰竭和相似病症相关的指标。这些高分辨率图像能够手动或者借助于半自动或全自动软件来测量心脏的相关解剖区域的体积(例如心室和肌肉)。
[0004] 心脏MRI电影序列由一个或多于一个空间切片组成,其中每个空间切片包含贯穿整个心动周期的多个时间点(例如,20个时间点)。通常,以下视图的一些子集被捕获为单独的系列:短轴(SAX)视图,其由沿着左心室的长轴的一系列切片组成。每个切片位于左心室的短轴的平面内,其与心室的长轴正交;2室(2CH)视图,其是显示左心室和左心房或右心室和右心房的长轴(LAX)视图;3室(3CH)视图,其是显示左心室、左心房和主动脉,或右心室、右心房和主动脉的LAX视图;和4室(4CH)视图,其是显示左心室、左心房、右心室和右心房的LAX视图。
[0005] 根据采集的类型,可以直接在扫描仪中捕获这些视图(例如,稳态自由进动(SSFP)MRI),或者可以通过以不同方向排列的体积的多平面重建(MPR)来构建这些视图(例如,轴面、矢状面或冠状面,例如4D Flow MRI)。SAX视图具有多个空间切片,通常覆盖心脏的整个体积,但2CH、3CH和4CH视图通常仅有单一空间切片。所有系列都是电影,并具有涵盖完整心动周期的多个时间点。
[0006] 几个重要的心脏功能的测量依赖于心室体积的精确测量。例如,射血分数(EF)表示每次心跳左心室(LV)中泵出的血液分数。异常低的EF读数通常与心力衰竭有关。EF的测量取决于LV最大收缩时的心脏收缩末期和LV最大舒张时的心脏舒张末期二者的心室血池体积。
[0007] 为了测量LV的体积,在SAX视图中心室通常被分割。复查病例的放射科医师首先会通过手动循环单个切片的时间点并分别确定心室最大收缩或舒张的时间点来确定心脏收缩末期(ES)和心脏舒张末期(ED)时间点。确定这两个时间点后,放射科医师将在心室为可见的SAX系列的所有切片上画出围绕LV的轮廓。
[0008] 一旦构建了轮廓,可以通过对轮廓内的像素进行求和,并乘以x和y方向上的面内像素间距(例如,以毫米每像素计)来计算每个切片中的心室面积。然后可以通过对每个空间切片中的面积进行求和,并乘以切片之间的距离(例如,以毫米(mm)计)来确定总心室体积。得到以立方毫米为单位的体积。还可以使用积分切片面积的其他方法以确定总体积,例如辛普森法则的变体,其不使用直线段逼近离散积分,而是使用二次分段。通常在ES和ED处计算体积,并且可以由体积确定射血分数和类似度量。
[0009] 为了测量LV血池体积,放射科医师通常在两个时间点(ES和ED)的每个时间点处在约10个空间切片上沿LV心内膜(心肌的内壁)构建轮廓,总共约20个轮廓。虽然存在一些半自动的轮廓布置工具(例如,使用活动轮廓或“蛇形”算法),但这些仍然通常需要轮廓的一些手动调整,特别是对于具有噪声或伪影的图像。构建这些轮廓的整个过程可能需要10分钟或更长时间,主要涉及手动调整。示例性LV心内膜轮廓如图1中图像100a至100k所示,其示出了整个SAX堆上的单个时间点处的轮廓。从100a到100k,切片从左心室的顶尖到左心室的基部。
[0010] 尽管以上描述针对于LV血池的测量(通过LV心内膜的轮廓进行),但是通常需要对右心室(RV)血池进行相同的体积测量以评估右心室中的功能病理学。另外,有时需要测量心肌(心脏肌)的质量,这需要画出心外膜(心肌的外表面)的轮廓。即使使用半自动工具,经验丰富的放射科医生都会花费10分钟或更长时间的来构建和校正这四种轮廓中的每一个(LV心内膜,LV心外膜,RV心内膜,RV心外膜)。构建所有四个轮廓可能需要30分钟或更长时间。
[0011] 该繁重过程最明显的后果是使得解读心脏MRI研究是昂贵的。另一个重要后果是:除非绝对必要,一般不会进行基于轮廓的测量,这限制了可以从每次进行的心脏MRI研究中提取的诊断信息。完全自动化的轮廓生成和体积测量不仅对于放射科医生的工作量,而且对于从每项研究中可以提取的诊断信息的量都显然具有显著益处。
[0012] 基于主动轮廓的方法的局限性
[0013] 创建心室轮廓的最基本的方法是使用某种多边形或样条绘制工具手动完成该过程,而不使用任何自动算法或工具。在这种情况下,用户可以例如构建心室轮廓的手绘图,或者绘出样条控制点,然后用平滑的样条轮廓连接样条控制点。在初始构建轮廓之后,取决于软件的用户界面,用户通常具有修改轮廓的能力,例如通过移动、增加或删除控制点或通过移动样条线段。
[0014] 为了减少该过程的繁重程度,大多数支持心室分割的软件包都包括半自动分割工具。一种用于半自动心室分割的算法是“蛇形”算法(更正式地称为“主动轮廓”)。参见Kass,M.,Witkin,A.和Terzopoulos,D.(1988),“Snakes:Active contour models.”International Journal of Computer Vision,1(4),321–331。蛇形算法生成可变形的样条线,通过能量最小化方法将其限制为包围图像中的强度梯度。实际上,这种方法试图将轮廓限制为图像中的高梯度区域(边缘),并且还使轮廓中的“弯折”或高方向梯度(曲率)的区域最小化。最佳结果是紧紧包围在图像的边缘的平滑的轮廓。图2的图像200示出了在4D Flow心脏研究中,左心室心内膜的蛇形算法示例性成功结果,其示出了LV心内膜的轮廓
202。
[0015] 尽管蛇形算法是常用的,并且虽然修改其获得的轮廓比从头开始生成轮廓要快得多,但蛇形算法有几个明显的缺点。特别是,蛇形算法需要“种子”。由算法改进的“种子轮廓”必须由用户设定或通过启发式设定。而且,蛇形算法只能了解局部情况。当轮廓与图像的边缘重叠时,蛇形算法的代价函数通常会赋予功劳(credit);然而,没有办法通知算法所检测到的边缘是所需的;例如,在心内膜与其他解剖学实体(例如,另一个心室,肺,肝脏)的边界之间没有明确界限。因此,该算法高度依赖于可预测的解剖结构以及种子的正确设置。此外,蛇形算法是贪婪的。蛇形算法的能量函数通常使用贪婪算法如梯度下降法进行优化,梯度下降法沿代价函数的梯度方向迭代移动自由参数。然而,梯度下降法和许多类似的优化算法容易陷入代价函数的局部最小值。这表现为可能与图像中的错误边缘相关的轮廓,例如成像伪影或血池与乳头肌之间的边缘。另外,蛇形算法具有很小的表示空间。蛇形算法通常只有几十个可调参数,因此不具有表示需要分割的各种可能图像的能力。许多不同的因素可以影响所感知的心室捕获图像,包括解剖结构(例如,心室的大小、形状,病理学,手术史,乳头肌),成像方案(例如造影剂,脉冲序列,扫描仪类型,接收线圈的品质和类型,患者定位,图像分辨率)和其他因素(例如运动伪影)。由于所记录的图像的多样性和可调参数的数量很少,蛇形算法只能在少数“行为良好”的案例中表现良好。
[0016] 尽管蛇形算法存在这些和其他缺点,蛇形算法的普及主要来源于这样的事实:蛇形算法可以在没有任何明确的“训练”的情况下进行使用,这使得实施相对简单。然而,蛇形算法无法适应更复杂的案例。
[0017] 从血池中排除乳头肌的挑战
[0018] 乳头肌是左心室和右心室二者的心内膜内部的肌肉。当在心室收缩期间瓣膜上的压力增加时,乳头肌用于保持二尖瓣和三尖瓣闭合。图3示出了示例性的SSFP MRI图像300a(心脏舒张末期)和300b(心脏收缩末期),其示出了左心室的乳头肌和心肌。注意的是,在心脏舒张末期(图片300a),主要挑战是区分乳头肌和它们所在的血池,而在心脏收缩末期(图片300b),主要挑战是区分乳头肌与心肌。
[0019] 当进行心室血池的分割(手动或自动)时,乳头肌可以包含在轮廓内或从轮廓中排除。注意的是,围绕血池的轮廓通常俗称为“心内膜轮廓”,无论乳头肌是包含在轮廓内还是从轮廓中排除。在后一种情况下,术语“心内膜”并非是严格准确的,因为轮廓没有平滑地映射至心内膜的真值表面;尽管如此,出于方便而使用术语“心内膜轮廓”。
[0020] 通常在SAX堆中的每个图像上创建心内膜轮廓以测量心室内的血量。因此,如果从心内膜轮廓中排除乳头肌,就可以获得血容量的最精确的测量。但是,由于肌肉数量众多且很小,在构建轮廓时将它们排除在手动轮廓之外需要特别小心,这显著增加了过程的繁重程度。因此,当构建手动轮廓时,乳头肌通常包含在心内膜轮廓内,导致对心室血量的略微高估。从技术上讲,这测量了血池体积和乳头肌体积的总和。
[0021] 自动化或半自动化的工具可以加速从心内膜轮廓中排除乳头肌的过程,但它们有重要的注意事项。蛇形算法(上面讨论过)不适合用于在心脏舒张末期排除乳头肌,因为它的典型公式只能够在没有孔的情况下对单个连接区域绘制轮廓。虽然该算法可以调整以适用于处理轮廓内的孔,但由于乳头肌比血池小得多,因此该算法必须重新调整以同时处理小的和大的连接区域。简而言之,标准蛇形算法不可能用于分割血池并在心脏舒张末期排除乳头肌。
[0022] 在心脏收缩末期,当大多数乳头肌肉块邻接心肌时,蛇形算法默认将从心内膜轮廓中排除大部分乳头肌,并且不能包含它们(因为在乳头肌和心肌之间几乎没有或没有强度边界)。因此,在标准公式中,蛇形算法只能包括心脏舒张末期的乳头肌,并且只在心脏收缩末期排除它们,这导致在心动周期过程中血池体积的测量结果不一致。这是蛇形算法的一个主要限制,在没有用户的大量修正的情况下,会阻止其输出的临床应用。
[0023] 构建血池轮廓的另一种半自动方法是使用“泛洪填充”算法。在泛洪填充算法下,用户选择初始种子点,并且连接到种子点的、强度梯度和离种子点的距离不超过阈值的所有像素都包含在所选掩模内。尽管像蛇形算法一样,泛洪填充需要连接分割区域,但泛洪填充的优点是其允许连接区域具有孔。因此,由于乳头肌可以根据其强度与血池区分开来,所以可以动态地通过用户输入或以硬编码的方式制定泛洪填充算法,以从分割中排除乳头肌。泛洪填充也可以用于在心脏舒张末期的心内膜分割中包括乳头肌;然而,在心脏收缩末期,因为大部分乳头肌与心肌连接(使两个区域几乎不可区分),所以泛洪填充并不能用于包括心内膜分割中的乳头肌。
[0024] 除了在心脏收缩末期无法区分乳头肌与心肌之外,泛洪填充的主要缺点是,尽管与完全手动分割相比,它可以显著地减少分割过程所需的工作量,但仍需要大量的用户输入来动态地确定泛洪填充梯度和距离阈值。申请人已经发现,尽管使用泛洪填充工具可以构建准确的分割,但构建具有临床可接受的精确度的分割仍然需要大量的手动调整。
[0025] 在短轴视图上分割基础切片的挑战
[0026] 通常在短轴或SAX堆图像上构建心脏分割。在SAX堆上进行分割的一个主要缺点是SAX平面几乎平行于二尖瓣和三尖瓣的平面。这有两个影响。首先,瓣膜很难与来自SAX堆的切片区分开来。其次,假设SAX堆不完全平行于瓣膜平面,心脏基部附近将至少有一个切片,其部分位于心室并部分位于心房。
[0027] 在图4的图像400a和400b中示出了左心室和左心房均可见于单个切片中的示例性实例。如果临床医师未能参考投影在相应LAX视图上的当前SAX切片,则SAX切片跨越心室和心房可能并不明显。此外,即使LAX视图可用,由于心室和心房具有相似的信号强度,因此可能难以在SAX切片上判断瓣膜位置,并因此难以判断心室分割应该结束的位置。因此,靠近心脏基部的分割是心室分割的主要误差来源之一。
[0028] 位置标志
[0029] 在心脏成像应用的4D Flow工作流程中,可能需要用户来定义心脏中不同位置标志的区域以看到不同的心脏视图(例如,2CH、3CH、4CH、SAX)并分割心室。分割左心室并且看到2CH、3CH和4CH左心脏视图所需的位置标志包括LV顶尖、二尖瓣和主动脉瓣。分割RV并且看到相应视图所需的位置标志包括RV顶尖、三尖瓣和肺动脉瓣。
[0030] 在Payer、Christian、 Horst Bischof和Martin Urschler的“Regressing Heatmaps for Multiple Landmark Localization using CNNs”,Proc Medical Image Computing&Computer Assisted Intervention(MICCAI)2016,Springer Verlag中描述了一种在3D T1加权MRI上定位位置标志的现有方法。在该文章中开发的方法在这里被称为“LandMarkDetect”。LandMarkDetect是基于两个显著的部分。首先,使用U-Net神经网络的变体,如在Ronneberger,Olaf,Philipp Fischer和Thomas Brox的“U-net:
Convolutional networks for biomedical image segmentation”,International Conference on Medical Image Computing and Computer-Assisted Intervention,第
234-241页,Springer International Publishing,2015中所讨论的。其次,在训练期间使用任意选择标准差的高斯函数对位置标志进行编码。图5的LandMarkDetect神经网络500与使用平均池化层代替最大池化层的U-Net不同。
[0031] LandMarkDetect的一个局限性是缺乏处理缺失位置标志的方法。假定每个位置标志都精确地位于每个图像上。另一个限制是缺少除了内核和层大小之外的超参数搜索。还有一个局限性是固定上采样层没有要学习的参数。此外,LandMarkDetect依赖于有限的预处理策略,该策略在于消除3D图像的均值(即,使输入数据居中)。
[0032] 因此,需要解决一些或所有以上讨论缺点的系统和方法。

发明内容

[0033] 机器学习系统可以被概括为包括:至少一个非临时性处理器可读存储介质,其存储处理器可执行指令或数据中的至少一种;以及可通信地耦接到所述至少一个非临时性处理器可读存储介质的至少一个处理器,所述至少一个处理器:接收包括多批带标签的图像集的学习数据,每个图像集包括表示解剖结构的图像数据,并且每个图像集包括至少一个标签,所述标签标识在图像集的每个图像中描绘的解剖结构的特定部分的区域;训练全卷积神经网络(CNN)模型以利用所接收的学习数据来分割解剖结构的至少一部分;并将训练的CNN模型存储在机器学习系统的至少一个非临时性处理器可读存储介质中。CNN模型可以包括收缩路径和扩张路径,收缩路径可以包括多个卷积层和多个池化层,每个池化层之前是至少一个卷积层,扩张路径可以包括多个卷积层和多个上采样层,每个上采样层之前是至少一个卷积层并且包括转置卷积运算,该转置卷积运算用学习内核执行上采样和内插。在每个上采样层之后,CNN模型可以包括来自收缩路径中的相应层的通过跳过连接的特征映射(feature map)的级联。图像数据可以表示贯穿心动周期的一个或多于一个时间点期间的心脏。图像数据可以包括超声数据或可见光照片数据。CNN模型可以包括收缩路径,该收缩路径可以包括具有1到2000个特征映射的第一卷积层。CNN模型可以包括多个卷积层,并且每个卷积层可以包括大小为3×3和步幅为1的卷积核。CNN模型可以包括多个池化层,并且每个池化层可以包括步幅为2的2×2最大池化层。CNN模型可以包括四个池化层和四个上采样层。CNN模型可以包括多个卷积层,并且CNN模型可以使用补零操作将输入填补至每个卷积层。CNN模型可以包括多个非线性激活函数层。
[0034] 至少一个处理器可以通过修改多批带标签的图像集中的至少一些图像数据来扩充学习数据。
[0035] 至少一个处理器可以根据水平翻转、垂直翻转、剪切量、移位量、变焦量、旋转量、亮度级或对比度的至少一个来修改所述多批带标签的图像集中的至少一些图像数据。
[0036] CNN模型可以包括存储在至少一个非临时性处理器可读存储介质中的多个超参数,并且至少一个处理器可以根据多个配置来配置CNN模型,每个配置包括超参数的数值的不同组合;对于多个配置中的每一个,验证CNN模型的精度;并且至少部分地基于通过验证确定的精度来选择至少一个配置。
[0037] 至少一个处理器可以针对每个图像集识别图像集是否缺少解剖结构的多个部分中的任何一个部分的标签;并且对于被识别为缺少至少一个标签的图像集,修改训练损失函数以考虑到所识别的缺失标签。图像数据可以包括体积图像,并且每个标签可以包括体积标签掩模或轮廓。CNN模型的每个卷积层可以包括大小为N×N×K像素的卷积核,其中N和K是正整数。CNN模型的每个卷积层可以包括大小为N×M像素的卷积核,其中N和M是正整数。图像数据可以表示贯穿心动周期的一个或多于一个时间点期间的心脏,其中多批带标签的图像集的子集包括排除乳头肌的标签。对于每个被处理的图像,CNN模型可以利用至少一个图像的数据,所述至少一个图像可以是空间上与所述被处理的图像相邻的图像或时间上与所述被处理的图像相邻的图像中的至少一个。对于每个被处理的图像,CNN模型可以利用空间上与所述被处理的图像相邻的至少一个图像的数据,并且可以利用时间上与所述被处理的图像相邻的至少一个图像的数据。对于每个被处理的图像,CNN模型可以利用至少一个时间信息或相位信息。图像数据可以包括稳态自由进动(SSFP)磁共振成像(MRI)数据或4D Flow MRI数据中的至少一个。
[0038] 操作机器学习系统的方法可以包括:至少一个非临时性处理器可读存储介质,其可以存储处理器可执行指令或数据中的至少一种;以及可通信地耦接到所述至少一个非临时性处理器可读存储介质的至少一个处理器,并且该方法可以总结为包括:通过至少一个处理器,接收包括多批带标签图像集的学习数据,每个图像集包括表示解剖结构的图像数据,并且每个图像集包括至少一个标签,所述标签标识在图像集的每个图像中描绘的解剖结构的特定部分的区域;通过至少一个处理器,训练全卷积神经网络(CNN)模型以利用所接收的学习数据来分割解剖结构的至少一部分;并通过至少一个处理器,将训练的CNN模型存储在机器学习系统的至少一个非临时性处理器可读存储介质中。训练CNN模型可以包括训练包括收缩路径和扩张路径的CNN模型,所述收缩路径可以包括多个卷积层和多个池化层,每个池化层之前是至少一个卷积层,并且所述扩张路径可以包括多个卷积层和多个上采样层,每个上采样层之前是至少一个卷积层并且可包括转置卷积运算,该转置卷积运算用习得内核执行上采样和内插。训练CNN模型可以包括训练CNN模型以利用所接收的学习数据来分割所述解剖结构的至少一部分,并且在每个上采样层之后,所述CNN模型可以包括来自收缩路径中的相应层的通过跳过连接的特征映射的级联。接收学习数据可以包括接收可表示贯穿心动周期的一个或多于一个时间点期间的心脏的图像数据。训练CNN模型可以包括训练CNN模型以利用所接收的学习数据来分割所述解剖结构的至少一部分,并且CNN模型可以包括收缩路径,所述收缩路径可以包括具有1至2000个特征映射的第一卷积层。训练CNN模型可以包括训练可以包括多个卷积层的CNN模型,以利用所接收的学习数据来分割解剖结构的至少一部分,并且每个卷积层可以包括大小为3×3、步幅为1的卷积核。训练CNN模型可以包括训练可以包括多个池化层的CNN模型,以利用所接收的学习数据来分割解剖结构的至少一部分,并且每个池化层可以包括步幅为2的2×2最大池化层。
[0039] 训练CNN模型可以包括训练CNN模型,以利用所接收的学习数据来分割所述解剖结构的至少一部分,并且CNN模型可以包括四个池化层和四个上采样层。
[0040] 训练CNN模型可以包括训练可包括多个卷积层的CNN模型,以利用所接收的学习数据来分割解剖结构的至少一部分,并且CNN模型可以使用补零操作将输入填充至每个卷积层。
[0041] 训练CNN模型可以包括训练CNN模型以利用所接收的学习数据来分割所述解剖结构的至少一部分,并且CNN模型可以包括多个非线性激活函数层。
[0042] 该方法还可以包括通过至少一个处理器,通过修改多批带标签的图像集中的至少一些图像数据来扩充学习数据。
[0043] 该方法还可以包括通过至少一个处理器,根据水平翻转、垂直翻转、剪切量、移位量、变焦量、旋转量、亮度级、或对比度中的至少一个,修改多批带标签的图像集中的至少一些图像数据。
[0044] CNN模型可以包括存储在至少一个非临时性处理器可读存储介质中的多个超参数,并且还可以包括通过至少一个处理器,根据多个配置来配置CNN模型,每个配置包括超参数的数值的不同组合;对于多个配置中的每一个,通过至少一个处理器来验证CNN模型的精度;并且通过至少一个处理器,至少部分地基于通过验证确定的精度来选择至少一个配置。
[0045] 该方法还可以包括通过至少一个处理器,针对每个图像集来识别图像集是否缺少解剖结构的多个部分中的任何一个部分的标签;并且对于被识别为缺少至少一个标签的图像集,通过至少一个处理器,修改训练损失函数以考虑到所识别的缺失标签。接收学习数据可以包括接收可以包括体积图像的图像数据,并且每个标签可以包括体积标签掩模或轮廓。
[0046] 训练CNN模型可以包括训练可以包括多个卷积层的CNN模型,以利用所接收的学习数据来分割解剖结构的至少一部分,并且所述CNN模型的每个卷积层可以包括大小为N×N×K像素的卷积核,其中N和K是正整数。
[0047] 训练CNN模型可以包括训练可以包括多个卷积层的CNN模型,以利用所接收的学习数据来分割解剖结构的至少一部分,并且所述CNN模型的每个卷积层可以包括尺寸为N×M像素的卷积核,其中N和M是正整数。接收学习数据可以包括接收表示贯穿心动周期的一个或多于一个时间点期间的心脏的图像数据,并且其中多批带标签的图像集的子集包括排除乳头肌的标签。训练CNN模型可以包括训练CNN模型以利用所接收的学习数据来分割所述解剖结构的至少一部分,并且对于每个经处理的图像,CNN模型可以利用至少一个图像的数据,所述至少一个图像是空间上与所述经处理的图像相邻的图像或时间上与所述经处理的图像相邻的图像中的至少一个。训练CNN模型可以包括训练CNN模型以利用所接收的学习数据来分割所述解剖结构的至少一部分,并且对于每个经处理的图像,所述CNN模型利用空间上与所述经处理的图像相邻的至少一个图像的数据,并且利用时间上与所述经处理的图像相邻的至少一个图像的数据。训练CNN模型可以包括训练CNN模型以利用所接收的学习数据来分割所述解剖结构的至少一部分,并且对于每个经处理的图像,CNN模型可以利用至少一个时间信息或相位信息。接收学习数据可以包括接收可以包括稳态自由进动(SSFP)磁共振成像(MRI)数据或4D Flow MRI数据中的至少一个的图像数据。
[0048] 机器学习系统可以被概括为包括:至少一个非临时性处理器可读存储介质,其存储处理器可执行指令或数据中的至少一个;以及可通信地耦接到所述至少一个非临时性处理器可读存储介质的至少一个处理器,所述至少一个处理器:接收表示解剖结构的图像数据;通过全卷积神经网络(CNN)模型处理所接收的图像数据,以生成图像数据的每个图像的每个像素的每个类别的概率,每个类别对应于由图像数据表示的解剖结构的多个部分中的一个;并且对于图像数据的每个图像,使用所生成的每个类别的概率为多个类别中的每个类别生成概率图;并将生成的概率图存储在至少一个非临时性处理器可读存储介质中。CNN模型可以包括收缩路径和扩张路径,收缩路径可以包括多个卷积层和多个池化层,每个池化层之前是至少一个卷积层,并且扩张路径可以包括多个卷积层和多个上采样层,每个上采样层之前是至少一个卷积层并且可以包括转置卷积运算,该转置卷积运算用习得内核执行上采样和内插。图像数据可以表示贯穿心动周期的一个或多于一个时间点期间的心脏。
[0049] 至少一个处理器可以至少部分地基于所生成的概率图,自动地使解剖结构的多个部分中的至少一个的指示显示在显示器上。至少一个处理器可以对经处理的图像数据后处理以确保满足至少一个物理限制条件。图像数据可以表示贯穿心动周期的一个或多于一个时间点期间的心脏,并且所述至少一个物理限制条件可以包括以下中的至少一个:心肌体积在全部的时间点相同,或右心室和左心室不能相互重叠。对于图像数据的每个图像,至少一个处理器可以通过将每个像素的类别设置为具有最高概率的类别,将多个概率图转换为标签掩模。对于图像数据的每个图像,当像素的所有类别的概率低于确定的阈值时,至少一个处理器可以将每个像素的类别设置为背景类别。对于图像数据的每个图像,当像素不是该像素所关联的类别的最大连接区域的一部分时,至少一个处理器可以将每个像素的类别设置为背景类别。至少一个处理器可以将图像数据的每个标签掩模转换为相应的样条轮廓。至少一个处理器可以自动使所生成的轮廓与图像数据一起显示在显示器上。至少一个处理器可以接收对所显示的轮廓中的至少一个轮廓的用户修改;并将修改后的轮廓存储在至少一个非临时性处理器可读存储介质中。至少一个处理器可以利用所生成的轮廓来确定解剖结构的多个部分中的至少一个的体积。解剖结构可以包括心脏,至少一个处理器可以利用所生成的轮廓确定在心动周期的多个时间点心脏的多个部分中的至少一个的体积。至少一个处理器可以基于分别被确定为具有最小体积和最大体积的时间点,自动确定心动周期的多个时间点中的哪些时间点对应于心动周期的心脏收缩阶段末期和心脏舒张阶段末期。至少一个处理器可以使得解剖结构的多个部分中的至少一个的所确定的体积显示在显示器上。图像数据可以包括体积图像。CNN模型的每个卷积层可以包括大小为N×N×K像素的卷积核,其中N和K是正整数。
[0050] 操作机器学习系统的方法,该机器学习系统可以包括:至少一个非临时性处理器可读存储介质,其存储处理器可执行指令或数据中的至少一个,以及可通信地耦接到所述至少一个非临时性处理器可读存储介质的至少一个处理器,并且该方法可以概述为包括:通过至少一个处理器,接收表示解剖结构的图像数据;通过至少一个处理器,通过全卷积神经网络(CNN)模型处理所接收的图像数据,以生成图像数据的每个图像的每个像素的每个类别的概率,每个类别对应于由图像数据表示的解剖结构的多个部分中的一个;并且对于图像数据的每个图像,通过至少一个处理器,使用所生成的每个类别的概率为多个类别中的每个类别生成概率图;并且通过至少一个处理器,将生成的概率图存储在至少一个非临时性处理器可读存储介质中。通过CNN模型处理所接收的图像数据可以包括通过可以包括收缩路径和扩张路径的CNN模型处理所接收的图像数据,所述收缩路径可以包括多个卷积层和多个池化层,每个池化层之前是至少一个卷积层,并且所述扩张路径可以包括多个卷积层和多个上采样层,每个上采样层之前是至少一个卷积层并且包括转置卷积运算,该转置卷积运算用习得内核执行上采样和内插。接收图像数据可以包括接收表示贯穿心动周期的一个或多于一个时间点期间的心脏的图像数据。
[0051] 该方法还可以包括通过至少一个处理器,至少部分地基于所生成的概率图,自动地使解剖结构的多个部分中的至少一个的指示显示在显示器上。
[0052] 该方法还可以包括通过至少一个处理器,对经处理的图像数据后处理以确保满足至少一个物理限制条件。接收图像数据可以包括接收表示贯穿心动周期的一个或多于一个时间点期间的心脏的图像数据,并且所述至少一个物理限制条件可以包括以下中的至少一个:所述心肌的体积在所有的时间点处相同,或右心室和左心室不能相互重叠。
[0053] 该方法还可以包括对于图像数据的每个图像,通过至少一个处理器,通过将每个像素的类别设置为具有最高概率的类别,将多个概率图转换为标签掩模。
[0054] 该方法还可以包括对于图像数据的每个图像,当像素的所有类别的概率低于确定的阈值时,通过至少一个处理器,将每个像素的类别设置为背景类别。
[0055] 该方法还可以包括对于图像数据的每个图像,当像素不是该像素所关联的类别的最大连接区域的一部分时,通过至少一个处理器,将每个像素的类别设置为背景类别。
[0056] 该方法还可以包括通过至少一个处理器,将图像数据的每个标签掩模转换为相应的样条轮廓。
[0057] 该方法还可以包括通过至少一个处理器,自动使所生成的轮廓与图像数据一起显示在显示器上。
[0058] 该方法还可以包括通过至少一个处理器接收至少一个所显示的轮廓的用户修改;以及通过至少一个处理器将修改的轮廓存储在至少一个非临时性处理器可读存储介质中。
[0059] 该方法还可以包括通过至少一个处理器,利用所生成的轮廓来确定解剖结构的多个部分中的至少一个的体积。
[0060] 解剖结构可以包括心脏,并且该方法还可以包括通过至少一个处理器,利用所生成的轮廓确定在心动周期的多个时间点心脏的多个部分中的至少一个的体积。
[0061] 该方法还可以包括通过至少一个处理器,基于分别被确定为具有最小体积和最大体积的时间点,自动确定心动周期的多个时间点中的哪些时间点对应于心动周期的心脏收缩阶段末期和心脏舒张阶段末期。
[0062] 该方法还可以包括通过至少一个处理器,使得解剖结构的多个部分中的至少一个的所确定的体积显示在显示器上。接收图像数据可以包括接收体积图像数据。通过CNN模型处理所接收的图像数据可以包括通过其中每个卷积层可以包括大小为N×N×K像素的卷积核的CNN模型来处理所接收的图像数据,其中N和K是正整数。
[0063] 机器学习系统可以被概括为包括:至少一个非临时性处理器可读存储介质,其存储处理器可执行指令或数据中的至少一个;以及可通信地耦接到所述至少一个非临时性处理器可读存储介质的至少一个处理器,所述至少一个处理器:接收多个3D MRI图像集,多个图像集中的每一个图像集代表患者的解剖结构;接收多个3D MRI图像集的多个注释,每个注释指示在对应图像中描绘的患者的解剖结构的位置标志;训练卷积神经网络(CNN)模型以利用3D MRI图像预测所述多个位置标志的位置;并将训练的CNN模型存储在机器学习系统的至少一个非临时性处理器可读存储介质中。至少一个处理器可以训练全卷积神经网络(CNN)模型以利用所述3D MRI图像预测所述多个位置标志的位置。至少一个处理器可以训练CNN模型,所述CNN模型的输出为一组或多于一组空间坐标,所述一组或多于一组空间坐标的每一组标识所述多个位置标志中的一个的位置。CNN模型可以包括收缩路径,之后为一个或多于一个全连接层。CNN模型可以包括收缩路径和扩张路径,收缩路径可以包括多个卷积层和多个池化层,每个池化层之前是一个或多于一个卷积层,并且扩张路径可以包括多个卷积层和多个上采样层,每个上采样层之前是一个或多于一个卷积层并且包括转置卷积运算,该转置卷积运算用习得内核执行上采样和内插。
[0064] 对于解剖结构的一个或多于一个位置标志中的每一个,至少一个处理器可以至少部分地基于所接收的3D MRI图像集和所接收的多个注释来定义3D标签映射,每个3D标签映射可以对位置标志在所述3D标签映射上的特定位置处的可能性进行编码,其中至少一个处理器可以训练CNN模型以利用3D MRI图像和所生成的3D标签映射来分割一个或多于一个位置标志。多个集合中的每一个中的图像可以表示在心动周期的不同相应时间点处的患者的心脏,并且每个注释可以表示在相应的图像中描述的患者心脏的位置标志。
[0065] 该至少一个处理器可以接收3D MRI图像集;通过CNN模型处理所接收的3D MRI图像以检测一个或多于一个位置标志中的至少一个;并且使检测到的多个位置标志中的至少一个显示在显示器上。该至少一个处理器可以通过所述CNN模型处理所接收的3D MRI图像,并输出点或标签映射中的至少一个。该至少一个处理器可以通过所述CNN模型处理所接收的3D MRI图像以在多个时间点处检测多个位置标志中的至少一个;并且使得在多个时间点处检测到的多个位置标志中的至少一个显示在显示器上。CNN模型可以利用与所接收的3D MRI图像相关联的相位信息。
[0066] 操作机器学习系统的方法,该机器学习系统可以包括:至少一个非临时性处理器可读存储介质,其可以存储处理器可执行指令或数据中的至少一个,以及可通信地耦接到所述至少一个非临时性处理器可读存储介质的至少一个处理器,并且该方法可以概述为包括:通过至少一个处理器,接收多个3D MRI图像集,多个图像集中的每一个图像集代表患者的解剖结构;通过至少一个处理器,接收多个3D图像集的多个注释,每个注释指示在对应图像中描绘的患者的解剖结构的位置标志;通过至少一个处理器,训练卷积神经网络(CNN)模型以利用3D MRI图像预测所述多个位置标志的位置;并且通过至少一个处理器,将训练的CNN模型存储在机器学习系统的至少一个非临时性处理器可读存储介质中。训练CNN模型可以包括训练全卷积神经网络(CNN)模型以利用所述3D MRI图像预测所述多个位置标志的位置。训练CNN模型可以包括训练输出为一组或多于一组空间坐标的CNN模型,所述一组或多于一组空间坐标的每一组标识所述多个位置标志中的一个的位置。训练CNN模型可以包括,训练可以包括收缩路径,之后为一个或多于一个全连接层的CNN模型。训练CNN模型可以包括,训练可以包括收缩路径和扩张路径的CNN模型,收缩路径可以包括多个卷积层和多个池化层,每个池化层之前是至少一个卷积层,并且所述扩张路径可以包括多个卷积层和多个上采样层,每个上采样层之前是至少一个卷积层并且包括转置卷积运算,该转置卷积运算用习得内核执行上采样和内插。
[0067] 该方法还可以包括:对于解剖结构的多个位置标志中的每个位置标志,通过至少一个处理器至少部分地基于所接收的3D MRI图像集和所接收的多个注释来定义3D标签映射,每个3D标签映射对位置标志在3D标签映射上的特定位置处的可能性进行编码;接收多个3D MRI图像集可以包括接收多个3D MRI图像集,并且多个集合中每一个的图像可以表示在心动周期的不同相应时间点处的患者心脏,并且每个注释可以表示在对应图像中描绘的患者心脏的位置标志。
[0068] 该方法还可以包括:通过至少一个处理器接收3D MRI图像集;通过至少一个处理器通过CNN模型处理所接收的3D MRI图像以检测所述多个位置标志中的至少一个;以及通过至少一个处理器使检测到的多个位置标志中的至少一个显示在显示器上。
[0069] 该方法还可以包括:通过至少一个处理器,通过CNN模型处理所接收的3D MRI图像以在多个时间点处检测多个位置标志中的至少一个;并且通过至少一个处理器,使得在多个时间点处检测到的多个位置标志中的至少一个显示在显示器上。
[0070] 训练CNN模型可以包括,训练可以利用与所接收的3D MRI图像相关联的相位信息的CNN模型。

附图说明

[0071] 在附图中,相同的附图标记表示相似的元件或动作。图中元件的尺寸和相对位置不一定按比例绘制。例如,各种元件的形状和角度不一定按比例绘制,并且这些元件中的一些可以被任意放大和定位以改善附图易读性。此外,所绘制的元件的特定形状并非一定旨在表达关于特定元件的实际形状的任何信息,并且可能仅对于附图中的情况而选择。
[0072] 图1是在整个SAX(短轴)堆的单个时间点处的多个LV心内膜分割的示例。从左到右,从上到下,切片从左心室的顶尖到左心室的基部。
[0073] 图2是使用蛇形算法生成的LV心内膜轮廓的示例。
[0074] 图3是两张SSFP图像,其示出了左心室心内膜内部的心室、心肌和乳头肌。左侧的SSFP图像示出了心脏舒张末期,右侧的SSFP图像示出了心脏收缩末期。
[0075] 图4是示出了在SAX平面基础切片上区分心室和心房的挑战的两幅图像。
[0076] 图5是LandMarkDetect中使用的U-Net网络结构图。
[0077] 图6是根据一个示出的实施方式的DeepVentricle网络结构的图,其具有对于每个池化层的两个卷积层和四个池化/上采样操作。
[0078] 图7是根据一个示出的实施方式,构建用于使用SSFP数据进行训练的闪电内存映射数据库(LMDB)的流程图。
[0079] 图8是根据一个示出的实施方式,用于训练卷积神经网络模型的流水线过程的流程图。
[0080] 图9是示出了根据一个示出的实施方式,用于SSFP数据的推理流水线的过程的流程图。
[0081] 图10是在一个时间点和切片索引处的LV Endo的应用中的SSFP推理结果的屏幕截图。
[0082] 图11是在一个时间点和切片索引处的LV Epi的应用中的SSFP推理结果的屏幕截图。
[0083] 图12是在一个时间点和切片索引处的RV Endo的应用中的SSFP推理结果的屏幕截图。
[0084] 图13是来自自动分割的心室的应用中的SSFP计算参数的屏幕截图。
[0085] 图14是描绘了带有指示SAX堆平面的平行线的两腔、三腔和四腔视图的屏幕截图。
[0086] 图15在左图描绘了两腔、三腔和四腔视图的屏幕截图,示出了与右心室不平行的一系列分割平面。右图描绘了沿两腔、三腔和四腔视图中所看到的高亮平面的重建图像。
[0087] 图16是示出了分割RV的屏幕截图。轮廓中的点(右图)定义了样条曲线,并存储在数据库中。轮廓投影到LAX视图(左图)。
[0088] 图17是屏幕截图,其示出了分割与图16相同的RV切片,但是两腔、三腔和四腔视图中的每一个都略微旋转以突出具有深度效应的分割平面。
[0089] 图18示出了根据一个示出的实施方式,构建用于使用4D Flow数据进行训练的闪电内存映射数据库(LMDB)的示意图。
[0090] 图19是示出了由SAX平面、可用标签和图像数据生成的多平面重建(左上)、RVendo掩模(右上)、LVepi掩模(左下)以及LV Endo掩模(右下)的图。这些掩模可以存储在一个阵列中,并且与图像一起可以存储在单个唯一密钥下的LMDB中。
[0091] 图20是类似于图19的图,除了缺失LV Epi掩模。
[0092] 图21是示出了根据一个所示的实施方式的用于4D Flow的推理流水线的流程图。
[0093] 图22是描绘LV Endo对于4D Flow研究的应用中的推理的屏幕截图。
[0094] 图23是描绘LV Epi对于4D Flow研究的应用中的推理的屏幕截图。
[0095] 图24是描绘RV Endo对于4D Flow研究的应用中的推理的屏幕截图。
[0096] 图25是示出了根据一个示出的实施方式,使用网络应用来定位左心室顶尖(LVA)的屏幕截图。
[0097] 图26是示出了根据一个示出的实施方式,使用网络应用来定位右心室顶尖(RVA)的屏幕截图。
[0098] 图27是示出了根据一个示出的实施方式,使用网络应用来定位二尖瓣(MV)的屏幕截图。
[0099] 图28是示出了根据一个示出的实施方式,用于构建训练数据库的过程的流程图。
[0100] 图29是示出了编码对图像进行高斯评估的图像上的位置标志的位置的图。
[0101] 图30是根据一个示出的实施方式的图像和位置标志的预处理流水线的流程图。
[0102] 图31是描绘了对于一个患者的预处理输入图像和编码二尖瓣位置标志的示例的多个屏幕截图。从上到下,从左到右示出了矢状面、轴面和冠状面视图。
[0103] 图32是描绘了对于一个患者的预处理输入图像和编码三尖瓣位置标志的示例的多个屏幕截图。从上到下,从左到右显示了矢状面、轴面和冠状面视图。
[0104] 图33是示出了根据网络输出预测位置标志的位置的图。
[0105] 图34是示出了叠加在解剖图像上的流量信息的示例图像。
[0106] 图35是根据一个非限制性示出的实施方式,用于实施在此描述的一个或多于一个功能的示例性的基于处理器的设备的框图。

具体实施方式

[0107] 在以下的描述中,提供了某些具体的细节以得到对所公开的各个实施方式的透彻理解。然而,相关领域的技术人员会认识到,可以在没有这些具体细节中的一个或多于一个的情况下,或者利用其他方法、部件、材料等来实现实施方式。在其他情况下,与计算机系统、服务器计算机、和/或通信网络相关的已知结构未被详细示出或描述以避免对实施方式的不必要地模糊描述。
[0108] 除非上下文另有要求,否则在整个说明书和权利要求书中,词语“包括”与“包含”是同义词,并且是包含性的或开放式的(即,不排除另外的未列举的元素或方法动作)。
[0109] 贯穿本说明书提及“一个实施方式”或“实施方式”意味着结合该实施方式描述的特定的特征、结构或特性包含在至少一个实施方式中。因此,贯穿本说明书各处出现的短语“在一个实施方式中”或“在实施方式中”不一定都指的是相同的实施方式。此外,特定的特征、结构或特性可以在一个或多于一个实施方式中以任何合适的方式组合。
[0110] 如本说明书和附随的权利要求书中所使用的,除非上下文另有明确指示,要素前面不使用数量词可以包括“一个或更多个”、“至少一个”和“一个或多于一个”的意思。也应该注意的是,术语“或”通常以包括“和/或”的意义来使用,除非上下文另有明确规定。
[0111] 本文提供的标题和摘要仅仅是为了方便,并不解释实施方式的范围或含义。
[0112] SSFP自动心室分割
[0113] DeepVentricle结构
[0114] 图6示出了用于心脏SSFP研究的心室分割的卷积神经网络(CNN)结构600,在此被称为DeepVentricle。网络600包括两条路径:左侧是收缩路径602,其包括卷积层606和池化层608,右侧是扩张路径604,其包括上采样层或转置卷积层610和卷积层606。
[0115] 网络600中的自由参数的数量决定了模型的熵容量,其基本上是模型可以记住的信息量。这些自由参数中的很大一部分存在于网络600中每一层的卷积内核中。网络600被配置为使得在每个池化层608之后,特征映射的数量加倍并且空间分辨率减半。在每个上采样层610之后,特征映射的数量减半,并且空间分辨率加倍。利用该方案,可以通过第一层中的数量(例如,1至2000的特征映射)来完全描述网络600上的每个层的特征映射的数量。在至少一些实施方式中,第一层中的特征映射的数量是128。发现使用额外的特征映射提高了模型的精度,并且具有增加的计算复杂度、内存使用和经训练的模型磁盘使用的适中成本。初始特征映射的数量的其他值也可能是足够的,这取决于经训练的数据量,和可用计算资源与模型性能之间的期望折衷。
[0116] 在至少一些实施方式中,网络600包括在每个池化层608之前的两个卷积层606,卷积核的大小为3×3且步幅为1。也可以使用这些参数(层数,卷积核大小,卷积步幅)的不同组合。基于超参数搜索,发现四个池化和上采样操作对于正在检查的数据效果最好,尽管结果仅对该数量适度敏感。
[0117] 在没有应用任何填充来输入图像的情况下(这种缺少填充称为“有效”填充(“valid”padding)),大于1×1的卷积自然会减小输出特征映射的大小,因为只有(image_size-conv_size+1)卷积可以适于穿过给定的图像。使用有效填充,对于572×572像素的输入图像,输出分割映射仅为388×388像素。因此分割完整图像需要平铺式方法,并且不可能分割原始图像的边界。在根据本公开的至少一些实施方式的网络600中,在每次卷积之前利用宽度补零(conv_size-2),使得分割映射总是与输入具有相同的分辨率(被称为“相同”填充(“same”padding))。也可以使用有效填充。
[0118] 使用池化操作对特征映射进行下采样可能是借助于在原始图像的空间中具有较大视野的卷积来学习更高级抽象特征的重要步骤。在至少一些实施方式中,网络600利用步幅为2的2×2最大池化操作来在每组卷积之后进行下采样图像。也可以使用习得下采样,即对步幅为2的2×2卷积的输入体积卷积,但是这样会增加计算复杂度。通常,也可以使用池化大小和步幅的不同组合。
[0119] 在全卷积网络中进行像素级分割时,需要对激活体积进行上采样使其恢复到原始分辨率。为了增加网络中激活体积的分辨率,一些系统可以使用上采样操作,然后进行2×2卷积,然后通过跳过连接拼接来自相应收缩层的特征映射,最后进行两个3×3卷积。在至少一些实施方式中,网络600用单个转置卷积层610代替上采样和2×2卷积,该单个转置卷积层610利用习得内核执行上采样和内插,从而提高了模型解析精细细节的能力。该操作之后是跳过连接拼接,如图6中从收缩路径602到扩张路径604的粗箭头所示。在拼接之后,应用两个3×3卷积层。
[0120] 在至少一些实施方式中,修正线性单元(ReLU)用于卷积后的所有激活。也可以使用其他非线性激活函数,包括PReLU(参数ReLU)和ELU(指数线性单元)。
[0121] 模型超参数
[0122] 模型超参数可以存储于在训练期间读取的至少一个非临时性处理器可读存储介质(例如,配置文件)中。描述模型的参数可以包括:
[0123] ·num_pooling_layers:池化(和上采样)层的总数;
[0124] ·pooling_type:要使用的池化操作的类型(例如,最大池化操作);
[0125] ·num_init_filters:第一层过滤的数量(卷积核);
[0126] ·num_conv_layers:每个池化操作之间的卷积层的数量;
[0127] ·conv_kernel_size:卷积核的边长,以像素为单位;
[0128] ·dropout_prob:通过网络在批次的给定前向传播/反向传播算法上将特定节点的激活设置为零的概率;
[0129] ·border_mode:在卷积之前补零输入特征映射的方法;
[0130] ·activation:每次卷积之后使用的非线性激活函数;
[0131] ·weight_init:用于初始化网络中权重的方法;
[0132] ·batch_norm:是否在网络的下采样/收缩部分中的每个非线性之后使用批标准化;
[0133] ·batch_norm_momentum:平均值和每个特征基(per-feature basis)上的标准差的批标准化计算中的动量;
[0134] ·down_trainable:是否允许网络的下采样部分在看到新数据时学习;
[0135] ·bridge_trainable:是否允许桥接卷积学习;
[0136] ·up_trainable:是否允许网络的上采样部分学习;和
[0137] ·out_trainable:是否允许产生像素级概率的最终卷积学习。
[0138] 描述要使用的训练数据的参数可以包括:
[0139] ·crop_frac:LMDB中的图像相对于原始图像的分数大小;
[0140] ·高度:图像的高度,以像素为单位;和
[0141] ·宽度:图像的宽度,以像素为单位。
[0142] 描述在训练期间补充使用的数据的参数可以包括:
[0143] ·horizontal_flip:是否在水平方向上随机翻转输入/标签对;
[0144] ·vertical_flip:是否在垂直方向上随机翻转输入/标签对;
[0145] ·shear_amount:剪切图像/标签对的正/负极限值;
[0146] ·shift_amount:移动图像/标签对的最大分数值;
[0147] ·zoom_amount:放大图像/标签对的最大分数值;
[0148] ·rotation_amount:旋转图像/标签对的正/负极限值;
[0149] ·zoom_warping:是否一起使用缩放和扭曲;
[0150] ·brightness:改变图像亮度的正/负极限值;
[0151] ·contrast:改变图像对比度的正/负极限值;和
[0152] ·alpha,beta:描述弹性变形强度的第一参数和第二参数。
[0153] 描述训练的参数包括:
[0154] ·batch_size:在每次前向传播/反向传播算法中显示网络的示例的数量;
[0155] ·max_epoch:经由数据的最大迭代次数;
[0156] ·optimizer_name:要使用的优化函数的名称;
[0157] ·optimizer_lr:学习率的值;
[0158] ·objective:使用的目标函数;
[0159] ·early_stopping_monitor:监控以确定模型训练何时停止训练的参数;和[0160] ·early_stopping_patience:early_stopping_monitor值没有增加之后,在停止模型训练之前,要等待的时期(epoch)数。
[0161] 为了选择最优模型,可以对这些超参数执行随机搜索,并且可以选择具有最高验证精度的模型。
[0162] 训练数据库
[0163] 在至少一些实施方式中,可以使用存储用于训练的预处理图像/分割掩模对的闪电内存映射数据库(LMDB)。这种数据库结构与存储训练数据的其他方式相比具有许多优点。这些优点包括:密钥映射对于速度而言是字典式的;图像/分割掩模对以训练所需的格式存储,因此它们在训练时不需要进一步的预处理;并且阅读图像/分段掩模对是在计算上便宜的处理。
[0164] 训练数据通常可以以多种其他格式存储,包括磁盘上的命名文件和基于每个图像的真值(ground truth)数据库的实时生成掩模。这些方法可以实现相同的结果,尽管它们可能会减慢训练过程。
[0165] 可以为用于训练模型的输入/目标的每一个独特的组创建新的LMDB。这确保了图像预处理的训练期间不会减速。
[0166] 训练期间缺失数据的处理
[0167] 与以前仅涉及两个类别的细胞辨别任务(前景和背景)的模型不同,本文公开的SSFP模型试图区分四个类别,即背景,LV心内膜,LV心外膜和RV心内膜。为了实现这一点,网络输出可以包括三个概率图,每个非背景类一个。在训练期间,将三个类别中的每一类的真值二进制掩模与像素数据一起提供给网络。网络损失可以被确定为三个类别的损失的总和。如果图像中缺少三个真值掩模中的任何一个(意味着我们没有数据,而真值是一个空白掩模),那么在计算损失时可能会忽略该掩模。
[0168] 在训练过程中明确说明缺少真值数据。例如,即使LV心外膜和RV心内膜的轮廓位置未知,也可以在定义了LV心内膜轮廓的图像上训练网络。不能考虑到缺失数据的更基本的结构只能在具有定义的所有三种类型轮廓的训练图像的子集(例如20%)上进行训练。以这种方式减少训练数据量会导致精度显著降低。因此,通过明确修正损失函数以考虑到缺失数据,使用完整的训练数据量,从而使网络学习更强大的功能。
[0169] 训练数据库的创建
[0170] 图7示出了用于创建SSFP LMDB的过程700。在702处,从SSFP真值数据库704提取轮廓信息。这些轮廓作为轮廓X位置和Y位置的字典存储在真值数据库704中,与特定的SSFP切片位置和时间点相关联。在706,来自相应的SSFP DICOM(医学数字成像和通信)图像708的像素数据与根据该信息创建的布尔(Boolean)掩模配对。在710处,系统通过标准化图像、裁剪图像/掩模、以及调整图像/掩模的大小来预处理图像和掩模。在至少一些实施方式中,MRI被标准化,使得它们的平均值为零,并且使得一批图像的第1和第99百分位落在-0.5和0.5处,即它们的“可用范围”落在-0.5至0.5。图像可以被裁剪并调整大小,使得心室轮廓占据图像的较大比例。这导致更多的总前景类像素,使得更容易分辨心室的精细细节(特别是角落)并帮助模型收敛,所有这些都用较小的计算能力。
[0171] 在712处,用于SSFP LMDB的唯一密钥被定义为串联实例UID和SOP实例UID的组合。在714处,将包括时间点、切片索引和LMDB密钥的图像和掩模元数据存储在数据帧中。在716处,对于每个密匙,将标准化的、经裁剪和调整大小的图像,以及经裁剪和调整大小的掩模存储在LMDB中。
[0172] DeepVentricle训练
[0173] 图8示出了说明模型训练的过程800。至少在一些实施方式中,基于TensorFlow构建的开源代码封装器Keras可以用于训练模型。但是,使用原始TensorFlow、Theano、Caffe、Torch、MXNet、MATLAB或其他张量数学库可以实现相同的结果。
[0174] 在至少一些实施方式中,数据集可以分为训练集、验证集和测试集。训练集用于模型梯度的更新,验证集用于评估在训练过程中“保持”数据的模型(例如,用于早停),在训练过程中完全不使用测试集。
[0175] 在802处,训练被调用。在804处,从LMDB训练集中读取图像和掩模数据,一次一批。在806处,在至少一些实施方式中,如上所述,根据存储在模型超参数文件中的失真超参数来使图像和掩模失真。在808处,该批次通过网络进行处理。在810处,计算损失/梯度。在810处,权重根据指定的优化器和优化器学习速率而更新。在至少一些实施方式中,可以使用逐像素交叉熵损失函数和亚当(Adam)更新规则来计算损失。
[0176] 在814处,系统可以确定时期(epoch)是否完成。如果时期未完成,则该过程返回到动作804以读取另一批训练数据。在816处,如果时期完成,则在验证集上计算度量。例如,这种度量可以包括验证损失、验证精度,相对于仅预测大多数类别的初始模型的相对精度、f1评分、精确度和召回率。
[0177] 在818处,可以监测验证损失以确定模型是否改进。在820处,如果模型确实有所改进,则可以保存此时模型的权重。在822处,早停计数器可以被重置为零,并且可以在804处开始对另一个时期的训练。验证损失以外的度量(如验证精度)也可以用于指示评估模型性能。在824处,如果模型在时期之后没有得到改进,则早停计数器增加1。在826处,如果计数器没有达到其极限,则在804处开始对另一个时期的训练。在828处,如果计数器已达到其极限,则停止对模型的训练。这种“早停”方法用于防止过度拟合,但存在其他预防过度拟合的方法,例如使用较小的模型、增加退出水平、或L2正则化。
[0178] 训练模型时不会使用测试集的数据。来自测试集的数据可以用来示出分割的实例,但是该信息并不用于训练或者相对于彼此排列模型。
[0179] 推理
[0180] 推理是利用训练好的模型预测新数据的过程。在至少一些实施方式中,可以使用网络应用(或“Web App”)进行推理。图9显示了一个示例性的流水线或过程900,通过它可以对新的SSFP研究进行预测。在902处,在用户已经在网络应用中加载了研究之后,用户可以调用推理服务(例如,通过点击“生成缺失的轮廓”图标),其自动生成任何缺失的(尚未构建的)轮廓。这种轮廓可以包括例如LV Endo、LV Epi、或RV Endo。在至少一些实施方式中,当由用户在应用中加载研究时或者当首次由用户将研究上传到服务器时,可以自动调用推理。如果在上传时间执行推理,那么预测可以在当时存储在非临时性处理器可读存储介质中,但是直到用户打开研究才显示。
[0181] 推理服务负责加载模型、生成轮廓并将其显示给用户。在902处调用推理之后,在904处将图像发送到推理服务器。在906处,由推理服务使用的生产模型或网络被加载到推理服务器上。该网络可以预先从超参数搜索期间训练的模型的语料库中选择。可以基于精度、内存使用率和执行速度之间的折衷来选择网络。或者,用户可以通过用户偏好选项在“快速”或“准确”模型之间进行选择。
[0182] 在908处,通过推理服务器一次处理一批图像。在910处,使用与以上讨论的训练期间所使用的相同的参数对图像进行预处理(例如,标准化、裁剪)。在至少一些实施方式中,应用推理时间失真,并且例如对每个输入图像的10个失真副本采用平均推理结果。此功能产生推理结果,这些结果对亮度、对比度、方向等的微小变化具有鲁棒性。
[0183] 在所请求批次中的切片位置和时间点处执行推理。在912处,计算通过网络的前向传播。对于给定的图像,该模型在前向传播期间为每个像素生成每个类别的概率,这得到一组概率图,每个类别一个概率图,值为0至1。通过将每个像素的类别设置为具有最高标签映射概率的类别,将概率图转换为单个标签掩模。
[0184] 在914处,系统可以执行后处理。例如,在至少一些实施方式中,如果像素的所有概率都低于0.5,则该像素的像素类别被设置为背景。此外,为了移除虚假的预测像素,标签映射中不属于该类的最大连接区域的任何像素可以被转换为背景。在至少一些实施方式中,可以通过比较时间和空间中的相邻分割图并去除异常值来去除虚假像素。或者,因为给定的心室可能偶尔会作为两个不同的连接区域出现在单个切片中,例如,因为RV在心脏基部附近是非凸的,所以可以允许多个连接区域,但是较小的区域或远离跨越切片位置和时间的所有检测区域的形心的区域可以被移除。
[0185] 在至少一些实施方式中,可以在914处执行后处理以满足一个或多个物理限制条件。例如,后处理可以确保在所有时间点的心肌体积是相同的。为了实现这一点,系统可以动态地调整用于在将心内膜和心外膜概率图转换为轮廓之前对其进行二值化的阈值。例如,可以调整阈值以使得使用非线性最小二乘法报告的心肌体积的差异最小化。作为物理限制条件的另一个例子,后处理行为可以确保RV和LV不重叠。为了实现这一点,系统可以只允许任何给定的像素属于一个类别,这是具有最高推理概率的类别。用户可以有配置选项来启用或禁用所选定的限制条件。
[0186] 在916处,如果不是所有的批次都已被处理,则在908处将新的批次添加到处理流水线,直到已经在所有切片位置和所有时间点进行了推理。
[0187] 在至少一些实施方式中,一旦构建了标签掩模,为了便于查看、用户交互、和数据库存储,掩模可以被转换为样条轮廓。第一步是通过标签掩模边界上的所有像素来将掩模转换为多边形。然后,使用基于A.Rosenfeld和J.S.Weszka的“An improved method of angle detection on digital curves”Computers,IEEE Transactions on,C-24(9):940-941,1975年9月的角点检测算法,将该多边形转换为用于样条的一组控制点。来自这些掩模之一的典型多边形将具有数百个顶点。角点检测试图将其减少到一组大约十六个样条控制点。这减少了存储需求,并得到外观更平滑的分割。
[0188] 在918处,这些样条被存储在数据库中,并在网络应用中显示给用户。如果用户修改样条,则可以使用经修改的样条更新数据库。
[0189] 在至少一些实施方式中,通过在给定时间点根据所有顶点构建体积网格来计算体积。顶点在3D体积的每个切片上排序。对轮廓中的每个顶点,生成连接每个轮廓中的第一顶点的开放的三次样条,连接第二顶点的第二样条等,直到获得用于定义网格的圆柱形顶点网格。然后计算多边形网格的内部体积。基于所计算的体积,哪些时间点表示收缩末期和舒张末期是分别基于最小和最大体积的时间自主确定的,并且这些时间点被标记给用户。
[0190] 图10、11和12分别示出了在单个时间点和切片位置处的LV Endo轮廓1002,LV Epi轮廓1102、以及RV Endo轮廓1202的应用中推理结果的示例性图像1000、1100和1200。
[0191] 在轮廓(例如,轮廓1002、1102和1202)显示给用户的同时,系统计算并向用户显示了ED和ES时的心室体积以及多个计算的测量值。图13中示出了示例性界面1300,其显示了多个计算的测量值。在至少一些实施方式中,这些测量值包括:每搏输出量(SV)1302,其是在一个心动周期中从心室射出的血量;射血分数(EF)1304,其是在一个心动周期中从心室射出的血池的分数;心输出量(CO)1306,其是血液离开心室的平均速率;ED质量1308,其是舒张末期心室的心肌质量(即心外膜-心内膜);和ES质量1310,其是收缩末期心室的心肌质量。
[0192] 对于4D Flow数据,可以使用与上述SSFP数据相同的DeepVentricle结构、超参数搜索方法和训练数据库。训练4D Flow模型可以与上面讨论的SSFP操作相同,但是创建LMDB和推理会不同于4D Flow的实施方式。
[0193] 4D Flow数据训练数据库构建
[0194] 鉴于SSFP DICOM文件以SAX方向采集并存储,4D Flow DICOM被收集并存储为轴向切片。为了构建数据的SAX多平面重建(MPR),用户可需要为左心和/或右心放置相关的位置标志。然后这些位置标志被用于为由心室顶点和瓣膜限定的每个心室定义独特的SAX平面。图14示出了对于LV的SAX平面组1400(也称为SAX堆),其中每个SAX平面对于两腔视图1402、三腔视图1404和四腔视图1406而言是平行的。
[0195] 如果需要,该应用还可以允许用户拥有不平行的SAX平面。图15示出了SAX堆的一组视图1500,其中,对于两腔视图1502、三腔视图1504、四腔视图1506和重建图像1508,对于RV的分割平面是不平行的。这是因为分割平面不与瓣膜平面相交而是平行于瓣膜平面的情况下,稍微更易于分割心室。但是,这不是必须的,并且可以在不使用该特征的情况下获得准确的结果。
[0196] 如分别在图16和图17的图像1600和1700中所示,在每个SAX平面上的图像数据的多平面重建上进行分割。图像1606中的轮廓1604上的点1602定义了样条并且是存储在数据库中的内容。轮廓1604被投影到两腔LAX视图1608、三腔LAX视图1610和四腔LAX视图1612中。图17示出了图像1702、1704、1706和1708,其中图16的同一切片被分割,但是两腔视图1704、三腔视图1706和四腔视图1708中的每一个稍微旋转以突出具有深度效应的分割平面。
[0197] 图18示出了根据临床医师注释来构建训练LMDB的过程1800。4D Flow注释可以存储在MongoDB 1802中。在1804和1806处,系统分别提取轮廓和位置标志。轮廓存储为一系列定义轮廓样条的(x,y,z)点。位置标志存储为对于每个位置标志的单个四维坐标(x,y,z,t)。
[0198] 在1808处,为了将轮廓转换为布尔掩模,系统计算旋转矩阵以将轮廓点旋转到x-y平面上。该系统还可以在轮廓的原始平面上定义采样网格,即一组(x,y,z)点。系统通过相同的旋转矩阵旋转轮廓和采样网格,使得它们在x-y平面中。现在确定采样网格的哪些点位于定义轮廓的2D顶点内是一项简单的任务。这是2D多边形的简单计算几何问题。
[0199] 4D Flow DICOM存储在数据库1810中。在1812处,系统使用来自动作1806的位置标志注释和来自数据库1810的4D Flow DICOM,以沿着SAX堆定义和生成图像。一般来说,该SAX堆不同于其中定义了真值轮廓的原始SAX堆。系统定义堆与连接左心室顶尖(LVA)和二尖瓣(MV)的线正交。其他适当的位置标志的组合(如右心室顶尖(RVA)和三尖瓣(TV))也可以类似地起作用。
[0200] 在至少一些实施方式中,系统定义LVA和MV之间的切片的数量(例如14),因为这与大多数SSFP SAX堆中的切片的数量类似。也可以使用不同数量的切片。更多的切片会增加训练集的多样性,尽管实际的磁盘大小会比多样性的增加更快。预计结果对切片的精确数目不敏感。
[0201] 可以将四个切片附加到通过LVA的SAX堆,并且另外四个切片通过MV。这确保了整个心室在SAX堆内。结果可能对额外使用的切片的精确数量不敏感。通过确保主动脉瓣(AV)定位于连接LVA和MV的线的右侧,SAX堆可以被定向为使得RV总是在图像的左侧(如在心脏MR中常规的那样)。虽然定向的一致性可能对获得好的结果很重要,但确切的选择方向是任意的。
[0202] 在1814处,在至少一些实施方式中,为了简化和加快训练和推理速度,给定研究的所有可用轮廓被内插到单个非曲线SAX堆上。一旦定义了SAX堆的平面,就为由原始采样网格描述的每个心室和时间点,即一系列(x,y,z)点以及它们相应的掩模设置线性内插器。然后系统将来自原始SAX堆中的真值掩模内插到研究的通用SAX堆中。在图19的视图1900中示出了这样的示例,其示出了多平面重建1902、RV Endo掩模1904、LV Epi掩模1906和LV Endo掩模1908。在内插的真值掩模内使用标记(sentinel)来指示标签何时缺失。在图20中示出了这样的示例可视化图2000,其示出了多平面重建2002、RV Endo掩模2004、缺失的LV Epi掩模2006和LV Endo掩模2008。
[0203] 在至少一些实施方式中,可以将掩模投影到轴平面上并在轴平面中执行训练和推理,而不是将真值掩模投影到公共SAX堆。这可以实现类似的精度,但可能会导致轻微的分辨率损失,因为需要将推理的轮廓重新投影回SAX堆以显示在应用的用户界面中。
[0204] 在1816处,系统执行预处理操作。例如,预处理动作可以包括标准化图像、裁剪图像/掩模,以及调整图像/掩模的大小。
[0205] 在1818处,系统为4D Flow LMDB定义的唯一密钥是时间索引、切片索引、侧(“右”或“左”)、层(“Endo”或“Epi“)、上传ID、工作空间ID(一个人的注释的唯一标识符)和workflow_key(用于其中给定用户完成工作的工作流的唯一标识符)的字符串组合的32字符散列。或者,可以使用每个图像/掩模对的许多其他唯一密钥中的任意一个。在1820处,系统将包括时间点、切片索引和LMDB密钥的图像和掩模元数据存储在数据帧中。经标准化、裁剪和调整大小的图像以及经裁剪和调整大小的掩模对于每个密钥存储在LMDB中1822。
[0206] 4D Flow数据的DeepVentricle推理
[0207] 与上面讨论的SSFP DeepVentricle推理一样,网络应用可以用于4D Flow数据的推理。图21示出了过程2100的流水线,系统通过该流水线对新的4D Flow研究进行预测。在2102处,在用户已经在网络应用中加载了研究之后,用户可以通过与上述推理流水线类似且如图9所示的流水线来调用推理服务。已经手动或自动定义了位置标志(例如,通过下面讨论的自动位置标志查找算法)。
[0208] 位置标志的位置用于构建执行推理的标准LV SAX堆。如上所述,SAX堆的构建方式与训练期间构建SAX堆的方式相同。在2104处,根据位置标志的位置计算描述SAX堆中的每个MPR所需的元数据。每个MPR的平面完全由平面上的点和平面的法线来限定,但该系统在该实施方式中也通过连接二尖瓣和主动脉瓣的矢量,以确保图像定向正确。也就是说,右心室位于图像的左侧。另一组位置标志,如二尖瓣和三尖瓣,也可以足以确保右心室位于图像左侧。
[0209] 在2106处,MPR元数据然后被发送到计算服务器,其保存数据的分布式版本(每个计算节点具有几个数据的时间点)。在2108处,每个节点在其可用的时间点呈现所请求的MPR。在2110处,然后,生成的MPR图像连同它们的元数据(其包括时间点、定向、位置和切片索引)按时间点均匀地分布在多个推理服务器上。在2112处,网络被加载到每个推理节点上。
[0210] 在2114处,由每个推理节点一次处理一批图像。在2116处,图像被预处理。在2118处,计算前向传播。在2120处,对预测进行后处理,并且以与上述SSFP实施方式相同的方式来构建样条轮廓。
[0211] 在2122处,在所有批次已经被处理之后,所生成的样条被转发回网络服务器,其中样条与来自其他推理节点的推理结果相连接。如果轮廓缺失,网络服务器通过在相邻切片之间进行内插来确保体积是连续的(即,体积中间没有缺失的轮廓)。在2124处,网络服务器将轮廓保存在数据库中,然后通过网络应用向用户呈现轮廓。如果用户编辑样条,样条的更新版本会保存在数据库中原始的自动生成的版本的旁边。在至少一些实施方式中,将手动编辑的轮廓与其原始的自动生成的版本进行比较可以用于仅对需要手动修正的推理结果重新训练或微调模型。
[0212] 图22、23和24分别示出了分别在单个时间点和切片位置处的LV Endo(轮廓2202),LV Epi(轮廓2302)和RV Endo(轮廓2402)的应用推理的图像2200、2300和2400。与SSFP一样,ED和ES处的计算体积以及多个计算的测量值可以呈现给用户(参见图13)。
[0213] 三维端对端卷积结构
[0214] 心室的端对端分割的另一种方法是在整个过程中使用体积图像、体积掩模和3D卷积核。这个实施方式的描述和操作都严格遵循上面讨论的SSFP实施方式,但是有一些关键的区别。因此,为了简洁起见,以下讨论主要集中在这些差异上。
[0215] 除了卷积核是(N×M×K)像素而不是仅(N×M)像素之外,用于该实施方式的DeepVentricle结构与上述讨论的几乎相同,其中N、M和K是正整数,其可以彼此相等或不同。模型参数也看起来相似,但为了充分描述体积输入图像的形状,可能需要在描述训练数据时增加深度分量。
[0216] 与其他实施方式一样,训练LMDB被用于该实施方式。用于该实施方式的LMDB可以以与上面讨论的4D Flow实施方式类似的方式来构建。然而,对于该实施方式,使用更多的切片来定义SAX,使得相邻切片之间的切片间隔与x和y方向上的像素间隔的切片间隔相似(即,像素间隔几乎是三维各向同性的)。只要所有研究中像素间距之间的比例保持不变,则各向异性的像素间距可能会实现类似的结果。然后SAX MPR和掩模按空间切片进行排序,并将这些切片连接成一个连贯的体积图像。根据上述参照图8所描述的相同的流水线来进行模型训练。
[0217] 推理流水线也非常类似于4D Flow的实施方式。但是,在该实施方式中,在推理之前,需要将相邻的MPR连接成一个体积图像。
[0218] 排除乳头肌
[0219] DeepVentricle自动分割模型的另一个实施方式是其中只有心室的血池被分割并且乳头肌被排除在外。在实践中,因为乳头肌很小且形状不规则,所以为了方便起见,它们通常包括在分割区域中。该从血池中排除乳头肌的实施方式的结构、超参数和训练数据库均与上述SSFP实施方式相似。然而,在该实施方式中,真值分割数据库包含排除乳头肌而不是包含它们的左心室和右心室心内膜注释。
[0220] 因为从心内膜轮廓中排除乳头肌的分割对于构建而言是繁重的,所以训练数据的量可能显著小于不排除乳头肌的分割所能获得的量。为了对此进行补偿,首先可以使用经数据训练的卷积神经网络,其中乳头肌包括在心内膜分割中并且排除在心外膜分割之外。这使网络能够学习分割每个类别的一般大小和形状。然后,该网络在从分割中排除乳头肌的较小的一组数据上进行微调。结果是得到与前述分割相同类别但将乳头肌从心内膜分割排除的分割模型。这导致了比之前乳头肌包含在心内膜轮廓中时可得到的测量更精确的心室血池体积测量。
[0221] 自动体积的其他视图的合成
[0222] 传统的图像分类或分割神经网络结构一次对单个图像、可能的多通道(例如,RGB)图像、可能的体积图像进行操作。标准的2D方法包括网络一次对来自3D体积的单个切片进行操作。在这种情况下,仅来自该单个切片的信息用于对该切片中的数据进行分类或分段。这种方法的问题在于,没有将围绕该时间点或切片的背景结合到对关注的切片的推理中。
标准3D方法利用3D内核并结合体积信息来进行体积预测。然而,这种方法很慢,需要大量的计算资源用于训练和推理。
[0223] 下面讨论的一些混合方法可以用于优化内存/计算和模型的时空背景的可用性之间的折衷。空间背景对于靠近心脏基部的心室分割特别有用,其中二尖瓣和三尖瓣在单个2D切片上难以区分。时间背景和强化分割的一致性可以对分割的所有部分都有用。
[0224] 在第一方法中,该问题被解释为2D问题,一次对单个切片进行预测,而相邻切片(空间上、时间上、或两者)被解释为图像的附加“通道”。例如,在时间t=5和切片=10时,可以构建9-通道的图像,其中将以下时间/切片组合的数据打包到以下9个通道中:t=4,切片=9;t=4,切片=10;t=4,切片=11;t=5,切片=9;t=5,切片=10;t=5,切片=11;t=6,切片=9;t=6,切片=10;和t=6,切片=11。在这种配置下,网络采用2D卷积来运行,但结合了来自附近空间和时间位置的数据,并通过标准神经网络技术来合成信息,该技术通过与学习内核卷积的输入通道的线性组合来构建特征映射。
[0225] 第二方法针对心脏MRI的一些复杂性,尽管其可以用于采集数据的正交(或倾斜)平面的任何情况。在标准SSFP心脏MRI中,短轴(SAX)堆与一个或多个长轴(LAX)平面一起获取。LAX平面与SAX堆正交,并且LAX平面在沿着左心室长轴的方向上通常具有显著更高的空间分辨率。也就是说,由SAX堆的MPR构建的LAX图像比原始LAX图像具有更差的分辨率,因为SAX片间间距明显比LAX平面内像素间距粗大。由于长轴方向的空间分辨率较高,因此与SAX图像相比,LAX图像中的瓣膜更容易看到。
[0226] 因此,可以使用两阶段心室分割模型。在第一阶段,心室被分割成一个或多个LAX平面。由于这些图像的高空间分辨率,分割可以非常精确。缺点是LAX平面仅由单个平面而不由体积组成。如果将此LAX分割投影到SAX堆,则LAX分割在每个SAX图像上显示为线。如果线跨越多个LAX视图(例如,2CH、3CH、4CH;参见下面的标题“用于定义手动LV/RV体积的瓣膜平面的界面”)分割而聚集,则可准确构建此线。该线可以用于限定SAX分割,SAX分割是通过对SAX图像进行操作的不同模型生成的。SAX分割模型使用原始SAX DICOM数据以及由LAX模型预测的投影线作为输入,以进行预测。预测的LAX线用于引导和限制SAX预测,特别是有助于心脏和瓣膜平面基部附近的模型,其中,当单独观察到SAX堆时,分割通常是模糊的。
[0227] 该技术可以用于任何心脏成像,包括其中一次获取整个体积的4D Flow(并且不分开采集SAX和LAX图像),并且优点是尽管是在两个链式模型中,但仅需要采用2D内核。
[0228] 自动体积的时间或流量信息的使用
[0229] SSFP电影研究包含4个维度的数据(3个空间,1个时间),4D Flow研究包含5个维度的数据(3个空间,1个时间,4个信息通道)。这4个信息通道是解剖结构(即信号强度),x轴相位,y轴相位和z轴相位。构建模型的最简单的方法是仅使用每个3D空间点处的信号强度,并且不包含时间信息,或者对于4D Flow而言,不包含流量信息。这个简单的模型需要将形状为(x,y,z)的3D数据立方体作为输入。
[0230] 为了利用所有可用的数据,在至少一些实施方式中,还并入时间和相位数据。出于至少一些原因,这是特别有用的。首先,因为心脏的运动通常在心动周期中遵循可预测的模式,所以像素的相对运动可以特别地有助于识别解剖区域。其次,对于心动周期,通常记录约20个时间点,这意味着心脏在帧之间仅稍微运动。已知预测应该在帧之间仅仅稍微变化可以作为调整模型输出的方式。第三,可以使用流量信息来定位结构,例如瓣膜,其具有在低流量和高流量之间变化的非常规则的流动模式。
[0231] 为了并入时间数据,时间可以作为额外的“通道”添加到强度数据中。在该实施方式中,模型然后将形状为(X,Y,NTIMES)的3D数据二进制大对象(blob)或形状为(X,Y,Z,NTIMES)的4D数据二进制大对象作为输入,其中NTIMES是要包括的时间点的数量。这可以是所有的时间点,或者是关注的时间点附近的几个时间点。如果包括所有时间点,则可能需要或必须用一些“包裹式”时间点来填充数据,因为时间表示心动周期并且本质上是周期性的。然后该模型可以涉及2D/3D卷积,其中时间点作为数据的附加“通道”,或包含3D/4D卷积。在前一种情况下,输出可以是关注的单个时间处的2D/3D。在后一种情况下,输出可以是3D/4D,并且可以包括与输入中所包括的相同时间点处的数据。
[0232] 在4D Flow中获取的相位数据也可以以类似的方式结合,使用相位(x,y,z)的每个方向作为输入数据的附加通道,或者仅使用相位幅度作为单一附加通道。在没有时间但有流动的所有三个分量的情况下,输入具有形状(X,Y,Z,4),其中4表示像素强度和三个相位分量。在有时间的情况下,该形状是(X,Y,Z,NTIMES,4)。在这样的实施方式中,模型因此进行4维或5维卷积。
[0233] 自动化4D Flow位置标志
[0234] 本文讨论的系统和方法还能够自动检测3D MRI中的多个心脏位置标志的区域。该系统处理具有不同位置、定向和成像心脏外观的不同组的MRI。而且,该系统有效地处理了基于具有不完整注释的数据库来学习的问题。更具体地说,该系统解决了当仅为训练集上的每个输入体积图像定位了一些位置标志时,检测图像中的每个位置标志的问题。
[0235] 一般来说,流水线是一种端对端的机器学习算法,其从原始3D图像自动输出所需的位置标志的位置。有利地,该系统不需要来自用户的预处理或先验知识。此外,体积图像中检测到的位置标志可以用于沿着2CH、3CH、4CH和SAX视图投影图像。这样可以自动构建这些视图,而无需用户干预。
[0236] 首先,讨论解决方案的第一实施方式。在这个实施方式中,心脏位置标志使用具有许多层的神经网络来定位。该结构是三维(3D)的并使用3D卷积。本说明重点在于检测三个左心室位置标志(LV顶尖、二尖瓣和主动脉瓣)和三个右心室位置标志(RV顶尖、三尖瓣和肺动脉瓣)。然而,值得注意的是,如果这些注释可作为真实情况的一部分获得,则该方法可以用于利用可比较的结果来检测更多不同的心脏位置标志。
[0237] 类似于先前描述的DeepVentricle结构,本公开的位置标志检测方法是基于卷积神经网络的。从临床图像的数据库标志中提取位置标志检测所需的信息以及它们的注释(即位置标志的位置)。图25、26和27分别示出了三个患者的图像2500、2600、2700,其中左心室顶尖、二尖瓣和右心室顶尖分别已经使用网络应用(例如以上讨论的网络应用)定位。请注意本实例中缺少主动脉瓣、肺动脉瓣和三尖瓣的注释。
[0238] 首先描述数据处理流水线。本节详细介绍了构建带注释的图像的数据库的方法以及用于对位置标志的位置进行编码的具体方法。其次,提出了机器学习方法的结构。提出了网络如何将输入的3D图像转换为位置标志的位置的预测。第三,描述了模型如何训练为可用数据。最后,详细介绍了推理流水线。它示出了如何将神经网络应用于之前从未用过的图像,以预测所有六个位置标志的区域。
[0239] 数据处理流水线
[0240] 对于所提出的机器学习方法,使用4D Flow数据的数据库,其包括心脏的三维(3D)磁共振图像(MRI),其被存储为一系列二维(2D)DICOM图像。通常,贯穿单个心动周期获取约20个3D体积图像,每个对应于心跳的一个快照。因此初始数据库对应于不同患者在不同时间阶段的3D图像。每个3D MRI都会呈现一系列位置标志注释,从零个位置标志到六个位置标志,由网络应用的用户放置。如果存在位置标志注释,则存储为坐标为(x,y,z,t)的矢量,其指示了对应于时间点t的3D MRI中的位置标志的位置(x,y,z)。
[0241] 图28示出了过程2800,其之后可以处理4D Flow图像的2D DICOM切片2802以及存储在MongoDB数据库中的注释2804。
[0242] 在2806处,从MongoDB数据库中提取位置标志坐标。然后,在2808处,通过根据2D DICOM图像沿着z轴的位置(即沿着深度维度堆叠2D图像以构建3D体积)堆叠来自单个时间点的2D DICOM图像,从该一系列2D DICOM图像中提取3D MRI。这得到了表示心脏的完整视图的体积3D图像。LMDB是用被至少一个位置标志的位置注释过的3D图像构建的。这意味着没有真值位置标志的图像不包含在LMDB中。
[0243] 在2810处,定义标签映射,其通过将在稍后阶段中使用的神经网络,以可理解的方式对注释信息进行编码。位置标志的位置通过在3D体积的每个位置处指示该位置在位置标志的位置处的可能性进行编码。为此,构建了3D高斯概率分布,以真值位置标志的位置为中心,标准差对应于所有训练数据中该类位置标志的观察到的评判间信度。
[0244] 为了理解评判间信度,考虑一个具体的位置标志,比如LV顶尖。对于LV顶尖由多个用户或“评估者”注释的每项研究,计算所有用户的LV顶尖坐标的标准差。通过对每个位置标志重复该过程,定义了用于编码每个位置标志的高斯的标准差。该过程允许以条理化方式设置该参数。在使用该方法的不同优点中,值得注意的是每个位置标志的标准差是不同的,并且取决于定位位置标志的复杂性。具体而言,比较难的位置标志在目标概率图中具有较大的高斯标准差。此外,标准差沿着x、y和z轴是不同的,这反映了由于心脏的解剖结构和/或图像的分辨率,沿着一个方向而不是另一个方向的不确定性可能更大。
[0245] 请注意,替代策略也可用于定义标准差(任意值,参数搜索)并可以得到可比较的结果。图29示出了从利用视图2904中的交叉2902标识的位置标志的位置到2D情况下的图像上评估的视图2908中的高斯2906的这种转变。
[0246] 在2812处,一旦为MRI和标签映射两者定义了三维体积,图像就被处理。一般来说,目标是对未来训练的图像大小和外观进行标准化。
[0247] 图30示出了用于预处理流水线的过程3000。在3006和3008处,3D MRI 3002和标签映射3004分别被调整为预定义的大小$n_x\times n_y\times n_z$,以使得所有MRI可以被提供给相同的神经网络。在3010处,MRI像素的强度在第1百分位和第99百分位之间被剪切。这意味着像素强度将在对应于第1百分位和第99百分位的强度值处饱和。这消除了可能由人为因素引起的异常像素强度。在3012处,强度然后被调整为介于0至1之间。在3014处,然后,使用对比度受限的自适应直方图均衡化将强度直方图标准化,以最大化图像中的对比度并且使图像内强度差异最小化(强度差异可能由例如磁场不均匀性引起)。最后,在3016处,图像被居中以具有零均值。其他策略可以用于图像强度的标准化,例如将输入的方差标准化为1,并且可以产生类似的结果。该流水线产生可以提供到网络的预处理图像3018和标签3020。
[0248] 图31和32示出了预处理3D MRI和编码标签的两名患者的示例性图像3100和3200。具体地,图31示出了一名患者的预处理的输入图像和编码二尖瓣位置标志的矢状面图
3102、轴面图3104和冠状图3106,并且图32示出了另一患者的预处理的输入图像和编码二尖瓣位置标志的矢状面图3202、轴面图3204和冠状图3206。如图31和图32所示,三尖瓣的定位的不确定性大于二尖瓣定位的不确定性。而且,不确定性在轴之间是不同的。
[0249] 返回到图28,在2814处,上传ID被定义为识别在2816处存储在训练LMDB数据库中的对(MRI,标签映射)的密钥。最后,在2818处,该对(MRI,标签映射)被写入LMDB。
[0250] 网络结构
[0251] 如上所述,深度神经网络用于检测位置标志。该网络将预处理的3D MRI作为输入,并输出六个3D标签映射,每个位置标志一个。此实施方式中使用的结构与上述结构类似或相同。网络由两条对称路径组成:收缩路径和扩张路径(见图6)。
[0252] 由于在可用的训练数据中并非所有标志都可用,因此本公开的系统和方法有利地处理标签中的缺失信息,同时仍能够同时预测所有位置标志。
[0253] 用于位置标志检测的网络与上面讨论的DeepVentricle实施方式在三个主要方面上不同。首先,结构是三维的:网络一次处理3D MRI,为每个位置标志生成3D标签映射。其次,网络预测6个类别,每个位置标志一个。第三,在超参数搜索之后选择的参数可以与DeepVentricle参数不同,并且专门选择用于解决手头的问题。另外,上面讨论的用于定义标签映射的标准差可以被认为是超参数。网络的输出是3D映射,其对位置标志所在的位置进行编码。映射的高值可以对应于可能的位置标志的位置,低值可以对应于不太可能的位置标志的位置。
[0254] 训练
[0255] 以下讨论描述了如何使用3D MRI和标签映射对的LMDB数据库来训练深度神经网络。总体目标是调整网络的参数,使得网络能够预测先前看不见的图像上的心脏位置标志的位置。训练过程的流程图如图8所示并如上述。
[0256] 训练数据库可以划分成用于训练模型的训练集、用于量化模型品质的验证集、和测试集。该划分使所有来自单个患者的图像位于同一组中。这保证了该模型不被用于训练的患者验证。训练模型时不会使用来自测试集的数据。来自测试集的数据可以用来示出位置标志定位的实例,但是该信息并不用于训练或者相对于彼此排列模型。
[0257] 在训练期间,使用损失的梯度来更新神经网络的参数。在至少一些实施方式中,可以利用加权位置标志所在的区域中的损失来提供网络的更快收敛。更确切地说,在计算损失时,与图像的其余部分相比,可以将更大的权重应用于靠近位置标志的图像区域。结果是,网络更迅速地收敛。但是,使用非加权损失也可以获得良好的结果,尽管训练时间较长。
[0258] 推理
[0259] 在给定新图像的情况下,通过与以上参照图28所描述的方式相似的方式预处理图像来推理位置标志的位置。更准确地说,图像可以被调整大小、剪裁、缩放,图像的直方图被均衡化且图像可以居中。网络为每个位置标志输出一个映射,在六个位置标志的情况下输出总共六个3D映射。这些映射描述了每个位置标志在特定位置被发现的概率。或者,可以将映射视为根据位置标志的真值位置对反距离函数进行编码(即,高值获得小距离,低值获得大距离)。
[0260] 如此,如图33的图表3300所示,可以通过查找神经网络为每个位置标志输出的最大值来确定位置标志的位置3302。然后将该位置投影到原始未预处理的3D输入MRI的空间中以用于最终的位置标志定位(例如,消除在推理期间施加到该体积的任何空间失真)。注意,可以使用其他几种策略将标签映射转换为位置标志的位置坐标。例如,可以使用标签映射将预期位置作为3D概率密度。请注意,取最大值对应于考虑密度的模式。或者在选择最大值或预期值作为位置之前,可以首先对概率估计进行平滑化。
[0261] 数据收集
[0262] 在至少一些实施方式中,数据集由先前用户在网络应用上上传的临床研究组成。注释可以由用户放置在不同的图像上。如前所述,该数据集被划分为训练集、验证集和测试集。
[0263] 神经网络可以使用前述的并在图8中示出的流水线来训练。从训练集中提取的批次数据被顺序地提供到神经网络。计算网络预测和真值位置标志的位置之间的损失梯度并将其反向传播以更新网络的固有参数。如上所述,使用超参数搜索来选择其他模型超参数(例如网络大小,形状)。
[0264] 模型可访问性
[0265] 经训练的模型可以作为云服务的一部分存储在服务器上。该模型可以在推理时加载在多个服务器上,以并行地在几个时间点检测位置标志。该过程与上述的并在图9中示出的用于DeepVentricle的方法类似。
[0266] 用户交互
[0267] 当心脏MRI被上传到网络应用时,用户可以选择“心脏”部分下的“视图”按钮。这会打开带有“定位位置标志”按钮的图像右侧的新面板。选择此按钮则在每个时间点自动定位每个3D图像上的六个位置标志。所定位的位置标志的列表在右侧面板上可见。选择位置标志名称会将图像的焦点带到预测的位置标志的位置,并允许用户进行任何被视为必要的修改。一旦用户满意,用户可以选择“标准视图”按钮来构建心脏的标准2腔、3腔、4腔和SAX视图。
[0268] 在至少一些实施方式中,获取的3D图像是4D Flow序列。这意味着信号的相位也被获取,并且可以用于量化心脏和动脉中的血流速度,如图34的图像3400所示,其示出了四个不同的视图。该信息可以用来定位心脏的不同位置标志。在这种情况下,先前描述的模型可以被扩充以包括流量信息。
[0269] 图像预处理
[0270] 在4D Flow中,对于每个患者,在采集的每个时间点都可以获得流速信息。为了充分利用该信息,可以在3D图像的每个体素处计算沿着时间轴的标准差。标准差的幅度与一次心跳过程中该像素的血流变化量相关联。然后,根据之前描述的标准化流水线对标准差图像进行标准化:调整大小、剪裁、缩放、直方图均衡化、居中。请注意,可以考虑其他几种方法来编码流数据的时间信息。例如,可以沿着最后维度来计算4D信号的傅里叶变换,并且可以使用各种频率窗口(frequency bin)对信号进行编码。更一般地说,整个时间序列可以输入到网络,代价是需要额外的计算和存储功率。
[0271] 网络扩展
[0272] 神经网络的输入也可以通过额外的通道进行扩展。更确切地说,可以定义四维(4D)张量,其中最后维度将解剖像素强度和流量大小或速度分量编码为单独的通道。上述的网络可以扩展为接受这种张量作为输入。这需要扩展第一层以接受4D张量。网络训练、推理和用户交互的后续步骤仍与先前描述的类似。
[0273] 在至少一些实施方式中,可以通过直接预测不同位置标志的坐标(x,y,z)来实现心脏位置标志的自动定位。为此,可以使用不同的网络结构。这个替代网络可以由收缩路径,之后是几个全连接层组成,具有(x,y,z)坐标的长度为3的矢量作为每个位置标志的输出。这是回归网络,而不是分割网络。注意与分割网络不同,在回归网络中,网络中没有扩张路径。其他结构也可以使用相同的输出格式。在至少一些实施方式中,如果给出4D数据(x,y,z,time)作为输入,则时间也可以作为第四维包括在输出中。
[0274] 假设时间没有被并入,网络的输出是十八个标量,对应于输入图像中六个标志中每一个的三个坐标。这样的结构可以以与先前描述的位置标志检测器类似的方式进行训练。唯一需要的更新是损失的重新形成,以考虑网络输出格式(不同于第一实施方式中使用的概率图,在该实施方式中是空间点)的变化。一个合理的损失函数可以是网络输出与真值位置标志坐标之间的L2(平方)距离,但是也可以使用其他损失函数,只要损失函数与所关注的量相关,即距离误差。
[0275] 上面讨论的第一个位置标志检测实施方式也可以使用充当鉴别器网络的第二神经网络来扩展。可以对鉴别器网络进行训练,以区分好的、真值的位置标志的位置和坏的、不为真值的位置标志的位置。在这个情况下,该实施方式的初始网络可以用于为每种类型的位置标志生成几个位置标志建议,例如通过使用预测的位置标志概率分布的所有局部最大值。鉴别器网络然后可以评估每个建议,例如,通过使用围绕该标志建议的高分辨率补丁上的分类结构。然后将具有为真值位置标志的最高概率的建议作为输出。这种实施方式可能有助于在不明确的情况下选择正确的位置标志的位置,例如存在噪音或伪影的情况下。
[0276] 另一种检测心脏位置标志的方法是使用强化学习。在这个不同的框架中,考虑了沿着3D图像行走的智能体。智能体首先被放置在图像的中间。然后智能体遵循规则直到智能体达到位置标志的位置。该规则表示每个步骤中智能体的决策过程:向左、向右、向上、向下、向前或向后移动。可以使用深度神经网络来学习该规则,深度神经网络接近使用Q-学习算法的状态动作函数Q的Bellman方程。然后,可以为每个要检测的位置标志学习一个Q函数。
[0277] 在至少一些实施方式中,可以使用神经网络来直接预测定义了标准视图的平面的位置和方向的参数。例如,可以训练网络来计算将起始像素网格移动到长轴视图所需的3D旋转角度、平移和尺寸变换。可以训练单独的模型来预测不同的转换,或者可以使用单个模型来输出多个视图。
[0278] 定义手动LV/RV体积的瓣膜平面的界面
[0279] 为了更准确地分割左心室和右心室,识别心脏瓣膜的位置和方向会是有利的。在至少一些实施方式中,在前述的心室分割界面内,用户能够使用可用的长轴视图来标记位于瓣膜平面上的点。通过执行回归以找到最佳拟合的平面而由这些输入点确定瓣膜平面。该平面的法线设置为远离心室的顶尖。一旦定义了平面,位于正侧的体积的任何部分都从心室的总体积中减去。这确保了在确定心室体积时不包括瓣膜外的任何部分。
[0280] 示例性的基于处理器的设备
[0281] 图35示出了适合于实施本文所述的各种功能的基于处理器的设备3504。尽管不是必需的,但是将在处理器可执行指令或逻辑的一般情况下描述实施方式的一些部分,例如由一个或多于一个处理器执行的程序应用模块、对象或宏。相关领域的技术人员会认识到,所描述的实施方式以及其他实施方式可以利用各种基于处理器的系统配置来实践,所述各种基于处理器的系统配置包括手持设备,例如智能电话和平板电脑、可穿戴设备、多处理器系统、基于微处理器或可编程的消费性电子产品、个人计算机(“PC”)、网络PC、小型计算机、大型计算机等。
[0282] 基于处理器的设备3504可以包括一个或多于一个处理器3506、系统存储器3508和系统总线3510,系统总线3510将包括系统存储器3508的各种系统部件连接到处理器3506。基于处理器的设备3504有时在本文中将以单数被提及,但是这不旨在将实施方式限制为单个系统,因为在某些实施方式中,将涉及多于一个的系统或其他网络化的计算设备。市售系统的非限制性示例包括但不限于来自各制造商的ARM处理器、来自美国Intel公司的Core微处理器、来自IBM的PowerPC微处理器、来自Sun Microsystems,Inc.的Sparc微处理器、来自Hewlett-Packard公司的PA-RISC系列微处理器、来自Motorola公司的68xxx系列微处理器。
[0283] 处理器3506可以是任何逻辑处理单元,诸如一个或多于一个中央处理单元(CPU)、微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。除非另有说明,图35中所示的各方块的构造和操作是常规设计。因此,这些方块不需要在此进一步详细描述,因为相关领域的技术人员会理解它们。
[0284] 系统总线3510可以使用任何已知的总线结构或架构,包括具有存储器控制器的存储器总线、外围总线和局域总线。系统存储器3508包括只读存储器(“ROM”)1012和随机存取存储器(“RAM”)3514。可以形成ROM 3512的一部分的基本输入/输出系统(“BIOS”)3516包含在基于处理器的设备3504内的元件之间帮助传送信息的基本例程,诸如在启动期间。一些实施方式可以使用数据、指令和电力的单独的总线。
[0285] 基于处理器的设备3504还可以包括一个或多于一个固态存储器,例如闪存或固态驱动器(SSD)3518,其为基于处理器的设备3504提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。虽然未示出,但基于处理器的设备3504可以采用其他非临时性计算机或处理器可读介质,例如硬盘驱动器、光盘驱动器或存储卡介质驱动器。
[0286] 程序模块可以存储在系统存储器3508中,例如操作系统3530、一个或多于一个应用程序3532、其他程序或模块3534、驱动程序3536和程序数据3538。
[0287] 例如,应用程序3532可以包括平移/滚动3532a。这样的平移/滚动逻辑可以包括但不限于确定指示物(例如,手指、指示笔、光标)在何时和/或何处进入用户界面元件的逻辑,该用户界面元件包括具有中心部分和至少一个边界的区域。这种平移/滚动逻辑可以包括但不限于确定用户界面元件的至少一个元件显示出移动所应处于的方向和速率的逻辑,并且使得显示更新,以使得至少一个元件以所确定的速率在所确定的方向上显示移动。例如,平移/滚动逻辑3532a可以被存储为一个或多于一个可执行指令。平移/滚动逻辑3532a可以包括处理器和/或机器可执行逻辑或指令,以使用表征指示物移动的数据来生成用户界面对象,例如来自触摸感应显示器或来自计算机鼠标或轨迹球或其他用户界面设备的数据。
[0288] 系统存储器3508还可以包括通信程序3540,例如,用于允许基于处理器的设备3504访问并与其他系统交换数据的服务器和/或网络客户端或浏览器,其他系统例如用户计算系统、互联网上的网站、公司内部网、或如下所述的其他网络。所示实施方式中的通信程序3540是基于标记语言的,例如超文本标记语言(HTML)、可扩展标记语言(XML)或无线标记语言(WML),并且使用标记语言进行操作,所述标记语言使用添加到文件数据的语法分隔字符来表示文件结构。许多服务器和/或网络客户端或浏览器可以在市场上买到,例如来自加利福尼亚的Mozilla公司和华盛顿的微软公司的那些。
[0289] 虽然在图35中示出的为存储在系统存储器3508中,但操作系统3530、应用程序3532、其他程序/模块3534、驱动程序3536、程序数据3538和服务器和/或浏览器3540可以存储在任何其他的各种非临时性处理器可读介质中(例如,硬盘驱动器、光盘驱动器、SSD和/或闪存)。
[0290] 用户可以通过指示物输入命令和信息,例如通过输入设备,如通过手指3544a、触控笔3544b输入的触摸屏3548,或通过控制光标的计算机鼠标或轨迹球3544c来输入命令和信息。其他输入设备可以包括麦克风、操纵杆、游戏手柄、平板电脑、扫描仪、生物扫描设备等。这些和其他输入设备(即“I/O设备”)通过接口3546连接到处理器3506,所述接口3546例如触摸屏控制器和/或将用户输入连接到系统总线3510的通用串行总线(“USB”)接口,但是可以使用其他接口如并行端口、游戏端口、或无线接口、或串行端口。触摸屏3548可以经由视频接口3550(诸如视频适配器)连接到系统总线3510,以接收经由触摸屏3548显示的图像数据或图像信息。尽管未示出,但基于处理器的设备3504可以包括其他输出设备,如扬声器、振动器、触觉致动器等。
[0291] 基于处理器的设备104可以在使用一个或多于一个逻辑连接的网络环境中操作,以经由一个或多于一个通信信道(例如一个或多于一个网络3514a、3514b)与一个或多于一个远程计算机、服务器和/或设备通信。这些逻辑连接可以有助于允许计算机进行通信的任何已知的方法,例如通过一个或多于一个LAN和/或WAN,如因特网和/或蜂窝通信网络。这种网络环境在有线和无线企业范围的计算机网络、内联网、外联网、因特网和包括电信网络、蜂窝网络、寻呼网络和其他移动网络的其他类型的通信网络中是众所周知的。
[0292] 当在网络环境中使用时,基于处理器的设备3504可以包括用于在网络上建立通信的一个或多于一个有线或无线通信接口3514a、3514b(例如,蜂窝无线电、WI-FI无线电、蓝牙无线电),例如互联网3514a或蜂窝网络。
[0293] 在网络环境中,程序模块、应用程序、或数据、或其部分可以存储在服务器计算系统(未示出)中。相关领域的技术人员会认识到,图35中所示的网络连接只是在计算机之间建立通信的方式的一些实施例,并且可以使用其他连接,包括无线连接。
[0294] 为了方便起见,处理器3506、系统存储器3508、网络和通信接口3514a、3514b被图示为经由系统总线3510彼此可通信地连接,由此提供上述部件之间的连接。在基于处理器的设备3504的替代实施方式中,上述部件可以以与图35中所示的方式不同的方式可通信地连接。例如,一个或多于一个上述部件可以直接连接到其他部件,或者可以经由中间部件(未示出)彼此连接。在一些实施方式中,省略了系统总线3510,并且使用合适的连接将这些部件直接彼此连接。
[0295] 前面的详细描述已经通过使用框图、示意图和实施例阐述了设备和/或方法的多种实施方式。由于这些框图、示意图和实施例包含一个或多于一个功能和/或操作,本领域技术人员会理解,可以通过各种硬件、软件、固件、或者其几乎任何组合来单独地和/或共同地实施这些框图、流程图和实施例中的每一个功能和/或操作。在一个实施方式中,本主题可以通过专用集成电路(ASIC)来实现。然而,本领域的技术人员会认识到,本文公开的实施方式可以整体或部分地在标准集成电路中作为在一个或多于一个计算机上运行的一个或多于一个计算机程序(例如,作为在一个或多于一个计算机系统上运行的一个或多于一个程序)来等效地实施,作为在一个或多于一个控制器(例如微控制器)上运行的一个或多于一个程序来等效地实施,作为在一个或多于一个处理器(例如,微处理器)上运行的一个或多于一个程序来等效地实施,作为固件来等效地实施,或者作为其几乎任何组合来等效地实施,并且根据本公开内容,设计电路和/或编写用于软件和/或固件的代码将完全在本领域普通技术人员的技能范围内。
[0296] 本领域技术人员会认识到,本文阐述的许多方法或算法可以采用附加的动作,可以省略一些动作,和/或可以以与所指定的顺序不同的顺序执行动作。
[0297] 另外,本领域的技术人员会理解,本文教导的机制能够以各种形式作为程序产品来分配,并且无论实际用于执行分配的信号承载介质的具体类型如何,说明性的实施方式同样适用。信号承载介质的实例包括但不限于以下:可记录型介质如软盘,硬盘驱动器,CD ROM,数字磁带和计算机存储器。
[0298] 上面描述的各种实施方式可以被组合以提供其他实施方式。在不违背本文具体教导和定义的范围内,本说明书中提到的和/或列在申请数据页中的所有美国专利、美国专利申请公开、美国专利申请、外国专利、外国专利申请和非专利出版物通过引用整体并入本文,其包括但不限于:于2011年7月7日提交的美国临时专利申请第61/571908号;于2013年11月20日提交的美国专利申请第14/118964号;于2012年7月5日提交的PCT专利申请第PCT/US2012/045575号;于2014年1月17日提交的美国临时专利申请第61/928702号;于2016年7月15日提交的美国专利申请第15/112130号;于2015年1月16日提交的PCT专利申请第PCT/US2015/011851号;于2015年11月29日提交的美国临时专利申请第62/260565号;于2016年
10月31日提交的美国临时专利申请第62/415203号;以及于2016年11月1日提交的美国临时专利申请第62/415666号。如果需要的话,可以修改实施方式的各方面以采用各专利、申请和出版物的系统、电路和构思来提供其他实施方式。
[0299] 根据以上详细描述,可以对这些实施方式进行这些和其他改变。通常,在下面的权利要求中,所使用的术语不应被解释为将权利要求限制在说明书和权利要求中公开的具体实施方式,而是应该被解释为包括所有可能的实施方式以及权利要求的等同方案的全部范围。因此,权利要求不受本公开的限制。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用