
1.本公开涉及产品鉴别领域,并且更具体地涉及基于视频的连续产品鉴别。
背景技术:2.医疗程序可以对医疗专业人员提供许多挑战。例如,根据对患者执行的程序,可能有许多不同的产品和仪器适用,并且这些产品和仪器中的每一种都可能有与之相关的最佳实践。如果错误地选择或使用特定产品,可能会给所有相关各方带来严重后果,包括患者、选择和/或使用产品的医疗专业人员以及产品的制造商。
技术实现要素:3.通常,本公开描述了在可以执行医学程序的环境中执行连续产品鉴别的技术。常规系统可以能够识别二维(2d)静态图像中的对象。然而,这种传统系统的一个技术问题是,它们没有提供任何方法来连续确定产品在一段时间内是否存在及其真实性。例如,静态图像不一定包括或以其他方式输送一段时间内的信息,而是最多提供特定时刻的快照。因此,常规系统可能难以使用静态图像来捕获以下信息:产品如何随时间变化使用,产品在使用或应用之后外观的变化,产品在整个感兴趣的时间段期间使用的方式的变化,或者甚至是相同产品或相同类型产品是否在整个时间段期间被适当地甚至完全连续地使用。
4.本文所描述的连续鉴别技术可能合乎期望的一个示例是在医疗程序期间。例如,可以使用两种灭菌产品,“品牌a”和“品牌b”灭菌产品,每种灭菌产品具有不同的应用技术。医学专业人员可以决定使用“品牌a”灭菌产品。能够确定哪个产品已鉴别并处于连续存在或使用中,对于自动向特定于产品的医疗专业人员提供指导材料可能很有用。因此,能够确定鉴别产品的连续存在,可以用于防止向医学专业人员呈现错误指导材料。另外,还可以自动记录鉴别产品的连续存在来提供使用了(或不使用,因为情况而定)指定产品的证明。此外,其他系统还可以使用产品的连续存在确定产品是否以正确的方式使用。此外,可以将从连续鉴别过程中收集的信息提供给其他系统进行使用。例如,可以将在本文所述的连续鉴别过程期间由系统的神经网络层提取的对应特征地图提供给下游系统。
5.作为前述技术问题的技术解决方案,本公开的一些方面包括产品鉴别训练系统,该产品鉴别训练系统使用视频数据来训练机器学习模型以识别可以在需要增强的安全性水平的环境中使用的产品。这种环境的实例包括医疗环境,诸如医院的手术室、当天手术设施或其他医疗设施。例如,机器学习系统可以用于训练神经网络。可以训练机器学习模型以识别各种类型的产品。此类产品的实例包括在手术期间施加到患者身上的材料、医疗器械、保护材料等。可以训练机器学习模型以识别产品的各个方面。例如,可以训练机器学习模型以识别产品的容器。此外,可以训练机器学习模型以识别产品在应用于患者之前的外观、最初应用于患者时产品的外观和/或随时间变化产品的外观。
6.经过训练的机器学习模型可以部署为由配套产品鉴别系统在安全问题升高的环境中使用,诸如医院、当天手术设施、诊所、长期护理设施、无菌处理环境、危险材料环境或
产品安全问题可能使连续产品鉴别符合期望的其他此类环境。作为一个实施例,医院中的手术室可以安装一个或多个摄像机以监测医疗程序的准备情况和性能。来自一个或多个摄像机的视频数据被提供给产品鉴别系统。产品鉴别系统可以将训练后的机器学习模型应用于视频数据以确定是否存在于视频数据中的指定产品。还可以从视频数据识别产品的其他方面。例如,可以从标记或编码产品的容器中识别剂量或数量信息、有效日期等。可从视频数据中识别出的更多信息包括提供护理的时间、提供护理的持续时间(例如伤口敷料或导管使用的时长)、患者体位(例如,降低呼吸机相关性肺炎风险的适当角度、可能导致压疮的体位)、手部卫生遵从性、医疗机构可能建立的或官方指南中规定的其他最佳实践的遵从性(诸如酒精类患者皮肤消毒剂、切口布、皮肤切口前施用抗生素、控制代谢物(诸如葡萄糖)等的使用)。
7.如果在视频数据内识别出指定产品,则产品鉴别系统可以将所识别的方面(例如,存在指示标识、数量、剂量、有效期等)提供给下游系统,该下游系统可以使用所识别的方面中的一个或多个来执行进一步功能。例如,下游系统可以能够识别与产品相关联的活动,因为这些活动由产品的最终用户执行。响应于知道鉴别的产品正在被使用并且响应于与产品相关联的活动,下游系统可以向特定于鉴别产品的产品终端用户提供各种类型的反馈。例如,在识别产品时,下游指令系统可以呈现关于手术室中的视频监视器或其他输出装置的信息。该信息可以包括特定于产品的产品使用信息、产品数据、警告、禁忌症等。此外,在识别视频数据中的鉴别产品时,下游系统可以使用鉴别产品的识别方面来确定由医学专业人员执行的活动是否正确执行。
8.上文所描述的方面和下文描述的其他方面可以提供对常规系统的技术改进。例如,与本文描述的系统不同,传统系统通常不能将视频数据作为用于鉴别产品的三维(3d)时空实体来处理,并且无法基于视频数据的时空分析来确定指定产品是否连续存在于医疗过程环境中。此处描述的时空分析技术可以捕获对应于产品外观随时间变化的特征,具有优于传统系统的更多优势。本文描述的时空分析技术还可以用于捕获用户与产品交互的运动和行为的特征,而不管其外观如何,并使用此类特征来识别和/或鉴别产品。例如,由于产品的设计,不同的产品设计可能导致某些运动或行为。本文描述的技术可以捕获此类运动和行为并使用它们来帮助鉴别产品。此外,本文描述的技术可以捕获过去的背景,同时使得系统能够在各个时间做出关于产品真实性的决定。
9.另外,上文所描述的方面和下文描述的其他方面可以提供一个或多个实际应用,诸如连续鉴别产品并且提供真实性的指示并且将产品的存在继续到下游系统,该下游系统可以确认鉴别产品的使用时间以及鉴别产品是否正在被正确使用。此外,下游系统可以对医学专业人员使用产品的情况提供实时反馈。
10.在一个或多个实施例方面中,产品鉴别系统包括至少一个图像捕获装置,该至少一个图像捕获装置被配置为捕获表示增强的安全环境的视频数据;机器学习模型,该机器学习模型被训练成识别指定产品;和至少一个计算装置,该至少一个计算装置包括存储器和联接到存储器的一个或多个处理器,其中存储器包括使得一个或多个处理器连续执行操作的指令,该操作包括:从视频数据确定三维数据窗口,三维数据窗口具有第一空间轴、第二空间轴和时间轴;从三维数据窗口生成包括沿三维数据窗口的时间轴变化的数据的至少一个数据流,至少一个数据流具有三维数据窗口的多个切片;至少部分地基于至少一个数
据流和机器学习模型,确定指定产品在增强的安全环境中的连续存在;以及向下游系统提供表示指定产品的连续存在的指示标识。
11.在一个或多个另外的实施例方面中,一种方法包括经由至少一个视频捕获装置捕获表示增强的安全环境的视频数据;在相对于增强的安全环境采取的一个或多个动作的至少一部分期间连续执行操作,这些操作包括:从视频数据确定三维数据窗口,三维数据窗口具有第一空间轴、第二空间轴和时间轴;从三维数据窗口生成包括沿三维数据窗口的时间轴变化的数据的至少一个数据流,至少一个数据流具有三维数据窗口的多个切片;至少部分地基于至少一个数据流和被训练成识别指定产品的机器学习模型,确定指定产品在增强的安全环境中的连续存在;以及向下游系统提供表示指定产品的连续存在的指示标识。
12.在一个或多个附加实施例方面中,非暂态计算机可读介质包括指令,这些指令在被执行时使得产品鉴别系统的一个或多个处理器在增强的安全环境中的一个或多个任务的至少一部分期间连续执行操作,该操作包括:接收表示增强的安全环境的视频数据;从视频数据确定具有第一空间轴、第二空间轴和时间轴的三维数据窗口;从三维数据窗口生成至少一个数据流,至少一个数据流包括沿三维数据窗口的时间轴变化的数据,至少一个数据流具有三维数据窗口的多个切片;至少部分地基于多个数据流和机器学习模型确定指定产品在增强的安全环境中的连续存在;向下游系统提供表示指定产品的连续存在的指示标识。
13.附图和以下描述中示出了本公开的一个或多个示例的细节。根据说明书和附图以及权利要求书,本公开的其他特征、目标和优点将显而易见。
附图说明
14.图1是示出根据本公开的各种技术的包括产品鉴别系统的示例医疗程序环境的框图。
15.图2a是描绘根据本公开的技术操作的示例产品鉴别训练系统的图示。
16.图2b是描绘根据本公开的技术操作的示例产品鉴别系统的图示。
17.图3是描绘以下示例的框图:视频数据通过本公开的技术提供的图1、图2a和图2b所示的产品鉴别训练系统和产品鉴别系统的示例性实例进行处理。
18.图4是描绘以下示例的框图:视频数据通过本公开的技术提供的图1、图2a和图2b所示的产品鉴别训练系统和产品鉴别系统的示例性实例而分成二维切片。
19.图5是描绘以下示例的框图:数据切片通过本公开的技术提供的图1、图2a和图2b所示的产品鉴别系统和产品鉴别训练系统的示例性实例中的卷积神经网络和神经网络融合层进行处理。
20.图6是描绘示例数据切片由卷积神经网络通过本发明技术提供的图1、图2a和图2b所示的产品鉴别系统和产品鉴别训练系统的示例性实例进行处理的框图。
21.图7是示出根据本公开的方面的用于连续产品鉴别的方法的示例操作的流程图。
22.应当理解,在不脱离本发明的范围的情况下,可利用实施例并且可进行结构改变。图未必按照比例绘制。图中使用的相似数字指代相似的部件。然而,应当理解,在给定图中使用数字指代部件不旨在限制另一个图中用相同数字标记的部件。
具体实施方式
23.图1是示出根据本公开的各种技术的包括产品鉴别系统104的示例医疗程序环境100的框图。医疗程序环境可以是许多不同类型的环境中的任一种,包括医院、临床、当天手术设施等。本公开的方面不限于任何特定的医疗程序环境,并且不限于医疗程序环境。例如,如上所述,本公开的方面可以应用于期望连续产品鉴别的任何环境中,诸如安全问题升高的环境。
24.图1中所示的示例描绘了经历由医疗专业人员114使用产品116执行的医疗程序的患者120。在图1所示的示例中,产品116包括含有消毒液的施用装置,该消毒液可以施加到患者120以准备手术。在该示例中的医疗程序是将产品116应用于患者120的过程。在图1所示的示例中,产品116已经如部分122所指示的那样被应用给患者120。
25.产品116可以是医疗程序中使用的任何类型的产品。此类产品的示例包括要施加到患者的产品、要给予患者的产品(例如,药物)、临床医生使用的产品(手部消毒剂、手套、个人防护设备等,诸如防护护罩、手术服等)、医疗程序期间使用的医疗仪器等、用于清洁环境的产品(诸如病例之间的手术室、患者病房等)。产品也可以是经过清洁、包装和灭菌的手术器械。
26.在医疗程序期间,图像捕获装置102a和102b(统称为“图像捕获装置102”)在程序期间捕获视频数据或其他图像数据并且将视频数据或其他图像数据提供给产品鉴别系统104。图像捕获装置可以是摄像机、红外摄像机或可以向产品鉴别系统104提供图像数据流的其他类型的传感器。在一些方面,来自多个图像捕获装置的流可以由产品鉴别系统104彼此并行地提交和处理。
27.产品鉴别系统104接收视频数据并处理视频数据以确定指定产品(例如,产品116)是否在视频数据中识别。指定产品可以是产品鉴别系统通过设计或训练识别的产品。产品鉴别系统104可以被设计和训练成识别多于一个指定产品。作为实施例,产品鉴别系统104可以被设计成识别一个或多个指定产品。产品可以来自同一制造商,也可以来自不同制造商。在一些方面,产品鉴别系统104使用机器学习模型134处理视频数据以确定是否在视频数据中识别指定产品,如下文将进一步描述。
28.因此,在图1所示的示例中,产品鉴别系统104可以接收一个或多个视频数据流并且使用经过训练的机器学习模型134处理视频数据以鉴别产品116。机器学习模型134可以被训练成使用以下各项中的一个或多个组合以生成关于产品116是否真实的决定:产品116容器的外观、在应用产品116中所采取的动作、在施加在患者120上的区段122中的产品的外观以及在区段122中施加的产品116的外观的变化,。从上文可以理解,如本文所述的视频数据和机器学习模型134的使用可以提供产品116的连续鉴别,并且可以增加产品鉴别的准确度。因此,使用由视频流提供的时空数据优于利用静态2d图像的传统系统,因为这类传统系统通常缺乏执行本文描述的时空分析的能力。
29.如果产品鉴别系统104在视频数据中识别出指定产品,则产品鉴别系统104可以提供在视频数据中识别出指定产品的指示标识。产品鉴别系统104连续处理视频数据,以连续确定视频数据中是否仍识别出指定产品。在一些方面,当指定产品最初在视频数据中识别时,产品鉴别系统104可以提供指示标识,并且在视频数据中不再识别指定产品时提供不同的指示标识。在其他方面,只要在视频数据中识别指定产品,产品鉴别系统104就可以连续
地提供指示标识,并且在视频数据中未识别指定产品时停止提供指示标识。
30.在一些方面,除了在视频数据中识别出指定产品的指示标识之外,还可以在视频数据中识别并提供指定产品的其他属性。例如,产品鉴别系统104可以分析视频数据并确定指定产品的数量、指定产品的剂量、指定产品的到期数据、指定产品的序列号或与可以从视频数据确定或推断的产品相关联的其他信息。在图1所示的示例中,执行这些附加任务可以提供与特定目标函数链接的附加输出流。例如,为了定位序列号属性,输出可以是表示包含序列号的边界框的8维向量。在这种情况下,四对坐标值可以由这些1
×
8维向量表示。然后可以将边界框的内容提供给训练成输出序列号的神经网络。在一些方面,被训练成识别这些其他属性的神经网络可以与机器学习模型134分开并且可以与机器学习模型134串联连接。
31.指示标识(以及相关联的数据(如果有的话))可以被提供给下游系统106,以用于相对于指定产品执行进一步的操作。例如,下游系统106可以是在医疗程序设施中使用指定产品时可以登录的记录系统。作为另一实施例,下游系统可以是指示系统,其可以响应于在视频数据中的指定产品的存在而提供关于使用指定产品的指导内容。作为进一步的实施例,下游系统可以是产品使用鉴别系统,该产品使用鉴别系统执行对视频数据的分析以确定指定产品是否正确使用。指示内容、建议内容或其他类型的内容可以显示在监视器108上并且通过下游系统106经由扬声器110播放,而指定产品被识别为存在于视频数据中。下游系统106可以执行各种功能。例如,下游系统106可以基于使用机器学习模型134执行的回归任务来呈现表示涉及指定产品的任务完整性的分数。作为另一实例,下游系统106可以突出显示需要医学专家进一步努力/关注的区域。在一些方面,下游系统106可以从产品鉴别系统104接收使用机器学习模型134产生的特征向量或特征图。
32.产品鉴别系统104和下游系统106可以位于与正在执行医疗程序的房间相同的房间中、在正在执行医疗程序的相同设施(例如,医院、诊所等)中,或者它们可以位于远离设施处并通过有线或无线通信系统联接到设施中的设备。此外,产品鉴别系统104和下游系统106可以在彼此不同的位置中。
33.图2a是描绘根据本公开的技术操作的示例产品鉴别训练系统202的图示。产品鉴别训练系统202可以执行训练应用程序218,训练应用程序218可以训练机器学习模型134以连续识别在视频数据流中出现时的产品。
34.在此实施例中,产品鉴别训练系统包括一个或多个处理器204和存储器206,在一些实施例中,该处理器提供用于执行操作系统216的计算机平台,该操作系统可以是例如实时多任务操作系统或其他类型的操作系统。进而,操作系统216提供用于执行一个或多个软件组件217的多任务操作环境。处理器204联接到一个或多个i/o接口214,其提供用于与诸如键盘、控制器、显示装置、图像捕获装置、其他计算系统等的装置通信的i/o接口。此外,一个或多个i/o接口214可以包括用于与网络通信的一个或多个有线或无线网络接口控制器(nic)。另外,处理器204可以联接到电子显示器208和图像捕获装置138。在一些实施例中,处理器204和存储器206可以是独立的、不连续组分。在其他实施例中,存储器206可以是与单个集成电路内的处理器204并置的芯片上存储器。
35.产品鉴别训练系统202的软件组件217用于训练机器学习模型134以识别指定产品在视频数据中的连续存在。在此实施例中,软件组件217包括训练应用程序218、视频数据处
理器220和机器学习引擎222。
36.在一些方面,训练数据库230包括训练数据232,该训练数据可以包括产品的各个方面的许多视频记录。例如,视频记录可以包括用于产品的容器和容器上的相关标记的记录(徽标、数量、剂量信息、有效数据、序列号等)。视频记录还可以包括医疗专业人员使用产品的记录。此外,视频记录可以包括在产品已经施加于患者或以其他方式用于医疗程序之后获取的记录。例如,最初施加到患者的产品的外观以及产品外观随时间的变化可以用于确认或识别视频数据中的产品。视频记录还可以包括未出现产品的视频记录。训练视频记录可以包括标记视频记录的各个方面的元数据。例如,标签可以指示产品是否出现在视频记录中。标签可以由产品鉴别训练系统用于确定机器学习模型134是否正确确定指定产品是否在视频记录中连续存在。视频记录还可以包括从不同的摄像机或传感器角度获取的相同产品的各种视图,包括来自不同角度的同时视图。此外,视频记录可以包括采用不同照明条件的相同产品的记录。
37.视频记录还可以通过红外(ir)光谱摄像机可视化并记录信息。例如,产品上的各种标签可以结合ir可读信息。因此,产品鉴别系统可以包括一个或多个可见光谱摄像机和一个或多个ir光谱摄像机。
38.通常,产品鉴别训练应用程序218包括用于使用训练数据232控制训练机器学习模型134的各个方面的功能。例如,训练应用程序218可以提供各种用户界面,用于从训练数据232选择各种视频记录集并提供关于训练的各种参数(例如,扫描遍数、超参数等)。另外,训练应用程序218可以提供用户界面以指定机器学习引擎是否正确地确定对于呈现给机器学习引擎222的视频记录的至少一部分是否连续存在指定产品。
39.视频数据处理器220从训练数据232接收所选视频记录,并且如下文进一步描述的处理视频记录中的视频数据以呈现给机器学习引擎222。机器学习引擎222从视频数据处理器接收视频数据并执行机器学习算法和启发法以训练机器学习模型134。在一些方面,机器学习引擎222和机器学习模型134实施神经网络。作为实施例,神经网络可以是卷积神经网络、递归神经网络、长短期记忆(lstm)神经网络或其他类型的人工智能。机器学习引擎222可以将机器学习模型134应用于训练视频数据,并且针对至少一部分训练视频数据就指定产品是否连续存在进行预测。如果机器学习模型134错误地确定存在(如使用训练数据中的标签或手动输入),“反向传播算法”或其他优化技术可用于对机器学习模型134提供调整,并且训练过程可以继续。
40.当机器学习模型134被完全训练(即,已经达到期望的准确度水平以识别视频数据中产品的连续存在时),机器学习模型134可以部署到产品鉴别系统104。
41.下文关于图3-7提供关于视频数据处理器220和机器学习引擎222的操作的进一步细节。
42.图2b是描绘根据本公开的技术操作的示例产品鉴别系统104的图示。在一些方面,产品鉴别系统104经由视频捕获装置接口212接收实时视频数据236,并且使用推断引擎242和经过训练的机器学习模型134实时或接近实时确定指定产品是否在视频数据236的部分内连续存在。
43.在此实施例中,类似于图2a的产品鉴别训练系统,产品鉴别训练系统104包括一个或多个处理器244和存储器246,在一些实施例中,该处理器提供用于执行操作系统256的计
算机平台,该操作系统可以是例如实时多任务操作系统或其他类型的操作系统。进而,操作系统256提供用于执行一个或多个软件应用程序219的多任务操作环境。处理器244可以联接到一个或多个i/o接口254,其提供用于与诸如键盘、控制器、显示装置、图像捕获装置、其他计算系统等装置通信的i/o接口。此外,一个或多个i/o接口214可以包括用于与网络通信的一个或多个有线或无线网络接口控制器(nic)。在一些实例中,处理器244和存储器246可以是单独的分立组件。在其他实例中,存储器246可以是与单个集成电路内的处理器244并置的芯片上存储器。
44.产品鉴别系统104的软件应用程序219用于接收实时视频数据并识别指定产品在实时视频数据中是否连续存在。在此实施例中,软件应用程序219包括产品鉴别器240、视频数据处理器248和推断引擎242。
45.通常,产品鉴别器240包括用于控制确定在实时视频数据236中是否连续存在指定产品的各个方面的功能。例如,产品鉴别器240可以提供各种用户界面,用于选择关于产品识别的参数(例如,要识别的产品、要使用的机器学习模型、要通知的下游系统等)。
46.类似于上文讨论的产品鉴别训练系统202,视频数据处理器248接收视频数据并处理视频数据,如下文进一步描述用于呈现给推断引擎242。然而,在这种情况下,视频数据处理器248在医疗程序期间接收经由视频捕获装置102提供的实时视频数据236而不是训练数据。
47.推断引擎242类似于图2a的机器学习引擎222,并且从视频数据处理器接收视频数据并执行推断算法和启发法,以确定在实时视频数据236的一部分期间是否连续存在指定产品。在一些方面,推断引擎242和机器学习模型134实施的神经网络与由产品鉴别训练系统202用于训练机器学习模型134的神经网络相同。作为实施例,神经网络可以是卷积神经网络、递归神经网络、长短期记忆(lstm)神经网络或其他类型的人工智能。推理引擎242可以将机器学习模型134应用到视频数据,并且针对实时视频数据236的至少一部分就指定产品是否连续存在进行预测。与机器学习引擎222不同,在一些方面,推断引擎242不使用反向传播或其他技术来改变机器学习模型134以提高模型的准确性。换句话讲,推理引擎242与机器学习引擎222类似地操作,关于对视频流中指定产品的连续存在进行预测,但在某些方面,如果预测不正确,则不检查预测的准确性或尝试纠正机器学习模型134。然而,在其他方面,产品鉴别器可以提供界面以指示预测不正确,并且产品鉴别系统104可以更新机器学习模型134。在此类方面,推断引擎242与机器学习引擎222基本上相同。在一些方面,上述在线更新可以使用基于随机梯度下降算法的机器学习算法来更新机器学习模型134。
48.下文关于图3-7提供关于视频数据处理器248和推断引擎242的操作的进一步细节。
49.图3是示出以下示例的框图:视频数据通过产品鉴别训练系统202示例性实例以及根据本发明技术的图1、图2a和图2b的产品鉴别系统104示例性实例进行处理。在图3所示的示例中,视频数据302可以是来自训练数据232的训练视频数据,也可以是实时视频数据236。如上所述,在一些方面,视频数据302包括具有时间轴(标记为“time”)和两个空间轴(标记为“space_1”和“space_2”)的3d体积。在一些方面,视频数据处理器220、248将视频数据划分为数据窗口,其中每个数据窗口304具有沿时间轴的维度a以及沿空间轴的维度b和c。因此,a维度代表数据窗口304的持续时间,b和c维度代表图像尺寸。例如,具有十个帧持
续时间和300
×
300像素图像尺寸的视频数据窗口304可以具有10
×
300
×
300的a
×b×
c尺寸。此外,每个图像还可以具有通道(例如,颜色图像的红色、绿色和蓝色通道),在这种情况下,符号可以表示为a
×b×c×
d,其中d表示通道的数目。下面关于图6呈现使用多通道颜色图像的示例。然而,为了简化解释,下面将使用具有单个通道的灰度图像来说明技术的各方面。因此,符号a
×b×
c可以使用,因为d将具有一个恒定值。
50.视频数据处理器220、248还可以通过在将数据窗口提交到机器学习引擎222或推断引擎242之前旋转或以其他方式转换一个或多个轴来从每个数据窗口304创建多个数据窗口304a、304b和304c。在图3所示的示例中,视频数据处理器220、248已经生成三个数据流,每个数据流相对于时间和空间轴具有不同的取向。数据窗口304a、304b和304c的三个数据流可以被提交到推断引擎242,该推断引擎使用机器学习模型134来确定指定产品是否在数据窗口304中连续出现。例如,“真实”的指示标识可以用于指示指定产品是真实的并且在视频数据窗口304中连续存在。“非真实”指示标识可以用于指示指定产品未出现在视频数据窗口304中。尽管图3中示出了三个数据流,但是本文讨论的技术可以应用于更少或更多的数据流。在一些方面,数据流中的至少一个具有时间维度。也就是说,在一些方面,视频数据处理器220接收最少一个时空图像数据流。
51.图4是示出以下示例的框图:视频数据处理器220、248的示例性实例根据本发明技术将视频数据执行时空切片到2d切片。在图4所示的示例中,视频数据处理器220、248通过获取视频数据窗口304的2d切片402来创建用于提交给机器学习引擎222和推理引擎242的多个数据流。2d切片的边缘与时间轴和空间轴之间形成的角度定义了2d切片的取向。因此,边缘和时间轴和空间轴之间具有相同角度的两个2d切片具有相同的取向。图4中所示的数据窗口304具有a的时间维度以及b和c的空间维度。a的量值根据滑动窗尺寸r确定。因此,在时间tk,a=tk–
tr。切片402可取自相对于时间轴和两个空间轴的各种取向。在图4所示的示例中,示出了三个切片402a、402b和402c(统称为切片402)。切片1 402a是相对于数据窗口的第一空间轴和第二空间轴截取的切片。切片2 402b是相对于时间轴和第一空间轴截取的切片。切片3 402c是沿第二空间轴以及时间轴和第一空间轴的斜边截取的对角线切片。如上所述,在一些方面,使用至少一个图像数据流来提供利用数据流中的时间变化的切片。切片402b和切片402c是图4中两个此类切片的示例,因为它们包括沿时间轴变化的数据。这些切片捕获了产品行为的时空形状,这对于产品识别和鉴别可能具有很高的预测价值。视频数据处理器220、248可以继续沿所选取向提供另外的切片。例如,对于具有x-y取向的切片,下一个切片可以包括沿时间轴的下一图像帧。在具有时间-y取向的切片中,下一个切片可以包括下一x位置处的数据。在一些方面,视频数据处理器220、248为切片402提供多个数据流,其中每个数据流包含具有相同取向的切片。因此,在图4所示的示例中,视频数据处理器220、248可以向机器学习引擎222或推断引擎242提供三个数据流。第一数据流具有对应于切片402a的取向的切片,第二数据流具有对应于切片402b的取向的切片,并且第三数据流具有对应于切片402c的取向的切片。机器学习引擎222或推断引擎242的输出包括关于指定产品是否连续出现在视频数据窗口304中的时间t的预测406。
52.可以使用其他取向来代替图4所示的切片取向,或者除了图4所示的切片取向之外,还可以使用其他取向。可以将关于这些额外取向的切片作为单独的数据流提供给机器学习引擎222或推断引擎242。图4中所示的示例包括根据三个取向截取的切片。然而,本公
开的技术不限于任何特定数量的取向。在一些方面,数据窗口304可以根据五个或六个不同的取向在时空上切片。然而,对于机器学习算法,一种时空取向可能就足够了。
53.产品鉴别训练系统202可以包括迁移学习404。如上所述,传统系统可以训练机器学习模型134以识别2d图像中的产品。在一些方面,产品鉴别训练系统202可以利用在先前训练的2d机器学习模型中编码的知识作为迁移学习404。这可以有利于减少训练机器学习模型134以连续识别3d视频流中的指定产品所需的训练时间量。通常,为了成功利用迁移学习,源神经网络和目标神经网络至少需要在层配置方面具有一定的兼容性。在处理3d视频分类时,在视频数据集上训练的神经网络似乎是迁移学习的自然来源。然而,这些3d数据集中不同视频的数量远远少于2d数据集中可用的不同图像的数量,如果仅限于从在3d视频数据集上训练的网络进行迁移学习,那么迁移的优势就变得不那么有利了。然而,如本文所述,3d时空在2d图像切片的时空形状中自动捕获(例如在时空切片中),而无需神经网络过滤器上有额外维度。因为使用了2d切片,所以来自先前为识别2d图像上的产品而训练的神经网络的迁移学习可以很容易地用作迁移学习404。
54.图5是描绘示例多流神经网络520的框图,其中根据本公开的技术的图1、图2a和图2b的产品鉴别训练系统202和产品鉴别系统104的示例性实例将具有特定取向的数据切片提供给对应的卷积神经网络层506集。在图5所示的示例中,具有相对于时间轴和空间轴的各种取向的切片502作为数据流提供给对应的卷积神经网络层506集,其中训练每组卷积网络层506以处理各自具有相同取向的切片。因此,每个层506a-506n集是取向特定层组。例如,卷积神经网络层506a集接收包括数据窗口304的切片的数据流,每个切片具有与切片1502a相同的取向。卷积神经网络层506b集接收数据流,数据流包括数据窗口304的切片,这些切片各自具有与切片2 502b相同的取向。这继续,每个卷积神经网络层506集接收对应于网络层被训练的取向的数据流。因此,对于从数据窗口304取n个切片的系统,卷积神经网络层506n接收包括数据窗口304的切片的数据流,每个切片具有与切片n 502n相同的取向。每个卷积神经网络层集具有根据对应神经网络层506的训练确定的相关联权重504。
55.每个卷积神经网络层506a-506n集的输出包括一个向量(即特征图)508a-508n,它总结了各个切片502a-502n的内容。在一些方面,每个向量508a-508n被提供给完全连接的高级神经网络层510(也称为后期融合层)。在图5所示的示例中,高级神经网络层510具有两个层,分别产生向量512和向量514。最后一层的输出用于确定时间tk的预测406。
56.在多流神经网络520的训练期间,训练系统可以通过将预测406与已知值进行比较来确定预测406中是否存在错误。如果预测406有错误,可以联合优化高级层510和cnn层506以提高多流神经网络520的预测能力。例如,错误信息可以用于应用于高级层510的反向传播操作。一旦该第一反向传播操作已经完成,就可以确定每个向量508中的误差。然后可以将每个向量508的误差用于反向传播操作,以调整对应于特定输出向量508的cnn层506中的每个cnn层的权重504。因此,即使误差最初由高级层510的输出确定,每个取向特定层506集也可以更新。
57.以上讨论是在从单个摄像机或其他传感器接收的视频数据的上下文中提出的。在一些方面,可以同时从多个图像捕获装置或其他图像传感器接收视频数据,从而提供产品的多个并发视图。在此类方面,来自同时获取的视频数据的切片可以同时被提供给取向适当的卷积神经网络,高级层510使用输出向量508来关联多个视图的特征,以便识别指定产
品的连续存在。将此应用于图5中提供的示例,假设存在同时提供图像数据的两个图像捕获装置,并且已经使用用于第一图像捕获装置的五个不同切片取向和第二图像捕获装置的四个不同切片取向来训练卷积神经网络层506。将两个图像捕获装置的这种配置应用于图5所示的示例多流神经网络,n=9,卷积神经网络层1-5可以处理来自第一图像捕获装置的视频数据,卷积神经网络层6-9可以处理来自第二图像捕获装置的同步视频数据。
58.如上所述,在一些方面可以使用递归神经网络或lstm网络。使用递归神经网络或lstm网络可能是有利的,因为此类网络可以将来自先前处理的切片的特征与当前处理的切片相关联,从而向机器学习模型添加额外的时间方面。这可以产生更准确的机器学习模型,但可能需要更多的训练时间。
59.图6是描绘示例数据切片由卷积神经网络通过本发明技术提供的图1、图2a和图2b所示的产品鉴别系统和产品鉴别训练系统的示例性实例进行处理的框图。图6中所示的示例提供了图5的卷积神经网络层506的进一步细节,并且示出了对切片502a的数据流进行操作的卷积神经网络层506a的代表性样本集,其中每个切片具有相同的取向,并且取向对应于用于训练卷积神经网络层506a集的取向。在图6所示的示例中,卷积神经网络层506a集具有一系列卷积层602和整流线性单元604。在一些方面,卷积层602提供二维神经元,并且整流线性单元604是被设计成产生非线性输出的神经元的激活函数。
60.出于图6中所示示例的目的,假设视频数据包括300x300像素(即,b=c=300),并且所有层使用的窗口步幅为2。因此,在该示例中,输入切片502a具有300
×
300
×
3的大小,这是以像素为单位的图像大小,并且每个像素的三个红、绿、蓝(rgb)值代表三个通道。第一卷积层602a具有10像素
×
10像素
×
3rgb值的过滤器尺寸。如“@10”符号所示,卷积层602a中有10个过滤器,因此该层产生10个输出特征图。下一个卷积层602b具有6
×6×
10的过滤器大小,并且包括15个过滤器,如“@15”符号所示。随后的卷积层502c具有5
×5×
15的过滤器大小并包括18个过滤器。倒数第二个卷积层602d具有8
×8×
18的过滤器尺寸并且还包括18个过滤器。最后的卷积层502e具有14
×
14
×
18的滤波器尺寸并包括40个滤波器。因此,该卷积神经网络层506a集的最终输出包括有效概括切片1502a的内容的向量508a。如图5所示,向量508a与输出向量508b-508n组合并由高级神经网络层510处理。因此,卷积神经网络层506a集可以接收切片502a并且产生尺寸为1
×
40的矢量输出508a。此矢量输出508a可以馈送到高级神经网络层510,该高级神经网络层可以联合学习在来自不同切片502的向量508中表示的时空特征中看到的相关性。
61.图7是示出根据本公开的方面的用于连续产品鉴别的方法的示例操作的流程图。流程图示700中所示的示例操作可以在医疗程序的实施期间或在医疗环境中使用产品期间连续执行。产品鉴别系统或训练系统接收表示医疗程序环境的视频,这些医疗程序环境诸如医院手术室、诊所、当天手术设施等(702)。
62.在产品鉴别训练系统的情况下,视频可以是先前执行的医疗程序或指定产品的使用的预先录制的视频剪辑。预先录制的视频剪辑可能包括标记出现在视频中的产品和产品属性的元数据,以帮助机器学习模型的自动训练。
63.在产品鉴别系统的案例中,视频可以是医疗程序实际实施或产品在医疗环境中使用的实时视频。
64.视频数据处理器将输入视频视为具有时间轴和两个空间轴(例如,x轴和y轴)的三
维体积。视频数据处理器将输入视频划分为三维数据窗口(704)。在某些方面,三维窗口的持续时间为τ。τ值可能会根据当前的响应时间要求、可用的计算资源和捕获视频帧的帧率而变化。处理较大的体积可以提供更大的背景和更多信息,但也可以消耗更多资源(例如存储器、gpu等),并且可以使用更大的神经网络模型来提供响应。根据这些因素,τ值的范围可能从几分之一秒到几秒不等。对于帧率为25fps的一般医疗应用,分辨率约为300x300x3、400x400x3或500x500x3,τ值范围为1-12秒。
65.视频数据处理器通过在不同取向上对三维窗口进行时空切片,从同一三维窗口生成多个数据流(706)。例如,视频数据处理器可以创建第一数据流、第二数据流和第三数据流,该第一数据流具有对应于三维窗口的x轴和y轴的切片;该第二数据流具有对应于该三维窗口的时间轴和y轴的切片以及该第三数据流具有对应于x轴的切片和根据y轴和时间轴确定的斜边。除了上述三个取向中的任何一个取向之外,或者代替上述三个取向中的任何一个取向,可以使用其他取向。
66.然后,视频数据处理器将单独数据流提供给推断引擎(708)。如上所述,推断引擎可以包括单独的cnn层506和联合高级层510,其中单独的cnn层506对特定的切片取向具有特异性,并且联合高级层510涉及单独的cnn层506的输出。例如,推断引擎可以包括多个卷积神经网络层506集,其中每个层506的集在具有不同取向的切片上训练。推断引擎可将相应的输入数据流提供给对应卷积神经网络层,该卷积神经网络层训练所使用的训练数据切片的取向与相应输入数据流相同。
67.推断引擎的输出可用于确定指定产品是否在视频数据窗口中连续存在(710)。在一些方面,将每个取向特定卷积神经网络的输出向量提供给高级卷积神经网络(后期融合层)。高级卷积神经网络可以利用不同切片对应的输出向量所代表的时空特征中的相关性,在数据窗口中预测指定产品是否连续存在。
68.可以将表示指定产品是否连续存在的指示标识提供给下游系统。下游系统可以使用指示标识来记录指定产品的使用、确定产品是否正确使用或者确定要提供的关于指定产品的指导内容。
69.上述讨论是在可以执行医疗程序或可以使用医疗相关产品的医疗环境的背景下提出的。上述技术也可以应用于其他环境。例如,这些技术可以应用于关于使用安全设备的视频,以确定安全设备的指定产品组件的存在。
70.在优选实施方案的具体描述中参考了附图,这些附图示出了可实践本发明的具体实施方案。例示的实施方案并非旨在详尽列举根据本发明的所有实施方案。应当理解,在不脱离本发明范围的情况下,可利用其它实施方案,并且可进行结构性或逻辑性的改变。因此,不能认为以下的详细描述具有限制意义,并且本发明的范围由所附权利要求书限定。
71.除非另外指明,否则本说明书和权利要求书中所使用的表达特征尺寸、量和物理特性的所有数在所有情况下均应理解成由术语“约”修饰。因此,除非有相反的说明,否则在上述说明书和所附权利要求书中列出的数值参数均为近似值,这些近似值可根据本领域的技术人员利用本文所公开的教导内容来寻求获得的期望特性而变化。
72.除非内容另外明确指明,否则如本说明书和所附权利要求书中所使用的,单数形式“一个/种”和“所述”涵盖了具有多个指代物的实施方案。除非内容另外明确指明,否则如本说明书和所附权利要求书中使用的,术语“或”一般以其包括“和/或”的意义采用。
73.应当认识到,根据该示例,本文所述方法中的任一种的某些动作或事件可以不同的顺序实行,可一起添加、合并或省去(例如,不是所有所描述动作或事件对于方法的实践都是必需的)。此外,在某些示例中,动作或事件可例如通过多线程处理、中断处理或多个处理器同时而不是顺序地执行。
74.本公开中所描述的技术可至少部分地以硬件、软件、固件或它们的任何组合来实施。例如,所描述的技术的各个方面可以在一个或多个处理器中实现,包括一个或多个微处理器、dsp、专用集成电路(asic)、现场可编程门阵列(fpga)、或任何其他等同的集成或离散逻辑电路、以及此类部件的任何组合。术语“处理器”或“处理电路”通常可以是指单独的或与其他逻辑电路组合的上述逻辑电路中的任一个、或任何其他等同的电路。包含硬件的控制单元还可执行本公开的技术中的一种或多种。
75.此类硬件、软件和固件可在相同装置内或在不同装置内实施,以支持本公开中描述的各种操作和功能。此外,所描述的单元、模块或组件中的任一个可以一起实施或作为分立的但可互操作的逻辑装置单独实施。将不同特征描绘为模块或单元旨在突出不同的功能方面,并且不一定暗示此类模块或单元必须由单独的硬件或软件组件实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件组件执行或者集成在公共或单独的硬件或软件组件中。
76.本公开中描述的技术还可以在包含指令的计算机可读介质(诸如计算机可读存储介质)中体现或编码。例如,当执行指令时,嵌入或编码在计算机可读存储介质中的指令可使得可编程处理器或其他处理器执行该方法。计算机可读存储介质可以包括:随机存取存储器(ram)、只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪存存储器、硬盘、cd-rom、软盘、盒式磁带、磁介质、光学介质或其他计算机系统可读介质。
77.已描述了各种示例。这些示例以及其他示例均在以下权利要求书的范围内。