一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

学习联合潜在对抗训练的方法和系统与流程

2022-04-13 16:31:46 来源:中国专利 TAG:


1.本公开涉及利用机器学习的图像增强和图像处理。


背景技术:

2.虽然深度神经网络在包括计算机视觉和自然语言处理在内的领域中继续显示令人难以置信的性能,但是它们的深度神经网络已经越来越多地被示出缺乏鲁棒性。


技术实现要素:

3.根据一个实施例,一种用于训练机器学习网络的计算机实现的方法。该机器学习网络方法包括从传感器接收输入数据,其中输入数据集包括成对的清洁扰动数据,其中输入数据指示图像、雷达、声纳或声音信息,生成输入数据的扰动版本,响应于输入数据,利用生成器利用来自输入数据的数据和利用输入数据的扰动版本的扰动图像创建训练数据集,响应于成对的训练数据集,联合训练生成器和分类器,确定用于生成扰动的潜在向量,该扰动被配置为最大化分类器的分类损失并最小化生成器的生成损失,并且在收敛到第一阈值时输出训练的生成器和训练的分类器。
4.根据另一个实施例,一种系统包括机器学习网络。该网络包括被配置为从传感器接收输入数据的输入接口,其中传感器包括与输入接口通信的相机、雷达、声纳或麦克风、处理器。处理器被编程为接收输入数据,其中输入数据包括成对的清洁扰动数据,其中输入数据指示图像、雷达、声纳或声音信息,利用生成器生成输入数据的扰动版本,响应于输入数据,利用来自输入数据的数据和利用输入数据的扰动版本的扰动数据创建训练数据集,响应于成对的训练数据集,联合训练生成器和分类器,确定用于生成扰动的潜在向量,该扰动被配置为最大化分类器的分类损失,并且在收敛到第一阈值时输出训练的生成器和训练的分类器。
5.根据第三实施例,计算机程序产品存储指令,所述指令当由计算机执行时,使得计算机接收输入数据,其中输入数据包括数据集,该数据集包括成对的清洁数据和扰动数据,利用生成器响应于输入数据生成输入数据的扰动版本,利用输入数据和扰动图像创建训练数据集,响应于训练数据集输入数据和输入数据的扰动版本来训练生成器和分类器,并且在收敛到第一阈值时输出训练的生成器和训练的分类器。
附图说明
6.图1示出了用于训练神经网络的系统100。
7.图2示出了用于训练神经网络的计算机实现的方法200。
8.图3描绘了实现用于注释数据的系统的数据注释系统300。
9.图4是训练神经网络以学习扰动数据集并联合训练生成器和分类器的系统的示例性流程图。
10.图5描绘了在计算机控制的机器10和控制系统12之间的交互的示意图。
11.图6描绘了图1的控制系统的示意图,该控制系统被配置为控制载具(vehicle),该载具可以是部分自主载具或部分自主机器人。
12.图7描绘了图1的控制系统的示意图,该控制系统被配置为控制诸如生产线的一部分的制造系统的制造机器,诸如冲压刀具、刀具或枪钻。
13.图8描绘了图1的控制系统的示意图,该控制系统被配置为控制具有至少部分自主模式的电动工具,诸如电钻或驱动器。
14.图9描绘了被配置为控制自动化个人助理的图1的控制系统的示意图。
15.图10描绘了图1的控制系统的示意图,该控制系统被配置为控制诸如控制访问系统或监督系统的监视系统。
16.图11描绘了图1的控制系统的示意图,该控制系统被配置为控制例如mri装置、x射线成像装置或超声波装置的成像系统。
具体实施方式
17.本文描述了本公开的实施例。然而,将理解,公开的实施例仅仅是示例,并且其他实施例可以采取各种形式和替代形式。各图不一定是按比例的;一些特征可以被放大或最小化以示出特定部件的细节。因此,本文公开的具体结构和功能细节不应被解释为限制性的,而仅仅是作为用于教导本领域技术人员以各种方式采用实施例的代表性基础。如本领域普通技术人员将理解的,参考任一图所图示和描述的各种特征可以与一个或多个其他图中图示的特征相组合,以产生未被明确图示或描述的实施例。图示的特征的组合提供了典型应用的代表性实施例。然而,对于特定的应用或实现,可能期望与本公开的教导一致的特征的各种组合和修改。
18.现有方法利用条件变分自动编码器从不成对的数据学习扰动集。此类方法已经示出,基于学习的扰动集可以用在对抗训练和随机化平滑中,以学习对自然扰动鲁棒的模型。在下面的公开中,系统可以寻求从成对的数据学习扰动集,然而,系统可以联合训练条件生成器和分类器,而不是使用cvae来满足扰动集的质量条件。因此,系统直接优化潜在变量,使得组合损失项实施条件。
19.现有方法利用了从数据学习到的扰动集。虽然学习扰动集可以用于对抗训练,但是将学习扰动集从训练鲁棒模型分离可能使过程低效。下面的公开描述了一种系统,该系统从成对的数据联合学习未知扰动集和鲁棒模型。该系统可以将重构损失和分类损失二者结合在一起,以训练分类器和学习未知扰动的潜在表示的条件生成器。
20.图1示出了用于训练神经网络的系统100。系统100可以包括用于访问神经网络的训练数据192的输入接口。例如,如图1中图示的,输入接口可以由数据存储接口180构成,该数据存储接口180可以从数据存储装置190访问训练数据192。例如,数据存储接口180可以是存储器接口或永久存储接口——例如硬盘或ssd接口,但也可以是个域网、局域网或广域网接口——诸如蓝牙、zigbee或wi-fi接口或者以太网或光纤接口。数据存储装置190可以是系统100的内部数据存储装置——诸如硬盘驱动器或ssd,但也可以是外部数据存储装置——例如网络可访问的数据存储装置。
21.在一些实施例中,数据存储装置190可以进一步包括神经网络的未训练版本的数据表示194,其可以由系统100从数据存储装置190访问。然而,将领会,未训练神经网络的训
练数据192和数据表示194也可以各自例如经由数据存储接口180的不同子系统从不同的数据存储装置访问。每个子系统可以具有如以上对于数据存储接口180所述的类型。在其他实施例中,未训练神经网络的数据表示194可以由系统100基于神经网络的设计参数在内部生成,并且因此可以不明确地存储在数据存储装置190上。系统100可以进一步包括处理器子系统160,该处理器子系统160可以被配置为在系统100的操作期间,提供迭代函数作为待训练的神经网络的层堆叠的替代物。在一个实施例中,被替代的层堆叠的相应层可以具有相互共享的权重,并且可以接收前一层的输出作为输入,或者对于层堆叠的第一层,接收初始激活和层堆叠的输入的一部分。系统还可以包括多个层。处理器子系统160可以进一步被配置为使用训练数据192迭代地训练神经网络。这里,处理器子系统160的训练迭代可以包括前向传播部分和后向传播部分。处理器子系统160可以被配置为除了其他操作之外尤其通过以下各项来执行前向传播部分:定义可以执行的前向传播部分,确定迭代函数的平衡点,在该平衡点处迭代函数收敛到不动点,其中确定平衡点包括使用数值寻根算法来找到迭代函数减去其输入的根解,以及通过提供平衡点作为神经网络中的层堆叠的输出的替代物。系统100可以进一步包括输出接口,用于输出训练神经网络的数据表示196,该数据也可以被称为训练模型数据196。例如,也如在图1中图示的,输出接口可以由数据存储接口180构成,其中,在这些实施例中,所述接口是输入/输出(“io”)接口,经由该输入/输出(“io”)接口,训练模型数据196可以存储在数据存储装置190中。例如,定义“未训练的”神经网络的数据表示194可以在训练期间或训练之后至少部分地被训练神经网络的数据表示196替换,因为诸如神经网络的权重、超参数和其他类型的参数之类的神经网络的参数可以适于反映训练数据192上的训练。这也在图1中通过引用数据存储装置190上的相同数据记录的参考标号194、196图示。在其他实施例中,数据表示196可以与定义“未训练的”神经网络的数据表示194分离存储。在一些实施例中,输出接口可以与数据存储接口180分离,但是一般而言可以具有如以上对于数据存储接口180所述的类型。
22.图2示出了用于训练神经网络的计算机实现的方法200。方法200可以但是不需要对应于图1的系统100的操作,因为它也可以对应于另一种类型的系统、装置或设备的操作,或者因为它可以对应于计算机程序。
23.方法200被示出为在题为“提供神经网络的数据表示”的步骤中包括提供210神经网络,其中神经网络的提供包括提供迭代函数作为神经网络的层堆叠的替代物,其中被替代的层堆叠的相应层具有相互共享的权重,并且接收前一层的输出作为输入,或者对于层堆叠的第一层,接收初始激活和层堆叠的输入的一部分。方法200进一步被示出为在题为“访问训练数据”的步骤中包括访问220神经网络的训练数据。方法200进一步被示出为在题为“使用训练数据迭代训练神经网络”的步骤中包括使用训练数据迭代训练230神经网络,该训练230可以包括前向传播部分和后向传播部分。通过方法200执行前向传播部分可以在题为“使用寻根算法确定平衡点”的步骤中包括确定240迭代函数的平衡点,在该平衡点处迭代函数收敛到不动点,其中确定平衡点包括使用数值寻根算法来找到迭代函数减去其输入的根解,以及在题为“提供平衡点作为层堆叠的输出的替代物”的步骤中包括提供250平衡点作为神经网络中层堆叠的输出的替代物。方法200可以在训练之后并且在题为“输出训练的神经网络”的步骤中进一步包括输出260训练的神经网络。深度平衡(deq)神经网络可以在2020年8月5日提交的题为“deep neural network with equilibrium solver”具有申
请号16/985,582的专利申请中被进一步描述,该专利申请通过引用以其整体并入本文。
24.图3描绘了实现用于注释数据的系统的数据注释系统300。数据注释系统300可以包括至少一个计算系统302。计算系统302可以包括可操作地连接到存储器单元308的至少一个处理器304。处理器304可以包括实现中央处理单元(cpu)306的功能的一个或多个集成电路。cpu 306可以是商业上可获得的处理单元,其实现诸如x86、arm、power或mips指令集家族之一的指令集。在操作期间,cpu 306可以执行从存储器单元308检索的存储的程序指令。存储的程序指令可以包括控制cpu 306的操作以执行本文描述的操作的软件。在一些示例中,处理器304可以是将cpu 306、存储器单元308、网络接口和输入/输出接口的功能集成到单个集成设备中的片上系统(soc)。计算系统302可以实现用于管理操作的各个方面的操作系统。
25.存储器单元308可以包括用于存储指令和数据的易失性存储器和非易失性存储器。非易失性存储器可以包括固态存储器,诸如nand闪存、磁和光存储介质,或者当计算系统302被去激活或者断电时保留数据的任何其他合适的数据存储设备。易失性存储器可以包括存储程序指令和数据的静态和动态随机存取存储器(ram)。例如,存储器单元308可以存储机器学习模型310或算法、机器学习模型310的训练数据集312、原始源数据集315。
26.计算系统302可以包括网络接口设备322,该网络接口设备322被配置为提供与外部系统和设备的通信。例如,网络接口设备322可以包括如由电气和电子工程师协会(ieee) 802.11标准家族定义的有线和/或无线以太网接口。网络接口设备322可以包括用于与蜂窝网络(例如,3g、4g、5g)通信的蜂窝通信接口。网络接口设备322可以进一步被配置为向外部网络324或云提供通信接口。
27.外部网络324可以被称为万维网或因特网。外部网络324可以在计算设备之间建立标准通信协议。外部网络324可以允许信息和数据在计算设备和网络之间容易地交换。一个或多个服务器330可以与外部网络324通信。
28.计算系统302可以包括输入/输出(i/o)接口320,该输入/输出(i/o)接口320可以被配置为提供数字和/或模拟输入和输出。i/o接口320可以包括用于与外部设备通信的附加串行接口(例如,通用串行总线(usb)接口)。
29.计算系统302可以包括人机界面(hmi)设备318,该人机界面(hmi)设备318可以包括使得系统300能够接收控制输入的任何设备。输入设备的示例可以包括诸如键盘、鼠标、触摸屏、语音输入设备和其他类似设备的人机界面输入。计算系统302可以包括显示设备332。计算系统302可以包括用于向显示设备332输出图形和文本信息的硬件和软件。显示设备332可以包括电子显示屏、投影仪、打印机或用于向用户或操作者显示信息的其他合适的设备。计算系统302可以进一步被配置为允许经由网络接口设备322与远程hmi和远程显示设备进行交互。
30.系统300可以使用一个或多个计算系统来实现。虽然该示例描绘了实现所有所述特征的单个计算系统302,但是意图是各种特征和功能可以由彼此通信的多个计算单元来分离和实现。所选择的特定系统架构可以取决于多种因素。
31.系统300可以实现被配置为分析原始源数据集315的机器学习算法310。原始源数据集315可以包括原始的或未处理的传感器数据,其可以表示机器学习系统的输入数据集。原始源数据集315可以包括视频、视频片段、图像、基于文本的信息以及原始或部分处理的
传感器数据(例如,对象的雷达图)。在一些示例中,机器学习算法310可以是被设计成执行预定功能的神经网络算法。例如,神经网络算法可以被配置在汽车应用中以标识视频图像中的行人。
32.计算机系统300可以存储机器学习算法310的训练数据集312。训练数据集312可以表示用于训练机器学习算法310的先前构造的数据集。机器学习算法310可以使用训练数据集312来学习与神经网络算法相关联的加权因子。训练数据集312可以包括具有机器学习算法310试图经由学习过程复制的对应后果或结果的源数据集。在该示例中,训练数据集312可以包括具有和不具有行人的源视频以及对应的存在和位置信息。源视频可以包括其中标识行人的各种场景。
33.机器学习算法310可以使用训练数据集312作为输入在学习模式下操作。机器学习算法310可以使用来自训练数据集312的数据在多次迭代中执行。随着每次迭代,机器学习算法310可以基于实现的结果更新内部加权因子。例如,机器学习算法310可以将输出结果(例如,注释)与训练数据集312中包括的结果进行比较。由于训练数据集312包括预期结果,因此机器学习算法310可以确定何时性能是可接受的。在机器学习算法310实现预定性能水平(例如,与同训练数据集312相关联的后果100%一致)之后,可以使用不在训练数据集312中的数据来执行机器学习算法310。训练的机器学习算法310可以应用于新的数据集,以生成带注释的数据。
34.机器学习算法310可以被配置为标识原始源数据315中的特定特征。原始源数据315可以包括针对其期望注释结果的多个实例或输入数据集。例如,机器学习算法310可以被配置为标识视频图像中行人的存在并注释这些出现。机器学习算法310可以被编程为处理原始源数据315以标识特定特征的存在。机器学习算法310可以被配置为将原始源数据315中的特征标识为预定特征(例如,行人)。原始源数据315可以从多种源导出。例如,原始源数据315可以是由机器学习系统收集的实际输入数据。原始源数据315可以是机器生成的,用于测试系统。作为示例,原始源数据315可以包括来自相机的原始视频图像。
35.在该示例中,机器学习算法310可以处理原始源数据315并输出图像表示的指示。输出还可以包括图像的增强表示。机器学习算法310可以为生成的每个输出生成置信度水平或因子。例如,超过预定高置信度阈值的置信度值可以指示机器学习算法310确信所标识的特征对应于特定特征。小于低置信度阈值的置信度值可以指示机器学习算法310具有特定特征存在的某个不确定性。
36.图4公开了扰动数据集模型的代表性流程图。在步骤401,可以包括神经网络的系统可以从一个或多个传感器接收输入数据。输入数据可以指代图像、声音、记录或从一个或多个传感器检索的其他数据。传感器可以包括麦克风、雷达、声纳、相机等。输入数据可以是成对的,但生成的数据可能不是,因为分类器不需要是成对的数据。仅生成器需要它们。并且该生成器可以用于利用生成器生成扰动数据的许多版本,它可以在每次迭代内使用不同的潜在变量生成扰动数据(例如,)。
37.在步骤403,系统可以定义成对数据集,其中每个是原始样本xi的某个(未知)扰动版本。例如,可以是自然失真,诸如图像或对象上
的雪。成对数据集可以是“正常”或“清洁”图像的示例,而扰动版本可以是具有一些失真或问题的图像,诸如在雨天、下雪天或雾天拍摄的相同图像。在这样的示例中,结果来自现实世界,然而,可以对图像(例如,清洁的图像)进行操纵以在图像上引起一些扰动。因此,扰动版本可以是清洁版本的计算机生成版本。
38.给定x,生成器可以尝试生成可以尽可能接近的(例如,输入的扰动生成)。如果生成器被训练(例如,被适当地训练),则给定任何清洁图像,系统可以能够生成清洁图像的扰动版本(例如,下雪版本或一些其他失真或扰动),并使用它来训练分类器。在步骤405,系统可以联合训练条件生成器g和分类器h,该条件生成器g将以原始样本xi为条件的潜在变量zi映射到对应的扰动样本,该分类器h将x取作输入。训练的程序是要解决:该分类器h将x取作输入。训练的程序是要解决:。
39.在判定407,系统可以确定机器学习网络是否达到收敛。系统可以利用损失函数进行这样的确定。因此,损失函数可以测量重构误差,因为是测量到的重构误差的损失函数,诸如它们的差的平方范数:,并且是分类损失函数,例如交叉商损失。因此,是对应于分类器的损失。可以代表使两个损失函数平衡的折衷项。可以基于收敛阈值或其他测量来确定收敛。因此,系统可以具有建立收敛的阈值要求,并且在达到或接近阈值时,系统可以标识网络现在已被训练。在描述的实施例中,系统可以响应于在生成器g和分类器h二者之间都损失最小化来标识这样的收敛。
40.因此,给定数据集,其中每个是原始图像xi的某个随机扰动版本,系统可以联合训练由参数化的条件生成器和由参数化的分类器二者。
41.结果得到的扰动集可以定义为。因此,如映射到潜在变量的某个输入的生成器可以与相关。
42.z上的每个内部优化问题可以使用投影梯度下降(pgd)近似求解。
43.为了求解以上min-min方程,可以通过投影梯度下降来求解,但不限于此,如下算法所述:初始化for 时期 do
for
ꢀꢀ
dododododofor
ꢀꢀ
dododododododododo该系统可以通过被提供来自扰动集的样本来学习该扰动集,并且然后训练可以对该扰动集内的对抗示例鲁棒的模型。系统可以被提供成对的训练示例,包括原始示例和来自未定义扰动集的示例的随机扰动。因此,未定义的扰动集可能尚未被运行通过网络来标识、检测或分类任何输入。扰动集可以包括选择旋转、平移和缩放(rts)变换。为了从未定义的扰动集创建对抗示例,系统可以基于在生成的扰动图像上联合训练的图像分类器,训练条件生成器来生成以此为条件的图像的对抗扰动。对于训练数据集中的每对原始和扰动图像,系统可以学习潜在向量。潜在向量可以被传递到以原始图像为条件的生成器,这可以导致使生成的图像和扰动之间的重建损失最小化。同时,对于每个对,系统可以学习潜在向量,该潜在向量导致使图像分类器的分类损失最大化的生成扰动。
44.通过这样联合训练,系统可以产生一个模型,该模型对来自扰动集的真实对抗示例是鲁棒的。训练数据集可以包括成对图像,其中扰动图像是原始图像的随机旋转、平移和缩放版本。因为扰动集可以在数学上定义,所以系统可以通过在可允许的变换参数之上执行细粒度网格搜索来找到对抗示例,从而测试分类器的鲁棒性。在由联合训练的条件生成器生成的对抗示例上训练图像分类器实际上可以导致改进的针对网格搜索的准确度,而用随机rts变换图像的数据增强训练的分类器在相同的评估中可以实现较低的准确度。
45.在步骤409,系统可以输出训练的网络和训练的分类器。训练的网络和训练的分类器可以在达到收敛——这可以经由阈值来实现——时被输出。因此,系统可以具有建立收敛的阈值要求,并且在达到或接近阈值时,系统可以标识网络现在已被训练。在以上实施例中,系统可以响应于在生成器g和分类器h二者之间都损失最小化来标识这样的收敛。
46.图5描绘了在计算机控制的机器10和控制系统12之间的交互的示意图。计算机控制的机器10可以包括如在图1-4中所述的神经网络。计算机控制的机器10包括致动器14和传感器16。致动器14可以包括一个或多个致动器,并且传感器16可以包括一个或多个传感器。传感器16被配置为感测计算机控制的机器10的状况。传感器16可以被配置为将感测到的状况编码成传感器信号18,并将传感器信号18传输到控制系统12。传感器16的非限制性示例包括视频、雷达、lidar、超声波和运动传感器。在一个实施例中,传感器16是被配置为感测计算机控制的机器10附近的环境的光学图像的光学传感器。
47.控制系统12被配置为从计算机控制的机器10接收传感器信号18。如以下阐述,控制系统12可以进一步被配置为取决于传感器信号计算致动器控制命令20,并将致动器控制命令20传输到计算机控制的机器10的致动器14。
48.如在图5中所示,控制系统12包括接收单元22。接收单元22可以被配置为从传感器16接收传感器信号18,并将传感器信号18变换成输入信号x。在替代实施例中,在没有接收单元22的情况下,传感器信号18作为输入信号x被直接接收。每个输入信号x可以是每个传感器信号18的一部分。接收单元22可以被配置为处理每个传感器信号18以产生每个输入信号x。输入信号x可以包括对应于由传感器16记录的图像的数据。
49.控制系统12包括分类器24。分类器24可以被配置为使用诸如上述神经网络之类的机器学习(ml)算法将输入信号x分类成一个或多个标签。分类器24被配置为由诸如上述参数(例如,参数)之类的参数来参数化。参数可以存储在非易失性存储装置26中并由非易失性存储装置26提供。分类器24被配置为从输入信号x确定输出信号y。每个输出信号y包括向每个输入信号x分配一个或多个标签的信息。分类器24可以将输出信号y传输到转换单元28。转换单元28被配置为将输出信号y转换成致动器控制命令20。控制系统12被配置为将致动器控制命令20传输到致动器14,致动器14被配置为响应于致动器控制命令20来致动计算机控制的机器10。在另一个实施例中,致动器14被配置为直接基于输出信号y来致动计算机控制的机器10。
50.当致动器14接收到致动器控制命令20时,致动器14被配置为执行对应于相关致动器控制命令20的动作。致动器14可以包括控制逻辑,该控制逻辑被配置为将致动器控制命令20变换成用于控制致动器14的第二致动器控制命令。在一个或多个实施例中,替代致动器或除致动器之外,致动器控制命令20可以用于控制显示器。
51.在另一个实施例中,替代包括传感器16的计算机控制的机器10或除此之外,控制系统12包括传感器16。替代包括致动器14的计算机控制的机器10或除此之外,控制系统12还可以包括致动器14。
52.如在图5中所示,控制系统12还包括处理器30和存储器32。处理器30可以包括一个或多个处理器。存储器32可以包括一个或多个存储器设备。一个或多个实施例的分类器24(例如,ml算法)可以由控制系统12实现,该控制系统12包括非易失性存储装置26、处理器30和存储器32。
53.非易失性存储装置26可以包括一个或多个持久数据存储设备,诸如硬盘驱动器、光驱、磁带驱动器、非易失性固态设备、云存储或能够持久存储信息的任何其他设备。处理器30可以包括从高性能计算(hpc)系统选择的一个或多个设备,该高性能计算(hpc)系统包括高性能核心、微处理器、微控制器、数字信号处理器、微型计算机、中央处理单元、现场可编程门阵列、可编程逻辑设备、状态机、逻辑电路、模拟电路、数字电路或基于驻留在存储器32中的计算机可执行指令操纵信号(模拟或数字)的任何其他设备。存储器32可以包括单个存储器设备或多个存储器设备,其包括但不限于随机存取存储器(ram)、易失性存储器、非易失性存储器、静态随机存取存储器(sram)、动态随机存取存储器(dram)、闪存、高速缓冲存储器或能够存储信息的任何其他设备。
54.处理器30可以被配置为读入存储器32,并且执行驻留在非易失性存储装置26中并体现一个或多个实施例的一个或多个ml算法和/或方法的计算机可执行指令。非易失性存储装置26可以包括一个或多个操作系统和应用程序。非易失性存储装置26可以存储从使用多种编程语言和/或技术创建的计算机程序编译和/或解译的数据,所述多种编程语言和/或技术在没有限制的情况下并且单独或组合地包括java、c、c 、c#、objective c、fortran、pascal、java script、python、perl和pl/sql。
55.在由处理器30执行时,非易失性存储装置26的计算机可执行指令可以使得控制系统12实现如本文公开的一个或多个ml算法和/或方法。非易失性存储装置26还可以包括支持本文描述的一个或多个实施例的功能、特征和过程的ml数据(包括数据参数)。
56.体现本文描述的算法和/或方法的程序代码能够以多种不同的形式作为程序产品单独或共同分发。程序代码可以使用其上具有计算机可读程序指令的计算机可读存储介质来分发,用于使得处理器实行一个或多个实施例的方面。本质上非暂时性的计算机可读存储介质可以包括易失性和非易失性的以及可移除和不可移除的有形介质,其以用于信息存储的任何方法或技术实现,所述信息诸如是计算机可读指令、数据结构、程序模块或其他数据。计算机可读存储介质可以进一步包括ram、rom、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪存或其他固态存储技术、便携式光盘只读存储器(cd-rom)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备或者可以用于存储所期望信息并可以由计算机读取的任何其他介质。计算机可读程序指令可以从计算机可读存储介质下载到计算机、另一种类型的可编程数据处理装置或另一种设备,或者经由网络下载到外部计算机或外部存储设备。
57.存储在计算机可读介质中的计算机可读程序指令可以用于指导计算机、其他类型的可编程数据处理装置或其他设备以特定方式运转,使得存储在计算机可读介质中的指令产生包括实现流程图或图解中指定的功能、动作和/或操作的指令的制品。在某些替代实施例中,流程图和图解中指定的功能、动作和/或操作可以被重新排序、串行处理和/或与一个或多个实施例一致地同时处理。此外,任何流程图和/或图解可以包括比与一个或多个实施例一致图示的节点或块更多或更少的节点或块可以使用诸如专用集成电路(asic)、现场可编程门阵列(fpga)、状态机、控制器之类的合适的硬件部件,或者其他硬件部件或设备,或者硬件、软件和固件部件的组合,来整体或部分地体现过程、方法或算法。
58.图6描绘了被配置为控制载具50的控制系统12的示意图,载具50可以是至少部分自主的载具或至少部分自主的机器人。如在图5中所示,载具50包括致动器14和传感器16。
传感器16可以包括一个或多个视频传感器、雷达传感器、超声波传感器、lidar传感器和/或位置传感器(例如,gps)。一个或多个特定传感器中的一个或多个可以集成到载具50中。替代地或除了以上标识的一个或多个特定传感器之外,传感器16可以包括软件模块,该软件模块被配置为在执行时确定致动器14的状态。软件模块的一个非限制性示例包括天气信息软件模块,该天气信息软件模块被配置为确定载具50附近或其他位置的天气的当前或未来状态。
59.载具50的控制系统12的分类器24可以被配置为取决于输入信号x检测在载具50附近的对象。在这样的实施例中,输出信号y可以包括表征载具50附近对象的信息。可以根据该信息确定致动器控制命令20。致动器控制命令20可以用于避免与检测到的对象碰撞。
60.在载具50是至少部分自主载具的实施例中,致动器14可以体现在载具50的制动器、推进系统、发动机、传动系统或转向系统中。可以确定致动器控制命令20,使得控制致动器14,使得载具50避免与检测到的对象碰撞。检测到的对象也可以根据分类器24认为它们最有可能是什么——诸如行人或树木——来分类。致动器控制命令20可以取决于分类来确定。控制系统12可以利用联合对抗训练来帮助诸如在载具环境的不良照明条件或不良天气条件期间针对对抗条件训练分类器和生成器。
61.在载具50是至少部分自主的机器人的其他实施例中,载具50可以是移动机器人,其被配置为实行一个或多个功能,诸如飞行、游泳、潜水和踩踏。移动机器人可以是至少部分自主的割草机或至少部分自主的清洁机器人。在这样的实施例中,可以确定致动器控制命令20,使得可以控制移动机器人的推进单元、转向单元和/或制动单元,使得移动机器人可以避免与标识的对象碰撞。
62.在另一个实施例中,载具50是以园艺机器人形式的至少部分自主的机器人。在这样的实施例中,载具50可以使用光学传感器作为传感器16来确定载具50附近环境中植物的状态。致动器14可以是被配置为喷洒化学物质的喷嘴。取决于标识的植物种类和/或标识的植物状态,可以确定致动器控制命令20,以使得致动器14向植物喷洒合适量的合适化学物质。
63.载具50可以是以家用电器形式的至少部分自主的机器人。家用电器的非限制性示例包括洗衣机、炉子、烤箱、微波炉或洗碗机。在这样的载具50中,传感器16可以是光学传感器,其被配置为检测将经历由家庭电器处理的对象的状态。例如,在家用电器是洗衣机的情况下,传感器16可以检测洗衣机内部的衣物的状态。可以基于衣物的检测状态来确定致动器控制命令20。
64.图7描绘了被配置为控制系统100(例如,制造机器)的控制系统12的示意图,该控制系统100(例如,制造机器)诸如是制造系统102(诸如生产线的一部分)的冲压刀具、刀具或枪钻。控制系统12可以被配置为控制致动器14,该致动器14被配置为控制系统100(例如,制造机器)。
65.系统100的传感器16(例如,制造机器)可以是被配置为捕获制造产品104的一个或多个特性的光学传感器。分类器24可以被配置为根据一个或多个捕获的特性来确定制造产品104的状态。致动器14可以被配置为取决于为制造产品104的后续制造步骤所确定的制造产品104的状态来控制系统100(例如,制造机器)。致动器14可以被配置为取决于制造产品104的所确定状态来控制在系统100(例如,制造机器)的后续制造产品106上的系统100(例
如,制造机器)的功能。控制系统12可以利用联合对抗训练来帮助诸如在不良照明条件或者传感器难以标识条件的工作条件(诸如大量灰尘)期间针对对抗条件训练分类器和生成器。
66.图8描绘了控制系统12的示意图,该控制系统12被配置为控制具有至少部分自主模式的电动工具150,诸如电钻或驱动器。控制系统12可以被配置为控制致动器14,该致动器14被配置为控制电动工具150。
67.电动工具150的传感器16可以是光学传感器,该光学传感器被配置为捕获工作表面152的和/或被驱动到工作表面152中的紧固件154的一个或多个特性。分类器24可以被配置为根据一个或多个捕获的特性来确定工作表面152的和/或紧固件154相对于工作表面152的状态。该状态可以是紧固件154与工作表面152齐平。替代地,该状态可以是工作表面152的硬度。致动器14可以被配置为控制电动工具150,使得电动工具150的驱动功能取决于紧固件154相对于工作表面152的确定状态或工作表面152的一个或多个捕获特性来调整。例如,如果紧固件154的状态相对于工作表面152齐平,则致动器14可以中断驱动功能。作为另一个非限制性示例,致动器14可以取决于工作表面152的硬度施加附加的或更小的扭矩。控制系统12可以利用联合对抗训练来帮助诸如在不良照明条件或者不良天气条件期间针对对抗条件训练分类器和生成器。因此,控制系统12可以能够标识电动工具150的环境条件。
68.图9描绘了被配置为控制自动化个人助理900的控制系统12的示意图。控制系统12可以被配置为控制致动器14,该致动器14被配置为控制自动化个人助理900。自动化个人助理900可以被配置为控制家用电器,诸如洗衣机、炉子、烤箱、微波炉或洗碗机。
69.传感器16可以是光学传感器和/或音频传感器。光学传感器可以被配置为接收用户902的手势904的视频图像。音频传感器可以被配置为接收用户902的语音命令。
70.自动化个人助理900的控制系统12可以被配置为确定致动器控制命令20,该致动器控制命令20被配置为控制系统12。控制系统12可以被配置为根据传感器16的传感器信号18来确定致动器控制命令20。自动化个人助理900被配置为将传感器信号18传输到控制系统12。控制系统12的分类器24可被配置为执行手势识别算法以标识用户902做出的手势904,确定致动器控制命令20,并将致动器控制命令20传输到致动器14。分类器24可以被配置为响应于手势904从非易失性存储装置检索信息,并且以适合用户902接收的形式输出检索到的信息。控制系统12可以利用联合对抗训练来帮助诸如在不良照明条件或者不良天气条件期间针对对抗条件训练分类器和生成器。因此,控制系统12可以能够在此类条件期间标识手势。
71.图10描绘了被配置为控制监视系统250的控制系统12的示意图。监视系统250可以被配置为物理地控制通过门252的访问。传感器16可以被配置为检测与决定是否准许访问相关的场景。传感器16可以是被配置为生成和传输图像和/或视频数据的光学传感器。控制系统12可以使用这样的数据来检测人员的面部。控制系统12可以利用联合对抗训练来帮助在不良照明条件期间或者在控制监视系统250的环境入侵者的情况下针对对抗条件训练分类器和生成器。
72.监视系统250的控制系统12的分类器24可以被配置为通过匹配存储在非易失性存储装置26中的已知人的身份来解释图像和/或视频数据,从而确定人员的身份。分类器24可以被配置为响应于图像和/或视频数据的解释而生成致动器控制命令20。控制系统12被配
置为将致动器控制命令20传输到致动器14。在该实施例中,致动器14可以被配置为响应于致动器控制命令20来锁定或解锁门252。在其他实施例中,非物理的逻辑访问控制也是可能的。
73.监视系统250也可以是监督系统。在这样的实施例中,传感器16可以是被配置为检测在监督之下的场景的光学传感器,并且控制系统12被配置为控制显示器254。分类器24被配置为确定场景的分类,例如传感器16检测到的场景是否可疑。控制系统12被配置为响应于分类向显示器254传输致动器控制命令20。显示器254可以被配置为响应于致动器控制命令20来调整显示的内容。例如,显示器254可以突出显示被分类器24认为可疑的对象。
74.图11描绘了控制系统12的示意图,该控制系统12被配置为控制成像系统1100,例如mri装置、x射线成像装置或超声波装置。传感器16例如可以是成像传感器。分类器24可以被配置为确定感测图像的全部或部分的分类。分类器24可以被配置为响应于由训练的神经网络获得的分类来确定或选择致动器控制命令20。例如,分类器24可以将感测图像的区域解释为潜在异常。在该情况下,可以确定或选择致动器控制命令20,以使得显示器302显示成像和突出显示潜在异常区域。控制系统12可以利用联合对抗训练来帮助在诸如不良照明的x光期间针对对抗条件训练分类器和生成器。
75.本文公开的过程、方法或算法可以可递送到处理设备、控制器或计算机/由处理设备、控制器或计算机实现,所述处理设备、控制器或计算机可以包括任何现有的可编程电子控制单元或专用电子控制单元。类似地,过程、方法或算法可以以多种形式存储为可由控制器或计算机执行的数据和指令,包括但不限于永久存储在诸如rom设备的不可写存储介质上的信息和可变更地存储在诸如软盘、磁带、cd、ram设备以及其他磁性和光学介质的可写存储介质上的信息。所述过程、方法或算法也可以在软件可执行对象中实现。替代地,可以使用诸如专用集成电路(asic)、现场可编程门阵列(fpga)、状态机、控制器之类的合适的硬件组件,或其他硬件组件或设备,或者硬件、软件和固件组件的组合,来整体或部分地体现过程、方法或算法。
76.虽然上面描述了示例性实施例,但是不旨在这些实施例描述权利要求所包含的所有可能的形式。说明书中使用的词语是描述的词语,而不是限制的词语,并且理解,可以在不脱离本公开的精神和范围的情况下做出各种改变。如先前描述的,各种实施例的特征可以被组合以形成可能未被明确描述或图示的本发明的另外的实施例。虽然各种实施例可能已经被描述为在一个或多个期望的特性方面提供了优于其他实施例或现有技术实现的优点或者比其他实施例或现有技术实现优选,但是本领域的普通技术人员认识到,一个或多个特征或特性可以取决于具体的应用和实现被折衷以实现期望的总体系统属性。这些属性可以包括但不限于成本、强度、耐用性、生命周期成本、适销性、外观、包装、大小、适用性、重量、可制造性、组装容易性等。照此,在任何实施例都被描述为在一个或多个特征方面与其他实施例或现有技术实现相比不太合期望的程度上,这些实施例不在本公开的范围之外,并且对于特定应用可以是合期望的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献