用于OCT图像转化、眼科图像去噪的系统及其神经网络的制作方法

文档序号:26644311发布日期:2021-09-15 01:39阅读:311来源:国知局
用于OCT图像转化、眼科图像去噪的系统及其神经网络的制作方法
用于oct图像转化、眼科图像去噪的系统及其神经网络
技术领域
1.本发明总体上涉及光学相干断层扫描(oct)领域。更具体地,旨在提高oct扫描/图像以及其他眼科图像的质量。


背景技术:

2.早期诊断对于成功治疗各种眼病至关重要。光学成像是视网膜无创检查的首选方法。虽然年龄相关性黄斑变性、糖尿病性视网膜病变和青光眼被认为是视力丧失的主要原因,但通常是在损害表现出来后才做出诊断。这主要是由于一些视网膜成像技术的分辨率相对较低。因此,先进的灵敏和精确的眼科成像和诊断工具的目标是提供能够在疾病的临床前阶段分辨/显示(例如,用于检测和监测)视网膜微结构的病理变化的成像模态。
3.光学相干断层扫描(oct)系统就是这样一种先进的眼科成像和诊断工具。根据所使用的技术,oct可以提供大约1至15μm范围内的轴向分辨率以及几微米至几十微米范围内的横向分辨率。可以理解,实现更高的分辨率通常需要大量的研究、成本和复杂性。
4.通过软件解决方案来提高图像质量的尝试收效甚微。例如,本领域已知的基于hessian的血管选择性过滤器可以提供改善的血管连通性,但是已经发现引入了在原始(例如,真实)扫描中没有发现的假想(例如,虚构)结构。因为基于hessian的血管选择性过滤器不忠实于原始扫描的真实血管结构,所以在检查眼科图像中的病理学用途是有限的。
5.本发明的目的是提供一种分辨率提高的oct系统。
6.本发明的目的是提供一种系统和方法,用于改善现有oct或oct血管造影(octa)系统的成像能力,该系统对oct或octa系统的硬件修改最小。
7.本发明的另一目的是提供一种用于增强现有oct图像的图像质量的系统和方法。


技术实现要素:

8.在光学相干断层扫描(oct)系统中实现上述目的,该系统具有:光源,用于产生光束;分束器,分束器具有分束表面,用于将第一部分光导入参考臂,并将第二部分光导入样本臂;光学器件,用于将样本臂中的光导向样本上的一个或多个位置;检测器,用于接收从样本臂和参考臂返回的光,并响应于此产生信号;处理器,用于将信号转换成第一图像并将第一图像提交给图像转化模块,图像转化模块将第一图像转化成第二图像,第二图像的特征在于与第一图像相比抖动减少和虚构结构的创建最小化中的一个或多个;以及输出显示器,用于基于第二图像显示输出图像。图像转化模块优选地包括使用训练输入图像组和训练输出图像的目标组的机器学习模块(例如,深度学习、神经网络),其中,训练输入图像独立于训练输出图像生成。例如,训练输入不基于添加了已知类型的噪声(例如,高斯噪声、泊松噪声、斑点噪声、椒盐噪声等)的训练输出图像。尽管如此,训练输出图像可以具有比训练输入图像更高的图像质量,使得训练机器学习模块(例如,在操作中)产生第二图像,该第二图像是第一图像的更高质量表示。例如,可以通过平均训练输入图像组来构建单独的训练输出图像。可选地,训练输入图像和训练输出图像可以由不同模态的oct生成,其中,能够创
建较高质量图像的oct模态用于生成训练输出图像,而生成较低质量图像的oct模态用于生成输入训练图像。例如,自适应光学器件oct系统可用于生成训练输出图像,非自适应光学器件oct系统(例如,时域oct、频域oct、谱域oct和/或扫描源oct)中的一个或多个可用于生成训练输入图像。以这种方式,转化模块有效地将第一模态的oct图像转换成类似于由第二不同模态的oct生成的图像。
9.通常,这种图像转化模块需要大量训练样本(例如,大量训练输入图像和训练输出图像)来进行有效的深度学习。例如,当拍摄自然场景的图像时,这可能不是问题,但是当试图收集大量眼科图像库(特别是大量的oct图像)来训练ml模型时,这是有问题的。创建用于深度学习的大型眼科图像库在经济上可能是禁止的。本发明提供了一种新颖的神经网络(nn)架构,其使用比典型的更小的训练样本库来提供深度学习结果。此外,本nn偏离现有已知的图像转换神经网络架构,以定义具有更少学习层或模块的紧凑形式。本nn适用于多种成像模态,例如,不同类型的眼科图像,例如,来自眼底成像系统和oct系统的图像,但是在本文是在oct图像的背景下说明性描述的。因此,本nn可以被描述为包含在oct系统中,但是应当理解,本nn架构也可以包含在其他类型的眼科成像系统中,并且可以应用于其他类型的眼科图像的处理。例如,本nn可用于处理先前生成的眼科图像的现有库(例如,先前存在的oct图像或眼底图像的存储器)并提高其图像质量。
10.已知的u

net架构传统上局限于图像分类和图像分割。目前的nn架构是基于u

net的,但将其功能扩展到图像转化。以前,u

net会与另一nn相结合,例如,对抗网络(gan),以实现图像转化。在这种现有技术的情况下,u

net将提供图像分割,而gan将提供图像转化。然而,当前的架构建立在基本的u

net架构上,因此直接提供图像转化,而不需要gan或任何其他辅助nn来实现图像转化。本nn架构可以包括:输入模块,用于接收第一图像(例如,输入oct或眼底图像);跟随输入模块的收缩路径,其中,收缩路径包括多个编码模块,每个编码模块具有卷积级(例如,一个或多个卷积层)、激活函数和最大池化操作;跟随收缩路径的扩展路径,其中,扩展路径包括多个解码模块(例如,一个或多个解码层),每个解码模块将其当前值与对应的编码模块的当前值级联;输出卷积模块,不包括池化层并且不包括激活函数,其中,输出卷积模块接收来自扩展路径中最后一个解码模块的输出。在传统的u

net中,扩展路径中的每个解码模块将包括激活函数(例如,sigmoid)层。然而,在本发明中,扩展路径中的一个或多个(优选地所有)解码模块不具有任何激活层。解码模块中缺少激活层有助于本架构实现图像转化功能。在传统的神经网络中,来自输出卷积模块的输出通常将与目标训练输出图像进行比较,以确定损失误差,并且该损失误差将通过nn(例如,在反向传播过程中)被反馈,以调整nn的权重和偏差,从而在随后的训练周期中产生具有较小误差的输出。本发明偏离了这一实践。本nn还包括至少一个中间误差模块,其确定至少一个编码模块和/或一个解码模块的误差度量。该中间误差模块获取其至少一个编码模块和/或一个解码模块的当前结果,将当前结果升级到当前训练输出图像的分辨率,并将其与当前训练输出图像进行比较,以定义一个或多个深度误差度量。然后,额外的深度误差度量值与来自输出卷积模块的损失误差相结合,以定义系统的总损失误差,然后可以通过nn反馈该误差,以调整其内部权重和偏差。这些多个误差源可以通过例如直接相加、加权组合和/或平均来组合。通过将训练输出图像引入nn的各个内部阶段,防止nn偏离目标输出太远,从而也有助于实现图像转化。
11.本nn可以用于其他目的,例如,减少眼科图像中的噪声伪像。然而,应当理解,其他nn架构同样可以用于实现一些当前的图像转换和降噪功能。
12.在用于减少眼科图像中的噪声伪像或用于生成噪声伪像减少的眼科图像的眼科成像系统或方法(例如,眼底成像系统或oct系统)中,进一步满足了上述目的。该系统或方法可以包括使用处理器来获取第一眼科图像,将第一眼科图像提交给图像修改模块,该图像修改模块基于第一图像创建第二眼科图像,并且与第一眼科图像相比具有减少的噪声伪像;并且在电子显示器上显示基于第二图像的输出图像。优选地,图像修改模块包括神经网络,神经网络的训练包括:收集至少一个样本(例如,眼睛)的多个测试眼科图像,所收集的测试眼科图像是噪声图像;随机选择一个测试眼科图像,作为训练输出图像;随机选择一个或多个剩余的测试眼科图像,作为训练输入图像的训练集;并且分别单独将每个训练输入图像提交给神经网络,并提供训练输出图像,作为神经网络的目标输出。
13.通过结合附图参考以下描述和权利要求,其他目的和成就以及对本发明的更全面理解将变得显而易见和易于理解。
14.本文公开的实施例仅仅是示例,并且本公开的范围不限于这些实施例。在一个权利要求类别(例如,系统)中提到的任何实施例特征也可以在另一权利要求类别(例如,方法)中要求保护。仅出于形式原因而选择所附权利要求中的从属关系或参考。然而,由对任何先前权利要求的故意引用而产生的任何主题也可以要求保护,使得公开并且可以要求保护权利要求及其特征的任何组合,而不管在所附权利要求中选择的依赖性如何。
附图说明
15.在附图中,相同的参考符号/字符表示相同的部分:
16.图1示出了根据本发明的神经网络架构;
17.图2示出了用于创建基础真实(ground truth)、真实平均化的图像的过程;
18.图3示出了根据本发明的用于定义一组训练样本对以训练神经网络的方法;
19.图4示出了根据本发明的神经网络的训练;
20.图5提供了根据本发明的(例如,卷积)神经网络的训练的另一示例;
21.图6示出了卷积nn的示例操作,在训练之后输入实时数据,或者在评估阶段输入测试数据;
22.图7示出了类似于图8的工作流程,将经训练的神经网络实现为用于平均多个扫描/图像的工作流程;
23.图8示出了根据本发明的基于块的方案,用于使用成对的对应的图像块来训练神经网络;
24.图9示出了根据本发明的使用成对的对应块来训练神经网络;
25.图10示出了根据本发明在图像块对上训练的神经网络的操作;
26.图11示出了根据本发明使用由ao

oct系统产生的一组单独的ao

oct图像来训练神经网络;
27.图12示出了被训练成输出具有ao

