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

用于对象检测的增量学习的系统和方法与流程

2021-11-05 20:44:00 来源:中国专利 TAG:


1.本发明涉及检测图像和/或视频中的对象。


背景技术:

2.各种现实应用程序,如医疗图像的自动分析和基于图像识别的安全检测图像和/或视频中的对象(即已知对象类别的实例)。最近,图像和/或视频中的对象检测显著受益于神经网络的发展。如在此所使用的,术语“一个或多个对象检测器”是“一个或多个神经网络对象检测器”的较短形式。神经网络对象检测器本质上是由参数集表征的模型。对象检测包括确定图像和/或视频中的对象的位置和类型或类别。常规对象检测器利用一级或两级对象检测器。单级对象检测器(例如,you

only

look

once,yolo,以及single shot detection,ssd))通过进行固定数量的基于网格的对象预测来同时确定在哪里和什么对象存在。两级对象检测器单独提出已知对象可能位于的区域,且接着将特定对象预测(例如,概率)与所提出的区域相关联。
3.然而,神经网络遭受灾难性遗忘,即,当使用增量学习来再训练给定对象检测器以检测第二类别对象时失去检测第一类别对象的能力,这使得增量学习与终生检测不兼容。绕过灾难性遗忘的尝试包括与用于检测先前学习的类别的对象检测器并行地运行专用于新类别的新对象检测器,这使必要的计算资源(存储器和执行能力)加倍。另一种方法利用包括关于新的类别和先前学习的类别的二者的对象的组合的图像训练对象检测器,但是这样的组合的数据集可能不可用。用包括新类别对象图像和先前学习的类别对象图像两者的大数据集来训练对象检测器也显著地增加了必要的计算资源。
4.k.施梅尔科夫在“无灾难性遗忘的对象检测器增量学习”国际计算机视觉会议(2017年)提出了使用预先计算的对象提议并且因此运行缓慢的快区域卷积神经网络(rcnn)架构。该文章讨论了使用知识蒸馏将新类别添加到区域分类器,但这是有问题的,因为上述方法不能直接应用于更先进的体系结构,如更快的rcnn。
5.基于神经网络的对象检测模型常规地在对象检测数据集(如分别具有20和80个类的pascal voc和coco)上进行训练。可检测的对象类别由用于训练模型的数据集来确定。一旦模型已被训练,在不重新训练具有用于所有感兴趣类别的标记数据的整个网络的情况下,不能更改对象类别。
6.如果现有模型的训练数据(图像)对用户不可用(例如,相应网站是慢的或不可用的)或者用户缺少访问原始数据的特权,则用户不能通过添加已经变得与用户相关的新对象类别来更新模型。
7.因此,期望神经网络对象检测器(即,方法和设备)在被训练成检测属于新对象类别的对象时能够避免先前学习到的对象类别的灾难性遗忘。需要一种更高级的对象检测系统,其在用户想要添加新的对象类别的情况下可以临时定制并且可以在请求时更新对象检测模型。


技术实现要素:

