使用多个域数据集的机器学习预测的生成的制作方法

文档序号:33713574发布日期:2023-04-01 02:16阅读:48来源:国知局
使用多个域数据集的机器学习预测的生成的制作方法
使用多个域数据集的机器学习预测的生成


背景技术:

1.机器学习模型可以用于处理各种类型的数据,包括图像、时间序列、文本和/或点云,等等。机器学习模型的改进允许模型更快地执行数据处理和/或利用更少的计算资源进行处理。


技术实现要素:

2.可以使用多个训练数据分布来训练机器学习模型以执行特定任务。训练数据分布可以彼此不同,每个训练数据分布与不同的属性相关联。机器学习模型可以被配置为基于输入矩阵和域索引矩阵生成输出矩阵。输入矩阵可以表示将由机器学习模型处理的输入数据,作为特定任务的性能的一部分。域索引矩阵可以控制多个训练数据分布中的每一个影响输出矩阵的程度。具体地,域索引矩阵的每个元素的域索引值可以控制输出矩阵的一个或多个对应输出值的属性。因此,可以通过改变域索引矩阵的域索引值来改变输出矩阵的属性,属性的可能范围基于多个训练数据分布。
3.在第一示例实施例中,一种方法可以包括获得表示输入数据的输入矩阵。该方法还可以包括确定域索引矩阵,该域索引矩阵包括针对输入矩阵的每个相应输入值的对应域索引值,该对应域索引值指示要在生成与相应输入值相对应的输出值时使用的对应训练数据分布。对应训练数据分布可以是多个训练数据分布之一。该方法可以附加地包括向机器学习模型提供输入矩阵和域索引矩阵,该机器学习模型已经被训练成使用多个训练数据分布来生成输出矩阵。多个训练数据分布的每个相应训练数据分布可以与不同于多个训练数据分布的其他训练数据分布的对应属性的属性相关联。该方法可以进一步包括由机器学习模型并基于输入矩阵和域索引矩阵生成输出矩阵,针对输入矩阵的每个相应输入值,该输出矩阵包括基于(i)相应输入值和(i i)对应域索引值生成的对应输出值,使得对应输出值展示对应训练数据分布的属性。
4.在第二示例实施例中,系统可以包括处理器和其上存储有指令的非暂时性计算机可读介质,指令当由处理器执行时,使处理器执行根据第一示例实施例的操作。
5.在第三示例实施例中,非暂时性计算机可读介质上可以存储有指令,指令当由计算装置执行时,使计算装置执行根据第一示例实施例的操作。
6.在第四示例实施例中,系统可以包括用于执行第一示例实施例的每个操作的各种装置。
7.通过阅读以下详细描述并参考适当的附图,这些以及其他实施例、方面、优点和替代方案对于本领域普通技术人员将变得显而易见。此外,本发明内容和本文提供的其他描述和附图旨在仅通过示例的方式来说明实施例,并且因此可以有许多变化。例如,结构元素和过程步骤可以被重新排列、组合、分布、消除或以其他方式改变,同时保持在所要求保护的实施例的范围内。
附图说明
8.图1示出了根据本文描述的示例的计算装置。
9.图2示出了根据本文描述的示例的计算系统。
10.图3示出了根据本文描述的示例的训练数据分布。
11.图4示出了根据本文描述的示例的系统。
12.图5示出了根据本文描述的示例的输入矩阵、域索引矩阵和输出矩阵的各方面。
13.图6示出了根据本文描述的示例的训练系统。
14.图7a示出了根据本文描述的示例的图像。
15.图7b、图7c、图7d和图7e示出了根据本文描述的示例的深度图像。
16.图8是根据本文描述的示例的流程图。
具体实施方式
17.本文描述了示例方法、装置和系统。应当理解,词语“示例”和“示例性的”在本文中用于意指“充当实例、实例或说明”。除非如此陈述,否则本文描述为“示例”、“示例性”和/或“说明性”的任何实施例或特征不一定被解释为相对于其他实施例特征是优选的或有利的。因此,在不脱离本文呈现的主题的范围的情况下,可以使用其他实施例并且可以进行其他改变。
18.因此,本文描述的示例实施例不旨在为限制性的。将容易理解的是,如本文一般描述并且在附图中说明的本公开的各方面可以以各种不同配置来布置、替换、组合、分离和设计。
19.此外,除非上下文另有说明,否则每个图中所示的特征可以彼此结合使用。因此,附图通常应当被视为一个或多个总体实施例的组成方面,应当理解,并非所有示出的特征对于每个实施例都是必要的。
20.附加地,在本说明书或权利要求中对元件、块或步骤的任何枚举都是为了清楚的目的。因此,这种枚举不应被解释为要求或暗示这些元件、块或步骤遵循特定的布置或以特定的顺序执行。除非另有说明,否则附图不是按比例绘制的。
21.i.概述
22.可以使用对应训练数据集(即,训练数据分布)来训练机器学习模型以执行任务,该训练数据集包括多对训练输入和对应的真值(ground-truth)输出。在一些情况下,多个不同的训练数据集可以可用于给定的任务,并且训练数据集的属性可以彼此不同。例如,第一训练数据集可以包括与任务相关联的一个或多个第一条件的准确真值数据,而第二训练数据集可以包括对于一个或多个第一条件不准确但对于一个或多个第二条件准确的真值数据。训练数据集之间的这种差异可能是与获得准确的真值数据相关联的各种实际约束的结果,包括在生成训练数据时使用的传感器的特性、在处理传感器数据和/或生成训练数据中使用的算法的特性、训练数据的人工注释者之间的差异、和/或由训练数据表示的不同条件的出现频率,以及其他可能的因素。
23.使用多个训练数据集的并集来训练机器学习模型而不明确区分它们,可能导致机器学习模型学习生成近似于这些训练数据集的真值的平均值的输出。然而,当给定条件的真值在训练数据集之间不同时,平均结果可能不准确,导致机器学习模型在某些条件下生
成不准确的结果。因此,机器学习模型可以改为被训练以允许在推理时使用域索引矩阵来明确地指示机器学习模型要在生成输出数据时使用的一个或多个训练数据集(机器学习模型先前已基于该数据集被训练)。具体地,在训练期间,机器学习模型可以被告知从其获得对应训练样本的训练数据集。因此,在推理时,机器学习模型可以被配置为生成与由域索引矩阵指定的训练数据集具有相同属性的输出。
24.具体地,域索引矩阵可以包括多个元素,每个元素可以与一个或多个域索引值相关联。特定元素的一个或多个域索引值可以包括例如等于在训练机器学习模型中使用的不同训练数据分布的数量的多个值。域索引矩阵的每个矩阵元素并且因此其对应的一个或多个域索引值可以对应于输入矩阵的一个或多个输入值。例如,域索引矩阵的给定矩阵元素的域索引值可以控制处理例如输入矩阵的一个、两个、四个、八个或十六个对应元素以生成输出矩阵的对应输出值的方式。因此,一个或多个域索引值可以向机器学习模型指示在基于一个或多个输入值生成输出值时要建模和/或模仿哪一个或多个训练数据分布。因此,通过使用域索引矩阵指定不同训练数据分布影响输出矩阵的给定像素和/或给定像素组的程度,可以按像素和/或按像素组控制输出矩阵的属性。
25.在一些实现方式中,可以结合域检测模型来训练机器学习模型。域检测模型可以在训练过程期间使用,以基于训练输入矩阵和真值域索引矩阵来确定训练域索引矩阵。机器学习模型可以用于基于训练域索引矩阵和对应的训练输入矩阵来生成训练输出矩阵。使用训练域索引矩阵训练机器学习模型可以允许机器学习模型学习更好地处理噪声、聚集来自不同训练数据分布的信息、和/或生成混合不同训练数据分布的属性的输出。
26.此外,作为训练的结果,机器学习模型可以被配置为基于单个输入矩阵生成多个不同的输出矩阵,每个输出矩阵与对应的域索引矩阵相关联。因此,通过调整域索引矩阵的值,而不是通过重新训练机器学习模型,可以控制单个机器学习模型以确定性地生成具有不同属性的输出。附加地,与使用对应训练数据分布独立训练的多个机器学习模型的总和相比,机器学习模型可以更小,并且因此在计算上效率更高(例如,训练、从存储器中检索和/或执行更快)。此外,由于机器学习模型聚集来自跨多个不同训练数据分布的信息,因此机器学习模型可以生成比任何单独的独立训练的模型更准确和/或更高质量的预测。因此,机器学习模型可以存储在比存储多个机器学习模型所需的存储器部分更小的存储器部分中,但是仍然可以提供相对于单独的独立训练的模型的改进的预测。因此,机器学习模型能够部署在存储器受限的装置上,其中受限的装置不能部署单独的独立训练的模型。
27.ii.示例计算装置和系统
28.图1示出了示例计算装置100。计算装置100以移动电话的形状因子示出。然而,计算装置100可以替代性地被实现为膝上型计算机、平板计算机和/或可穿戴计算装置,等等。计算装置100可以包括各种元件,诸如本体102、显示器106以及按钮108和110。计算装置100可以进一步包括一个或多个相机,诸如前置相机104和后置相机112。
29.前置相机104可以定位在本体102在操作时通常面向用户的一侧(例如,与显示器106在同一侧)。后置相机112可以定位在本体102的与前置相机104相反的一侧。将相机称为前置和后置是任意的,并且计算装置100可以包括定位在本体102的各个侧面上的多个相机。
30.显示器106可以表示阴极射线管(crt)显示器、发光二极管(led)显示器、液晶
(lcd)显示器、等离子体显示器、有机发光二极管(oled)显示器或本领域已知的任何其他类型的显示器。在一些示例中,显示器106可以显示由前置相机104和/或后置相机112捕获的当前图像的数字表示、可以由这些相机中的一个或多个捕获的图像、由这些相机中的一个或多个最近捕获的图像、和/或这些图像中的一个或多个的修改版本。因此,显示器106可以充当相机的取景器。显示器106还可以支持能够调整计算装置100的一个或多个方面的设置和/或配置的触摸屏功能。
31.前置相机104可以包括图像传感器和相关联的光学元件,例如透镜。前置相机104可以提供变焦能力,或者可以具有固定的焦距。在其他示例中,可互换镜头可以与前置相机104一起使用。前置相机104可以具有可变的机械光圈以及机械和/或电子快门。前置相机104也可以被配置为捕获静态图像、视频图像或两者。此外,前置相机104可以表示例如单视场相机、立体相机或多视场相机。后置相机112可以类似地或不同地布置。附加地,前置相机104和/或后置相机112中的一个或多个可以是一个或多个相机的阵列。
32.前置相机104和/或后置相机112中的一个或多个可以包括提供光场来照明目标物体的照明部件或与该照明部件相关联。例如,照明部件可以提供目标物体的闪光照明或恒定照明。照明部件也可以被配置为提供包括结构光、偏振光和具有特定光谱内容的光中的一种或多种的光场。在本文的示例的上下文中,已知的用于从物体恢复三维(3d)模型的其他类型的光场是可能的。
33.计算装置100还可以包括环境光传感器,该传感器可以连续地或不时地确定相机104和/或112可以捕获的场景的环境亮度。在一些实现方式中,环境光传感器可以用于调节显示器106的显示亮度。附加地,环境光传感器可以用于确定相机104或112中的一个或多个的曝光长度,或者帮助该确定。
34.计算装置100可以被配置为使用显示器106和前置相机104和/或后置相机112来捕获目标物体的图像。捕获的图像可以是多个静态图像或视频流。可以通过激活按钮108、按下显示器106上的软键或者通过一些其他机制来触发图像捕获。取决于实现方式,可以在特定时间间隔自动捕获图像,例如,在按下按钮108时、在目标物体的适当照明条件下、在将计算装置100移动预定距离时或者根据预定的捕获时间表。
35.图2是示出示例计算系统200的一些部件的简化框图。作为示例而非限制,计算系统200可以是蜂窝式移动电话(例如,智能电话)、计算机(诸如台式计算机、笔记本计算机、平板计算机或手持计算机)、家庭自动化部件、数字录像机(dvr)、数字电视、遥控器、可穿戴计算装置、游戏控制台、机器人装置、车辆或一些其他类型的装置。计算系统200可以表示例如计算装置100的各方面。
36.如图2所示,计算系统200可以包括通信接口202、用户接口204、处理器206、数据存储208和相机部件224,所有这些都可以通过系统总线、网络或其他连接机制210通信地链接在一起。计算系统200可以配备有至少一些图像捕获和/或图像处理能力。应当理解,计算系统200可以表示物理图像处理系统、图像感测和/或处理应用在其上以软件运行的特定物理硬件平台、或者被配置为执行图像捕获和/或处理功能的硬件和软件的其他组合。
37.通信接口202可以允许计算系统200使用模拟或数字调制与其他装置、接入网络和/或传输网络进行通信。因此,通信接口202可以促进电路交换和/或分组交换通信,诸如普通老式电话服务(pots)通信和/或互联网协议(ip)或其他分组通信。例如,通信接口202
可以包括被布置用于与无线电接入网络或接入点进行无线通信的芯片组和天线。此外,通信接口202可以采用有线接口的形式或包括有线接口,诸如以太网、通用串行总线(usb)或高清多媒体接口(hdmi)端口。通信接口202还可以采用无线接口的形式或包括无线接口,诸如wi-fi、全球定位系统(gps)或广域无线接口(例如,wimax或3gpp长期演进(lte))。然而,其他形式的物理层接口和其他类型的标准或专有通信协议可以在通信接口202上使用。此外,通信接口202可以包括多个物理通信接口(例如,wi-fi接口、接口和广域无线接口)。
38.用户接口204可以用于允许计算系统200与人类或非人类用户交互,诸如接收来自用户的输入并向用户提供输出。因此,用户接口204可以包括诸如小键盘、键盘、触敏面板、计算机鼠标、轨迹球、操纵杆、麦克风等的输入部件。用户接口204还可以包括一个或多个输出部件,诸如显示屏,其例如可以与触敏面板组合。显示屏可以基于crt、lcd和/或led技术,或现在已知或以后开发的其他技术。用户接口204还可以被配置为经由扬声器、扬声器插孔、音频输出端口、音频输出装置、耳机和/或其他类似装置生成(一个或多个)可听输出。用户接口204还可以被配置为通过麦克风和/或其他类似装置来接收和/或捕获可听话语、噪声和/或信号。
39.在一些示例中,用户接口204可以包括显示器,该显示器用作由计算系统200支持的静态相机和/或视频相机功能的取景器。附加地,用户接口204可以包括一个或多个按钮、开关、旋钮和/或转盘,其促进相机功能的配置和聚焦以及图像的捕获。这些按钮、开关、旋钮和/或转盘中的一些或全部可以通过触敏面板来实现。
40.处理器206可以包括一个或多个通用处理器—例如微处理器—和/或一个或多个专用处理器—例如数字信号处理器(dsp)、图形处理单元(gpu)、浮点单元(fpu)、网络处理器或专用集成电路(asic)。在一些情况下,专用处理器可以能够进行图像处理、图像对准和合并图像,等等。数据存储208可以包括一个或多个易失性和/或非易失性存储部件,诸如磁、光、闪存或有机存储,并且可以与处理器206整体或部分集成。数据存储208可以包括可移除和/或不可移除部件。
41.处理器206可以能够执行存储在数据存储208中的程序指令218(例如,编译的或非编译的程序逻辑和/或机器代码)以执行本文描述的各种功能。因此,数据存储208可以包括非暂时性计算机可读介质,其上存储有程序指令,所述程序指令在计算系统200执行时使计算系统200执行本说明书和/或附图中公开的任何方法、过程或操作。处理器206对程序指令218的执行可以导致处理器206使用数据212。
42.举例来说,程序指令218可以包括安装在计算系统200上的操作系统222(例如,操作系统内核、装置驱动程序和/或其他模块)和一个或多个应用程序220(例如,相机功能、通讯录、电子邮件、网页浏览、社交网络、音频到文本功能、文本翻译功能和/或游戏应用)。类似地,数据212可以包括操作系统数据216和应用数据214。操作系统数据216可以主要由操作系统222访问,并且应用数据214可以主要由应用程序220中的一个或多个访问。应用数据214可以被布置在对计算系统200的用户可见或隐藏的文件系统中。
43.应用程序220可以通过一个或多个应用编程接口(api)与操作系统222通信。这些api可以促进例如应用程序220读取和/或写入应用数据214、经由通信接口202发送或接收
信息、在用户接口204上接收和/或显示信息等等。
44.在一些情况下,应用程序220可以简称为“app”。附加地,应用程序220可以通过一个或多个在线应用商店或应用市场下载到计算系统200。然而,应用程序也可以以其他方式安装在计算系统200上,诸如经由网络浏览器或通过计算系统200的物理接口(例如,usb端口)。
45.相机部件224可以包括但不限于光圈、快门、记录表面(例如,摄影胶片和/或图像传感器)、镜头、快门按钮、红外投影仪和/或可见光投影仪。相机部件224可以包括被配置用于捕获可见光谱中的图像的部件(例如,具有380-700纳米波长的电磁辐射)和/或被配置用于捕获红外光谱中的图像的部件(例如,具有701纳米至1毫米波长的电磁辐射),等等。相机部件224可以至少部分地由处理器206执行的软件来控制。
46.iii.示例训练数据分布
47.图3示出了多个训练数据分布,其中的每一个可以用于训练机器学习模型来执行特定的任务。具体地,图3包括训练数据分布300、训练数据分布320和训练数据分布340,它们可以统称为训练数据分布300-340。每个训练数据分布可以包括对应的多个训练样本。具体地,训练数据分布300可以包括训练样本302,训练数据分布320可以包括训练样本322,并且训练数据分布340可以包括训练样本342。训练样本302、322和342的每个相应训练样本可以包括对应的训练输入和对应的真值输出。
48.训练数据分布300-340可以在一个或多个属性上彼此不同。具体地,训练数据分布300可以与属性304相关联,训练数据分布320可以与属性324相关联,并且训练数据分布340可以与属性344相关联。在一些情况下,属性304、324和344可以被明确地表示和/或指示为相应训练数据分布的一部分。在其他情况下,属性304、324和344可以分别作为训练样本302、322和342的一部分而固有地存在,但是可能没有被显式地表示和/或指示。因此,属性304、324和344用虚线指示。
49.属性304可以包括,例如,真值数据准确度306、频率内容308、统计特性310、特征类312和数据源314,等等。类似地,属性324可以包括真值数据准确度326、频率内容328、统计特性330、特征类332和数据源334,而属性344可以包括真值数据准确度346、频率内容348、统计特性350、特征类352和数据源354。
50.真值数据准确度306可以指示由样本302表示的真值数据的准确度或正确程度。在一些情况下,真值数据准确度306可以基于和/或根据一个或多个其他属性而变化。频率内容308可以指示由对应的训练输入表示的频率和/或由训练样本302表示的真值输出。在一个示例中,当训练样本302表示图像数据时,频率内容308可以表示图像数据中存在的空间频率内容。在另一示例中,当训练样本302表示音频数据时,频率内容308可以表示音频内容。
51.统计特性310可以指示由训练样本302表示的对应训练输入和/或真值输出的一个或多个统计特性。统计特性310可以包括样本302的各方面的平均值、中值、众数、范围、方差和/或标准差等。特征类312可以指示由训练样本302中存在的特征的训练样本302表示的一个或多个分类。特征可以包括例如物体、声音、词语和/或它们的图案,并且可以取决于由训练样本302表示的数据的类型(例如,图像、音频、文本等)。数据源314可以指示从中获得训练样本302和/或通过其生成训练样本302的源。数据源314可以指示例如在生成样本302中
涉及的传感器类型、在生成样本302中涉及的算法、和/或与训练数据分布300相关联的唯一标识符,等等。
52.在一个示例中,训练数据分布300、320和340可以允许机器学习模型学习基于对应的单视场图像生成深度图像。训练样本302、322和342可以各自包括多对(i)相应训练单视场图像(例如,红绿蓝(rgb)图像)和(i i)对应的真值深度图像。对应的真值深度图像可能已经针对每个训练样本以多种方式中的相应一种方式生成,例如基于允许确定深度信息的多个不同输入图像数据之一和/或通过使用多个不同深度确定算法之一处理输入图像数据来确定深度数据。例如,对于训练样本302,可能已经基于从一个或多个立体相机获得的立体图像数据和/或视差数据生成了真值深度图像。对于训练样本322,可能已经基于由一个或多个多像素相机生成的多像素(例如,双像素)图像生成了真值深度图像。对于训练样本342,可能已经基于通过另一机器学习模型对多个单视场图像的处理来生成了真值深度图像,该机器学习模型诸如在标题为“朝向鲁棒的单目深度估计:混合用于零样本交叉数据集传输的数据集[towards robust monocular depth estimation:mixing datasets for zero-shot cross-dataset transfer]”的论文中讨论的midas模型,该论文由ranflt等人创作,并且发布为arxiv:1907.01341v3。
[0053]
因此,训练样本302可以包括包含高频内容的真值深度图像,并且因此详细表示各种特征的深度。训练样本302还可以包括噪声,并且因此可能不准确地表示各种特征的一些部分的深度。训练样本322可以包括准确地表示纹理特征(例如,具有高频内容的图像区域)的深度的真值图像,但是对于具有很少或没有纹理的特征和/或区域(例如,具有低频内容的图像区域)可能不准确。训练样本342可以包括真值图像,其通常是准确的,但是以相对较低的频率表示深度,并且因此缺少高频细节。
[0054]
因此,训练数据分布300、320和340中的每一个在第一组环境/条件下可能相对准确,并且在第二组环境/条件下可能相对不太准确。使用训练数据分布300训练的机器学习模型可以生成展示训练数据分布300的属性的输出,使用训练数据分布320训练的机器学习模型可以生成展示训练数据分布320的属性的输出,并且使用训练数据分布340训练的机器学习模型可以生成展示训练数据分布340的属性的输出。
[0055]
使用表示训练数据分布300、320和340的并集的组合数据集训练的机器学习模型可以学习预测与这些数据分布相关联的真值的近似平均值。这可能是不期望的,因为如果两个训练数据分布显著不同,即,其中一个分布表示准确的真值输出,并且另一个表示不准确的真值输出,则得到的平均值可能仍然不准确。代替使用组合数据集简单地训练机器学习模型,机器学习模型可以改为被训练成知道给定训练样本属于哪个分布,并且因此确定性地控制输出的不同部分基于不同训练数据分布的程度。
[0056]
iv.具有域选择的用于机器学习模型的示例系统
[0057]
图4示出了系统400,其可以被配置为允许控制机器学习模型如何使用多个不同的训练数据分布来生成输出。具体地,系统400可以包括机器学习模型404和域索引矩阵生成器406。系统400可以被配置为基于输入矩阵402生成输出矩阵410。系统400可以实现为硬件、软件或其组合。例如,系统400可以由计算装置100和/或计算系统200来实现。
[0058]
输入矩阵402和/或输出矩阵410可以表示各种类型的数据,包括例如图像、点云、文本和/或波形,以及可以表示为矩阵的其他类型的数据。例如,输入矩阵402可以表示输入
图像(例如表示与输入图像的像素相关联的多个值),而输出矩阵410表示基于输入图像生成的输出图像,该输出图像包括除了输入图像的内容之外的内容。输入矩阵402和输出矩阵410可以被视为具有一或更高秩的张量的代表性示例。例如,矩阵402和/或410可以具有hx1(即,列向量)、1xw(即,行向量)、hxw(即,矩阵或秩2张量)、hxwxd(即,秩3张量)等的维度。输入矩阵402和/或输出矩阵410的维度可以取决于由此表示的数据类型、机器学习模型404的架构/结构、和/或机器学习模型404正在执行的任务等因素。
[0059]
可能已经使用多个训练数据分布(例如,300、320和340)训练了机器学习模型404,以基于输入矩阵402和域索引矩阵408生成输出矩阵410。具体地,域索引矩阵408可以允许选择多个训练数据分布中要在生成输出矩阵410的不同部分时使用的一个或多个训练数据分布。也即,使用域索引矩阵408,可以控制机器学习模型404来生成例如输出矩阵410的第一部分以展示第一训练数据分布的属性,以及输出矩阵410的第二部分以展示不同训练数据分布的属性。多个训练数据分布中的每个训练数据分布可以被认为定义了它自己的域,并且因此可以由域索引值来识别和/或与域索引值相关联。
[0060]
域索引矩阵生成器406可以被配置为生成域索引矩阵408,该域索引矩阵可以包括多个域索引值。对于输入矩阵402的每个相应输入值,域索引矩阵408可以包括对应域索引值,该对应域索引值指示要在生成与相应输入值相对应的输出值时使用的对应训练数据分布。对应训练数据分布可以是用于训练机器学习模型404的多个训练数据分布之一。域索引矩阵408的每个域索引值可以与输入矩阵402的一个或多个对应的输入值相关联。因此,域索引矩阵408可以基于每像素(一个域索引值控制一个对应的输出值)或每像素组(一个域索引值控制两个或更多个对应的输出值)来控制要在生成输出矩阵410时使用哪个训练数据分布。
[0061]
在一些实现方式中,对应域索引值可以是例如指示单个对应训练数据分布的单个整数值。例如,域索引值可以是1、2或3,分别用于指示训练数据分布300、320或340。因此,对应域索引值可以用于选择要在生成与相应输入值相对应的输出值时使用的单个训练数据分布。例如,当域索引矩阵408的给定元素被分配域索引值2时,机器学习模型404可以被配置为使用训练数据分布320,而不是训练数据分布300或340,来基于与域索引矩阵408的给定元素相对应的输入矩阵402的输入值生成输出矩阵410的输出值。
[0062]
在其他实现方式中,对应域索引值可以包括多个域值,多个域索引值中的每个相应域索引值指示要在生成与相应输入值相对应的输出值时使用的对应训练数据分布的程度。因此,域索引矩阵408的每个元素可以与多个域索引值相关联,而不是与单个域索引值相关联。例如,域索引矩阵408的每个元素可以包括第一域索引值、第二域索引值和第三域索引值,用于分别指示训练数据分布300、320和340在生成对应的输出值时要被使用的程度。因此,每个元素的多个域索引值可以指定要由机器学习模型404执行的训练数据分布300、320和340的混合,以便生成与相应输入值相对应的输出值。
[0063]
在一些实现方式中,域索引矩阵生成器406可以包括被配置为允许用户指定域索引矩阵408的至少一部分的用户接口。例如,用户可以基于对输入矩阵402的手动检查(例如,通过查看由输入矩阵402表示的图像)来识别输入矩阵402的一个或多个属性,并且基于这些属性来指定域索引矩阵408的一个或多个域索引值。用户可以选择这些域索引值,使得与一个或多个属性和/或类似属性相关联的训练数据分布用于生成输出矩阵410的对应部
分。通过选择不同的域索引值集合,用户可以使用机器学习模型404来基于单个输入矩阵生成不同的输出矩阵,而无需重新训练机器学习模型404。
[0064]
在其他实现方式中,域索引矩阵生成器406可以被配置为基于输入矩阵402自动确定输入矩阵402的一个或多个属性,并且基于这些属性生成域索引矩阵408的一个或多个域索引值。例如,域索引矩阵生成器406可以被配置为确定和/或近似输入矩阵402的频率内容、统计特性、特征类和/或数据源。域索引矩阵生成器406可以生成一个或多个域索引值,使得与一个或多个属性和/或相似属性相关联的训练数据分布用于生成输出矩阵410的对应部分,而具有不同属性的训练数据分布不用于生成输出矩阵410的对应部分。
[0065]
图5提供了输入矩阵402、域索引矩阵408和输出矩阵410的可视示例。具体地,图5包括提供输入矩阵402的示例的6
×
6输入矩阵502、提供域索引矩阵408的示例的3
×
3域索引矩阵508、以及提供输出矩阵410的示例的6
×
6输出矩阵510。输入矩阵502包括具有对应的输入值的矩阵元素520、522、524和526。输出矩阵510包括具有对应的输出值的矩阵元素540、542、544和546。域索引矩阵508包括矩阵元素530,在所示的示例中,该矩阵元素包括多个域索引值532。
[0066]
在所示示例中,域索引矩阵508的每个相应元素(及其相关联的域索引值)映射到输入矩阵502的四个对应元素和输出矩阵510的四个对应元素,如这些元素的阴影所示。具体地,域索引矩阵508的矩阵元素530的值向机器学习模型404指示基于矩阵元素520、522、524和526的输入值,哪些训练数据分布要在生成矩阵元素540、542、544和546的输出值时使用。在一些实现方式中,域索引矩阵508相对于输入矩阵502和/或输出矩阵510可以具有不同的大小。因此,域索引矩阵508的每个矩阵元素的值可以对应于更少的(例如,1)或更多(例如,8)个输入矩阵502和/或输出矩阵510的矩阵元素。
[0067]
域索引值532可以包括值di1、di2和di3至din(即,域索引值di
1-din),其中的每一个都可以与对应训练数据分布相关联。具体地,域索引值di1可以对应于第一训练数据分布(例如,训练数据分布300),域索引值di2可以对应于第二训练数据分布(例如,训练数据分布320),域索引值di3可以对应于第三训练数据分布(例如,训练数据分布340),并且域索引值din可以对应于第n训练数据分布。
[0068]
域索引值di
1-din中的每一个可以从预定范围(例如,r
min
=0至r
max
=1)中选择,并且因此可以指示对应训练数据分布影响对应的输出值(即,矩阵元素540、542、544和546的输出值)的程度。例如,域索引值0可以指示对应训练数据分布将被最低限度地使用(例如,根本不使用),而域索引值1可以指示对应训练数据分布将被最大限度地使用。因此,第一域索引值和第二域索引值之间的比率可以指示相应训练数据分布对输出值的相对贡献。
[0069]
在一些实现方式中,机器学习模型404可以被配置为在域索引值di
1-din总和为预定值(即,其中v表示预定值)的条件下操作。预定值可以基于预定范围。在一个示例中,预定值可以等于预定范围的高端r
max
。也就是说,(例如,预定值1可以对应于范围0至1)。因此,可能不允许多个域索引值同时具有最大值。在另一示例中,可以选择预定值,使得r
max
<v≤nr
max
。因此,给定域索引值与预定值的比率dii/v可以表示由对应训练数据分布贡献的对应输出值的总信号的一部分。
[0070]
在其他实现方式中,机器学习模型404可以被配置为独立于域索引值di
1-din总和
为预定值的条件而操作。也即,机器学习模型404可以被配置为生成域索引值di
1-din的任何组合的有效输出值。因此,给定域索引值与域索引值的总和的比率可以表示由对应训练数据分布贡献的对应输出值的总信号的一部分。
[0071]
在一些实现方式中,域索引矩阵508的维度可以对应于机器学习模型404的潜在空间的维度。例如,机器学习模型404可以包括编码器-解码器架构,并且潜在空间可以对应于作为输入提供给解码器的编码器的输出。因此,域索引矩阵508可以作为输入提供给解码器(连同输入矩阵502的潜在空间表示),但是可能不被编码器处理。在图5的示例中,潜在空间可以具有3
×
3的维度,并且输入矩阵502因此可以被表示为潜在空间内的3
×
3矩阵。因此,矩阵元素530可以对应于输入矩阵502的潜在空间表示的单个矩阵元素,其中该单个矩阵元素共同表示矩阵元素520、522、524和526的值。在其他实现方式中,域索引矩阵508可以具有与输入矩阵502相同的维度,并且因此可以作为输入被提供给编码器,并且因此被编码器处理。
[0072]
v.示例训练系统和过程
[0073]
图6示出了机器学习模型404的示例训练系统和过程。具体地,训练系统600可以包括机器学习模型404、域检测模型606、预测损失函数616、域损失函数612和模型参数调整器630。训练系统600可以被配置为基于训练样本620为域检测模型606和/或机器学习模型404生成更新的模型参数632。训练系统600可以实现为硬件、软件或其组合。例如,训练系统600可以由计算装置100和/或计算系统200来实现。
[0074]
具体地,训练样本620可以包括训练输入矩阵622、真值输出矩阵624和真值域索引矩阵626。在一些实现方式中,真值域索引矩阵626可以不被明确地提供作为训练样本620的一部分,而是可以由训练系统600基于从中选择训练样本620的对应训练数据分布来确定。训练样本620可以是训练样本302、322和/或342的代表性示例。
[0075]
域检测模型606可以包括机器学习模型,该机器学习模型被配置为基于训练输入矩阵622和真值输出矩阵624生成训练域索引矩阵608。在训练过程中,域检测模型606可以学习确定训练域索引矩阵608,使得它以越来越高的准确度表示从中选择训练样本620的训练数据分布。域损失函数612可以被配置为基于训练域索引矩阵608与真值域索引矩阵626的比较来生成域损失值614。因此,域损失函数612可以被配置为量化域检测模型606识别从中选择训练样本620的训练数据分布的准确度。
[0076]
域损失函数612可以表示为例如其中x在真值域索引矩阵626的所有元素上迭代,f在给定元素x的所有域索引值上迭代,表示训练域索引608的元素x的特定训练域索引值,并且表示真值域索引矩阵626的对应真值域索引值。在一些实现方式中,域损失函数612可以附加地或替代性地将其他函数应用于和/或例如,对数、倒数、指数、最大值、最小值、缩放和/或不同的范数(例如,l-1范数),等等。
[0077]
机器学习模型404可以被配置为基于训练输入矩阵622和训练域索引矩阵608来确定训练输出矩阵610。预测损失函数616可以被配置为基于训练输出矩阵610与真值输出矩阵624的比较来生成预测损失值618。因此,预测损失函数616可以被配置为量化机器学习模
型404基于训练输入矩阵622和域检测模型606的输出来确定真值输出矩阵624的准确度。
[0078]
预测损失函数612可以表示为例如其中y在真值输出矩阵624的所有元素上迭代,o
训练
(y)表示训练输出矩阵610的元素y的训练输出值,并且o
gt
(y)表示真值输出矩阵624的对应真值输出值。在一些实现方式中,预测损失函数612可以附加地或替代性地将其他函数应用于o
训练
(y)和/或o
gt
(y),例如,对数、倒数、指数、最大值、最小值、比例和/或不同的范数(例如,l-1范数),等等。例如,当训练输出矩阵610表示深度图像时,预测损失函数616可以实现尺度不变的深度/视差损失和/或移位不变的深度/视差损失。
[0079]
模型参数调整器630可以被配置为基于域损失值614和/或预测损失值618来确定更新的模型参数632。模型参数调整器630可以被配置为基于这些损失值的加权总和来确定总损失值,其可以被表示为l

