首页> 中国专利> 用于推理、高级处理和机器学习应用程序的虚拟化计算平台

用于推理、高级处理和机器学习应用程序的虚拟化计算平台

摘要

在各种示例中,可以提供用于高级计算操作的虚拟化计算平台,高级计算操作包括图像重建、分割、处理、分析、可视化和深度学习。该平台可以通过选择、组织和调整用于局部的、本地实现的任务容器的构造来允许推理管线定制。在任务容器内,为了特定于位置的实现可以利用并更新非本地生成的机器学习模型,以执行图像处理操作。因此使用虚拟化计算平台,诸如医院和诊所的设施可以在生产环境中更无缝地训练、部署和集成机器学习模型,以向从业者提供信息丰富且可操作的医学信息。

著录项

说明书

背景技术

纵观近期历史,成像操作已成为众多行业研究和诊断不可或缺的组成部分,其中医疗保健和医学研究就属于其中。医学成像设备-例如计算机断层扫描(CT)扫描仪,正电子发射技术(PET)扫描仪,核成像仪,X射线仪,超声仪和磁共振成像(MRI)仪-被广泛用于医疗辅助专业人士和数据科学家在可视化受试者的解剖结构以识别异常,确定诊断以及研究器官功能和疾病。设备齐全的现代医院和实验室可以在内部部署任意数量的此类医学成像设备。随着计算技术尤其是图形处理技术的进步,图形处理单元(GPU)越来越多地用于医学成像设备,以改进它们的性能和功能。

尽管技术取得了这些进步,但是仍然需要医疗保健或医疗从业人员进行准确的诊断-通常依赖于每个从业者的感知、理解和特定经验。在某些情况下,机器学习(例如,使用深度神经网络(DNN))已用于捕获本地从业人员的这些感知,以在医学成像领域中执行分类、分割和对象检测任务。但是,构建、训练、部署和执行机器学习来执行这些任务是非常复杂和困难的,通常需要对计算基础架构进行大规模且昂贵的升级。结果,在医院场所部署可能是非常昂贵或费时的。此外,由于各种机器学习任务(例如,分类,分割,重建等)可能是每个医院的不同团队的责任,因此各种任务之间的协作和集成可能会增加本地部署的复杂性。

而且,用于医学成像设备的计算能力通常在设备可用于装运之前就已经封顶了几年。因此,医院使用的技术通常已经过时了至少几年,在实际可用的尖端医学成像技术与诊所和医院中医学成像设备的当前安装基础之间造成了延迟或差距。由于创建并部署了机器学习模型的编程和训练以用于已经过时的医学成像设备,因此这种延迟或差距会延续到医院的机器学习能力。结果,随着更精确的成像技术和设备的开发,除了更优化和信息量更大的机器学习模型之外,医院还受到其当前医学成像设备技术的限制,从而降低了医院提供最准确以及对患者的有益诊断和治疗的成像技术的能力。

发明内容

本公开的实施例涉及用于推理、高级处理和机器学习的虚拟化计算平台。公开了通过选择、组织和/或适用于局部、本地实现的容器托管应用程序来允许定制的推理或处理管线的系统和方法。在实施例中,可以利用和更新可以在第一设施处训练、更新和/或生成的机器学习模型,以用于特定位置的实现方式以在第二不同设施处执行图像处理和/或推理操作。

与诸如上述的常规系统相反,本公开的系统在最小化本地计算基础设施要求的复杂性的同时加速了推理、成像操作和信息学。例如,可以不断采用适应技术新进步的虚拟计算平台,通过高级诊断和研究来改善患者护理水平。该系统允许在推理和/或图像部署管线中选择、组织和部署容器(托管应用程序的实例)。管线可以被配置用于接收(例如,医学)成像数据,处理数据以及将有意义的和有益的结果输出给从业者。这样,因为管线可以是动态可定制的,所以成像设备、放射学设备、基因测序设备、基因组学设备和/或处理设备的输出可以由虚拟化平台内的最新的最先进的技术所使用,与传统方法相比,以提供准确而有效的结果,同时减少了本地部署的负担。

另外,在各种容器中,机器学习模型可以被部署用于图像推理和训练。与常规系统相比,可以从现有机器学习模型的远程数据库中选择部署的机器学习模型。当这些现有的机器学习模型在各个位置部署和更新时,可以使用众包方法生成更通用的机器学习模型,以简化和加快跨位置的部署。通过在各种位置处本地训练和/或更新机器学习模型,病例的保密性(根据州和联邦法律和法规(例如《健康保险携带与责任法案》(HIPAA))处理和使用患者信息)可以维护,同时可以生成更稳健和准确的机器学习模型。此外,通过提供现有的机器学习模型,可以大大减少局部、本地创建、训练和部署机器学习模型所需的计算资源、费用和时间,并且可以针对它们各自的应用程序更好地优化所得的模型。

附图说明

下面参考附图详细描述用于医学应用程序中的图像推理的虚拟化计算平台的当前系统和方法,其中:

图1是根据本公开的一些实施例的用于高级计算管线的示例数据流程图;

图2是根据本公开的一些实施例的用于在高级计算管线中训练、调整、实例化和部署机器学习模型的示例系统的系统图;

图3包括根据本公开的一些实施例的用于处理成像数据的高级计算管线210A的示例说明;

图4A包括根据本公开的一些实施例的支持超声设备的虚拟仪器的示例数据流程图;

图4B包括根据本公开的一些实施例的支持CT扫描仪的虚拟仪器的示例数据流程图;

图5是示出根据本公开的一些实施例的用于部署高级计算管线的方法的流程图;

图6A示出了根据本公开的一些实施例的用于训练机器学习模型的过程的数据流程图。

图6B是根据本公开的一些实施例的用于人工智能辅助注释的图形用户界面的示例说明;

图6C是根据本公开的一些实施例的利用预训练的注释模型来增强注释工具的客户端-服务器架构的示例说明;

图7是示出根据本公开的一些实施例的用于使用转移学习来训练机器学习模型以在高级计算管线中进行部署的方法700的流程图;以及

图8是适合用于实现本公开的一些实施例的示例计算设备的框图。

具体实施方式

公开了系统和方法,其涉及用于高级计算的虚拟化计算平台,诸如医疗应用中的图像推理和图像处理。没有限制,在本公开的系统内使用的医学成像模式可以包括放射线照相、磁共振成像(MRI)、核医学、超声、超声检查、弹性成像、光声成像、断层扫描、超声心动图、功能近红外光谱和磁性粒子成像,或任何这些模式的组合。尽管本文主要针对医学成像操作进行了描述,本文所述的虚拟化计算平台和相关过程可以附加地或替代地用于但不限于法医科学分析、地下探测和成像(例如,石油勘探,考古,古生物学等)、地形、海洋学、地质学、骨病学、气象学、智能区域或对象追踪和监视,传感器数据处理(例如RADAR,SONAR,LIDAR等)和/或基因组学和基因测序中。

参考图1,图1是根据本公开的一些实施例的用于生成和部署图像处理和推理管线的过程100的示例数据流程图。处理100可以被部署以与成像设备、处理设备、基因组设备、基因测序设备、放射学设备和/或一个或更多个设施102处的其他设备类型一起使用,例如医疗设施、医院、医疗机构、诊所、研究或诊断实验室等等。可选地或替代地,过程以被部署以对测序数据执行基因组分析和推理。可以使用本文所述的系统和过程进行的基因组分析的实例包括但不限于变体调用、突变检测和基因表达定量。过程100可以在训练系统104和/或部署系统106内执行。训练系统104可以用于执行机器学习模型(例如,神经网络,对象检测算法,计算机视觉算法等)的训练、部署和实现,以供在部署系统106中使用。部署系统106可配置为在分布式计算环境中卸载处理和计算资源,以减少设施102的基础架构要求。此外,部署系统106可以提供简化的平台,用于选择、定制和实现与设施102处的成像设备(例如,MRI,CT扫描,X射线,超声等)或测序设备一起使用的虚拟仪器。虚拟仪器可以包括软件定义的应用程序,用于执行关于成像数据的一个或更多个处理操作,所示成像数据由成像设备、测序设备、放射学设备和/或其他设备类型生成。管线中的一个或更多个应用程序可以在应用程序的执行期间使用或调用部署系统106的服务(例如,推理,可视化,计算,AI等)。这样,因为服务和/或应用可以由部署系统106预先定义,所以当在设施102处实施高级处理和推理管线时,可以加快实施过程,并且可以减少基础设施要求,因为可以将至少一些处理资源和计算资源转载到云中,或者转载到专门设计用于处理管线的应用程序和/或服务处理的AI系统。

在一些实施例中,在高级处理和推理管线中使用的一些应用程序可以使用机器学习模型或其他AI来执行一个或更多个处理步骤。可以使用在设施102处生成(并存储在设施102处的一个或更多个图片归档和通信系统(PACS)服务器上)的数据108(例如成像数据)在设施102处训练机器学习模型,可以使用来自另一个或更多个设施(例如,不同的医院,实验室,诊所等)或其组合的成像或测序数据108来训练。在任一示例中,训练系统104可以用于提供应用程序、服务和/或其他资源,以生成用于部署系统106的工作的、可部署的机器学习模型。

模型注册表124可以由可以支持版本控制和对象元数据的对象存储支持。可以通过来自云平台内的云存储(例如,图2的云226)兼容应用程序编程接口(API)来访问对象存储。模型注册表124内的机器学习模型可以由与API交互的系统的开发者或合作伙伴上载、列出、修改或删除。此外,API可以提供对方法的访问,该方法允许具有适当证书的用户将模型与应用程序相关联,使得可以将模型作为应用程序的容器化实例的执行的一部分来执行。