oct特征的图像/扫描的神经网络的操作
28.图13a和图13b根据本发明将真实的平均化的图像与用训练神经网络产生的“预测平均”(例如,平均外观)图像进行比较;
29.图14示出了本发明的另一应用,其中,6mm的输入图像/扫描被提交给经训练的神经网络,以产生预测的平均外观6mm的图像;
30.图15示出了输入到nn ml模型的示例眼科(例如,正面)图像,该nn ml模型在平均化的图像和/或平均块上训练;
31.图16示出了响应于接收到图21的输入图像,由经训练的nn ml模型产生的结果输出图像;
32.图17a和图17b示出了当前训练的nn模型学习眼睛血管的结构;
33.图18示出了根据本发明的将患病眼睛的图像输入到经训练的神经网络的结果;
34.图19示出了根据本发明的对神经网络进行训练以对oct扫描/图像进行降噪;
35.图20示出了根据本发明的训练神经网络的示例实时输入正面图像以及所得的去噪正面图像;
36.图21a和图21b示出了输入到训练的神经网络的实时b扫描的两个独立示例以及其分别输出的去噪b扫描;
37.图22示出了适用于本发明的用于收集眼睛的三维图像数据的广义频域光学相干断层扫描(fd

oct)系统;
38.图23示出正面脉管系统图像的示例;
39.图24示出了由ao子系统和oct/octa子系统组成的广义自适应光学器件光学相干断层扫描(ao

oct)系统;
40.图25示出了多层感知器(mlp)神经网络的示例;
41.图26示出了由输入层、隐藏层和输出层组成的简化神经网络;
42.图27示出了示例卷积神经网络架构;
43.图28示出了一个示例性的u

net架构;
44.图29示出了示例计算机系统(或计算装置或计算机装置)。
具体实施方式
45.有几种不同类型的眼科图像。例如,可以通过眼底照相、荧光素血管造影(fa)、眼底自动荧光(faf)、光学相干断层扫描(oct)、oct血管造影(octa)、眼部超声检查来创建眼科图像。这些都提供眼睛的不同信息(或以不同方式收集的信息),并且都可以强调眼睛的不同方面。一般来说,眼科图像是诊断特定眼睛相关疾病的组成部分,其有效性取决于其产生高质量图像的能力,例如,具有足够分辨率、焦距、放大率和信噪比(snr)的图像。在美国专利8,967,806和8,998,411中提供了眼底成像仪的示例,在美国专利6,741,359和9,706,915中提供了oct系统的示例,并且在美国专利9,700,206和9,759,544中提供了octa成像系统的示例,所有这些专利的全部内容通过引用结合于此。本发明寻求使用机器学习(ml)技术(例如,决策树学习、支持向量机、人工神经网络(ann)、深度学习等),以提供一种眼科图像转换工具和/或去噪工具,其改善由任何选择类型的成像系统产生的眼科图像的质量。以下示例性实施例描述了应用于oct系统的本发明,但是应当理解,本发明也可以应用于其他眼科成像模态,例如,眼底成像。
46.此外,本发明提供了将第一oct模态的oct图像转换成第二oct模态的图像。特别地,有不同类型的oct/octa成像模态,例如,时域(td)oct/octa和频域(fd)oct/octa。其他
更具体的oct模态可能包括谱域(sd)oct/octa、扫频源(ss)oct/octa、自适应光学器件(ao)oct/octa等,而且各有利弊。例如,ao

oct通常比更传统的oct系统提供更好的图像质量和更高的分辨率,但是要复杂得多,需要昂贵的部件,并且通常比传统的oct系统提供更小的视场(fov)。本发明提供了第一模态的oct系统,其可以选择性地产生oct图像,该图像被转换成(例如,模拟、仿真或类似于)另一不同模态的图像。例如,可以制作sd

oct来提供类似于sd

oct或ao

oct所提供的图像。或者,本发明可以提供一种oct系统,其将眼睛的给定样本区域的单个捕获的oct图像转换成类似于通过对同一样本区域的多个oct图像进行平均而产生的图像,而不需要重复扫描同一样本区域。
47.此外,本发明提供了一种用于降低眼科图像(例如,oct图像)中的噪声(例如,去噪)的改进方法/工具。本去噪工具可以单独应用,或者作为图像转化工具的补充。即,本去噪工具可以独立于或结合本图像转化工具来应用。此外,本去噪技术可以可选地与本图像转化工具的训练相结合。
48.本眼科图像增强工具可以包含到眼科成像装置中,例如,眼底成像仪或oct系统,或者可以作为网络可访问的服务来提供。例如,图像增强工具可以被实现为可在移动装置上执行的应用,例如,通过互联网访问远程主机的计算平板电脑或智能电话,并且远程主机提供本发明,作为眼科图像增强服务。以这种方式,更高的计算要求可以从移动装置(或oct系统)卸载到远程主机上。或者,眼科图像增强工具可以完全在互联网上提供,作为通过使用网络浏览器在互联网上可访问的网站。以这种方式,医生或技术人员可以使用具有互联网接入并能够运行网络浏览器的任何装置从任何地方使用本眼科图像增强工具。
49.为了说明的目的,下面参照图22至图24描述各种成像系统,包括oct和ao

oct系统。
50.以下实施例描述了一种用于提供能够将第一模态的oct/octa图像转换成第二模态的另一(优选更高质量和/或更高分辨率)oct图像的oct/octa系统的系统和方法。例如,转换后的图像可以具有通过平均多个oct/octa图像(以下称为平均模拟图像)创建的图像和/或通过ao

oct系统创建的图像(以下称为ao模拟图像)的特征,而没有与生成真实平均oct/octa图像或真实ao

oct/octa图像相关联的困难。可选地,或者除了图像转化能力之外,本系统还可以提供降噪功能。在一些实施例中,由基于机器学习的数据处理模块提供这些增加的能力。本发明设想了各种类型的机器学习技术(例如,最近邻居、朴素贝叶斯、决策树学习、支持向量机、人工神经网络(ann)、深度学习等),但是目前优选的实现是基于神经网络(nn),特别是基于新的nn架构,该架构建立在u.net架构的基础上,并且提供了简化的训练、更少的网络层次数量以及比典型的更小的训练集。
51.下面参考图25至图28讨论各种nn架构,例如,多层感知器(mlp)神经网络、卷积神经网络(cnn)和u

net。可选地,本发明可以使用这些神经网络中的任何一个或组合来实现,但是优选实施例可以使用基于u

net架构的专用图像转化神经网络架构来实现图像转化功能和/或去噪功能。
52.典型的神经网络(nn)可以具有多个隐藏层,并且由具有可学习的权重和偏差的神经元组成,其中,每个神经元可以接收输入、执行操作并且可选地跟随有非线性(例如,激活函数)。典型地,深度学习nn需要大的训练集,并且不太适合处理大于几个像素的图像。卷积神经网络(cnn)类似于(深度学习)神经网络(nn),但是cnn可以被优化,以更有效地处理图
像。cnn认为,距离较近的数据比距离较远的数据更相关,这使得前向函数更加有效,并减少了参数的数量。然而,cnn可能仍然需要大量的训练集。如本领域技术人员所理解的,由于各种经济和监管原因,获得大量相关医学图像(特别是眼科图像)来编译大的训练集可能是有问题的。u

net神经网络架构可以使用比传统nn更小的训练集,并且像cnn一样,u

net也可以针对图像上的训练进行优化。u

net的主要用途传统上是用于图像分割(例如,识别图像中前景对象的形状),作为进一步图像处理的预处理步骤。例如,u

net可以作为预处理步骤耦合到对抗网络(gan),以实现图像转化。在这种情况下,gan将接收从u

net输出的分割信息,并且gan将对分割的项目应用图像转化。本发明提供了一种基于u

net的架构,其消除了对gan的需要,从而代替(或补充)提供图像分割,本基于u

net的架构直接提供图像转化。
53.参考图1,本架构建立在典型的u

net架构上(例如,参见图28),并且包括输入模块(或输入层或输入级)12,该输入模块12接收任何给定大小(例如,大小为128
×
128像素)的输入uin(例如,输入图像或图像块)。出于说明的目的,任何阶段或层的图像尺寸在表示图像的框内指示,例如,框12包含数字“128
×
128”,以指示输入图像uin由128
×
128像素组成。输入图像可以是oct/octa正面图像或b扫描图像。然而,应当理解,输入可以是任何大小和尺寸。例如,输入图像可以是rgb彩色图像,如图27所示。输入图像经历一系列处理层,每个处理层以示例性尺寸示出,但是这些尺寸仅用于说明目的,并且取决于多个因素,例如,图像的尺寸、卷积滤波器、池化阶段等。本架构包括收缩路径(本文示例性地由五个编码模块14、16、18、20和22组成),其后是扩展路径(类似地由五个对应的解码模块24、26、28、30和34组成)以及在对应的模块/级之间的五个复制和剪切链路(例如,跳过连接)cl1至cl5,其复制收缩路径中一个编码模块的输出,并将其连接到(例如,将其附加到后面)收缩路径中的对应的解码模块的上变频输入。收缩路径类似于编码器,通常通过使用特征图来捕获上下文(或特征)信息。收缩路径中的每个编码模块可以包括一个或多个卷积层,示例性地由星号“*”表示,其后可以是最大池化层(例如,包含在下采样层中)。例如,输入图像uin示例性地显示为经历两个卷积层,每个卷积层产生32个特征图。可以理解,每个卷积核产生特征图(例如,与给定核的卷积运算的输出是通常称为“特征图”的图像)。例如,输入uin经历应用32个卷积核(未示出)的第一卷积,以产生包括32个对应特征图的输出36。然而,如本领域中已知的,可以调整(向上或向下)通过卷积运算产生的特征图的数量。例如,可以通过平均多组特征地图、删除一些特征地图或其他已知的特征地图缩减方法来减少特征地图的数量。在当前情况下,第一卷积之后是第二卷积,其输出38限于32个特征图。设想特征图的另一种方式可以是将卷积层的输出视为3d图像,其2d维度由列出的x