8.示例性实施例涉及用于增量地学习新对象类别(即,训练对象检测器以检测属于新类的对象)而不灾难性遗忘检测属于先前学习的类别的对象的方法。使用总损失来更新对象检测器,该总损失使得能够平衡检测新类对象的能力和检测先前学习的类别的对象的能力,而不需要访问先前用于训练对象检测器的图像。训练和更新的对象检测器保留检测属于先前学习的对象类别的对象的能力,同时将其检测能力扩展到属于新对象类别的对象。
9.其他示例性实施例是涉及检测已知对象类别、与用户交互(例如,经由自然语言)的系统,从用户接收添加新对象类别的请求,自主地收集必要的训练数据,以及重新训练对象检测器以定位和识别属于新类别的对象,而不显著地失去检测属于先前学习的对象类别的对象的能力。在一个实施例中,系统向用户提供新的对象类别推荐和请求。
10.示例性实施例涉及用于在图像中增量学习对象检测而不灾难性遗忘先前学习的对象类别的方法。该方法包括通过迭代地更新两级神经网络对象检测器直到满足总体检测准确度标准来训练现有的两级神经网络对象检测器以定位和识别属于图像中的至少一个附加对象类别的对象。执行更新以便平衡最小化定位和识别属于先前学习的一个或多个对象类别的对象的初始能力的损失和最大化定位和识别属于附加对象类别的对象的能力。
11.另一示例性实施例涉及用于增量学习对象检测而不灾难性遗忘先前学习的对象类别的方法,该方法包括接收训练图像,该训练图像包括属于两级神经网络对象检测器的初始版本未知的对象类别的对象,该对象检测器能够检测属于至少一个先前学习的对象类别的对象。该方法还包括使用所述训练图像中的一个接一个的多个图像,训练两级神经网络对象检测器以检测最初未知的对象类别的对象,直到满足预定条件。训练包括:(1)将多个图像中的一个图像输入到两级神经网络对象检测器的初始版本以获得针对至少一个先前学习的对象类别的第一区域提议和第一对象预测,(2)将所述一个图像输入到所述两级神经网络对象检测器的当前版本,以获得针对所述至少一个先前学习的对象类别和所述最初未知的对象类别的第二区域提议和第二对象预测,(3)将该第一区域提议与该第二区域提议进行比较,以估算量化定位该至少一个先前学习的对象类别的对象的能力的降低的区域提议蒸馏损失,(4)将该第一对象预测与该第二对象预测进行比较以估计对象识别蒸馏损失,该对象识别蒸馏损失量化识别该至少一个先前学习的对象类别的对象的能力的降低,(5)将所述第二区域提议与该一个图像的基础事实标签进行比较,以估计最初未知的对象类别的区域提议网络损失,(6)将第二对象预测与所述基础事实标签进行比较以估计最初未知的所述对象类别的对象识别损失,(7)计算结合区域提议蒸馏损失、对象识别蒸馏损失的总损失,区域提议网络损失和对象识别损失,(8)更新两级神经网络对象检测器的当前版本以使总损失最小化。当训练迭代的数量达到预定数量时,或者当总损失降低率低于预定阈值时,满足预定条件。
12.示例性实施例是涉及含有计算机可读代码的计算机可读介质,所述计算机可读代码在由计算机读取时致使所述计算机执行用于增量学习以用于图像中的对象检测的方法,而不灾难性遗忘先前学习的一个或多个对象类别。该方法包括训练两级神经网络对象检测器以通过迭代地更新两级神经网络对象检测器来定位和识别属于附加对象类别的对象,直到满足总体检测准确度标准。执行更新以平衡最小化定位和识别属于先前学习的一个或多
个对象类别的对象的初始能力的损失和最大化定位和识别属于附加对象类别的对象的能力。
13.其他示例性实施例涉及用于对象检测的增量学习的系统,而不灾难性地遗忘先前学习的对象类别。该系统各自包括计算设备,该计算设备被配置成接收图像、使用两级神经网络对象检测器来定位和识别对象、并与云服务器通信、以及云服务器。该云服务器被配置成收集训练图像、存储定位和识别一个或多个对象类的两级神经网络对象检测器的初始版本、以及与计算设备和互联网通信。计算设备和云服务器中的至少一个被配置成通过迭代地更新两级神经网络对象检测器来训练两级神经网络对象检测器以定位和识别属于附加对象类别的对象,其最初能够定位和识别属于一个或多个对象类别的对象,直到满足总体检测准确度标准,执行所述更新,以便平衡最小化所述两级神经网络检测器定位和识别属于所述一个或多个对象类别的对象的初始能力的损失以及最大化两级神经网络检测器定位和识别属于所述附加对象类别的对象的能力。
附图说明
14.现在将参考附图仅通过示例来描述本发明的实施例,在附图中:
15.图1是根据实施例的没有灾难性遗忘的增量学习对象检测的示意图;
16.图2是根据实施例的用于没有灾难性遗忘先前学习的一个或多个对象类别的情况下在图像中进行增量学习对象检测的方法的流程图;
17.图3示出了使用与输入相同的图像的对象检测器的初始版本和对象检测器的训练版本的输出;
18.图4示出了根据实施例的对象检测系统;
19.图5描绘了根据本发明的实施例的云计算环境;
20.图6描绘了根据本发明的实施例的抽象模型层;
21.图7是示出根据实施例的对象检测的流程图;
22.图8是根据实施例的添加新类别的方法的流程图;
23.图9是示出根据实施例的准确度感知模型改进的流程图;以及
24.图10是示出根据实施例的在接收到用户请求时将新对象类别添加到对象检测模型的流程图。
具体实施方式
25.以下描述中使用的附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。对此,流程图或框图中的每个方框可以代表模块、段或指令的一部分,其包括用于实现规定的逻辑功能的一个或多个可执行指令。在一些替代实施例中,框中所标注的功能可以不以图中所标注的次序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由基于专用硬件的系统来实现,所述基于专用硬件的系统执行指定的功能或动作或执行专用硬件与计算机指令的组合。
26.下文描述的示例性实施例涉及增量学习以检测与新类有关的对象,而不灾难性地
遗忘检测与先前学习的对象类别有关的对象。训练对象检测器旨在:(a)使检测器能够检测(即,定位和识别)属于新类别的对象,而不管这样的对象位于何处以及图像中出现什么其他对象;(b)保持用于检测属于先前学习的类别的对象的良好性能;(c)采用合理数量的模型参数并且具有用于使用模型的可接受的存储器要求;以及(d)提供端到端学习机制,所述端到端学习机制联合地更新所述分类器以识别所述新对象类别以及所述特征表示以定位属于所述新对象类别的对象。
27.图1示意性地表示根据实施例的在图像中增量学习对象检测而没有灾难性遗忘先前学习的对象类别。命名为“教师网络(t)”的两级对象检测器的初始版本能够检测(即,定位和识别)属于先前学习的对象类别的对象。命名为“学生网络(s)”的两级神经网络对象检测器的当前版本被训练用于检测属于新对象类别的对象。下面的描述涉及单个新的对象类别,但是可以相继或同时添加多个对象类别。学生网络以来自教师网络的参数开始,但是来自学生网络的输出被扩展以检测属于新对象类别的对象。
28.训练图像100包括属于新对象类别的对象,但是也可以包括属于先前学习的对象类别的对象。这些训练图像被逐个或逐批地输入到教师网络110和学生网络120(即,并行于两个网络并通过训练图像串联)。对于每个输入图像,教师网络110产生教师区域提议(rpn(t))111和教师对象预测113,其中,教师区域提议111用于提取特征向量112,教师对象预测113将先前学习的对象类别中的一个识别为与教师rpn的每个区域中的对象对应。此外,对于每个输入图像,学生网络120产生学生区域提议(rpn(s))121和学生对象预测123,其中,学生区域提议121用于提取特征矢量122,学生对象预测123将先前学习的对象类别或新的对象类别中的一个识别为与rpn(s)的每个区域中的对象对应。
29.可基于教师网络和学生网络的输出来估计检测准确度。基于比较教师区域提议111与学生区域提议121,区域提议网络蒸馏损失131量化学生网络定位先前学习的对象类别的对象的能力的降低。基于比较教师对象预测112与学生对象预测122,对象识别蒸馏损失132量化学生网络识别先前学习的对象类别的对象的能力的降低。
30.进一步,将学生网络的输出与和训练图像相关联的基础事实标签进行比较使得能够估计学生网络的区域提议损失141和学生网络的对象识别损失142,其中学生网络的区域提议损失141与定位属于新对象类别的对象有关,学生网络的对象识别损失142与识别属于新对象类别的对象有关。在机器学习中,术语“基础事实”是指训练集的分类标签或者更简单地说是指训练图像中的对象的真实位置和身份。
31.在一个实施例中,通过组合区域提议网络蒸馏损失、对象识别蒸馏损失、区域提议网络损失和对象识别损失来定义总损失。学生网络随后可被更新以最小化总损失。该组合可以是这些损失的相对测量的简单求和,或其加权求和。以以下数学形式表示:
[0032][0033]
其中,l
total
是总损失,是区域提议网络蒸馏损失,是对象识别蒸馏损失,是区域提议网络损失并且是对象识别损失,并且λ1...λ4是相应的权重。
[0034]
在更新对象检测器时使用总损失是平衡最小化其检测属于先前学习的对象的对象的能力损失和最大化其检测属于新添加的对象类别的对象的能力的方式。然而,存在实现此平衡的其他方式;例如,可存在对检测属于任何个别先前学习的对象类别的对象的能
力的损失的预定义限制,能力的平均损失和/或检测属于所添加的对象类别的对象的能力(在这种情况下,预定义限制是必须被超过的阈值),等等。
[0035]
图2是根据实施例的用于增量学习对象检测而没有灾难性遗忘的方法200的流程图。接收训练图像210,该训练图像包括属于对于两级神经网络对象检测器的初始版本未知的对象类别的对象,该两级神经网络对象检测器能够检测属于至少一个先前学习的对象类别的对象。训练图像具有分别指示其中的对象的位置(例如,可以是框的区域)和对象类别的相关联的基础事实标签。
[0036]
在220,两级神经网络对象检测器被训练成使用训练图像逐一地或逐批地检测最初未知的对象类别的对象,直到满足预定条件。预定条件可以是完成预定次数的迭代、实现阈值准确度或不能进一步减少损失。两级神经网络对象检测器的训练包括对多个图像中的每个图像执行以下操作:
[0037]
(1)将图像输入到两级神经网络对象检测器(例如,教师网络)的初始版本,以获得第一区域提议和先前学习的对象类别的第一对象预测,
[0038]
(2)将图像输入到两级神经网络对象检测器的当前版本(例如,学生网络)以获得第二区域提议和先前学习的对象类别和新对象类别的第二对象预测,
[0039]
(3)将该第一区域提议与该第二区域提议进行比较,以估算区域提议蒸馏损失,该区域提议蒸馏损失量化对属于先前学习的对象类别的对象进行定位的能力的降低,
[0040]
(4)将该第一对象预测与该第二对象预测进行比较以估算一个对象识别蒸馏损失,该对象识别蒸馏损失量化识别这些先前学习的对象类别的对象的能力的降低,
[0041]
(5)将所述第二区域提议与所述图像的基础事实标签进行比较,以估计所述新对象类别的区域提议网络损失,
[0042]
(6)将所述第二对象预测与所述基础事实标签进行比较以估计所述新对象类别的对象识别损失,
[0043]
(7)通过结合所述区域提议蒸馏损失、所述对象识别蒸馏损失、所述区域提议网络损失和所述对象识别损失来计算总损失,并且
[0044]
(8)更新所述两级神经网络对象检测器的当前版本以便使总损失最小化。更新可使用不同已知方法中的任一种(例如,通过将随机梯度下降方法应用于总损失)来调整神经网络的参数。
[0045]
更一般地,用于在图像中增量学习对象检测而没有灾难性地遗忘先前学习的对象类别的方法执行两级神经网络对象检测器的训练以定位和识别属于附加对象类别的对象,直到满足总体检测准确度标准为止。总体检测准确度描述训练对象检测器检测先前学习的对象类别和附加对象类别的能力。例如,表达为概率的预测的总和必须超过准确度阈值,或者每个对象的预测概率必须超过低阈值准确度限制。
[0046]
迭代地更新两级神经网络对象检测器,以便平衡最小化其定位并识别属于先前学习的对象类别的对象的初始能力的损失以及最大化其附加地定位并识别属于附加对象类别的对象的能力。能力可通过所有检测中正确检测的百分比、预测概率的平均值、与假阳性检测或假阴性检测的数目组合等来测量。定位和识别属于先前学习的对象类别的对象的初始能力的损失可以是蒸馏损失的总和(或加权总和)。通过比较对象检测器的初始(未经训练)版本的输出与对象检测器的经训练(当前)版本的输出来确定此损失。
[0047]
可以通过确定区域提议蒸馏损失和对象识别蒸馏损失来评估总体检测准确度标准。“蒸馏损失”指示由于添加新对象类别引起的对应能力的降低。该区域提议蒸馏损失基于针对同一输入训练图像将由两级神经网络对象检测器的初始版本输出的区域提议与由两级神经网络对象检测器的当前版本输出的当前区域提议进行比较。
[0048]
对象识别蒸馏损失基于比较由两级神经网络对象检测器的初始版本输出的先前学习的对象预测与由两级神经网络对象检测器的当前版本输出的对象预测。用于确定蒸馏损失的比较是从先前学习的对象类别角度进行的。两级神经网络对象检测器被更新,以便最小化区域提议蒸馏损失和对象识别蒸馏损失。
[0049]
图3示例性地示出了通过针对19个对象类别训练的对象检测器的初始版本对左侧图像310中的两个对象(椅子和香蕉)的对象检测(即,框中的位置和对象识别),以及通过针对20个对象类别训练的两级神经网络对象检测器(即,还用于检测膝上型计算机)的版本来检测右侧图像320中的两个对象和另外对象(即,膝上型计算机)的对象检测。区域提议分别包括矩形框312、314和322