训练管线204(图2)的第一示例可以包括设施102正在训练他们自己的机器学习模型或具有需要被优化或更新的现有机器学习模型的场景。在这样的示例中,可以接收由一个或更多个成像设备、测序设备和/或其他设备类型生成的成像数据108。一旦接收到成像数据108,则AI辅助注释110可用于(例如,如至少关于图6B所描述的)帮助生成与成像数据108相对应的注释,以用作机器学习模型的地面实况数据。AI辅助注释110可以包括一个或更多个机器学习模型(例如,卷积神经网络(CNN)),可以对其进行训练以生成与某些类型的成像数据108(例如,来自某些设备)相对应的注释和/或成像数据108中某些类型的异常。然后可以直接使用AI辅助注释110,或可以使用注释工具(例如,由研究人员,临床医生,医生,科学家等)进行调整或微调,以生成地面实况数据。此外,在一些示例中,标记的临床数据112(例如,由临床医生,医生,科学家,技术人员等提供的注释)可以用作用于训练机器学习模型的地面实况数据。因此,AI辅助注释110、标记的临床数据112或其组合可以用作训练机器学习模型的地面实况数据。经训练的机器学习模型可以被称为输出模型116,并且可以由部署系统106使用,如本文所述。

训练管线204(图2)的第二示例可以包括以下场景:设施102需要机器学习模型以用于为部署系统106中的一个或更多个应用程序执行一个或更多个处理任务,但是设施102当前可能没有这样的机器学习模型(或者可能没有为此目的而优化的、高效的或有效的模型)。在这样的示例中,可以从模型注册表124中选择现有的机器学习模型。例如,模型注册表124可以包括机器学习模型,该机器学习模型被训练为对成像数据执行各种不同的推理任务。可以在来自不同于设施102的设施(例如,位于远程的设施)的成像数据上训练模型注册表124中的机器学习模型。例如,机器学习模型可能已经在来自一个位置、两个位置或任何数量的位置的成像数据上进行训练。在这样的示例中,当在来自特定位置的成像数据上进行训练时,可以在该位置进行训练,或者至少以保护成像数据的机密性或限制成像数据从场外转移的方式进行训练(例如,遵守HIPAA法规,隐私法规等)。因此,一旦在一个位置上训练了模型或部分地训练了模型,就可以将机器学习模型添加到模型注册表124中。在一些实施例中,然后可以在任意数量的其他设施处对机器学习模型进行重新训练或更新,可以在模型注册表124中使用经过重新训练或更新的模型。然后可以从模型注册表124中选择机器学习模型,并称为输出模型116,并且可以在部署系统106中使用以为部署系统的一个或更多个应用程序执行一个或更多个处理任务。

另外,训练管线204(图2)的第三示例,场景可以包括设施102,该设施102需要机器学习模型以用于为部署系统106中的一个或更多个应用程序执行一个或更多个处理任务,但是设施102当前可能没有这样的机器学习模型(或者可能没有为此目的而优化的,高效的或有效的模型)。但是,与上面的第二示例不同,从模型注册表124中选择的机器学习模型可能未针对设施102处生成的成像数据108进行微调或优化。这是由于群体差异,遗传变异,用于训练机器学习的训练数据的稳健性,训练数据异常的多样性和/或训练数据的其他问题。因此,AI辅助注释110可以用于(例如,如至少关于图6B所描述的)帮助生成与成像数据108相对应的注释,以用作用于重新训练或更新机器学习模型的地面实况数据。此外,在一些示例中,标记的临床数据112(例如,由临床医生,医生,科学家等提供的注释)可以用作训练机器学习模型的地面实况数据。重新训练或更新机器学习模型的过程可以称为模型训练114。因此,模型训练114-例如AI辅助注释110,标记的诊所数据112或它们的组合-可以用作重新训练或更新机器学习模型的地面实况数据。经训练的机器学习模型可以被称为输出模型116,并且可以由部署系统106使用,如本文所述。

部署系统106可以包括软件118,服务120,硬件122和/或其他组件,特征和功能。部署系统106可以包括软件“堆栈”,使得软件118可以建立在服务120的顶部并且可以使用服务120来执行一些或全部处理任务,并且服务120和软件118可以建立在硬件122的顶部,并使用硬件122执行部署系统106的处理、存储和/或其他计算任务。软件118可以包括任意数量的不同容器,其中每个容器可以执行应用程序的实例化。应用程序的每一个可以在高级处理和推理管线中执行一个或更多个处理任务(例如,推理,对象检测,特征检测,分割,图像增强,校准等)。照此、对于每种类型的成像设备(例如,CT,MRI,X射线,超声,超声检查,超声心动图等)、测序设备、放射线学设备、基因组学设备等,可以有任何数量的容器,所述容器可以相对于由设备生成的成像数据108(或其他数据类型,例如本文描述的那些数据)执行数据处理任务。除了接收和配置供每个容器和/或供设施102在通过管线处理后使用的成像数据(例如,用于在设施102处进行存储和显示的将输出转换回可用的数据类型,例如医学数字成像和通信(DICOM)数据,放射线信息系统(RIS)数据,临床信息系统(CIS))数据,远程过程调用(RPC)数据,基本符合表示状态传输(REST)接口的数据,基本符合基于文件的接口的数据和/或原始数据)之外,还可以基于处理成像数据108所需的不同的容器的选择来定义高级处理和推理管线。对于设备类型,软件118内的容器的组合(例如,构成管线的容器)可以被称为虚拟仪器(如本文中更详细地描述),并且虚拟仪器可以利用服务120和硬件122,以执行在容器中实例化的应用程序的部分或全部处理任务。

数据处理管线可以响应于推理请求(例如,来自部署系统108的用户(例如临床医生,医生,放射线医生等)的请求)而以DICOM,RIS,CIS,REST兼容,RPC,原始和/或其他格式接收输入数据(例如,成像数据108)。输入数据可以代表由一个或更多个成像设备、测序设备、放射学设备、基因组学设备和/或其他设备类型生成的一个或更多个图像、视频和/或其他数据表示。在一些示例中,数据可以作为数据处理管线的部分进行预处理,以准备数据以供一个或更多个应用程序处理。此外,可以对管线的一个或更多个推理任务或其他处理任务的输出执行后处理,以准备用于下一应用程序的输出数据和/或准备用于传输和/或由用户使用的输出数据(例如,作为对推理请求的响应)。推理任务可以由一个或更多个机器学习模型来执行,例如训练或部署的神经网络,其可以包括训练系统104的输出模型116。

数据处理管线的任务可以封装在一个或更多个容器中,每个容器表示能够引用机器学习模型的应用程序和虚拟化计算环境的离散的、全功能的实例。因此,容器或应用程序可以被发布到容器注册表的私有(例如,有限访问)区域中(在此更详细地描述),并且训练或部署的模型可以被存储在模型注册表124中并与一个或更多的应用程序相关联。例如,应用程序的图像(例如,容器图像)可以在容器注册表中可用,并且一旦被用户从容器注册表中选择以部署在管线中,则可以使用图像来生成由用户系统使用的应用程序的实例的容器。

开发人员(例如,软件开发人员,临床医生,医生等)可以开发,发布和存储用于对所提供的数据执行图像处理和/或推理的应用程序(例如,作为容器)。可以使用与系统相关联的软件开发套件(SDK)来执行开发、发布和/或存储(例如,以确保开发的应用程序和/或容器与系统符合或兼容)。可以使用SDK来对开发的应用程序进行局部测试(例如,在第一设施处,在来自第一设施的数据上),该SDK可以支持至少某些服务120作为系统(例如,图2的系统200)。因为DICOM对象可以包含一到数百个图像或其他数据类型的任何地方,并且由于数据的变化,所以开发人员可以负责管理(例如,设置构造,将预处理构建为应用程序等)提取和准备传入的DICOM数据。一旦通过系统200的验证(例如,准确性,安全性,患者隐私等),应用程序就可以在容器注册表中可用,由用户(例如,医院,诊所,实验室,医疗保健供应商等)选择和/或实现,以相对于用户的设施(例如第二设施)处的数据执行一个或更多个处理任务。

然后开发人员可以通过网络共享应用程序或容器,以供系统(例如,图2的系统200)的用户访问和使用。一旦共享,可以将完成并经过验证的应用程序或容器存储在容器注册表中,并且可以将相关的机器学习模型存储在模型注册表124中。因此,请求实体(例如,医疗设施中的用户)-提供推理或图像处理请求的人-可以浏览容器注册表和/或模型注册表124用于应用程序、容器、数据集、机器学习模型等,选择所需的元件组合以包含在数据处理管线中,并提交成像处理请求。请求可以包括执行请求所必需的输入数据(以及在一些示例中,与患者相关的数据),和/或可以包括在处理请求时将执行的一个或更多个应用程序和/或机器学习模型的选择。然后可以将请求传递到部署系统106(例如,云)的一个或更多个组件以执行数据处理管线的处理。由部署系统106进行的处理可以包括从容器注册表和/或模型注册表124中引用选择的元件(例如,应用程序,容器,模型等)。一旦由管线生成结果,结果可以返回给用户以供参考(例如,用于在局部、本地工作站或终端上执行的查看应用程序套件中进行查看)。如非限制性示例,放射线医师可以从包括任何数量的应用程序和/或容器的数据处理管线接收结果,其中结果可以包括X射线、CT扫描、MRI等中的异常检测。