y平面像素维度(例如,128
×
128像素)给出,其深度由特征图的数量(例如,32个平面图像深度)给出。按照这个类比,编码模块14的输出38可以被描述为128
×
128
×
32的图像。来自第二卷积的输出38然后经历池化操作,这降低了每个特征图的2d维数(例如,x和y维数可以各降低一半)。如向下箭头40所示,池化操作可以体现在下采样操作中。几种池化方法(例如,最大池化)在本领域是已知的,具体的池化方法对本发明来说并不重要。因此,收缩路径形成了卷积网络,本文示出了五个编码模块(或级或层)14、16、18、20和22。如卷积网络的典型情况(例如,参见图27和图28),每个编码模块优选地提供至少一个卷积级,随后是未示出的激活函数(例如,整流线性单元、relu或sigmoid层)以及最大池化操作。通常,激活函数将非线性引入层(这有助于避免过拟合问题),接收层的结果,并确定是否“激活”输出(例如,确定给定节点的值是否满足
将输出转发到下一层/节点的标准)。
54.扩展路径类似于解码器,尤其地,可以为收缩路径的结果提供定位和空间信息。本文所示的扩展路径具有五个解码模块24。26、28、30和34,其中,每个解码模块将其当前的上变频输入与对应编码模块的输出级联。例如,解码模块24的上变频输入42被示为与对应编码模块22的输出44级联。更具体地,输出44(其尺寸为8
×8×
512)可以被附加到上变频输入42(其尺寸为8
×8×
1024)以定义尺寸为8
×8×
1536的级联图像。以这种方式,(来自编码模块22的)特征信息与(来自解码模块24的)空间信息相结合。特征和空间信息的这种组合在扩展路径中通过一系列上卷积(例如,上采样或转置卷积或去卷积)和与来自收缩路径的高分辨率特征的级联(例如,经由cl1至cl5)继续。去卷积层的输出与来自收缩路径的对应(可选裁剪的)特征图级联,后面是两个(或更多)卷积层。在收缩路径和扩展路径之间通常有一个瓶颈模块bnk,它可能由两个或多个卷积层组成。
55.图1的本架构基于u

net(见图28),但是具有一些区别特征。首先,本架构中的扩展路径可能缺少任何激活功能。即,扩展路径中的一个或多个(优选地,所有)解码模块24、26、28、30和/或34可以没有任何激活层,例如,sigmoid层。扩展路径中缺少激活功能可能有助于本架构实现图像转化功能。其次,本神经网络包含一种新的训练架构。如本领域已知的,神经网络可以通过反向传播来训练,其中,在训练周期期间,将当前神经网络输出(例如,uout)与当前训练输出图像tout进行比较,以确定当前损失误差e1。典型地,该损失误差e1将通过神经网络反馈,以调整其内部权重和偏差,从而在随后的训练周期中以较小的误差产生更好的输出。然而,本架构包含了深度监督链接,以从收缩路径和/或扩展路径中的任何阶段确定深度误差,并将该深度误差与输出模块/层50处的损失误差相结合,以定义系统的总损失误差。深度监督可以是中间误差模块(例如,em1/em2)的形式,其确定至少一个编码模块和/或至少一个解码模块的深度误差度量。可选地,可以随机选择所选择的编码模块和解码模块,或者可以根据其对应的复制和剪切链接而彼此对应。将所选编码模块和/或解码模块的当前状态与当前训练输出图像进行比较,以确保输出不会与输入偏离太多。这导致更快的收敛,因此训练时间更短。例如,在训练期间,来自编码级18的当前输出可以被上变频到当前训练输出图像tout的分辨率,并且与tout进行比较,以确定深度误差e2。类似地,在训练期间,来自解码级28的当前输出可以被上变频到当前训练输出图像tout的分辨率,并且与tout进行比较,以确定深度误差e3。深度误差e2和e3然后与误差e1组合,例如,通过加权线性组合。可选地,在确定损失误差e1之前,输入uin可以被前馈到(例如,组合到)输出uout。例如,在确定误差损失e1之前,输入uin可以被添加到输出uout(例如,通过使用从uin到uout的前馈链路,未示出),以定义组合网络输出uin+uout(或两者的加权组合)。组合网络输出uin+uout可以代替图1中的uout,并与当前训练输出图像tout进行比较,以确定当前损失误差e1。通过组合输入和输出,当输入已经匹配期望的输出(tout)时,网络不需要“学习”,什么也不做,(例如,使标识“输入=输出”变得微不足道)。在实践中,这可能会加快训练速度并产生更好的效果。此外,当比较uout和tout时,本架构可以使用定制的损失函数来确定l

1损失(例如,绝对差的总和)和l

2损失(例如,平方差的总和),并且组合这两个损失(例如,通过加权求和)来定义e1。优选地,当定义e1时,l

1损失比l

2损失加权更重,以确保原始图像/扫描的忠实表示。误差度量e2和e3可以由l

1损失、l

2损失或两者的组合来确定。误差度量e1、e2和/或e3可以通过增益(例如,分别为α1、α2和/或α3)来加权。例如,e2可
以用增益α2=0.2来加权,e3可以用增益α3=0.2来加权,e1(其可以是l

1损失和l

2损失的组合)可以用增益α1=0.6来加权,使得所有的增益加起来为1,并且输出模块(例如,e1)的损失误差被更重地加权。所得的总损失误差然后可以在反向传播过程中通过神经网络反馈。使用深度监督会限制输出,从而不会创建(或基本上限制创建)虚构结构(例如,在输入图像中找不到的结构)。在处理医学图像时,避免在输出图像中创建虚拟结构对临床医生来说非常重要。因此,与传统的u

net结构相比,当前的深度监管架构有利于更快的收敛和更好的特征表示。应当理解,根据本发明,当前的深度监管架构将用于训练ml模型,但是一旦训练了ml模型,各个阶段/模块的权重和偏差将被设置(例如,固定),并且在经训练的ml模型的操作阶段,可能没有必要在架构的过程中使用深度监管部分。
56.图1的当前nn架构可用于训练ml模型,以完成多个任务。第一任务可以是图像转化,第二任务可以是降噪。为了便于讨论,分别如下讨论每个任务。
57.图像转化
58.单独oct/octa扫描存在抖动、掉线和斑点噪声等问题。这些问题会影响正面图像的质量,包括定性和定量,因为用于量化血管密度。本发明寻求通过使用训练的神经网络来提高眼科图像的质量。如下所述,这需要多个训练对集,例如,与对应的基础真实目标训练输出图像配对的训练输入图像。使用深度学习的一个困难是获取用于训练集的基础真实输出。真实的平均化的图像的质量(例如,血管连续性、噪声水平)通常远优于单独扫描的质量。因此,本发明中的一种方法是将单个眼科输入图像转换成平均模拟图像,例如,具有真实的平均化的图像特征的图像。在这种方法中,在本神经网络的训练中,真实的平均化的图像用作基础真实图像(例如,作为训练输出图像)。另一种方法是将第一模态的眼科输入图像转换成模拟通常具有更高质量的不同模态的输出眼科图像。例如,ao

oct图像可以用作基础真实,训练输出图像,以训练nn来产生ao模拟图像。为了便于讨论,下面的大部分讨论描述了使用真实平均化的图像,作为训练集中的基础真实目标输出图像,但是除非另有说明,应当理解,类似的描述适用于使用ao

oct图像(或其他更高质量和/或更高分辨率的图像),作为训练集中的基础真实目标输出。
59.图2示出了用于创建基础真实、真实平均化的图像avg1的过程。诸如oct/octa系统13(例如,图22和图24所示)等眼科成像系统捕获由样本(例如,眼睛)的相同区域的n个单独图像/扫描s1s1至s1sn组成的图像集s1。例如,图像集s1的第一次扫描标记为s1s1,图像集s1的第n次扫描标记为s1sn。类似地,如果收集了p个扫描的第二图像组s2(未示出),则第二图像组s2中的各个扫描可以被标记为s2s1至s2sp。无论如何,图像集的各个扫描(例如,s1s1至s1sn)可以在提交给图像配准(例如对齐)模块/块17之前,由图像预处理器模块/块15可选地经受图像预处理(例如,照明校正、模糊和聚焦校正、滤波和噪声去除、边缘增强等),该模块/块17基本上对齐图像组(例如,s1)内的预处理扫描。可以通过识别特征(例如,多边形形状描述符(例如,血管结构)、在每个单独扫描内的光谱描述符(例如,sift、surf)等),识别多个单独扫描内的匹配特征,并通过对齐其各自匹配的特征来对齐单独扫描,来配准各个扫描(s1s1至s1sn)。该过程生成多个图像对齐设置(例如,配准参数)。对齐的扫描/图像然后被平均(例如,通过图像平均模块/块19),以产生真实的平均化的图像avg1。对多个图像集中的每一个内的各个扫描/图像进行配准和平均,为每个图像集生成各自的平均化的图像,其中,每个平均化的图像比其对应图像集中的组成图像具有更高的质量。然
而,生成真正的平均化的图像需要相当多的时间,这限制了它的应用。本发明可以使用多组单独扫描的图像和其对应的平均化的图像来训练神经网络。
60.图3示出了用于定义一组训练样本对的方法。在本示例中,各个扫描s1s1至s1sn中的每一个分别与其对应的真实平均化的图像avg1配对,以定义n个单独的训练对tp1至tpn,其中,扫描s1至sn中的每一个是神经网络的单独训练输入,并且其对应的真实平均化的图像avg1是每个输入的对应目标训练输出。应当理解,可以通过获得眼睛的各个区域的多个图像集(例如,s1、s2、

、sm)并平均每个图像集的组成扫描来定义多个训练对集,从而为每个图像集定义对应的真实平均化的图像,如图2所示。
61.图4示出了根据本发明的神经网络25(如图1所示)的训练。在本示例中,收集了多个训练对集ts1至tsm。每个训练集由一组成分oct/octa扫描21组成,并用于定义其对应的真实平均化的图像23。每个训练集(ts1到tsm)可以提交给神经网络25进行训练,如下所述。可选地,可以省略预处理器模块/块15,并且可以在原始数据(扫描/图像)上训练神经网络25,而不是预处理(例如,过滤)数据。
62.图5提供了根据本发明的(卷积)神经网络25的训练的另一示例。如前所述,每个训练对tp1到tpn包括作为训练输入样本提供的单个图像/扫描s1s1到s1sn,与其作为目标训练输出样本提供的真实平均化的图像avg1配对。在训练阶段,卷积网络(例如,图1的nn)25因此在作为训练输入的单扫描图像s1s1至s1sn以及作为对应的训练输出的其真实平均化的图像avg1上被训练。
63.图6示出了当前cnn 25的示例操作,在训练之后输入实时数据,或者在评估阶段输入测试数据。当前的cnn 25接收单个眼科图像31(例如,实时oct/octa扫描),作为输入,并预测(例如,生成)对应的输出图像33(例如,根据训练,具有真实平均化的图像特征的平均模拟图像,或者具有不同成像模态特征的输出图像,例如,模拟ao图像)。在本示例中,输出图像33是平均模拟图像,并且具有真实平均正面图像的特征。换言之,输出图像33模拟输入图像与由输入图像拍摄的相似区域的多个假设图像的平均。注意,输入图像31不是训练中使用的图像,也不是从训练中使用的任何图像导出的图像。即,网络25以前没有看到的输入测试扫描(例如,31)被选择用于测试/评估/操作阶段,并且网络25预测对应于输入图像是一起平均的一组图像的一部分的情况的可能输出。
64.如上所述,创建真正的平均化的图像需要将多个单独的扫描/图像配准在一起进行平均。在各个扫描之间建立良好的配准可能由于各个扫描的质量不够而变得复杂。因此,得到的平均化的图像可能不是最佳的,例如,可能显示朦胧和/或模糊。因此,如果真实的平均化的图像是多个图像的不良配准的结果,则有时候真实的平均化的图像不一定比单个图像具有更高的质量。本发明还可以用于改善单个图像的配准,以定义更高质量的真实平均化的图像。
65.参考图7,当前训练的神经网络25可以包含到用于平均多个扫描/图像的工作流中,类似于图2的工作流。例如,本工作流程可以从数据收集开始,其中,收集样本的相同区域的多次oct/octa扫描i