326。对象预测可被表示为特定对象概率。将“椅子”0.98和“香蕉”0.95作为老类别,将“笔记本”0.99作为新类别(之后:椅子0.96,香蕉0.95),并相应地更新文本。
[0050]
对于左侧图像,方框312中椅子的概率为0.98(1是确定的),方框314中香蕉的概率为0.99。对于右侧图像,框322中椅子的概率为0.96,框324中香蕉的概率为0.95,以及框328中膝上型计算机的概率为0.99。
[0051]
图4示出了根据实施例的对象检测系统400。对象检测系统包括计算设备410和云设备420(例如,服务器)。计算设备能够从相机402接收图像/视频输入,并且将图像/视频输出传输到屏幕408。计算装置还能够从麦克风404接收音频输入,并且将音频输出传输到扬声器406。
[0052]
将图像/视频输入提供给计算设备的相机402可以集成在智能电话或智能眼镜中,或者可以是独立的相机。麦克风404使得由用户表达的用户请求能够作为音频输入被提供给计算机设备。
[0053]
计算设备410被配置成处理音频和视频输入和输出,以进行对象检测,并与云/服务器420通信。云/服务器420被配置为进行对象检测、处理从计算设备接收的用户请求、从web 430收集训练图像、以及存储对象检测器的初始版本。
[0054]
计算设备410和云/服务器420中的至少一个被配置为执行用于在图像中进行增量学习对象检测而不会灾难性地遗忘先前学习的对象类别(例如,如先前所描述的)的方法。当增量学习由云/服务器执行时,被训练成检测属于附加对象类别的对象的对象检测器被发送到计算设备。当该方法由计算设备执行时,云/服务器向计算设备提供对象检测器的训练图像和初始版本。
[0055]
应当理解,虽然提供了关于云计算的详细描述,但是本文提供的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。云计算是用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的、按需的网络访问的服务递送的模型,所述可配置计算资源可以用最小的管理努力或与服务提供者的交互来快速配置和释放。
[0056]
该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。这五个特征是按需自助服务、广泛的网络接入、资源池、快速弹性和测量服务。关于按需自助服务,云消费者可按需自动地单方面供应计算能力,诸如服务器时间和网络存储,而无需与服务的提供者的人类交互。宽泛的网络访问指的是通过网络可获得的和通过标准机制访问的能力,所述标准机制促进由异构的瘦或厚客户端平台(例如,移动电话、膝上型计算机和pda)的使用。对于资源池化,提供者的计算资源被池化以使用多租户模型服务于多个消费者,其中不同的物理和虚拟资源根据需要被动态地指派和重新指派。存在位置独立性的意义,因为消费者通常对所提供资源的确切位置不具有控制或知识,但可能能够在较高抽象层级(例如,国家、州或数据中心)处指定位置。快速弹性是指能够快速、弹性地调配(在某些情况下是自动调配)的能力,以快速向外扩展,并快速释放以快速向内扩展。对于消费者,可用于供应的能力通常显得不受限制,并且可以在任何时间以任何数量购买。对于测量的服务,云系统通过利用适于服务类型(例如,存储、处理、带宽和活动用户账户)的某种抽象级别的计量能力来自动地控制和优化资源使用。可监视、控制和报告资源使用,从而为所利用的服务的提供者和消费者两者提供透明度。
[0057]
这三种服务模型是软件即服务(saas)、平台即服务(paas)和基础设施即服务(iaas)。作为服务的软件向消费者提供使用在云基础设施上运行的提供者的应用的能力。应用可通过瘦客户端接口(诸如web浏览器,例如基于web的电子邮件)从不同客户端设备访问。除了有限的用户特定的应用配置设置之外,消费者不管理或控制包括网络、服务器、操作系统、存储或甚至各个应用能力的底层云基础结构。平台作为服务提供给消费者部署到云基础设施上的能力,消费者创建或获取的应用是使用由提供者支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础结构,但是具有对所部署的应用以及可能的应用托管环境配置的控制。基础设施即服务为消费者提供能力以提供处理、存储、网络和消费者能够在其中部署和运行可包括操作系统和应用的任意软件的其他基本计算资源。消费者不管理或控制底层云基础结构,但是具有对操作系统、存储、所部署的应用的控制,以及对例如主机防火墙的选择联网组件的可能受限的控制。
[0058]
部署模型是私有云、社区云、公共云和混合云。私有云基础结构仅针对组织操作。它可由组织或第三方管理,并且可存在于场所内或场所外。社区云基础结构由若干组织共享并且支持具有共享的关注点(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可由组织或第三方管理,并且可存在于场所内或场所外。公共云基础结构对公众或大型产业组是可用的,并且由销售云服务的组织拥有。混合云基础架构是两个或更多个云(私有、社区或公共)的组成,这些云保持唯一实体但通过标准化或专有技术来绑定在一起,这些技术实现数据和应用便携性,例如用于云之间的负载平衡的云突发。
[0059]
云计算环境是面向服务的,关注于状态、低耦合、模块性和语义互操作性。云计算的核心是包括互连节点网络的基础设施。现在参见图5,描绘了说明性云计算环境500。如图所示,云计算环境500包括一个或多个云计算节点510,云消费者使用的本地计算设备(诸如例如个人数字助理(pda)或蜂窝电话520、台式计算机530、膝上型计算机540和/或汽车计算机系统550)可与云计算节点510通信。节点510可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境500提供基础结构、平台和/或软件作为云消费者不需要维护本地
计算设备上的资源的服务。应当理解,图5所示的计算设备520

550的类型仅旨在是说明性的,并且计算节点510和云计算环境500可以例如使用web浏览器通过任何类型的网络和/或网络可寻址连接与任何类型的计算机化设备进行通信。
[0060]
现在参见图6,示出了由云计算环境500提供的一组功能抽象层。应预先理解,图1、2和4中所示的部件、层和功能旨在仅是说明性的,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能。硬件和软件层660由硬件和软件组件制成。硬件组件的示例包括:大型机661、基于risc(精简指令集计算机)架构的服务器662、服务器663、刀片服务器664、存储设备665以及网络和联网组件666。在一些实施例中,软件组件包括网络应用服务器软件667和数据库软件668。
[0061]
虚拟化层670是抽象层,其包括一个或多个虚拟实体,诸如:虚拟服务器671、虚拟存储672、虚拟网络673(其可以是虚拟私有网络)、虚拟应用和操作系统674以及虚拟客户端675。
[0062]
在一个示例中,管理层680可以提供接下来描述的功能。资源供应681提供计算资源和被用来执行云计算环境内的任务的其他资源的动态获取。计量和定价682在云计算环境内利用资源时提供成本跟踪,并针对这些资源的消费进行计费或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及对数据和其他资源的保护。用户门户683为消费者和系统管理员提供对云计算环境的访问。服务水平管理684提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(sla)计划和履行685为根据sla预期未来要求的云计算资源提供预安排和采购。
[0063]
工作负载层690提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航691、软件开发和生命周期管理692、虚拟教室教育交付693、数据分析处理694、事务处理695和增量学习对象检测696。
[0064]
图7

10是可以由图4中所示的系统400执行的方法的流程图。这些流程图示出了由计算设备410或云/服务器420执行的步骤。对象检测器可由计算装置410或由云/服务器420运行。图7是示出包含本地或云对象检测的对象检测的流程图。在710处,计算装置从相机(例如,402)接收图像。如果在本地执行对象检测(即,框720的“是”分支),则在730,对象检测器在本地计算设备上运行。如果在云中执行对象检测(即,框720的“否”分支),则在760计算设备将所接收的(一个或多个)图像发送至云/服务器,从而使得在770处对象检测器能够在云/服务器上运行。检测结果然后被输出到用户:在740示出(例如,在屏幕408上)和/或在750通知(例如,使用扬声器406)。如果对象检测继续(即,框780的“否”分支),则计算设备准备好在710处理(一个或多个)其他图像。例如,当视频流作为批量图像被接收时,检测可继续。
[0065]
图8是用于将被指定为类别a的新的对象类别添加到现有对象检测器(诸如图7中使用的检测器)的方法的流程图。该方法示出获取训练数据集,该训练数据集可用于增量训练并且基于在输入中提供的内容(图像或名称)、获取现有训练数据集的能力或创建新训练数据集的需要。
[0066]
在810,计算装置接收将类别a作为音频输入添加到对象检测器的先前学习的对象类别的用户请求。在820,计算装置从作为自然语言从麦克风接收的用户请求中提取类别a的名称,或获得由相机提供的对象类别a的代表性图像。在前一种情况下,在830,计算设备
向云/服务器发送类别a的名称。否则,计算设备将代表性图像发送到云/服务器。
[0067]
一旦接收到类别a的名称,云/服务器就在840搜索网站上的包括所请求的类别a的现有图像。如果在850确定这样的图像不可用,则在860要求用户提供类别a对象的样本图像。如果这样的图像是可用的,则在870,它们被收集以形成用于更新对象检测器以能够经由增量学习检测属于a别类的对象的训练图像集。在880将更新的对象检测器提供给计算设备,该计算设备然后可以在890向用户提供关于a类别检测能力的音频或视频反馈。
[0068]
现在返回到820,如果计算设备获得对象类别a的代表性图像,则计算设备在825准备类别a对象的照片并且在835将它/它们发送到云/服务器。在从用户接收到照片或样本图像时,在845,云/服务器使用与接收到的照片或样本图像类似的视觉特征或类别名称来搜索网站以寻找图像。在855,云/服务器创建类别a的训练图像集,在870,训练图像被用于更新对象检测器。
[0069]
图9是示出精确度感知模型训练的流程图。该方法示出在添加新类别不顺利的情况下可以提供的选项。在910,从能够检测属于n个对象类别的原始集合和m个类别的添加集合的对象的检测模型d_n m开始,在920,计算机设备接收添加新类别c的用户请求。在930,计算机设备将其代表性图像的类别c的名称发送到云/服务器。在940,云/服务器更新检测模型以将对象类别c添加到对象检测器已经能够检测的m n个对象类别。然后,在950,计算机设备检查由于训练而导致的对于m n个对象类别(也称为类)的检测准确度降低(即,d_n m的检测准确度与d_m n c的检测准确度之间的差异)。如果任何类别的检测准确度显著降低(框960的分支“是”),则系统在970恢复到d_n m模型,在980创建新的检测模型d_n c,并在990并行使用d_n m和dn c。否则(框960的分支“否”),在965,计算设备使用d_n m c模型进行对象检测。
[0070]
图10是示出在接收到用户请求时将新对象添加到对象检测模型的流程图。在1010,计算装置接收包括用以将新对象添加到现有对象检测模型的用户请求的音频输入。在1020,计算装置接收新对象的图像(例如,从不同角度观看的此新对象的照片)。在1030,计算设备将图像(照片)发送到云/服务器。在1040,服务器更新现有检测模型以包括新对象类别并且在1050将更新的模型发送到计算设备。
[0071]
根据本发明的示例性实施例的方法和系统可采取完全硬件实施例、完全软件实施例或包含硬件和软件元件两者的实施例的形式。在优选实施例中,本发明以软件实现,该软件包括但不限于固件、常驻软件和微代码。此外,示例性方法和系统可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,所述计算机可用或计算机可读介质提供供计算机、逻辑处理单元或任何指令执行系统使用或与其结合使用的程序代码。出于本说明的目的,计算机可用或计算机可读介质可为可含有、存储、传达、传播或传输供指令执行系统、设备或装置使用或结合指令执行系统、设备或装置使用的程序的任何设备。合适的计算机可用或计算机可读介质包括但不限于电子、磁性、光学、电磁、红外或半导体系统(或设备或设备)或传播介质。计算机可读介质的实例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(ram)、只读存储器(rom)、刚性磁盘和光盘。光盘的当前示例包括致密盘

只读存储器(cd

rom)、致密盘

读/写(cd

r/w)和dvd。
[0072]
用于存储和/或执行程序代码的合适的数据处理系统包括但不限于通过系统总线直接或间接地耦合到存储器元件的至少一个处理器。存储器元件包括在程序代码的实际执
行期间采用的本地存储器、大容量存储装置和高速缓冲存储器,其提供至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储装置检索代码的次数。输入/输出或i/o设备(包括但不限于键盘、显示器和指点设备)可以直接地或通过介入的i/o控制器耦合到系统。根据本发明的方法和系统的示例性实施例还包括耦合到系统的网络适配器,以使得数据处理系统能够通过居间的私有或公共网络耦合到其他数据处理系统或远程打印机或存储设备。合适的当前可用类型的网络适配器包括但不限于调制解调器、电缆调制解调器、dsl调制解调器、以太网卡以及它们的组合。
[0073]
在一个实施例中,本发明针对一种机器可读或计算机可读介质,该机器可读或计算机可读介质包含机器可执行或计算机可执行代码,当被机器或计算机读取时,该代码致使该机器或计算机执行一种用于在图像中增量学习对象检测而不会灾难性地遗忘先前学习的对象类别的方法。机器可读或计算机可读代码可以是能够由机器或计算机读取和执行的任何类型的代码或语言,并且可以用现有技术中已知和可用的任何合适的语言或语法来表达,包括机器语言、汇编语言、高级语言、面向对象的语言和脚本语言。计算机可执行代码可被存储在任何合适的存储介质或数据库上,包括布置在其中的数据库,与根据本发明的系统所利用的计算机网络通信并且可由计算机网络访问,并且可以在本领域中已知和可用的任何合适的硬件平台上执行,包括用于控制本发明的呈现的控制系统。
[0074]
虽然明显的是在此披露的本发明的说明性实施例实现了本发明的目的,但应了解的是,本领域技术人员可以设计许多修改和其他实施例。另外,来自任何实施例的特征和/或元件可以单独使用或与其他实施例组合使用,并且来自根据本发明的方法的步骤或元件可以以任何合适的顺序执行或执行。因此,应当理解,所附权利要求旨在覆盖落入本发明的精神和范围内的所有此类修改和实施例。
再多了解一些

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

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

相关文献