为了帮助处理或执行管线中的应用程序或容器,可以利用服务120。服务120可以包括计算服务,人工智能(AI)服务,可视化服务和/或其他服务类型。服务120可以提供软件118中一个或更多个应用所共有的功能,因此可以将功能抽象为可以被应用程序调用或利用的服务。这样做时,由服务120提供的功能可以动态且更有效地运行,同时还通过允许应用程序并行处理数据(例如,使用并行计算平台230(图2))来很好地缩放。例如,不是要求共享服务120所提供的相同功能的每个应用程序具有服务120的相应实例,而是可以在各种应用程序之间共享服务120。作为非限制性示例,服务可以包括可以用于执行检测或分段任务的推理服务器或引擎。可以包括模型训练服务,其可以提供机器学习模型训练和/或重新训练能力。可以进一步包括数据增强服务,该数据增强服务可以提供GPU加速的数据(例如,DICOM,RIS,CIS,REST兼容,RPC,原始等)提取、调整大小、缩放和/或其他增强。可以使用可视化服务,该可视化服务可以添加图像渲染效果-例如,光线追踪、光栅化、去噪、锐化等-以向二维(2D)和/或三维(3D)模型添加真实感。可以包括虚拟仪器服务,该虚拟仪器服务为虚拟仪器的管线内的其他应用程序提供波束形成、分割、推理、成像和/或支持。

作为示例,在服务120包括AI服务(例如,推理服务)的情况下,与用于异常检测(例如,肿瘤,生长异常,瘢痕形成等)的应用程序相关联的一个或更多个机器学习模型可以通过调用(例如,作为API调用)推理服务(例如,推理服务器)执行,以执行一个或更多个机器学习模型或作为应用程序执行的部分来处理。类似地,在另一应用程序包括用于分割任务的一个或更多个机器学习模型的情况下,应用程序可以调用推理服务来执行用于执行与分割任务相关联的一个或更多个处理操作的机器学习模型。因此,可以合理化实现包括分段应用程序和异常检测应用程序的高级处理和推理管线的软件118,因为应用程序的每一个可以调用相同的推理服务来执行一个或更多个推理任务。

硬件122可以包括GPU,CPU,图形卡,AI/深度学习系统(例如,AI超级计算机,例如NVIDIA的DGX),云平台或其组合。例如,可以使用不同类型的硬件122为部署系统106中的软件118和服务120提供有效的,特定目的的支持。例如,可以实现对GPU处理的使用以进行本地处理(例如,在设施102),在AI/深度学习系统中,在云系统中和/或在部署系统106的其他处理组件中,以提高图像处理,图像重建,分割,MRI检查,中风或心脏病发作检测(例如实时),渲染中的图像质量等的效率,准确性和功效。装备精良的设施可包括成像设备,基因组设备,测序设备和/或本地的其他设备类型,可以利用GPU生成代表受试者解剖结构的成像数据。此外,作为非限制性示例,可以针对深度学习,机器学习和/或高性能计算针对GPU处理优化软件118和/或服务120。在一些实施例中,部署系统106和/或训练系统104的计算环境中的至少一些可以在数据中心中利用GPU优化的软件(例如,NVIDIA的DGX系统的硬件和软件的组合)来在一个或更多个超级计算机或高性能计算系统中执行。这些数据中心可以符合HIPAA的规定,使得关于患者数据的隐私的成像数据和/或其他患者数据的接收、处理和传输安全地处理。此外,硬件122可以包括可被调用以并行执行数据处理的任意数量的GPU,如本文所述。云平台还可包括用于GPU优化执行的深度学习任务,机器学习任务或其他计算任务的GPU处理。在一些示例中,可以使用一个或更多个AI/深度学习超级计算机和/或GPU优化的软件(例如,如在NVIDIA的DGX系统上提供的)作为硬件抽象和缩放来执行云平台(例如,NVIDIA的NGC)。因此,云平台可以在多个GPU上集成应用程序容器集群系统或编排系统(例如,KUBERNETES),以实现无缝缩放和负载平衡。

现在参考图2,图2是根据本公开的一些实施例的用于生成和部署成像部署管线的示例系统200的系统图。应当理解,本文描述的这种布置和其他布置仅作为示例阐述。除了或替代所示出的布置或要素之外,可以使用其他布置和要素(例如,机器,界面,功能,命令,功能的分组等),并且可以完全省略一些要素。此外,本文描述的许多元件是功能实体,其可以被实现为离散或分布式组件或与其他组件结合并且以任何合适的组合和位置来实现。本文描述为由实体执行的各种功能可以由硬件,固件和/或软件来执行。例如,各种功能可以由处理器执行存储在存储器中的指令来执行。

系统200可以用于实现图1的过程100和/或其他过程,包括高级处理和推理管线。系统200可以包括训练系统104和部署系统106。尽管图示为软件118的部分,可以使用软件118、服务120和/或硬件122来实现训练系统104和部署系统106,如本文所述。

在一些实施例中,系统200(例如,训练系统104和/或部署系统106)可以在云计算环境中(例如,使用云226)实现。在其它实施例中,系统200可以相对于医疗服务设施在局部实现,或者作为云和局部计算资源的组合来实现。如本文所述,在实现云计算的实施例中,患者数据可以与系统200的一个或更多个组件分离或不被系统200的一个或更多个组件处理,这将导致处理不符合HIPAA和/或其他数据处理和隐私法规或法律。例如,可以通过制定的安全措施或协议将对云226中的API的访问限制为授权用户。安全协议的一个示例可以包括可以由认证服务(例如,AuthN,AuthZ,Gluecon等)签名的网络令牌,并且可以携带适当的授权。此外,虚拟仪器的API(本文所描述的)或系统200的其他实例可以被限制为已经被审核或被授权用于交互的公共IP的集合。

系统200的各个组件可以使用各种不同的网络类型中的任何一种在彼此之间进行通信,包括但不限于经由有线和/或无线通信协议的局域网(LAN)和/或广域网(WAN)。此外,可以通过数据总线,无线数据协议(Wi-Fi),有线数据协议(例如以太网)等进行系统200的设施和组件之间的通信(例如,用于发送推理请求,用于接收推理请求的结果等)。

训练系统104可以执行训练管线204,类似于本文关于图1所描述的那些。例如,其中部署系统106将在部署管线210中使用一个或更多个机器学习模型,训练管线204可用于训练或重新训练一个或更多个(例如,预训练的)模型,和/或实现一个或更多个预训练模型206(例如,无需重新训练或更新)。作为训练管线204的结果,可以生成一个或更多个输出模型116。训练管线204可以包括任何数量的处理步骤,例如但不限于成像数据(或其他输入数据)的转换或适配(例如,使用DICOM适配器202A将DICOM图像转换为适合于通过相应的机器学习模型处理的另一种格式,例如神经影像信息技术倡议(NIfTI)格式),AI辅助注释110,成像数据的标记或注释108以生成标记的临床数据112,从模型注册表中选择模型、模型训练114、训练、重新训练或更新模型和/或其他处理步骤。在一些实施例中,对于由部署系统106使用的不同的机器学习模型,可以使用不同的训练管线204。例如,类似于关于图1所描述的第一示例的训练管线204可用于第一机器学习模型,类似于关于图1描述的第二示例的训练管线204可以用于第二机器学习模型,并且类似于关于图1描述的第三示例的训练管线204可以用于第三机器学习模型。可以根据每个相应的机器学习模型的要求来使用训练系统104内的任务的任何组合。在一些实例中,机器学习模型中的一个或更多个可以已经被训练并且准备好部署,因此机器学习模型可以不由训练系统104进行任何处理,并且可以由部署系统106来实现。