=l

+αl
预测
,其中α的值表示对应的损失值的相对权重。更新的模型参数632可以包括机器学习模型404的一个或多个更新的参数和/或域检测模型606的一个或多个更新的参数。
[0080]
模型参数调整器630可以被配置为通过例如确定总损失函数l

的梯度来确定更新的模型参数632。基于该梯度和总损失值,模型参数调整器630可以被配置为选择被期望降低总损失值的更新的模型参数632,并且因此提高模型404和/或606的性能。在将更新的模型参数632应用于机器学习模型404和/或域检测模型606之后,可以执行另一个训练迭代来计算总损失值的另一个实例,并且基于此,可以确定更新的模型参数632的另一个实例并将其应用于模型404和/或606以进一步改善其性能。可以重复模型404和606的这种训练,直到例如总损失值降低到目标阈值损失值以下。
[0081]
域检测模型606可以用于帮助机器学习模型404的训练,但在推断时可能不使用。相反,如图4所示,在推理时,域检测模型606可以由域索引矩阵生成器406代替。具体地,通过在训练时提供训练域索引矩阵608而不是真值域索引矩阵626作为机器学习模型404的输入,机器学习模型404可以学习更鲁棒地处理噪声,使用来自一个训练数据分布的信息来改进基于其他训练数据分布的预测,和/或在推理时组合/混合多个不同训练数据分布的属性。
[0082]
具体地,真值输出矩阵624可以指示训练样本620所属的单个对应训练数据分布(例如,di1=1和)。类似地,其他真值输出矩阵可能各自指示单个对应训练数据分布。相反,训练域索引矩阵608可以指示不同训练数据分布的混合(例如,di
1-din中的两个或更多个可以是非零的),因为至少在训练开始时,域检测模型606的输出可能不准确。在训练过程中,真值域索引矩阵626与训练域索引矩阵608之间的差异可能减小,但是两者可能不会收敛到完全相同的一组值。这可以将机器学习模型404暴露给值di
1-din的各种组合,其中一些可以表示噪声,而其他可以表示训练数据分布的有效组合。
[0083]
因此,机器学习模型404可以学习在存在噪声的情况下和/或基于多个不同的训练数据分布来预测相对准确的训练输出矩阵610。例如,在训练输出610的一部分可以使用多于一个底层训练数据分布来正确生成的情况下,该训练架构可以允许机器学习模型404学习组合来自两个训练数据分布的信息,以生成训练输出矩阵610的相关部分。因此,当在三个不同的训练数据分布上训练时,机器学习模型404可以比三个单独的模型执行得更准确
和/或可以具有更小的尺寸,三个单独的模型中的每个模型已经在对应的数据分布上被独立地训练。附加地,机器学习模型404可以被配置为对于给定的输入生成表示三个底层数据集的不同组合的连续输出范围,而不是像三个独立训练的模型那样仅生成三个离散的输出。
[0084]
机器学习模型404可以存储在存储器部分中。与存储独立训练的模型所需的存储器部分相比,该存储器部分相对较小。该部分存储器例如可以是具有有限存储器的装置的存储器的一部分。装置的有限存储器可能使得存储和执行独立训练的模型变得困难或不可能。也即,机器学习模型404可能能够被部署在不能有效部署独立训练的模型的装置上。装置例如可以是移动计算装置。
[0085]
vi.机器学习模型的示例应用
[0086]
图7a、图7b、图7c、图7d和图7e表示将机器学习模型404应用于基于单视场/单目图像生成深度图像的任务的各方面。具体地,图7a包括包含草和叶子的场景的图像700。区域702包括相对高频的纹理,而区域704包括相对低频的纹理。由于区域702和704中频率内容的差异,不同的训练数据分布可能导致这些区域的深度预测的不同准确度水平。
[0087]
具体地,图7b包括由机器学习模型基于图像700生成的深度图像710,该机器学习模型已经使用训练数据分布(例如,300)专门训练,该训练数据分布具有基于从多对立体相机获得的立体图像数据和/或视差数据生成的真值深度图像。深度图像710具有相对高的空间频率内容。附加地,由深度图像710表示的深度值对于图像700的大部分通常是准确的,但是深度图像710包括相对少量的像素(如小于图像710的5%),这些像素具有与实际深度值显著不同的不正确深度值。也即,深度图像710可能很详细但有噪声。
[0088]
图7c包括由机器学习模型基于图像700生成的深度图像720,该机器学习模型已经使用训练数据分布(如320)专门训练,该训练数据分布具有基于由一个或多个多像素相机生成的多像素(例如,双像素)图像生成的真值深度图像。深度图像720可以包括具有可辨别纹理的区域中的准确深度值,但可以包括缺乏可辨别纹理的区域中的错误深度值。因此,深度图像720的区域702(例如,由于该区域是焦点对准的)中的深度值可能比图像720的区域704(例如,由于该区域是失焦的)中的深度值更准确。深度图像720可以包括比深度图像710更少的细节和更少的噪声,并且在低频(例如,无纹理的)区域中可能不准确。
[0089]
图7d包括由机器学习模型基于图像700生成的深度图像730,该机器学习模型已经使用训练数据分布(如340)专门训练,该训练数据分布具有由midas模型/算法处理多个单视场图像生成的真值深度图像。深度图像730可以包括通常准确的深度值,而不管图像700中的底层空间频率内容,但是深度值可能不表示高频。因此,深度图像730的区域704中的深度值可能比图像720的区域704中的对应深度值更准确,并且深度图像730的区域702中的深度值可能比图像720的区域702中的对应深度值表示更少的细节。深度图像730可以包括比深度图像710更少的细节和噪声。
[0090]
图7e包括由机器学习模型404基于图像700生成的深度图像740,该深度图像已经由训练系统600使用与图7b、图7c和图7d相关联的三个训练数据分布之一来训练。具体地,深度图像740可以通过基于图像700的不同部分的空间频率内容以空间变化的方式混合来自三个训练数据分布的信息来生成。例如,域索引生成器406可以实现以下函数来生成在确定深度图像740中使用的域索引矩阵408:其中g=gradient
(图像700),g表示图像700的空间频率内容,λ是可修改的缩放因子(在所示示例中为λ=0.45),并且clip()函数被配置为将g/λ缩放到区间[0.0,1.0]。此外,域索引生成器406可以被配置为根据di1=β/2、di2=β/2和di3=1.0-β来分配域索引值。
[0091]
因此,深度图像740的与图像700的高频部分相对应的部分可以主要且同等地基于图7b和图7c的训练数据分布来生成,而深度图像740的与图像700的低频部分相对应的部分可以主要基于图7d的训练数据分布来生成,其中中频包含所有三个训练数据集的混合。可以改变λ的值和/或在基于β计算di1、di2和/或di3时使用的函数,以生成包括不同训练数据集的属性的期望混合的深度图像。在其他实现方式中,域索引生成器406可以附加地或替代性地被配置为量化输入矩阵402的其他属性,并且基于此,选择底层训练数据分布的对应混合。
[0092]
vii.附加示例操作
[0093]
图8示出了操作的流程图,这些操作与通过机器学习模型生成输出数据同时确定性地选择输出数据所基于的训练数据分布相关。操作可以由计算装置100、计算系统200、系统400和/或训练系统600等等来执行。图8的实施例可以通过去除其中所示的任何一个或多个特征来简化。此外,这些实施例可以与任何先前附图或本文描述的特征、方面和/或实现相组合。
[0094]
框800可以涉及获得表示输入数据的输入矩阵。
[0095]
框802可以涉及确定域索引矩阵,该域索引矩阵包括针对输入矩阵的每个相应输入值的对应域索引值,该对应域索引值指示要在生成与相应输入值相对应的输出值时使用的对应训练数据分布。对应训练数据分布可以是多个训练数据分布之一。
[0096]
框804可以涉及将输入矩阵和域索引矩阵提供给机器学习模型,该机器学习模型已经被训练成使用多个训练数据分布来生成输出矩阵。多个训练数据分布的每个相应训练数据分布可以与不同于多个训练数据分布的其他训练数据分布的对应属性的属性相关联。
[0097]
框806可以涉及由机器学习模型并基于输入矩阵和域索引矩阵生成输出矩阵,该输出矩阵包括针对输入矩阵的每个相应输入值基于(i)相应输入值和(ii)对应域索引值生成的对应输出值,使得对应输出值展示对应训练数据分布的属性。
[0098]
在一些实施例中,每个相应训练数据分布的属性可以包括与由相应训练数据分布表示的一个或多个条件相关联的真值数据的准确度。作为一个或多个条件的函数,真值数据的准确度可以跨多个训练数据分布而变化。
[0099]
在一些实施例中,由相应训练数据分布表示的一个或多个条件可以包括以下各项中的一项或多项:(i)所述真值数据的频率内容,(i i)与所述真值数据相对应的训练输入的频率内容,(iii)所述真值数据的统计特性,或(iv)所述训练输入的统计特性。
[0100]
在一些实施例中,每个相应训练数据分布的属性可以包括由相应训练数据分布表示的输入数据的特征的一个或多个分类。一个或多个分类可以是输入数据的特征的多个可能分类的子集。多个可能的分类可以由多个训练数据分布来表示。
[0101]
在一些实施例中,对应域索引值可以包括多个域索引值。多个域索引值中的每个相应域索引值可以从预定义的范围中选择,并且可以指示要在生成与相应输入值的输出值相对应时使用的对应训练数据分布的范围。每个相应域索引值的对应训练数据分布可以是多个训练数据分布中的一个。
[0102]
在一些实施例中,多个域索引值中的域索引值的数量可以等于多个训练分布中的训练分布的数量。
[0103]
在一些实施例中,与相应输入值相对应的多个域索引值的总和可以等于预定值。每个相应域索引值可以指示由对应训练数据分布贡献的对应输出值的总信号的一部分。
[0104]
在一些实施例中,可能已经使用训练过程训练了机器学习模型,该训练过程包括获得包括训练输入矩阵和真值输出矩阵的训练样本。训练过程还可以包括为训练样本确定训练域索引矩阵,该训练域索引矩阵包括针对训练输入矩阵的每个相应训练输入值的相应训练域索引值,该对应训练域索引值指示(i)要在生成与相应训练输入值相对应的训练输出值时使用的并且(ii)训练样本所属的对应训练数据分布。训练过程可以附加地包括向机器学习模型提供训练输入矩阵和训练域索引矩阵,并且由机器学习模型并基于训练输入矩阵和训练域索引矩阵生成训练输出矩阵,该训练输出矩阵包括针对训练输入矩阵的每个相应训练输入值基于(i)相应训练输入值和(ii)对应训练域索引值生成的对应训练输出值。训练过程可以进一步包括使用被配置为比较训练输入矩阵和训练输出矩阵的预测损失函数来确定预测损失值,并且基于预测损失值来调整机器学习模型的一个或多个参数。
[0105]
在一些实施例中,确定训练域索引矩阵可以包括确定训练样本所属的对应训练数据分布,并且为训练输入矩阵的每个相应训练输入值分配与训练样本所属的对应训练数据分布相关联的训练域索引值。
[0106]
在一些实施例中,训练样本可以进一步包括真值域索引矩阵,其指示训练样本所属的相应训练数据分布。训练过程还可以包括通过域检测模型并基于相应训练样本的对应训练输入矩阵和对应真值输出矩阵来确定训练域索引矩阵。训练过程可以进一步包括使用被配置为比较训练域索引矩阵和真值域索引矩阵的域损失函数来确定域损失值,并且基于预测损失值来调整(i)机器学习模型或(ii)域检测模型中的至少一个的一个或多个参数。
[0107]
在一些实施例中,输入矩阵可以包括输入图像。输出矩阵可以包括表示以下各项中的一项或多项的输出图像:(i)与由所述输入图像表示的物体相关联的边界框,(ii)由所述输入图像表示的所述物体的分割图,(iii)与由所述输入图像表示的所述物体相关联的一个或多个坐标,或者(iv)由所述输入图像表示的所述物体的姿态的表示。
[0108]
在一些实施例中,输入矩阵可以包括图像,并且输出矩阵可以包括深度图。多个训练数据分布可以包括基于多个立体图像生成的第一训练数据分布、基于多个多像素图像生成的第二训练数据分布、以及基于另一机器学习模型对多个单视场图像的处理生成的第三训练数据分布。
[0109]
在一些实施例中,确定域索引矩阵可以包括基于输入矩阵并为其每个相应输入值,确定多个训练数据分布的特定属性的对应属性值,并且基于对应属性值,为输入矩阵的每个相应输入值确定对应域索引值。
[0110]
在一些实施例中,确定域索引矩阵可以包括提供被配置为允许定义域索引矩阵的用户接口,以及通过用户接口接收域索引矩阵的至少一部分的定义。
[0111]
在一些实施例中,可以确定不同于域索引矩阵的第二域索引矩阵。输入矩阵和第二域索引矩阵可以被提供给机器学习模型。机器学习模型可以基于输入矩阵和第二域索引矩阵,生成不同于输出矩阵的第二输出矩阵。
[0112]
在一些实施例中,输入矩阵和输出矩阵可以各自具有第一维度,并且域索引矩阵
可以具有小于第一维度并且与机器学习模型的潜在空间相对应的第二维度。生成输出矩阵可以包括生成输入矩阵的潜在空间表示。给定的域索引值可以对应于(i)如在第一维度处表示的输入矩阵的多个输入值,以及(ii)单个潜在空间值,该单个潜在空间值在第二维度处表示作为输入矩阵的潜在空间表示的一部分的多个输入值。
[0113]
viii.结论
[0114]
本公开在本技术中描述的特定实施例方面不受限,所述特定实例旨在作为各方面的说明。在不脱离其范围的情况下,可以进行许多修改和变化,如对于本领域技术人员来说将显而易见。除了本文描述的那些之外,本公开的范围内的功能等同的方法和设备根据前面的描述对于本领域技术人员而言显而易见。此类修改和改变旨在落入所附权利要求的范围内。
[0115]
以上具体实施方式参考附图描述了所公开的系统、装置和方法的各种特征和操作。在附图中,除非上下文以其他方式指明,否则类似符号通常标识类似部件。本文和附图中描述的示例实施例并不意味着是限制性的。在不脱离本文呈现的主题的范围的情况下,可以使用其他实施例并且可以进行其他改变。将容易理解的是,如本文一般描述并且在附图中说明的本公开的各方面可以以各种不同配置来布置、替换、组合、分离和设计。
[0116]
关于附图中并且如本文所讨论的任何或所有消息流图、场景和流程图,每个步骤、块和/或通信可以表示根据示例实施例的信息处理和/或信息传输。替代实施例包括在这些示例实施例的范围内。在这些替代性实施例中,例如,被描述为步骤、块、传输、通信、请求、响应和/或消息的操作可以与所示出或讨论的顺序(包括以基本上同时的或以相反的顺序,这取决于涉及的功能)无序地执行。此外,更多或更少的块和/或操作可以与本文讨论的任何消息流图、场景和流程图一起使用,并且这些消息流图、场景和流程图可以部分或全部彼此组合。
[0117]
表示信息处理的步骤或块可以对应于可以被配置为执行本文描述的方法或技术的特定逻辑功能的电路。替代性地或附加地,表示信息处理的块可以对应于模块、段或程序代码的一部分(包括相关数据)。程序代码可以包括可由处理器执行的一个或多个指令,用于实现方法或技术中的特定逻辑操作或动作。程序代码和/或相关数据可以存储在任何类型的计算机可读介质上,诸如包括随机存取存储器(ram)的存储装置、磁盘驱动器、固态驱动器或其他存储介质。
[0118]
计算机可读介质还可以包括非暂时性计算机可读介质,诸如短期存储数据的计算机可读介质,如寄存器存储器、处理器高速缓存和ram。计算机可读介质还可以包括长期存储程序代码和/或数据的非暂时性计算机可读介质。因此,计算机可读介质可以包括二级或永久长期存储器,例如只读存储器(rom)、光盘或磁盘、固态驱动器、光盘只读存储器(cd-rom)。计算机可读介质也可以是任何其他易失性或非易失性存储系统。计算机可读介质可以被认为是例如计算机可读存储介质或有形存储装置。
[0119]
此外,表示一个或多个信息传输的步骤或块可以对应于同一物理装置中的软件和/或硬件模块之间的信息传输。然而,其他信息传输可以在不同物理装置中的软件模块和/或硬件模块之间进行。
[0120]
此外,附图中所示的特定布置不应视为限制性的。应当理解,其他实施例可以或多或少地包括给定附图中所示的每个元件。此外,可以组合或省略一些示出的元件。还另外,
示例实施例可以包括附图中未示出的元件。
[0121]
虽然本文已经公开了各方面和实施例,但其他方面和实施例对于本领域的技术人员将是显而易见的。本文公开的各方面和实施例是为了说明的目的,而且并不旨在进行限制,其中真实的范围由以下权利要求书指示。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1