1至i

q。或者,多次扫描i

1至i

q可以是正面图像、b扫描、立方体扫描等。无论如何,输入扫描i

1至i

q被提交给训练的神经网络25(例如,基于图1和图25至图28的神经网络中的任何一个或组合),并且神经网络25为每个输入图像i

1至i

q产生单独且对应的转换图像a

1至a

q。每个转换图像a

1至a

q可以是比其对应的输入图像i

1至
i

q更高质量的图像,这有助于图像配准块17对其进行配准(例如,对齐)。因为图像的更好配准,平均的结果将比如果原始扫描i

1到i

q被直接平均更好,如上面参考图2所述。可选地,来自神经网络25的输出图像a

1到a

q可以在被提交给图像配准块17之前被提交给图像预处理器块15,图像配准块17应用本领域已知的多种图像配准技术中的至少一种并生成图像配准设置(例如,配准参数或变换参数)。因为从神经网络25输出的图像a

1到a

q比原始图像i

1到i

q具有更好的质量,所以图像配准块17可以提供更好的配准,并且图像平均模块19因此可以提供更高质量的真实平均化的图像45。即,平均模块19可以将变换后的图像a

1到a

q一起平均。可选地,因为在转换后的图像a1到a

q和输入图像i

1到i

q之间存在一一对应,所以由图像配准模块17为每个单独的图像a1到a

q生成的配准/变换参数可以被应用于单独对应的输入图像i

1到i

q,以便使用来自图像a1到a

q的配准参数来配准(例如,图像对齐)输入图像i

1到i

q,如虚线44所示。以这种方式,这样配准的(例如,对齐的)输入图像i

1至i

q然后可以由图像平均模块19进行平均,以产生输入图像i

1至i

q的真实平均化的图像。或者,不管平均化的图像45是平均配准图像a1至a

q的结果、平均输入图像i

1至i