取决于实施方式或实施例,一个或更多个输出模型116和/或一个或更多个预训练模型206可以包括任何类型的机器学习模型。例如,但不限于,系统200使用的机器学习模型可以包括使用线性回归,逻辑回归,决策树,支持向量机(SVM),朴素贝叶斯(

训练管线204可以包括AI辅助注释,如本文至少关于图6B和6C更详细地描述的。可以通过许多技术来生成标记的临床数据112(例如,传统注释)。例如,在一些示例中,可以在绘图程序(例如,注释程序)、计算机辅助设计(CAD)程序、标记程序、适于为地面实况生成注释或标签的另一种程序和/或可以手绘生成标签或其他注释。在任何示例中,地面实况数据可以是合成产生的(例如,从计算机模型或渲染生成的),真实产生的(例如,从真实世界的数据设计和产生的),机器自动化的(例如,使用特征分析和学习以从数据中提取特征,然后生成标签),人工注释(例如,贴标机或注释专家,定义标签的位置)和/或其组合。在一些示例中,对于成像数据108(或机器学习模型使用的其他数据类型)的每个实例,可以存在由训练系统104生成的对应的地面实况数据。在一个或更多个实施例中,AI辅助注释可以作为部署管线210的部分执行;补充或代替训练管线204中包括的AI辅助注释。系统200可包括多层平台,该多层平台可包括可以执行一项或多项医学成像和诊断功能的诊断应用程序(或其他应用程序类型)的软件层(例如,软件118)。系统200可以通信地耦合到(例如,经由加密的链路)一个或更多个设施的PACS服务器网络。系统200可以被配置为从PACS服务器(例如,通过DICOM适配器202或其他数据类型适配器,例如RIS,CIS,REST兼容,RPC,原始等)访问和引用数据(例如,DICOM数据,RIS数据,原始数据,CIS数据,符合REST的数据,RPC数据,原始数据等)以执行操作,例如训练机器学习模型,部署机器学习模型,图像处理,推理和/或其他操作。

软件层可以被实现为安全的、加密的和/或认证的API,通过这些,可以从一个或更多个外部环境(例如,设施102)援引(例如,调用)应用程序或容器。然后应用程序依次可以调用或执行一个或更多个服务120以执行与各个应用程序相关联的计算、AI或可视化任务,并且软件118和/或服务120可以利用硬件122来以有效和高效的方式执行处理任务。

部署系统106可以执行部署管线210。部署管线210可以包括可以顺序地、非顺序地或以其他方式应用于由成像设备、测序设备、基因组设备等(包括如上所述的AI辅助注释)生成成像数据(或其他数据类型)的任意数量的应用程序。例如,如本文所述,用于单个设备的部署管线210可以被称为用于设备的虚拟仪器(例如,虚拟超声仪器,虚拟CT扫描仪器,虚拟测序仪器等)。此外,对于单个设备,取决于从由设备生成的数据中期望的信息,可以有一个以上的部署管线210。例如,在期望从MRI机器检测到异常的情况下,可以存在第一部署管线210,并且在期望从MRI机器的输出进行图像增强的情况下,可以存在第二部署管线210。

可用于部署管线210的应用程序可包括可用于对来自设备的成像数据或其他数据执行处理任务的任何应用程序。作为一些非限制性示例,不同的应用程序可以负责图像增强,分割,重建,异常检测,对象检测,特征检测,治疗计划,剂量测定,射束计划(或其他放射治疗程序)和/或其他分析,图像处理或推理任务。部署系统106可以为每个应用程序定义构造,使得部署系统106(例如,医疗设施,实验室,诊所等)的用户可以理解构造并且使应用程序适于在其各自设施内的实现。例如,可以选择用于图像重建的应用程序以包括在部署管线210中,但是由成像设备生成的数据类型可以与在应用程序内使用的数据类型不同。因此,可以在部署管线210内使用DICOM适配器202B(和/或DICOM读取器)或另一数据类型的适配器或读取器(例如,RIS,CIS,REST兼容,RPC,原始等),以将数据转换为部署系统106中的应用程序可使用的形式。在一些示例中,可以累积和预处理对DICOM,RIS,CIS,REST兼容,RPC,原始和/或其他数据类型库的访问。这可以包括解码,提取和/或执行任何卷积,色彩校正,清晰度,伽玛和/或其他对数据的扩充。此外,DICOM,RIS,CIS,REST兼容,RPC和/或原始数据可以是无序的,并且可以执行预通过以组织或分类收集的数据。因为各种应用程序可以共享共同的图像操作,所以在一些实施例中,可以使用数据增强库(例如,作为服务120之一)来加速这些操作。此外,为了避免依赖于CPU处理的常规处理方法的瓶颈,并行计算平台230可以用于这些处理任务的GPU加速。

作为另一示例,图像重建应用程序可以包括处理任务,所述处理任务包括使用机器学习模型。然而,用户可能希望使用他们自己的机器学习模型,或者从模型注册表124中选择机器学习模型。因此,用户可以实现他们自己的机器学习模型或选择机器学习模型用于包含在执行处理任务的应用程序中。应用程序可以是可选的和可定制的,并且通过定义应用程序的构造,针对特定用户的应用程序的部署和实现被呈现为更加无缝的用户体验。此外,通过利用系统200的其他特征,例如服务120和硬件122,部署管线210可以甚至更加用户友好,提供更容易的集成并且产生更准确、有效和及时的结果。

部署系统106可以包括用户界面214(例如,图形用户界面,网络界面等),该用户界面214可以用于选择要包括在一个或更多个部署管线210中的应用程序,布置应用程序,修改或改变应用程序或参数或其构造,在设置和/或部署期间使用一个或更多个部署管线210并与之交互,和/或以其他方式与部署系统106交互。尽管关于训练系统104未示出,用户界面214(或不同的用户界面)可以用于选择在部署系统106中使用的模型,在训练系统104中选择用于训练或重新训练的模型,和/或用于与训练系统104交互。

除了应用程序编排系统228之外,还可以使用管线管理器212管理一个或更多个部署管线210的应用程序或容器与服务120和/或硬件122之间的交互。例如,管线管理器212可以被配置为促进从应用程序到应用程序,从应用程序到服务120和/或从应用程序或服务到硬件122的交互。尽管被示为包括在软件118中,但是并不旨在限制,并且在一些示例中(例如,如图3所示),管线管理器212可以被包括在服务120中。应用程序编排系统228(例如,Kubernetes,DOCKER等)可以包括容器编排系统,该系统可以将应用程序分组在容器中作为逻辑单元,以进行协调、管理、扩展和部署。通过将容器用于应用程序,可以认识到优于常规虚拟化技术的优势。例如,通过将来自一个或更多个部署管线210的应用程序(例如,重建应用程序,分割应用程序等)与各个容器相关联,每个应用程序可以在自包含的环境中(例如,在内核等级处)执行,以提高速度和效率。

因此,每个应用程序和/或容器(或其图像)可以单独开发,修改和部署(例如,第一用户或开发人员可以开发、修改和部署第一应用程序,第二用户或开发人员可以开发、修改和部署与第一用户或开发人员分开的第二应用程序)。这可以使专注于并关注单个应用程序和/或一个或更多个容器的任务,而不会被另外一个或更多个应用程序或一个或更多个容器的任务阻碍。管线管理器212和应用程序编排系统228可以辅助不同容器或应用程序之间的相互通信和协作。例如,只要每个容器或应用程序的预期输入和/或输出是由系统(例如,基于应用程序或容器的构造)已知的,应用程序编排系统228和/或管线管理器212可以促进每个应用程序或容器之间的通信以及资源共享。因此,由于一个或更多个部署管线210中的一个或更多个应用程序或容器可以共享相同的服务和资源,所以应用程序编排系统228可以协调、负载平衡并确定各种应用程序或容器之间的服务或资源的共享。例如,调度器可以用于追踪应用程序或容器的资源需求,这些资源的当前使用或计划使用以及资源可用性。因此,考虑到系统的需求和可用性,调度器可以将资源分配给不同的应用程序,并在应用程序之间分配资源。在一些示例中,调度器(和/或应用程序编排系统228的其他组件)可以基于施加在系统上的约束(例如,用户约束)、例如服务质量(QoS)、针对数据输出的需求紧迫性(例如,确定是执行实时处理还是延迟处理)等,来确定资源可用性和分配。

由部署系统106中的应用程序或容器利用和共享的服务120可以包括计算服务216,AI服务218,可视化服务220和/或其他服务类型。例如,应用程序可以调用(例如,执行)服务120中的一个或更多个以执行针对应用程序的处理操作。应用程序可以利用计算服务216来执行超级计算或其他高性能计算(HPC)任务。例如,可以利用一个或更多个计算服务216来执行并行处理(例如,使用并行计算平台230),以通过一个或更多个应用程序和/或单个应用程序的一个或更多个任务来基本同时处理数据。并行计算平台230(例如,NVIDIA的CUDA)可以实现在GPU(GPGPU)(例如,GPU 222)上的通用计算。例如,并行计算平台230的软件层可以提供对GPU的虚拟指令集和并行计算元件的访问,以执行计算内核。并行计算平台230可以包括存储器,并且在一些实施例中,可以在多个容器之间和/或在单个容器内的不同处理任务之间共享存储器。例如,可以为多个容器和/或容器内的多个过程生成进程间通信(IPC)调用,以使用来自并行计算平台230的共享存储器段的相同数据(例如,其中应用程序的多个不同阶段或多个应用程序正在处理相同的信息)。结果,不是复制数据并将数据移动到存储器中的不同位置(例如,读/写操作),而是可以将存储器相同位置中的相同数据用于任何数量的处理任务(例如,同时,在不同时间等)。此外,由于数据被用作处理的结果来生成新数据,因此可以在各种应用程序之间存储和共享数据的新位置的该信息。因此,数据的位置以及更新的位置或修改的数据可以是容器中如何理解有效载荷的定义的部分。

可以利用AI服务218来执行推理服务,以执行与应用程序相关联的一个或更多个机器学习模型(例如,被赋予执行应用程序的一个或更多个处理任务的任务)。例如,AI服务218可以利用AI系统224来执行一个或更多个机器学习模型(例如,诸如CNN的神经网络)以用于分割、重建、对象检测、特征检测、分类和/或其他推理任务。例如,一个或更多个部署管线210的应用程序可以使用来自训练系统104的输出模型116中的一个或更多个和/或其他应用程序模型来对成像数据(例如,DICOM数据,RIS数据,CIS数据,REST兼容数据,RPC数据,原始数据等)进行推理。关于应用程序编排系统228(例如,调度器),推理的两个或更多个类别可用。例如,第一类别可以包括可以实现更高服务水平协议的高优先级/低延迟路径,例如用于在紧急情况下对紧急请求执行推理,或者在诊断过程中用于放射科医生。作为另一示例,第二类别可以包括标准优先级路径,该标准优先级路径可以用于可能不紧急的请求或者可以在稍后的时间执行分析的请求。因此,应用程序编排系统228可以基于用于AI服务218的不同推理任务的优先级路径来分配资源(例如,服务120和/或硬件122)。

在一些实施例中,共享存储可以被安装到系统200内的AI服务218。共享存储可以作为高速缓存(或其他存储设备类型)操作,并且可以用于处理来自应用程序的推理请求。例如,当提交推理请求时,部署系统106的一组API实例可以接收到请求,并且可以选择多个实例之一(例如,用于最佳配合,用于负载平衡等)以处理请求。为了处理请求,可以将请求输入数据库中,如果机器学习模型尚未在高速缓存中可以从模型注册表124中定位机器学习模型,验证步骤可以确保将适当的机器学习模型加载到高速缓存(例如,共享存储)中,和/或模型的副本可以保存到高速缓存中。在一些示例中,如果应用程序还没有运行或者如果没有足够的应用程序的实例,则可以使用调度器(例如,管线管理器212)来启动在请求中引用的应用程序。此外,如果尚未启动推理服务器以执行模型,则可以启动推理服务器。每个模型可以启动任意数量的推理服务器。例如,在拉模型中,其中推理服务器被集群化,每当负载平衡是有利的,就可以高速缓存模型。在推模型中,推理服务器可以被静态地加载在对应的分布式服务器中。

在一些实施例中,可以使用在容器中运行的推理服务器来执行推理。推理服务器的实例可以与模型(以及可选地模型的多个版本)相关联。如果当接收到对模型执行推理的请求时不存在推理服务器的实例,则可以加载新实例。当启动推理服务器时,可以将模型传递到推理服务器,使得可以使用相同的容器来服务于不同的模型,只要推理服务器作为不同的实例运行即可。

在应用程序执行期间,可以接收针对给定应用程序的推理请求,并且可以加载(如果尚未加载)容器(例如,托管推理服务器的实例),以及可以调用启动过程。容器中的预处理逻辑可以对传入的数据(例如,使用一个或更多个CPU和/或一个或更多个GPU)进行加载、解码和/或执行任何附加的预处理。一旦准备好用于推理的数据,容器就可以根据需要对数据进行推理。在一些示例中,这可以包括对一个图像(例如,手X射线)的单个推理调用,或者可能需要对数百个图像(例如,胸部CT)进行推理。应用程序可以在完成之前总结结果,其可以包括但不限于单个置信度得分、像素水平分割、体素水平分割、生成可视化或生成文本以总结发现。在一些示例中,可以为不同的模型或应用程序分配不同的优先级。例如,某些模型可能具有实时(TAT<1分钟)优先级,而其他模型可能具有较低的优先级(例如TAT<10分钟)。可以从请求机构或实体测量模型执行时间,并且可以包括伙伴网络遍历时间,以及在推理服务上执行。

服务120与推理应用程序之间的请求传送可以被隐藏在软件开发工具包(SDK)的后面,并且可以通过队列来提供稳健的传输。例如,由API将请求放置在队列中,用于单个应用程序/租户ID组合,并且SDK将从队列中拉出请求并将请求提供给应用程序。可以在SDK从中拾取队列的环境中提供队列的名称。由于应用程序可能有很多实例,通过队列的异步通信可能是有用的,因为它可以允许应用程序的任何实例在其变可用时拾取工作。结果可以通过队列传回,以确保没有数据丢失。队列还可以提供对工作进行分段的能力,因为最高优先级的工作可以进入与应用程序的大多数实例连接的队列,而最低优先级的工作可以进入与单个实例连接的队列,从而其按接收的顺序处理任务。在一些实施例中,应用程序可以在云226中生成的GPU加速的实例上运行,并且推理服务可以在GPU上执行实际推理。

可视化服务220可被利用来生成可视化以查看应用程序的输出和/或一个或更多个部署管线210。例如,可视化服务220可利用GPU 222来生成可视化。此外,可视化服务220可以实现诸如光线追踪之类的渲染效果,以生成更高质量的可视化。可视化可以包括但不限于2D图像渲染,3D体积渲染,3D体积重建,2D断层摄影切片,虚拟现实显示,增强现实显示等。在一些示例中,可以使用虚拟化环境,以生成虚拟交互式显示或环境(例如虚拟环境),以供系统的用户(例如医生,护士,放射科医生等)进行交互。在这样的实例中,可视化服务220可以包括内部可视化器,电影和/或其他渲染或图像处理能力或功能(例如,光线追踪,光栅化,内部光学器件等)。

硬件122可以包括GPU 222,AI系统224,云226和/或用于执行训练系统104和/或部署系统106的任何其他硬件。GPU 222(例如NVIDIA的TESLA和/或QUADRO GPU)可以包括可用于执行计算服务216,AI服务218,可视化服务220,其他服务和/或软件118的任何特征或功能的处理任务的任意数量的GPU。例如,相对于AI服务218,GPU222可用于对成像数据(或由机器学习模型使用的其他数据类型)执行预处理,对机器学习模型的输出进行后处理,和/或执行推理(例如执行机器学习模型)。云226、AI系统224和/或系统200的其他组件可以使用GPU222。例如,云226可以包括用于深度学习任务的GPU优化平台。此外,AI系统224可以使用GPU,并且可以使用一个或更多个AI系统224来执行云226(或至少一部分负责深度学习或推理的任务)。同样,尽管硬件122被示为离散的组件,这不意味着限制,并且硬件122的任何组件可以与硬件122的任何其他组件组合或利用。

AI系统224可以包括被配置用于推理,深度学习,机器学习和/或其他人工智能任务的专用计算系统(例如,超级计算机或HPC)。例如,除了CPU、RAM、存储器和/或其他组件、特征或功能之外,AI系统224(例如,NVIDIA的DGX)可以包括可以使用多个GPU 222执行的GPU优化的软件(例如,软件堆栈)。在一些实施例中,可以在云226中(例如,在数据中心中)实现一个或更多个AI系统224,以执行系统200的一些或全部基于AI的处理任务。

云226可以包括GPU加速的基础设施(例如,NVIDIA的NGC),其可以提供用于执行系统200的处理任务的GPU优化的平台。如本文所述,在一些示例中,云226可以包括一个或更多个AI系统224,用于执行系统200的一个或更多个基于AI的任务(例如,作为硬件抽象和缩放平台)。云226可以与利用多个GPU的应用程序编排系统228集成,以实现应用程序和服务120之间的无缝缩放和负载平衡。云226可以负责执行系统200的至少一些服务120,包括计算服务216、AI服务218和/或可视化服务220,如本文所述。例如,云226可以执行小批量和大批量推理(例如,执行NVIDIA的TENSOR RT),提供加速的并行计算API和平台230(例如,NVIDIA的CUDA),执行应用程序编排系统228(例如,KUBERNETES),提供图形渲染API和平台(例如,用于光线追踪,2D图形,3D图形和/或其他渲染技术以产生更高质量的电影效果),和/或可以为系统200提供其他功能。

在一些实施例中,为了保护患者的机密性(例如,在非本地使用患者数据或记录的情况下),云226可以包括注册表-例如深度学习容器注册表。例如,注册表可以存储用于对患者数据执行预处理、后处理或其他处理任务的应用程序的实例化的容器。因此,云226可以接收包括患者数据以及容器中的传感器数据的数据,仅对那些容器中的传感器数据执行所请求的处理,然后将结果输出和/或可视化转发给适当的参与者和/或设备(例如用于可视化或诊断的本地医疗设备),而无需提取、存储或访问患者数据。结果,根据HIPAA和/或其他数据法规来保留患者数据的机密性。

现在参考图3,图3包括根据本公开的一些实施例的用于处理成像数据的部署管线210A的示例说明。如本文所述,系统200(尤其是部署系统106)可以用于将一个或更多个部署管线210A定制、更新和/或集成到一个或更多个生产环境中。图3的部署管线210A包括可以由在设施(例如,医院,诊所,实验室,研究环境等)处的特定用户(或用户的团队)定制定义的部署管线210A的非限制性示例。例如,为了定义用于CT扫描仪302的部署管线210A,用户可以(例如从容器注册表中)选择一个或更多个应用程序,该应用程序执行关于由CT扫描仪302生成的成像数据的特定功能或任务。这些应用程序的实例可以作为容器应用到部署管线210A,容器可以利用系统200的服务120和/或硬件122。此外,部署管线210A可以包括附加处理任务或应用程序,其可以被实现为准备供应用程序使用的数据(例如,DICOM适配器202B和DICOM阅读器306可在部署管线210A中使用,以准备供CT重建308、器官分割310等使用的数据)。此外,可以定制或选择部署管线210A以用于一致的部署,一次使用或另一频率或间隔。例如,用户可能期望在特定间隔上具有针对几个受试者的CT重建308和器官分割310,并且因此可以在该时间段部署管线210A。作为另一示例,用户可以针对来自系统200的每个请求选择用户想要针对该请求对该数据执行处理的应用程序。因此,可以以任何间隔调整部署管线210A,并且由于系统200内的容器结构的适应性和可伸缩性,这可以是无缝的过程。

图3的部署管线210A可以包括CT扫描仪302,其生成患者或受试者的成像数据。来自CT扫描仪302的成像数据可以存储在与容纳CT扫描仪302的设施相关的一个或更多个PACS服务器304上。一个或更多个PACS服务器304可以包括可以在设施处与成像模式(例如CT扫描仪302)直接接口的软件和/或硬件组件。DICOM适配器202B可以允许使用DICOM协议发送和接收DICOM对象。DICOM适配器202B可以帮助准备或配置来自一个或更多个PACS服务器304的DICOM数据,以供部署管线210A使用。一旦通过DICOM适配器202B处理了DICOM数据,管线管理器212就可以将数据路由到部署管线210A。例如,DICOM读取器306可以从DICOM数据(例如,如在可视化316A中所示的原始正弦图数据)提取图像文件和任何相关联的元数据。在一些实施例中,可以将提取的工作文件存储在高速缓存中,以供部署管线210A中的其他应用程序更快地处理。一旦DICOM读取器306完成了提取和/或存储数据,就可以将完成信号传送到管线管理器212。管线管理器212然后可以发起或调用部署管线210A中的一个或更多个其他应用程序或容器。

例如,一旦数据(例如,原始正弦图数据)可用于由CT重建308应用程序处理,就可以执行CT重建308应用程序和/或容器。CT重建308可以从高速缓存中读取原始正弦图数据,从原始正弦图数据中重建图像文件(例如,如可视化316B所示),并且将得到的图像文件存储在高速缓存中。在重建完成时,可以向管线管理器212发信号通知重建任务已完成。一旦重建完成,并且重建的图像文件可以被存储在高速缓存器(或其他存储设备)中,则器官分割310应用程序和/或容器可以由管线管理器212触发。器官分割310应用程序和/或容器可以从缓存中读取图像文件,将图像文件规范化或转换为适合推理的格式(例如,将图像文件转换为机器学习模型的输入分辨率),然后对规范化的图像运行推理。为了对规范化的图像运行推理,器官分割310应用程序和/或容器可以依赖服务120,并且管线管理器212和/或应用程序编排系统228可以通过器官分割310应用程序和/或容器来促进服务120的使用。例如,器官分割310应用程序和/或容器可以利用AI服务218对规范化图像执行推理,并且AI服务218可以利用硬件122(例如,AI系统224)来执行AI服务218。推理的结果可以是掩码文件(例如,如可视化16C所示),其可以存储在高速缓存(或其他存储设备)中。

一旦处理DICOM数据和/或从DICOM数据中提取的数据的应用程序已经完成处理,就可以为管线管理器212生成信号。管线管理器212然后可以执行DICOM编写器312以从高速缓存(或其他存储设备)读取结果,将结果打包成DICOM格式(例如,作为DICOM输出314),以供产生请求的设施处的用户使用。然后可以将DICOM输出314发送到DICOM适配器202B,以准备DICOM输出314用于存储在一个或更多个PACS服务器304上(例如,以供设施处的DICOM查看器查看)。因此,响应于对重建和分段的请求,可视化316B和316C可以被生成并且对于用户可用于诊断、研究和/或用于其他目的。

尽管在部署管线210A中被示为连续的应用程序,但是可以并行地处理CT重建308和器官分割310的应用程序。例如,在应用程序彼此不依赖,并且数据可用于每个应用程序的情况下(例如,在DICOM阅读器06提取数据之后),应用程序可以在同一时间、基本同一时间、或者有一些重叠执行。如本文所述,在两个或更多个应用程序需要类似服务120的情况下,系统200的调度器可用于负载平衡并在各种应用程序之间分配计算或处理资源。此外,在一些实施例中,并行计算平台230可以用于对应用程序执行并行处理,以减少部署管线210A的运行时间以提供实时结果。

在一些实施例中,并且参照图4A-4B,部署系统106可以被实现为一种或更多种虚拟仪器,以利用成像设备(例如,CT扫描仪,X射线机,MRI机器等)、测序设备、基因组设备和/或其他设备类型执行不同的功能(例如图像处理,分割,增强,AI,可视化和推理)。系统200可以允许创建和提供虚拟仪器,该虚拟仪器可以包括软件定义的部署管线210,该软件定义的部署管线210可以接收由一个或更多个设备生成的原始/未处理的输入数据并输出处理/重建的数据。代表虚拟仪器的部署管线210(例如210A和210B)可以例如通过利用机器学习模型将智能实现到管线中,以向系统提供容器化的推理支持。因此,虚拟仪器可以执行任意数量的容器,每个容器都包括应用程序的实例同时利用系统的服务120和/或硬件122促进执行。在一些示例中,例如在需要实时处理的地方,表示虚拟仪器的部署管线210可以是静态的(例如,可以设置容器和/或应用程序),而在其他示例中,可以从应用程序或资源池(例如,在容器注册表中)选择(例如,基于每个请求)用于虚拟仪器的容器和/或应用程序。

因此,系统200可以被实例化或执行为在例如部署在放射线机,成像设备和/或设施处的其他设备类型旁边或与之通信的计算系统中的设施处的本地的一个或更多个虚拟仪器。在一些实施例中,然而,可以在局部数据中心(例如,位于本地的数据中心)和/或在云环境中(例如,在云226中)的设备本身的计算系统(例如,与成像设备集成在一起的计算系统)内实例化或执行本地安装。在一些示例中,可以由超级计算机或其他HPC系统实例化作为虚拟仪器操作的部署系统106。本地安装可以允许用于实时处理的高带宽使用(例如,通过较高吞吐量的局部通信接口,例如以太网上的RF)。在虚拟仪器支持超声设备或其他成像模式的情况下,实时或近实时处理可能特别有用,其中期望或要求立即可视化以进行准确的诊断和分析。当局部需求超过本地容量或能力时,云计算架构可以能够动态爆发到云计算服务提供商或其他计算集群。此外,如在此关于训练系统104所描述的,云架构在被实施时可以被调整用于训练神经网络或其他机器学习模型。因此,具有适当地方的训练管线,机器学习模型在处理其支持的设备中的附加数据时可以不断学习和改进。在这样的实例中,可以使用附加数据、新数据、现有机器学习模型和/或新的或更新的机器学习模型来持续地改进虚拟仪器。

如本文所述,根据一个或更多个实施例的计算系统可以包括本文描述的硬件122中的一些或全部,并且硬件122可以以包括在设备内的任意数量方式来分布,作为耦合到并位于设备附近的计算设备的部分,在设施的局部数据中心中和/或云226中。在任何示例中,因为部署系统106和关联的应用程序或容器是在软件中创建的(例如,作为应用程序的离散容器化实例),虚拟仪器的行为、操作和配置,以及由虚拟仪器生成的输出可以根据需要进行修改或定制,而无需更改或改变虚拟仪器支持的设备的原始输出。

图4A包括根据本公开的一些实施例的支持超声设备的虚拟仪器的示例数据流程图。如图所示,部署管线210B可以利用系统200的服务120中的一个或更多个。如本文所述,部署管线210B和服务120可以利用局部或云226中的系统的硬件122。此外,尽管未示出,但是过程400可以通过管线管理器212、应用程序编排系统228和/或并行计算平台230来促进。

过程400可以包括从超声设备402接收成像数据。成像数据可以以DICOM格式(或其他格式,例如RIS,CIS,REST兼容,RPC,原始等)存储在一个或更多个PACS服务器上,并可以由系统200接收,以通过部署管线210选择或定制用于超声设备402的虚拟仪器(例如,虚拟超声)进行处理。在一些示例中,可以直接从成像设备(例如,超声设备402)接收成像数据,并由虚拟仪器对其进行处理。在其他示例中,通信地耦合在成像设备和虚拟仪器之间的变换器或其他信号转换器可以将由成像设备生成的信号数据转换成可以由虚拟仪器处理的成像数据。在任一示例中,原始数据和/或图像数据可以被应用于DICOM读取器306,以提取数据供部署管线210B的应用程序或容器使用。DICOM读取器306可以利用数据增强库414(例如,NVIDIA的DALI)作为服务120(例如,作为一种或更多种计算服务216之一)来提取、重新调整大小、重新缩放和/或以其他方式准备供应用程序或容器使用的数据。

一旦准备好数据,就可以执行重建406应用程序和/或容器以将来自超声设备402的数据重建成图像文件。在重建406之后或与重建406同时,可以执行检测408应用程序和/或容器以用于异常检测、对象检测、特征检测和/或与数据有关的其他检测任务。例如,可以在检测408期间使用在重建406期间生成的图像文件以识别异常、对象、特征等。检测408应用程序可以利用推理引擎416(例如,作为一个或更多个AI服务218之一)对数据执行推理以生成检测。例如,检测408应用程序可以执行或调用一个或更多个机器学习模型(例如,来自训练系统104)。

一旦重建406和/或检测408完成,从这些应用程序和/或容器输出的数据可用于生成可视化410,例如在工作站或显示终端上显示的可视化412(例如,灰度输出)。可视化可以允许技术人员或其他用户相对于超声设备402可视化部署管线210B的结果。可以通过利用系统200的渲染组件418来执行可视化410(例如,一个或更多个可视化服务220之一)。例如,渲染组件418可以执行2D、OpenGL或光线追踪服务以生成可视化412。

图4B包括根据本公开的一些实施例的支持CT扫描仪的虚拟仪器的示例数据流程图。尽管未示出,部署管线210C可以利用系统200的服务120中的一个或更多个。如本文所述,部署管线210C和服务120可以利用局部或云226中的系统的硬件122。此外,尽管未示出,但是可以通过管线管理器212、应用程序编排系统228和/或并行计算平台230来促进过程420。

过程420可以包括CT扫描仪422,其生成可以由DICOM读取器306(例如,直接地、经由PACS服务器304、在处理之后等)接收的原始数据。虚拟CT(由部署管线210C实例化)可以包括用于监视患者(例如,患者运动检测AI 426)和/或用于调整或优化CT扫描仪422的暴露(例如,使用曝光控制AI 424)的第一实时管线。一个或更多个应用程序(例如424和426)可以利用服务120,例如一个或更多个AI服务218。曝光控制AI 424应用程序(或容器)的输出和/或患者运动检测AI 426应用程序(或容器)可以用作对CT扫描仪422和/或技术人员的反馈,以调整曝光(或CT扫描仪422的其他设置)和/或通知患者减少运动。

部署管线210C的另一管线可以包括用于分析由CT扫描仪422生成的数据的非实时管线。第二管线可以包括CT重建308应用程序和/或容器,粗略检测AI 428应用程序和/或容器,精细检测AI 432应用程序和/或容器(例如,通过粗略检测AI 428检测到某些结果的情况),可视化430应用程序和/或容器以及DICOM编写器312(和/或其他数据类型编写器,例如RIS,CIS,REST兼容,RPC,原始等)应用程序和/或容器。因此,由CT扫描仪422产生的原始数据可以通过部署管线210C的管线(被实例化为虚拟CT仪器)以产生结果。来自DICOM编写器312的结果可以被发送用于显示和/或可以被存储在一个或更多个PACS服务器304上以供技术人员、从业者或其他用户以后检索、分析或显示。

现在参考图5,本文描述的方法500的每个框包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可以由处理器执行存储在存储器中的指令来执行。方法500也可以呈现为存储在计算机存储介质上的计算机可用指令。方法500可以由脱机应用程序、服务或托管服务(脱机或与另一托管服务组合)或另一产品的插件提供,仅举几例。另外,通过示例的方式,参照图2的系统描述了方法500。但是,该方法可以附加地或替代地由任何一个系统或系统的任何组合来执行,包括但不限于本文所述的系统。

图5是根据本公开的一些实施例的示出用于部署图像推理管线的方法500的流程图。在框B502,方法500包括:接收应用程序的选择以执行处理请求。例如,用户(例如,从业者,临床医生,科学家等)可以选择一个或更多个应用程序包含在部署管线210中,以处理各种不同类型的数据(例如,DICOM数据,RIS数据,CIS数据,RPC数据,基本符合REST接口的数据,基本符合基于文件的接口的数据和/或原始数据(例如,原始成像数据))。

在框B504处,方法500包括实例化部署管线以执行处理请求,该部署管线包括一个或更多个容器,所述一个或更多个容器包括来自选择的应用程序的可执行实例化。例如,部署系统106可以为应用程序实例化部署管线210。在这样的示例中,可以将与应用程序相对应的图像文件用于生成应用程序的离散的、容器化的实例化。

在框B506,方法500包括对于至少一个或更多个容器,确定服务以执行用于该容器所包括的应用程序的可执行实例化的一个或更多个操作。例如,为了部署部署管线210,可以使用一个或更多个服务120来执行至少一个处理以在一个或更多个容器中应用程序的实例化。在这样的示例中,AI服务218可以用于执行与应用程序相对应的机器学习模型。

在框B508,方法500包括接收与由设备生成的与数据相对应的处理请求。例如,可以从成像设备、放射线设备、基因测序设备和/或另一种设备类型接收用于处理数据的处理请求(或推理请求)。可以从执行设备的系统自动接收请求(例如,部署管线210可以相对于设备是静态的或设置的,例如其中部署管线210对应于虚拟仪器)。在其他示例中,可以响应于用户的选择来接收处理请求。

在框B510,方法500包括接收数据。例如,与处理请求相对应的数据可以由系统200接收。

在框B512,方法500包括根据部署管线处理数据并使用一种或更多种服务来生成处理后的数据。例如,可以将部署管线210与服务120和/或硬件122中的一个或更多个结合使用,以处理数据。

现在参考图6A,图6A示出了根据本公开的一些实施例的用于训练、重新训练或更新机器学习模型的过程600的数据流程图。可以使用作为非限制性示例的图2的系统200来执行过程600。因此,过程600可以利用本文所述的系统200的服务120和/或硬件122。此外,由过程600生成的精炼模型612可以由部署系统106针对在部署管线210中的一个或更多个容器化应用程序执行。

如本文所述,模型训练114可以包括使用新的训练数据(例如,新的输入数据,诸如客户数据集606,和/或与输入数据相关联的新的地面实况数据)对初始模型604(例如,预训练模型)进行重新训练或更新。为了重新训练或更新初始模型604,可以重置或删除初始模型604的输出或一个或更多个损失层,和/或用更新的或新的输出或一个或更多个损失层代替。因此,初始模型604可以具有从先前训练中保留的先前精细调整的参数(例如权重和/或偏差),因此训练或重新训练114可以不需要花费与从头开始训练模型一样长的时间或不需要那么多的处理。在模型训练114期间,通过重置或替换初始模型604的输出或一个或更多个损失层,可以在新的客户数据集606(例如,图1的图像数据108)上生成预测处,基于与输出或一个或更多个损失层的准确性相关联的损失计算来为新数据集更新和重新调整参数。

可以将预训练的模型206存储在数据存储或注册表中(例如,图1的模型注册表124)。在一些实施例中,预训练模型206可能已经至少部分地在除执行过程600的设施之外的一个或更多个设施处被训练。例如,为了保护患者、受试者或不同设施的客户的隐私和权利,预训练模型206可能已在本地使用本地生成的客户或患者数据进行了训练。在一些实施例中,可以使用云226和/或其他硬件122来训练预训练模型206,但是机密的、受隐私保护的患者数据可以不被传送到云226(或其他非本地硬件)被其使用,或被其任何部件访问。因此,在使用来自一个以上设施的患者数据来训练预训练模型206的情况下,在针对来自另一设施的患者或客户数据进行训练之前,可以针对每个设施个别地对预训练模型206进行训练。在一些实施例中,例如在客户或患者数据已发布隐私问题(例如,通过放弃,用于实验用途等),或客户或患者数据包含在公共数据集中的情况下,来自任何数量的设施的客户或患者数据可以用于在例如数据中心或其他云计算基础设施中在本地和/或非本地训练预训练的模型206。

当选择应用程序以在部署管线210中使用时,用户可以也选择机器学习模型以用于特定的应用程序。然而,在一些实施例中,用户可能没有要使用的模型,因此用户可以选择要与应用程序一起使用的预训练模型206。然而,一旦选择,预训练模型206以在用户设施的客户数据集606上生成准确结果(例如,基于患者多样性,人口统计学,所使用的医学成像设备的类型等)可以不被优化。在这样的示例中,在将预训练的模型206部署到部署管线210中以与一个或更多个应用程序一起使用之前,可以对预训练的模型206进行更新、重新训练和/或微调以在各个设施处使用。

用户可以选择要被更新、重新训练和/或微调的预训练模型206,并且预训练模型206可以被称为用于过程600中训练系统604的初始模型104。客户数据集606(例如,成像数据,基因组数据,测序数据或由设施处的设备生成的其他数据类型)可以用于在初始模型604上执行模型训练114(可以包括但不限于,转移学习)以生成精炼模型612。可以由训练系统104生成与客户数据集606相对应的地面实况数据。在一些实施例中,可以至少部分地由临床医生、科学家、医生、从业人员和/或诸如此类的在设施中(例如,如图1中标记的临床数据112所示)生成地面实况数据。

在一些示例中,AI辅助注释110可以用于生成地面实况数据。例如,AI辅助注释110(例如,使用AI辅助注释SDK实现)可以利用机器学习模型(例如,神经网络)来生成针对客户数据集的建议的或预测的地面实况数据。用户610可以在计算设备608上的用户界面(图形用户界面(GUI))内使用注释工具。

根据实施例,用户610可以经由计算设备608与GUI交互以编辑或微调(自动)注释。例如,多边形编辑特征可用于将多边形的顶点移动到更精确或微调的位置。参考图6B,示出了AI辅助注释GUI 614的屏幕截图。GUI 614的屏幕截图可以包括在AI辅助注释110期间生成的自动-注释结果。可以在GUI 614内填充多个器官的2D切片620,并且可以用注释622注释器官或异常。注释622可以包括可由用户610移动的多边形的多个顶点。例如,用户610可以在2D切片620内周围添加附加的顶点、移除顶点和/或移动顶点。此外,用户610可以使用一个或更多个工具618来调整注释622。在提交AI辅助注释110的数据之前,用户610可以选择模型,多个点或顶点和/或其他信息以用于在GUI 614的注释窗口624内生成注释622。此外,用户610可以应用研究标签626,图像标签628(例如,分类),注释630和/或在GUI 614内执行其他任务以用于生成、编辑和/或将元数据与注释622和/或2D切片620相关联。

一旦顾客数据集606具有相关联的地面实况数据,则地面实况数据(例如,来自AI辅助注释,手动标记等)可以在模型训练114期间被使用以生成精炼模型612。例如,顾客数据集606可以被多次应用到初始模型604,并且地面实况数据可以被用来更新初始模型604的参数,直到对于精炼模型612达到可接受的精度水平为止。一旦生成了精炼模型612,就可以在用于执行关于医学成像数据的一个或更多个处理任务的设施处的一个或更多个部署管线210内部署精炼模型612。

在一些实施例中,可以将精炼模型612上传到模型注册表124中的预训练模型206,以由另一设施选择。该过程可以在任意数量的设施处完成,使得可以在新数据集上任意次数地进一步完善精炼模型612,以生成更通用的模型。

参照图6C,图6C是根据本公开的一些实施例的示出利用预训练的注释模型来增强注释工具的客户端-服务器架构632的示例。在示例性实施例中,可以基于客户端-服务器架构632来实例化AI辅助的注释工具636。成像应用程序中的注释工具636可以帮助放射线医生,例如,识别器官和异常。成像应用程序可以包括软件工具,作为非限制性示例,该软件工具帮助用户610识别原始图像634(例如,在3D MRI或CT扫描中)的特定感兴趣器官上的一些极端点,并接收特定器官的所有2D切片的自动注释结果。结果可以作为训练数据638被存储在数据存储器中,并且被用作(例如但不限于)用于训练的地面实况数据。在这样的实例中,当计算设备608发送用于AI辅助注释110的极限点时,深度学习模型例如可以接收该数据作为输入并且返回分割器官或异常的推理结果。例如,预先实例化的注释工具,例如,可以通过对诸如注释助手服务器640之类的服务器进行API调用(例如,API调用644)来增强图6C中的AI辅助注释工具636B,例如,该服务器可以包括存储在注释模型注册表中的预训练模型642的集合。注释模型注册表可以存储预训练的模型642(例如,机器学习模型,诸如深度学习模型),其被预训练以对特定器官或异常执行AI辅助注释。这些模型可以通过使用训练管线204来进一步更新。因此,随着添加新的标记的临床数据112,预安装的注释工具可以随着时间的推移而改进。

现在参考图7,本文描述的方法700的每个框包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可以由处理器执行存储在存储器中的指令来执行。方法700也可以呈现为存储在计算机存储介质上的计算机可用指令。方法700可以由脱机应用程序,服务或托管服务(脱机或与另一托管服务组合)或另一产品的插件提供,仅举几例。另外,通过示例的方式,参照图6A的过程600描述了方法700。但是,该方法可以附加地或替代地由任何一个系统或系统的任何组合来执行,包括但不限于本文所述的系统。

图7是根据本公开的一些实施例的示出训练机器学习模型以用于部署在图像推理管线中的方法700的流程图。在框B702处,方法700包括从模型注册表接收与神经网络的选择相对应的输入。例如,可以从模型注册表124(图1)的预训练模型206中选择初始模型604。

在框B704,方法700包括接收神经网络。例如,可以接收对应于神经网络的数据和/或可以接收指示神经网络的位置的数据。

在框B706,方法700包括接收由一个或更多个设备生成的数据。例如,可以接收DICOM,RIS,CIS,REST兼容,RPC,原始和/或其他数据类型(诸如来自客户数据集606),其中数据可以由任何类型的一个或更多个设备生成,包括但不限于成像设备、放射学设备、基因测序设备、基因组学设备等。

在框B708,方法700包括生成与数据相对应的地面实况数据。例如,地面实况数据可以被生成为标记的诊所数据112(图1),AI辅助注释110数据或其组合。

在框B710,方法700包括使用数据和地面实况数据对神经网络进行再训练以生成更新的神经网络。例如,模型训练114可以用于重新训练、更新和/或微调初始模型604以生成精炼模型612。

在框B712,方法700包括部署更新的神经网络以与应用程序的容器化实例一起使用。例如,精炼模型612可以由系统200部署并且在处理应用程序的容器化实例期间被利用(例如,作为服务120)。

示例计算设备

图8为适合用于实现本公开一些实施例的示例计算设备800的框图。计算设备800可以包括直接或间接耦合下列设备的总线802:内存804,一个或更多个中央处理单元(CPU)806,一个或更多个图形处理单元(GPU)808,通信接口810,输入/输出(I/O)端口812,输入/输出组件814,电源816,以及一个或更多个呈现组件818(例如显示器)。

尽管图8的各个框被示为经由具有线路的总线802连接,但是这并不意图是限制性的,并且仅仅为了清楚起见。例如,在一些实施例中,诸如显示设备之类的呈现组件818可以被认为是I/O组件814(例如如果显示器为触摸屏)。作为另一个示例,CPU 806和/或GPU 808可以包括内存(例如,内存804可以表示除了GPU 808、CPU 806和/或其他组件的内存以外的存储设备)。换言之,图8的计算设备仅仅是说明性的。在诸如“工作站”、“服务器”、“膝上型电脑”、“台式机”、“平板电脑”、“客户端设备”、“移动设备”、“手持式设备”、“游戏控制台”、“电子控制单元(ECU)”、“虚拟现实系统”和/或其他设备或系统类型之类的类别之间不进行区分,因为所有这些都被考虑在图8的计算设备的范围内。

总线802可以表示一条或更多条总线,例如地址总线、数据总线、控制总线或者其组合。总线802可以包括一种或更多种总线类型,例如行业标准架构(ISA)总线、扩展行业标准架构(EISA)总线、视频电子标准协会(VESA)总线、外围组件互连(PCI)总线、外围组件互连快速(PCIe)总线和/或另一种类型的总线。

内存804可以包括各种各样的计算机可读介质中的任何介质。计算机可读介质可以是可以由计算设备800访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质两者以及可移除和不可移除介质。举例而言且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。

计算机存储介质可以包括易失性和非易失性介质两者和/或可移除和不可移除介质,其以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现。例如,内存804可以存储计算机可读指令(例如其表示一个或更多个程序和/或一个或更多个程序元件,例如操作系统)。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或者其他存储技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可以用来存储期望的信息且可以由计算设备800访问的任何其他介质。当在本文使用时,计算机存储介质并不包括信号本身。

通信介质可以在诸如载波或其他传输机制的调制数据信号中呈现计算机可读指令、数据结构、程序模块和/或其他数据类型,并且包括任何信息输送介质。术语“调制数据信号”可以指这样的信号,该信号使它的特性中的一个或更多个以这样的将信息编码到该信号中的方式设置或改变。举例而言且非限制性地,通信介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声音、RF、红外和其他无线介质之类的无线介质。任何以上所述的组合也应当包含在计算机可读介质的范围内。

一个或更多个CPU 806可以被配置为执行计算机可读指令以便控制计算设备800的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。一个或更多个CPU806中的每一个可以包括能够同时处理大量软件线程的一个或更多个核(例如一个、两个、四个、八个、二十八个、七十二个等等)。一个或更多个CPU 806可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于实现的计算设备800的类型(例如具有用于移动设备的较少核的处理器以及具有用于服务器的更多核的处理器)。例如,取决于计算设备800的类型,处理器可以是使用精简指令集计算(RISC)实现的ARM处理器或者使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或者诸如数学协处理器之类的补充协处理器之外,计算设备800还可以包括一个或更多个CPU 806。

一个或更多个GPU 808可以由计算设备800用来渲染图形(例如3D图形)。一个或更多个GPU 808可以包括能够同时处理数百或数千个软件线程的数百或数千个核。一个或更多个GPU 808可以响应于渲染命令(例如经由主机接口接收的来自一个或更多个CPU 806的渲染命令)而生成用于输出图像的像素数据。一个或更多个GPU 808可以包括诸如显示内存之类的用于存储像素数据的图形内存。显示内存可以作为内存804的部分而被包括。一个或更多个GPU 708可以包括(例如经由链路)并行操作的两个或更多个GPU。当组合在一起时,每个GPU 808可以生成用于输出图像的不同部分或者用于不同输出图像的像素数据(例如,第一GPU用于第一图像,以及第二GPU用于第二图像)。每个GPU可以包括它自己的内存,或者可以与其他GPU共享内存。

在其中计算设备800不包括一个或更多个GPU 808的示例中,一个或更多个CPU806可以用来渲染图形。

通信接口810可以包括一个或更多个接收器、发送器和/或收发器,其使得计算设备700能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口810可以包括使能通过若干不同网络中的任何网络进行通信的组件和功能,例如无线网络(例如Wi-Fi、Z波、蓝牙、蓝牙LE、ZigBee等等)、有线网络(例如通过以太网通信)、低功率广域网(例如LoRaWAN、SigFox等等)和/或因特网。

I/O端口812可以使得计算设备800能够逻辑地耦合到包括I/O组件814、一个或更多个呈现组件818和/或其他组件在内的其他设备,其中一些可以内置到(例如集成到)计算设备800中。说明性的I/O组件814包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、扫描仪、打印机、无线设备等等。I/O组件814可以提供处理用户生成的空中手势、语音或其他生理输入的自然用户接口(NUI)。在一些实例中,输入可以传输至适当的网络元件以便进一步处理。NUI可以实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和邻近屏幕的手势识别、空中手势、头部和眼睛追踪以及与计算设备800的显示器关联的触摸识别(如下文更详细地描述的)的任意组合。计算设备800可以包括诸如立体照相机系统之类的深度照相机、红外照相机系统、RGB照相机系统、触摸屏技术以及这些的组合,以用于手势检测和识别。此外,计算设备800可以包括使能运动检测的加速度计或陀螺仪(例如作为惯性测量单元(IMU)的部分)。在一些示例中,加速度计或陀螺仪的输出可以由计算设备800用来渲染沉浸式增强现实或者虚拟现实。

电源816可以包括硬接线电源、电池电源或者其组合。电源816可以向计算设备800供电以使得计算设备800的组件能够操作。

一个或更多个呈现组件818可以包括显示器(例如监视器、触摸屏、电视屏幕、平视显示器(HUD)、其他显示器类型或者其组合)、扬声器和/或其他呈现组件。一个或更多个呈现组件818可以接收来自其他组件(例如一个或更多个GPU 808、一个或更多个CPU 806等等)的数据,并且输出该数据(例如作为图像、视频、声音等等)。

本公开可以在计算机代码或者机器可使用指令的一般背景下进行描述,包括诸如程序模块之类的计算机可执行指令,指令由计算机或者诸如个人数字助理或其他手持式设备之类的其他机器执行。通常,包括例程、程序、对象、组件、数据结构等等的程序模块指的是执行特定任务或者实现特定抽象数据类型的代码。本公开可以在各种各样的系统配置中实践,这些配置包括手持式设备、消费电子器件、通用计算机、更专业的计算设备等等。本公开也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。

如在本文中使用的,“和/或”关于两个或更多元素的叙述应当解释为仅指一个元素或者元素组合。例如,“元素A、元素B和/或元素C”可以包括仅仅元素A,仅仅元素B,仅仅元素C,元素A和元素B,元素A和元素C,元素B和元素C,或者元素A、B和C。此外,“元素A或元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。进一步,“元素A和元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。

这里详细地描述了本公开的主题以满足法定要求。然而,描述本身并非意在限制本公开的范围。相反地,本发明人已经设想到,要求保护的主题也可以以其他的方式具体化,以包括与本文中结合其他当前或未来技术描述的步骤不同的步骤或者相似的步骤的组合。而且,尽管术语“步骤”和/或“块”在本文中可以用来隐含采用的方法的不同元素,但是这些术语不应当被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各步骤的顺序。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号