q的结果还是两者的组合,平均化的图像45可以可选地用于生成新的训练样本对,然后可以将其提交给神经网络25,以提供额外的训练,或者可以用于训练另一神经网络,或者可以用于进一步的处理。
66.在上面讨论的实施例中,本图像转化神经网络在对应的输入和输出图像对上训练。例如,为了训练神经网络来创建模拟平均值的图像,对眼睛的同一区域进行多次oct/octa扫描,彼此配准/对齐,并一起求平均值。这创建了多个训练样本对,其中,多个扫描中的每一个可以与其对应的真实平均化的图像配对。因此,本网络学习将单个输入图像的图像风格转换成不同成像条件或不同成像模态(例如,平均模拟图像或ao模拟图像)的图像风格/特征所需的权重。使用真实的平均oct图像(或真实的ao

oct图像)迫使网络从真实的图像特征中学习,而不是寻找辅助图像特征的平滑或基于相干性的方法。
67.深度学习网络可能受益于非常大的数据集。可选地,训练样本对的数量可以通过使用基于块的方案来增加,以在训练图像的较小块上训练网络。
68.图8示出了根据本发明的基于块的方案,用于使用成对的对应的图像块来训练神经网络。示出了全尺寸的单个图像s1s3和对应的全尺寸的真实平均化的图像avg1。例如,全尺寸图像s1s3可以是一组图像的一部分,这些图像被一起平均,以定义真实平均化的图像avg1,如上所述。尽管全尺寸图像可以用于训练,但是每个训练对中的图像可以可选地被分成多个尺寸相似且对应的图像片段(例如,块)。例如,全尺寸图像s1s3可以被分成由25个块组成的第一块组s1s3pg(s1s3p1至s1s3p25),并且全尺寸真实平均化的图像avg1可以类似地被分成由20个文件块组成的第二块组avg1pg(avg1p1至avg1p25)。在本示例中,块被连续地编号为五行,使得块组s2s3pg的顶部第一行块被编号为从s13p1到s13p5,以此类推,直到编号为s1s3p21到s1s3p25的最后一行块。应当理解,全尺寸图像s1s3和avg1可以被划分成任意数量的对应块,例如,64
×
64的图块/块或任意其他数量的块。无论如何,块组s1s3pg中的每个块在第二组avg1pg中具有对应的块,并且每对对应的块可以定义单独的训练对。出于说明目的,显示了三对对应的训练块(tp1'、tp2'和tp3')。在本例中,训练对tp1'包括作为训练输入的块s1s37和作为训练目标输出的对应块avgp7。同样,训练对tp2'包括训练输入块s1s3p17和训练目标输出块avg1p17,训练对tp3'包括训练输入块s1s3p19和训练输出
块avg1p19。以这种方式,神经网络可以在来自单次扫描的成对块和来自真实平均扫描(或真实ao

oct扫描)的对应块上训练。
69.图9示出了根据本发明的使用成对的对应块来训练nn。每个全尺寸的单个图像/扫描s1s1至s1sn被分成多个块(例如,p1至p25),并且其对应的真实平均化的图像avg1被分成相似数量的相似尺寸的块。每个单个图像/扫描的单个块与平均化的图像的对应块配对,以定义训练块对。例如,来自每个样本图像(s1s1到s1sn)的左上块(s1s1p1到s1snp1)与平均化的图像avg1的左上块avg1p1配对。以这种方式,神经网络31在来自全尺寸扫描的大量块对和来自全尺寸真实平均扫描的对应块上训练。网络权重由此学习将单个图像块的图像风格转换成单个平均化的图像块的图像风格/特征。
70.图10示出了根据本发明在图像块对上训练的nn的操作。在操作中,或在推断和/或测试期间,测试输入图像(或实时图像)live_1被分解成一组输入块p_in(具有与用于训练神经网络31相似的数量和大小),并且每个单独的块通过神经网络31运行,以产生对应的一组变换的输出图像块p_out。然后可以无缝地重建(例如,拼贴化)所产生的块组p_out,以形成单个输出图像out_1。
71.如上所述,将单个输入图像转换成平均模拟图像的当前实施例可以扩展到将第一模态的输入oct/octa图像转换成具有第二不同模态的oct/octa图像的特征的输出oct/octa图像。这可以通过用不同模态的两个oct/octa系统获取眼睛的同一区域的多个oct/octa扫描,配准扫描并在配准的扫描上训练nn来实现。例如,一个oct/octa系统可以是ss

oct,另一oct/octa系统可以是ao

oct。在这种情况下,ss

oct和ao

oct扫描/图像可以配准在一起,并且对应的图像可以配对,以定义训练集(例如,来自ss

oct系统的训练输入图像和来自ao

oct图像的对应目标训练输出图像)。如果由两个oct/octa模态产生的图像/扫描具有不同的尺寸,其可以可选地被分成相似尺寸的块,以类似于上述的方式定义训练块对集。
72.图11示出了根据本发明使用由ao

oct系统65产生的一组单独的ao

oct图像67来训练神经网络。如图所示,ss

oct系统61产生的扫描/图像63通常比ao

oct系统65产生的任何单个图像都大。在本示例中,ao

oct系统65需要捕获一组67多个图像/扫描,以跨越由来自ss

oct 61的单个图像/扫描63覆盖的相同区域。在这种情况下,来自ss

oct 61的单个图像63可以被分成一组与ao

oct系统65的图像组67具有相似尺寸并与之相对应的图像块69。或者,这组图像67可以被划分成甚至更小的块,并且单个图像/扫描63可以被划分成更小的块尺寸,其匹配并对应于从图像组67导出的更小的块。无论如何,来自ss

oct 61的每个图像块及其对应的ao

oct图像/块可以配对,以定义训练样本对,其中,ss

oct图像块被输入到神经网络,用于训练,而对应的oct图像/扫描目标输出用于训练神经网络。出于说明的目的,显示了三对(tp1”、tp2”和tp3”)对应的块/图像。训练对然后可以用于训练神经网络,如下所述。
73.图12示出了被训练成输出具有ao

oct特征的图像/扫描的神经网络的操作。在操作阶段(或评估/测试阶段),输入扫描71(例如,来自ss

oct系统的扫描)被收集并被分成一组图像块73,优选地具有与用于训练神经网络31的块/图像相似的尺寸,如上面参考图11所解释的。训练的神经网络31接收图像块73,并将每个块转换成具有来自ao

oct系统(例如,模拟ao

oct系统)的扫描特性的对应输出块。神经网络31由此产生一组输出块75,然后由重
建模块77对其进行拼贴化,以输出模拟ao的图像79,例如,类似于由ao

oct系统产生的大扫描的图像。
74.在推断/测试/操作期间,根据本发明的的神经网络架构将单独扫描作为输入,并预测具有更高质量图像特征的输出图像。例如,输出图像可以模拟真实的平均化的图像或真实的ao

oct图像。使用该方法的实验结果表明,使用表面扫描(例如,正面图像)作为输入,产生非常接近真实平均化的图像的输出。本ml模型产生的输出图像减少了不希望的特征,例如,丢失和/或抖动,并且增加了图像质量,包括血管结构的连通性和更少的噪声伪像,同时消除或最小化虚拟结构的产生。本质上,目前的深度学习nn学习对血管结构的隐含理解,这是使用传统图像增强技术不可能实现的。
75.例如,图13a和图13b根据本发明将真实平均化的图像81与用训练的神经网络95产生的平均模拟图像91进行比较。在图13a中,平均模块(例如,类似于图2的模块)对八个单独的扫描83

1至83

8进行平均,以产生真实的平均化的图像81。类似地,训练的神经网络95接收单个输入图像93(不包括在图像83

1至83

8中),并预测平均模拟图像91。如图所示,平均模拟图像91改善了血管结构的连通性,减少了抖动,并且非常类似于真实的平均化的图像81,而没有引入人工血管结构。
76.图14示出了本发明的另一应用,其中,6mm的输入图像/扫描201被提交给训练的神经网络95,以产生6mm的平均模拟图像203。同样,平均模拟图像203提供了图像201的更高质量的表示,而没有引入虚拟神经结构。即,平均模拟图像203连接输入图像201的脉管系统中的间隙,而不引入在输入图像201中没有发现的新的(例如,虚拟)脉管系统结构。与输入图像201中的对应脉管系统相比,平均模拟图像203进一步保持与脉管系统厚度/尺寸的一致性。
77.例如,图15示出了输入到nn ml模型的示例眼科(例如,正面)图像206,该模型在真实平均化的图像和/或块上训练。圆圈c1和c2识别输入图像206中的抖动区域。图16示出了响应于接收到图15的输入图像208,由训练的nn ml模型产生的合成平均模拟图像208。图16中的圆圈c1'和c2'的区域对应于图15中的圆圈c1和c2的区域。显然,图16的输出图像208增强了清除抖动和噪声的血管。
78.图17a和图17b示出了当前训练的nn模型学习血管的结构。图17a示出了从一组单独图像创建的真实平均化的图像,其中至少一个图像质量低并且妨碍了单独图像的配准。例如,一个图像/扫描可以是正面图像,其包括由于创建它的b扫描中的配准误差而导致的不连续性。这种良好配准的缺乏可能会妨碍平均,导致模糊的真实平均化的图像。图17b示出了将在图17a的真实平均化的图像的创建中使用的一个单独图像输入到当前训练的nn的结果。如图所示,当前的深层网络试图维持血管网络结构,这样做,没有引入图17a中明显的模糊性。
79.因此,在较低质量扫描的情况下,本nn ml模型可以产生比构建真实平均化的图像更好的图像。此外,利用本发明可实现的图像质量(例如,血管连续性、噪声水平)通常优于单独扫描的图像质量,并且可以提供更好的可视化。如上所述,它还为下游任务(例如,密度计算和混合平均方案)提供了更好的输入。
80.本nn基于其在训练期间所接触的示例来学习保持血管连续性。可以理解,一些病理可能导致异常的血管结构,包括异常厚度/尺寸的血管。为了提高当前nn ml模型改善这
种异常可视化的能力,在其训练中包括各种类型的患病血管的扫描/图像示例可能是有益的。例如,由高血压视网膜病、微动脉瘤和视网膜静脉阻塞(rvo)引起的血管结构的扫描/图像可以包括在用于训练本神经网络的训练集中。在目前的情况下,可能没有必要将这些示例标记为患病,而是仅仅将其包括在训练集中,以便在从正常血管到患病血管的各种真实血管结构上训练nn。
81.作为示例,图18示出了将患病眼睛的图像212输入到经训练的神经网络95的结果。如图所示,输出图像214改善了血管可视化,而没有引入虚拟结构。
82.降噪
83.本文讨论的各种神经网络架构(包括图1的架构)可以扩展到其他应用。例如,本神经网络架构可用于训练神经网络(nn)机器学习(ml)模型,以降低oct/octa扫描/图像的噪声(例如,去噪),例如,a扫描、b扫描、立方体扫描和正面图像。传统上,单个oct扫描的改进包括提高测试仪器(例如,正在使用的特定oct系统)中的信噪比(snr),将单个oct(例如,b扫描)配准到用于运动跟踪的对应的线扫描检眼镜(lso)图像(通常是最近获取的图像),并且对扫描进行后处理,以将扫描配准到基本上在进行oct扫描的同时捕获的lso图像。基于软件的降噪方法也是已知的。这些方法通常集中在“超分辨率”技术上,这种技术假设存在“干净”的图像和已知的噪声分布。
84.神经网络也用于图像去噪。典型地,当训练神经网络去噪图像时,获得原始图像(例如,示例性的目标训练输出图像)并使用本领域已知的各种噪声添加滤波器将特定类型的噪声(例如,已知的噪声分布)添加到原始图像,以创建人工噪声训练输入样本。这些人工创建的有噪声的训练输入样本然后与原始图像(其是从原始图像创建的)配对,以形成训练对。这样产生的人工噪声样本用作神经网络的训练输入,原始图像用作神经网络的目标训练输出。在devalla,s.k.等人的的a deep learning approach to denoise optical coherence tomography images of the optic nerve head,arxiv:1809.10589[cs.cv]中,描述这种方法的一个示例。这考察了使用神经网络对具有特定已知类型噪声的oct扫描进行去噪的可行性。devalla通过从用于训练神经网络的相同人工噪声样本中选择用作测试样本的样本来测试其训练的神经网络的有效性。这些测试样本被提交给经过训练的神经网络,以确定神经网络去除其被训练去除的特定类型的人工噪声的能力。
[0085]
与这种方法相反,本神经网络是在真实(即,没有人为噪声)图像的集合上训练的,并且使用实时图像(即,没有在神经网络的训练中使用的图像)来评估本训练的神经网络的性能。此外,不需要或不使用原始的、干净的样本来训练当前的神经网络。
[0086]
单独的octa扫描和相关的正面图像通常是有噪声的。噪声直接影响图像质量和量化结果,例如,脉管系统密度。如上所述,深度学习是一种开发机器学习模型来处理数据的技术,它已经在图像处理问题上产生了最先进的结果。本文讨论的任何神经网络架构都可以用于本发明,但是图1的nn架构在本文被示例性地用作定制深度学习框架,以对oct/图像(例如,b扫描、正面图像等)去噪。这是通过向本神经网络提交真实的(可选地随机的和/或原始的,例如,没有预处理的)oct/图像对作为训练样本对来实现的,所述oct/图像对通常是噪声图像。可以理解,基于块的方案也可以用于增加训练集的大小。可选地,训练图像对可以是受试者的相同区域(例如,眼睛),但是训练图像对可以可选地来自不同的区域。此外,没有干净图像的“先前”示例用于训练当前的神经网络。因此,本神经网络ml模型学习去
噪oct扫描/图像,而不考虑额外的“先验”,例如,基础真实示例(例如,平均化的图像或干净图像或更高质量的图像)或具有预定噪声分布的图像。这允许噪声统计完全由数据描述。因此,目前的nn ml学习去噪未看到的噪声特征,并实现大大改善的图像质量,同时简化了训练对样本的收集。
[0087]
图19示出了根据本发明的训练神经网络以对oct扫描/图像去噪。使用深度学习处理人脸/b扫描图像最困难的部分可能是获得用于训练集的基础真实(例如,高质量和原始)、目标输出图像(例如,“先验”)。如上所述,可以使用真实平均化的图像作为基础真实训练输出样本或者其他相关的“干净”图像。这些“先验”可以作为一种超分辨率的手段。另一种方法可以是定义噪声特性,以有意地使具有已知噪声特性的样本图像降级,并将降级的图像用作训练输入图像,将原始样本图像用作“干净的”训练输出图像。当前优选实施例通过避免使用先验(对于噪声和数据)的需要,提供了优于这些技术的显著优点。这对于难以量化斑点噪声的oct图像尤其有利。本(可选地卷积)神经网络97被训练为通过仅查看原始输入图像对来对oct b扫描和/或正面图像去噪(例如,随机分配来自相同区域的每对图像中的一个图像作为训练输入样本,并且分配该对中的另一图像,作为训练输出样本)。即,不需要或不使用特殊过程来选择最佳图像或清洁/预处理原始图像,以定义训练“先验”。为了训练神经网络97去噪b扫描,成对的b扫描92用于训练,并且为了训练神经网络97去噪正面图像,成对的正面图像94用于训练。以这种方式,在操作中,当实时b扫描或实时正面图像被输入到神经网络97时,将分别产生去噪b扫描96或去噪正面图像98。例如,在训练阶段,卷积神经网络97可以在来自同一扫描(例如,以类似于用于定义血管造影图像或真实平均化的图像的方式对同一区域的多次扫描)的图像对上训练,或者从来自同一眼睛的同一区域的配准正面图像中训练。在测试阶段或操作阶段,可以提供神经网络97以前没有看到的单个b扫描(或正面图像),作为神经网络97的输入,并且神经网络97预测去噪的输出(b扫描96或正面图像98,视情况而定)。
[0088]
当收集用于训练的b扫描或正面图像时,任何收集的扫描/图像可以用作训练对中的训练输入样本或训练输出样本。例如,当定义训练样本对92或94时,多个b扫描或正面图像可以是来自眼睛随机区域的原始图像。然而,训练对可以由眼睛的基本相同区域的扫描/图像构成。可选地,可以使oct系统生成不同质量的扫描/图像(例如,可以降低snr和/或可以省略选择图像处理和/或可以减少或消除运动跟踪),使得训练对包括不同质量的图像的混合。此外,本训练方法可以包括记录完全相同的物体结构但具有不同斑点的扫描/图像(例如,通过改变光的偏振或角度)。因此,神经网络97学习仅使用原始图像而不使用特殊先验(例如,没有空间平均)来对图像去噪,以对b扫描和/或正面图像去噪。
[0089]
图20示出了用于训练神经网络97(根据本发明)的示例性实时输入正面图像221以及所得去噪正面图像223。图21a和图21b示出了用于训练神经网络97的实时b扫描输入225/227的两个单独示例及其对应的输出去噪b扫描226/228。从图20和图21可以明显看出,本nn机器学习模型提供了显著的噪声去除。
[0090]
示例光学相干断层扫描(oct)系统
[0091]
图22示出了适用于本发明的用于收集眼睛的三维图像数据的广义频域oct(fd

oct)系统。fd

oct系统100包括光源101。典型的光源包括但不限于具有短时间相干长度的宽带光源或扫描激光源。来自光源101的光束通常由光纤105引导,以照射样本110;典型的
可以指在相同(或基本相同)位置(或区域)通过重复采集产生的单个单元或数据块,用于分析运动对比,其可以用于识别血流。群集扫描可以由多个a扫描或b扫描组成,这些扫描是在样本上大致相同的位置以相对较短的时间间隔收集的。由于聚类扫描中的扫描属于同一区域,所以在聚类扫描中,静态结构在扫描之间保持相对不变,而满足预定标准的扫描之间的运动对比度可以被识别为血流。本领域已知多种产生b扫描的方法,包括但不限于:沿水平或x方向、沿垂直或y方向、沿x和y的对角线、或以圆形或螺旋形图案。b扫描可以在x

z维度上,但是可以是包括z维度的任何横截面图像。
[0094]
在oct血管造影术或功能oct中,分析算法可以应用于在不同时间(例如,群集扫描)在样本上相同或近似相同的样本位置收集的oct数据,以分析运动或流动(参见例如美国专利公开号2005/0171438、2012/0307014、2010/0027857、2012/0277579和美国专利6,549,801,这些专利的全部内容通过引用结合于此)。oct系统可以使用多种oct血管造影处理算法(例如,运动对比算法)中的任何一种来识别血流。例如,运动对比算法可以应用于从图像数据导出的强度信息(基于强度的算法)、从图像数据导出的相位信息(基于相位的算法)或复杂图像数据(基于复杂的算法)。正面图像是3d oct数据的2d投影(例如,通过平均每个单独的a扫描的强度,使得每个a扫描定义2d投影中的像素)。类似地,正面脉管系统图像是显示运动对比信号的图像,其中,对应于深度(例如,沿着a扫描的z方向)的数据维度被显示为单个代表值(例如,2d投影图像中的像素),通常通过对数据的全部或孤立部分求和或积分来显示(例如,参见美国专利号7,301,644,其全部内容通过引用结合于此)。提供血管造影成像功能的oct系统可以称为oct血管造影(octa)系统。
[0095]
图23示出正面脉管系统图像130的示例。在使用本领域已知的任何运动对比技术处理数据以突出运动对比之后,对应于距视网膜中的内部限制膜(ilm)表面的给定组织深度的像素范围可以求和,以生成脉管系统的正面(例如,正面视图)图像130。
[0096]
本文讨论的oct系统可以提供2d(即横截面)图像、正面图像、3d图像、与健康状况相关的度量等。该系统可以与任何其他系统一起使用。例如,oct系统可以与外科系统或外科显微镜系统一起使用,用于诊断或治疗目的。oct系统可用于分析任何样本。例如,oct系统可以用于任何类型的生命形式和无生命物体的分析,例如,图像的形成。生命形式的示例可以是动物、植物、细胞等。
[0097]
虽然oct和octa可以提供非常好的图像,但其可能仍然容易受到图像伪影的影响,这可能会影响临床医生查看图像的信心。例如,临床医生可能会将图像伪影与真实的物理结构混淆。因此,图像伪影可能引入虚构的结构或模糊真实的物理结构,这两者都可能降低图像的诊断功效。因此,提供一种用于改善所收集的扫描图像的图像质量的方法是有益的。一种提高图像质量并去除一些图像伪影的方法是收集样本的相同区域的多个(例如,4到10个)图像/扫描,识别所收集的图像中的共同特征,基于其所识别的共同特征将所收集的图像配准在一起(例如,对齐),并对所配准的图像进行平均。因为真实结构可能出现在所有收集的图像中的相似位置,而相同的图像伪影不太可能出现在所有图像中的相同位置,所以对收集的图像进行平均具有降低一些图像伪影的可见性的效果,同时增强真实结构的存在。然而,这种方法有一些困难。例如,收集大量图像(例如,4到10个)可能会显著延长获取必要图像所需的时间,这引入了患者舒适度的问题和由于眼球运动而导致的潜在误差。其次,错误概率的增加可能导致图像伪影的增加,这可能使所收集图像中共同特征的识别和
配准复杂化。即,为了平均而收集的图像越多,获得良好的平均化的图像就越困难。当试图平均聚类图像时,这些困难变得更加复杂,因为每个聚类图像由多个单独的扫描组成。
[0098]
示例自适应光学器件光学相干断层扫描(ao

oct)系统
[0099]
产生改进图像(例如,oct或octa图像)的另一种方法是使用自适应光学器件。眼睛的光学器件及其对准不是完美的,这导致光线进入(或离开)偏离期望的路径的眼睛。这些偏差(例如,光学像差)可能会模糊眼科成像系统拍摄的图像。自适应光学器件(ao)通过降低光学像差的影响来改善光学系统的性能。例如,自适应光学器件可以与oct/octa相结合,以形成具有改善的图像质量的ao

oct系统。
[0100]
图24示出了由ao子系统和oct/octa子系统组成的示例性ao

oct系统200。类似于图22的oct/octa子系统的所有元件具有类似的附图标记,并且如上所述。在本示例中,oct/octa子系统包括oct光源101,其光束(以虚线示出)被反射器(例如,反射镜)111朝向分束器202折叠,分束器202将光束分束到包括反向反射器104的参考臂和包括通向样本(例如,眼睛)110的扫描仪107的样本臂上。以这种方式,来自oct光源101的光束可以在要成像的眼睛101的目标区域上横向(在x和y方向)扫描。从眼睛101返回的收集的样本光通过分束器202与从回射器104返回的参考光组合,以在oct光检测器120中形成光干涉,其输出由处理器121处理并转换成深度信息。像以前一样,深度信息可以存储在与处理器121相关联的存储器中和/或显示在显示器122上。
[0101]
ao子系统可以具有自己的ao光源201(例如,激光或超发光二极管sld),其光束(图示为点划线)被反射器211折叠到oct光源101的光路上,朝向分束器202。来自ao光源201的光沿着与oct子系统相同的光路从分束器202到达眼睛110,在眼睛110处被眼睛的光学器件聚焦到视网膜上的一个点。如果眼睛是完美的光学系统,则从眼睛反射的波前将是完全平坦的,但是由于眼睛不是完美的,返回的波前不是平坦的,并且倾向于具有光学像差,例如,不规则的弯曲形状。由于oa子系统与oct/octa子系统共享一条共同的光路,因此在oct/octa子系统扫描眼睛之前,ao子系统可以观察并校正共享光路中的光学像差。
[0102]
从眼睛反射的返回ao光穿过分束器202到达波前校正器205,例如,可配置为补偿像差的可失真反射镜。在反射器207的引导下,公共光路从波前校正器205向分束器209延伸。在分束器209处,oct/octa子系统和ao子系统的光路分叉。分束器209将收集的样本光(来自眼睛110)和参考光(来自回射器104)传递到oct光检测器120,并将返回的ao光折叠到波前传感器210上,波前传感器210测量/监测眼睛110的光学像差。波前传感器210可以由小透镜阵列215(例如,微小透镜阵列)和ao光检测器213(例如,光电检测器)组成。
[0103]
小透镜阵列215位于眼睛瞳孔的共轭平面处,使得小透镜平面处的波前形状与眼睛瞳孔处的波前形状匹配。小透镜阵列根据波前形状在ao光检测器213上产生光斑图像阵列。处理器121或另一未示出的计算系统可以用作ao子系统的控制系统,并检查来自波前传感器210的波前信息,以确定波前校正器205的校正配置。对于完美的眼睛,小透镜阵列215将在ao光检测器213上产生完美规则的光斑阵列,但是光学像差使这些光斑失真和移位。根据观察到的光斑失真和位移,处理器121可以确定从眼睛110出现的波前的形状,从而确定波前校正器205的补偿形状,以校正(例如,减少)观察到的像差。即,来自眼睛110的波前由波前传感器210接收,波前传感器210测量眼睛的波像差,并且处理器121发送控制信号到波前校正器205,以将其反射表面配置成计算的形状,以补偿观察到的像差。波前校正器205、
波前传感器210和处理器121因此形成反馈系统,其中,观察到的光学像差随着每次反馈迭代而减小(例如,至少达到衍射极限)。一旦观察到的光学像差已经充分减小(例如,减小到预定阈值之内),激活oct/octa子系统,并且眼睛以大大提高的分辨率(例如,横向分辨率)被扫描(或成像)。
[0104]
总之,ao子系统识别并校正共享光路中的光学像差,但不提供视网膜成像/扫描功能。相反,一旦ao子系统校正了共享光路中的光学像差,oct/octa子系统就提供了视网膜成像/扫描功能。ao

oct的缺点是增加了ao子系统的成本和复杂性,但受益于横向分辨率的提高、散斑尺寸的减小(颗粒伪影)和对弱反射的灵敏度的提高,这可能会提高视网膜中微观结构的可视化和检测。ao

oct系统的另一缺点是,由于ao子系统的专用光学器件,可获得的扫描/图像的尺寸比用更传统的oct/octa系统可获得的尺寸小得多,如上所述。为了获得与更传统的oct/octa系统相当大小的oct图像,需要在不同重叠位置捕获多个oct图像并一起拼贴,这增加了总扫描时间。此外,观察和校正光学像差所需的时间增加了单个oct/octa扫描序列的时间要求。因此,ao

oct系统比传统的oct/octa系统更复杂、更慢,并且具有非常有限的视场,所有这些都使得商业上成功的ao

oct系统的生产变得复杂。
[0105]
神经网络
[0106]
神经网络或神经网是由相互连接的神经元组成的(节点)网络,其中,每个神经元代表网络中的节点。神经元组可以分层排列,在多层感知器(mlp)排列中,一层的输出向前馈送到下一层。mlp可以理解为将一组输入数据映射到一组输出数据上的前馈神经网络模型。
[0107]
图25示出了多层感知器(mlp)神经网络的示例。其结构可以包括多个隐藏(例如,内部)层hl1至hln,其将输入层inl(接收一组输入(或矢量输入)in_1至in_3)映射到输出层outl,输出层outl产生一组输出(或矢量输出),例如,out_1和out_2。每一层可以具有任何给定数量的节点,这些节点在本文被示意性地示为每一层内的圆圈。在本示例中,第一隐藏层hl1有两个节点,而隐藏层hl2、hl3和hln各有三个节点。一般来说,mlp越深(例如,mlp的隐藏层数越多),它的学习能力就越强。输入层inl接收矢量输入(示意性地显示为由in_1、in_2和in_3组成的三维矢量),并且可以将接收到的矢量输入应用于隐藏层序列中的第一隐藏层hl1。输出层outl接收来自多层模型中最后一个隐藏层(例如,hln)的输出,处理其输入,并产生矢量输出结果(示例性地显示为由out_1和out_2组成的二维矢量)。
[0108]
典型地,每个神经元(或节点)产生单个输出,该输出被前馈到紧随其后的层中的神经元。但是隐藏层中的每个神经元可以接收来自输入层或者来自紧接在前的隐藏层中的神经元的输出的多个输入。通常,每个节点可以对其输入应用函数,来产生该节点的输出。隐藏层(例如,学习层)中的节点可以将相同的函数应用于其各自的输入,以产生其各自的输出。然而,一些节点(例如,输入层inl中的节点)仅接收一个输入,并且可以是被动的,这意味着其简单地将其单个输入的值中继到其输出,例如,将其输入的副本提供给其输出,如输入层inl的节点内的虚线箭头所示。
[0109]
出于说明的目的,图26示出了由输入层inl'、隐藏层hl1'和输出层outl'组成的简化神经网络。输入层inl'被示为具有两个输入节点i1和i2,其分别接收输入input_1和input_2(例如,层inl'的输入节点接收二维输入向量)。输入层inl'前馈到具有两个节点h1和h2的一个隐藏层hl1',隐藏层hl1'又前馈到两个节点o1和o2的输出层outl'。神经元之间
的互连或链接(图示为实线箭头)具有权重w1至w8。典型地,除了输入层,节点(神经元)可以接收其紧邻的前一层中的节点的输出,作为输入。每个节点可以通过将其每个输入乘以每个输入的对应互连权重,对其输入的乘积求和,加上(或乘以)由可能与该特定节点相关联的另一权重或偏差(例如,分别对应于节点h1、h2、o1和o2的节点权重(或偏差)w9、w10、w11、w12)定义的常数,然后对结果应用非线性函数或对数函数,来计算其输出。非线性函数可以称为激活函数或传递函数。多种激活功能在本领域中是已知的,并且特定激活功能的选择对于本讨论并不重要。然而,要注意的是,ml模型的操作或神经网的行为取决于权值,可以学习权值,使得神经网络为给定的输入提供期望的输出。
[0110]
在训练或学习阶段,神经网学习(例如,被训练,以确定)适当的权重值,以实现给定输入的期望输出。在训练神经网之前,每个权重可以被单独分配一个初始(例如,随机的和可选的非零)值,例如,随机数种子。分配初始权重的各种方法在本领域中是已知的。然后,训练(优化)权重,使得对于给定的训练向量输入,神经网络产生接近期望(预定)训练向量输出的输出。例如,可以通过称为反向传播的技术,在数千个迭代(训练)周期中递增地调整权重。在反向传播的每个周期中,训练输入(例如,矢量输入或训练输入图像/样本)通过神经网络被前馈,以确定其实际输出(例如,矢量输出)。然后,基于实际神经元输出和该神经元的目标训练输出(例如,对应于当前训练输入图像/样本的训练输出图像/样本),计算每个输出神经元或输出节点的误差(例如,训练周期误差或损失误差)。然后,通过神经网络传播回来(在从输出层回到输入层的方向上),基于每个权重对总误差的影响程度来更新权重,使得神经网络的输出更接近期望的训练输出。然后重复该循环,直到神经网络的实际输出在给定训练输入的期望训练输出的可接受误差范围内。可以理解,每个训练输入在达到期望的误差范围之前可能需要多次反向传播迭代。典型地,历元是指所有训练样本的一次反向传播迭代(例如,一次正向传递和一次反向传递),使得训练神经网络可能需要许多历元。一般来说,训练集越大,训练的ml模型的性能越好,因此可以使用各种数据增强方法来增加训练集的大小。例如,当训练集包括成对的对应训练输入图像和训练输出图像时,训练图像可以被分成多个对应的图像片段(或块)。来自训练输入图像和训练输出图像的对应块可以配对,以从一个输入/输出图像对定义多个训练块对,这扩大了训练集。然而,在大型训练集上的训练对计算资源(例如,内存和数据处理资源)提出了很高的要求。可以通过将大的训练集分成多个小批量来减少计算需求,其中,小批量大小定义了一次向前/向后传递中训练样本的数量。在这种情况下,一个历元可以包括多个小批量。另一问题是nn过度拟合训练集的可能性,从而降低了nn从训练输入推广到以前看不到的实时输入的能力。过度拟合的问题可以通过创建神经网络的集合或通过在训练期间随机丢弃神经网络中的节点来减轻,这有效地从神经网络中移除了丢弃的节点。现有技术中已知各种丢弃调节方法,例如,反向丢弃。
[0111]
应当注意,经训练的nn机器模型的操作不是操作/分析步骤的直接算法。事实上,当经训练的nn机器模型接收到一个输入时,并不在传统意义上分析这个输入。相反,不管输入的主题或性质如何(例如,定义实时图像/扫描的向量或定义某个其他实体的向量,例如,人口统计描述或活动记录),输入都将经受训练的神经网络的相同预定义架构构造(例如,相同的节点/层布置、训练权重和偏差值、预定义卷积/去卷积运算、激活函数、池化操作等),并且可能不清楚经过训练的网络的架构构造如何产生其输出。此外,训练的权重和偏
差的值不是确定性的,并且取决于许多因素,例如,给神经网络提供训练的时间量(例如,训练中的历元数)、训练开始前权重的随机起始值、训练nn的机器的计算机架构、训练样本的选择、训练样本在多个小批量中的分布、激活函数的选择、误差函数的选择,其修改权重,即使训练在一台机器(例如,具有第一计算机架构)上被中断而在另一台机器(例如,具有不同的计算机架构)上完成。重点是,为什么训练的ml模型达到某些输出的原因还不清楚,目前正在进行大量的研究,试图确定ml模型输出所基于的因素。因此,神经网络对实时数据的处理不能简化为简单的算法步骤。相反,其操作依赖于其训练架构、训练样本集、训练序列以及ml模型训练中的各种情况。
[0112]
总之,nn机器学习模型的构建可以包括学习(或训练)阶段和分类(或操作)阶段。在学习阶段,可以为特定目的训练神经网络,并且可以向神经网络提供一组训练示例,包括训练(样本)输入和训练(样本)输出,并且可选地包括一组验证示例,以测试训练的进度。在这个学习过程中,递增地调整与神经网络中的节点和节点互连相关联的各种权重,以便减少神经网络的实际输出和期望的训练输出之间的误差。以这种方式,可以使多层前馈神经网络能够将任何可测量的函数近似到任何期望的精度。学习阶段的结果是已经被学习(例如,训练)的(神经网络)机器学习(ml)模型。在操作阶段,一组测试输入(或实时输入)可以被提交给所学习的(训练的)ml模型,该模型可以应用它所学习的来基于测试输入产生输出预测。
[0113]
像前面讨论的神经网络一样,卷积神经网络(cnn)也是由具有可学习权重和偏差的神经元组成的。每个神经元接收输入,执行运算(例如,点积),并可选地跟随非线性。然而,cnn可以在一端(例如,输入端)接收原始图像像素,并在另一端(例如,输出端)提供分类(或类别)分数。因为cnn期望图像作为输入,所以其针对处理体积(例如,图像的像素高度和宽度,加上图像的深度,例如,颜色深度,例如,由三种颜色定义的rgb深度:红色、绿色和蓝色)进行了优化。例如,cnn的层可以针对三维排列的神经元进行优化。cnn层中的神经元也可能连接到该层之前的一个小区域,而不是完全连接的nn中的所有神经元。cnn的最终输出层可以将完整的图像简化为沿着深度维度排列的单个向量(分类)。
[0114]
图27提供了示例卷积nn架构。卷积nn可以被定义为两层或更多层(例如,层1到层n)的序列,其中,层可以包括(图像)卷积步骤、(结果的)加权和步骤以及非线性函数步骤。可以通过例如在输入数据上的移动窗口上应用滤波器(或核)来对输入数据(例如,对层的输入)执行卷积,以产生特征图。每个层和层的组件可以具有不同的预定滤波器(来自滤波器组)、权重(或加权参数)和/或函数参数。输入数据可以是给定像素高度和宽度的图像,其可以是图像的原始像素值。在本示例中,输入图像被示为具有三个颜色通道rgb(红色、绿色和蓝色)的深度。可选地,输入图像可以经历各种预处理,并且预处理结果可以代替原始输入图像或者除了原始输入图像之外被输入。图像预处理的一些示例可以包括:视网膜血管图分割、颜色空间转换、自适应直方图均衡化、连通分量生成等。在一个层中,可以计算给定权重和输入体积中其所连接的小区域之间的点积。配置cnn的许多方式在本领域中是已知的,但是作为一个示例,层可以被配置为应用元素激活函数,例如,在零处的最大(0,x)阈值。可以执行池化功能(例如,沿着x

y方向)来对体积进行下采样。
[0115]
已经发现这种架构对于图像识别和分类是有用的。例如,完全连接的cnn(例如,具有完全连接的层的cnn)可以用于确定分类输出,并产生一维输出向量,该一维输出向量提
供指示特定类别的对象出现在输入图像中的概率的权重。然而,对于图像分割,一维向量是不够的,并且从一维输出向量输出的每个分类需要被映射回原始输入图像(例如,在逐像素的基础上),以将输入图像适当地分割成所识别的类别。由于每个cnn层往往会降低输入图像的分辨率,为了实现图像分割,可以增加一个额外的阶段,将图像上采样回其原始分辨率。这可以通过应用转置卷积(或去卷积)阶段tc来实现,该tc通常不使用任何预定义插值方法,而是具有可学习的参数。因此,在训练阶段,tc与cnn的其他部分一起学习。
[0116]
卷积神经网络已成功应用于许多计算机视觉问题,但cnn通常有数百万个自由参数需要训练,因此训练这些网络通常需要大型(基础真实)标记数据集。u

net架构基于cnn,通常可以在比传统cnn更小的训练数据集上进行训练。
[0117]
图28示出了一个示例性的u

net架构。本示例性u

net包括输入模块(或输入层或级),其接收任何给定尺寸(例如,尺寸为128
×
128像素)的输入u

in(例如,输入图像或图像块)。输入图像可以是眼底图像、oct/octa正面图像、b扫描图像等。应当理解,输入可以是任何大小和尺寸。例如,输入图像可以是rgb彩色图像、单色图像、体积扫描等。输入图像经历一系列处理层,每个处理层以示例性尺寸示出,但是这些尺寸仅用于说明目的,并且将取决于例如图像的尺寸、卷积滤波器和/或池化级。本架构由收缩路径(此处示例性地包括四个编码模块)、随后是扩展路径(此处示例性地包括四个解码模块)和四个复制和剪切链路(例如,cc1至cc4)组成,复制和剪切链路位于复制收缩路径中一个编码模块的输出并将其级联到扩展路径中对应解码模块的输入的对应模块/级之间。这导致了一个独特的u形,该架构由此得名。收缩路径类似于编码器,其基本功能是经由紧凑的特征图来捕获上下文。在本示例中,收缩路径中的每个编码模块包括两个卷积神经网络层,其后可以是一个最大池化层(例如,下采样层)。例如,输入图像u

in经历两个卷积层,每个卷积层产生32个特征图。收缩路径因此形成由多个编码模块(或级)组成的卷积网络,每个编码模块(或级)提供卷积级,随后是激活函数(例如,经整流的线性单元、relu或sigmoid层)和最大池化操作。扩展路径类似于解码器,其功能是提供定位并保留空间信息,尽管在收缩阶段进行了下采样和任何最大池化。在收缩路径中,空间信息减少,而特征信息增加。扩展路径包括多个解码模块,其中,每个解码模块将其当前值与对应编码模块的输出级联。即,特征和空间信息在扩展路径中通过一系列上卷积(例如,上采样或转置卷积或去卷积)和与来自收缩路径的高分辨率特征的级联(例如,经由cc1至cc4)而组合。因此,去卷积层的输出与来自收缩路径的对应(可选裁剪的)特征图连接,随后是两个卷积层和激活函数(可选批量归一化)。来自扩展路径中最后一个模块的输出可以被馈送到另一处理/训练块或层(未示出),例如,分类器块,其可以与u

net架构一起被训练。收缩路径和扩展路径之间的模块/级(bn)可以被称为“瓶颈”,可以由两个卷积层组成(具有批量标准化和可选的丢弃)。
[0118]
计算装置/系统
[0119]
图29示出了示例计算机系统(或计算装置或计算机装置)。在一些实施例中,一个或多个计算机系统可以提供本文描述或示出的功能和/或执行本文描述或示出的一个或多个方法的一个或多个步骤。计算机系统可以采取任何合适的物理形式。例如,计算机系统可以是嵌入式计算机系统、片上系统(soc)、单板计算机系统(sbc)(例如,模块上计算机(com)或模块上系统(som))、台式计算机系统、膝上型或笔记本计算机系统、计算机系统网格、移动电话、个人数字助理(pda)、服务器、平板计算机系统、增强/虚拟现实装置或这些中的两
个或多个的组合。在适当的情况下,计算机系统可以驻留在云中,云可以包括一个或多个网络中的一个或多个云组件。
[0120]
在一些实施例中,计算机系统可以包括处理器cmp1、存储设备cmp2、存储器cmp3、输入/输出(i/o)接口cmp4、通信接口cmp5和总线cmp6。计算机系统还可以可选地包括显示器cmp7,例如,计算机监视器或屏幕。
[0121]
处理器cmp1包括用于执行指令的硬件,例如,那些组成计算机程序的指令。例如,处理器cmp1可以是中央处理单元(cpu)或图形处理单元(gpgpu)上的通用计算。处理器cmp1可以从内部寄存器、内部高速缓存、存储设备cmp2或存储器cmp3检索(或获取)指令,解码并执行指令,并将一个或多个结果写入内部寄存器、内部高速缓存、存储设备cmp2或存储器cmp3。在特定实施例中,处理器cmp1可以包括一个或多个用于数据、指令或地址的内部高速缓存。处理器cmp1可以包括一个或多个指令高速缓存、一个或多个数据高速缓存,例如,用于保存数据表。指令高速缓存中的指令可以是存储设备cmp2或存储器cmp3中的指令的副本,并且指令高速缓存可以加速处理器cmp1对那些指令的检索。处理器cmp1可以包括任何合适数量的内部寄存器,并且可以包括一个或多个算术逻辑单元(alu)。处理器cmp1可以是多核处理器;或者包括一个或多个处理器cmp1。尽管本公开描述并示出了特定的处理器,但是本公开考虑了任何合适的处理器。
[0122]
存储设备cmp2可以包括主存储器,用于存储处理器cmp1在处理期间执行或保存临时数据的指令。例如,计算机系统可以将指令或数据(例如,数据表)从存储器cmp3或从另一源(例如,另一计算机系统)加载到存储设备cmp2。处理器cmp1可以将指令和数据从存储设备cmp2加载到一个或多个内部寄存器或内部高速缓存。为了执行指令,处理器cmp1可以从内部寄存器或内部高速缓存中检索和解码指令。在指令执行期间或之后,处理器cmp1可以将一个或多个结果(可以是中间或最终结果)写入内部寄存器、内部高速缓存、存储设备cmp2或存储器cmp3。总线cmp6可以包括一条或多条存储器总线(每条总线可以包括地址总线和数据总线),并且可以将处理器cmp1耦合到存储设备cmp2和/或存储器cmp3。可选地,一个或多个存储器管理单元(mmu)促进处理器cmp1和存储设备cmp2之间数据传输。存储设备cmp2(可以是快速易失性存储器)可以包括随机存取存储器,例如,动态ram(dram)或静态ram(sram)。存储器cmp3可以包括数据或指令的长期或大容量存储器。存储器cmp3可以在计算机系统的内部或外部,并且包括磁盘驱动器(例如,硬盘驱动器hdd或固态驱动器ssd)、闪存、rom、eprom、光盘、磁光盘、磁带、通用串行总线(usb)可访问驱动器或其他类型的非易失性存储器中的一个或多个。
[0123]
i/o接口cmp4可以是软件、硬件或两者的组合,并且包括用于与i/o装置通信的一个或多个接口(例如,串行或并行通信端口),这可以实现与人(例如,用户)的通信。例如,i/o装置可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态相机、指示笔、平板电脑、触摸屏、轨迹球、摄像机、另一合适的i/o装置或这些装置中的两个或多个的组合。
[0124]
通信接口cmp5可以为与其他系统或网络的通信提供网络接口。通信接口cmp5可以包括蓝牙接口或其他类型的基于分组的通信。例如,通信接口cmp5可以包括用于与无线网络通信的网络接口控制器(nic)和/或无线nic或无线适配器。通信接口cmp5可以提供与wifi网络、自组织网络、个人区域网(pan)、无线pan(例如,蓝牙wpan)、局域网(lan)、广域网
(wan)、城域网(man)、蜂窝电话网络(例如,全球移动通信系统(gsm)网络)、互联网或这些网络中的两个或多个的组合的通信。
[0125]
总线cmp6可以在计算系统的上述组件之间提供通信链路。例如,总线cmp6可以包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、infiniband总线、低引脚数(lpc)总线、存储器总线、微通道架构(mca)总线、外围组件互连(pci)总线、pci

express(pcie)总线、串行高级技术附件(sata)总线、视频电子标准协会本地(vlb)总线或这些总线中的两个或多个的组合的其他合适的总线。
[0126]
尽管本公开描述并示出了在特定布置中具有特定数量的特定组件的特定计算机系统,但是本公开设想了在任何合适的布置中具有任何合适数量的任何合适组件的任何合适的计算机系统。
[0127]
在本文中,在适当的情况下,计算机可读的非暂时性存储介质可以包括一个或多个基于半导体的或其他集成电路(ic)(例如,现场可编程门阵列(fpga)或专用ic(asic))、硬盘驱动器(hdd)、混合硬盘驱动器(hhd)、光盘、光盘驱动器(odd)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(fdd)、磁带、固态驱动器(ssd)、ram驱动器、secure digital卡或驱动器、任何其他合适的计算机可读非暂时性存储介质或者这些介质中的两个或多个的任何合适的组合。计算机可读非暂时性存储介质可以是易失性的、非易失性的或者易失性和非易失性的组合。
[0128]
虽然已经结合几个具体实施例描述了本发明,但是对于本领域技术人员来说,很明显,根据前面的描述,许多进一步的替换、修改和变化将是显而易见的。因此,在本文描述的本发明旨在包括所有可能落入所附权利要求的精神和范围内的替换、修改、应用和变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1