图像中的对象检测的制作方法

文档序号:20779734发布日期:2020-05-19 21:07阅读:169来源:国知局
图像中的对象检测的制作方法



背景技术:

对象检测器检测图像中的对象,诸如利用已经用图像数据集合训练的自适应模型(例如机器学习模型、神经网络等)。对象检测器的性能通常限于对象属于用于训练自适应模型的图像的数据集合内包括的类别的检测,称为“可见”类或类别。因此,当训练数据集合包括狗类别而不是树类别时,对象检测器可能能够检测图像中的狗,但是不能检测图像中的树。

在一些情况下,对象检测器将其检测结果偏向于可见类,诸如最接近目标类别的训练数据集合的对象类别。例如当训练数据集合包括狗类别而不是狐狸类别时,对象检测器可以将图像中的狐狸检测为狗。

此外,诸如零射击检测器的一些对象检测器可以尝试将知识从训练数据集合的对象类别(例如可见类)转移到在训练数据集合中不包括的对象类别(例如不可见类)。然而,这些对象检测器仅限于为了分类目的而不是对象检测和区域建议目的,将知识从可见类转移到不可见类。因此,这些对象检测器经常无法检测不可见类的对象的图像区域。

为了克服对象检测器的这些缺点,可以缩放图像的训练数据集合以包括附加类别(例如数万个可见类)。然而,就成本和时间而言,缩放图像的训练数据集合可能是禁止的。例如需要对图像进行注释以包括附加类别,并且需要确定图像中与对应于附加类别的对象,从而需要大量的手动用户努力。此外,某些类别标签的模糊性加剧了将训练数据集合缩放到包括其他类别或标签的难度,诸如将“香蕉”标签分配给香蕉串或严格地分配给单个香蕉。因此,对象检测器的性能仍然受到用于训练对象检测器的训练数据集合的可见类的限制。



技术实现要素:

描述了用于用对象检测器检测图像中的对象的技术、系统和设备。对象检测器使用图像的异构训练数据集合训练,并且可以检测可见和不可见类的图像中的对象。第一训练数据集合包括具有图像级注释的大规模图像标签数据集合(例如每个图像包括来自较大的标签词汇表的多个标签),并且用于训练对象检测器的标记网络。基于包括基于词语的概念的输入条件,标记网络生成注意力图,该注意力图指示输入图像内的基于词语的概念的存在值,诸如为输入图像的每个像素指示在指定范围内具有存在值的基于词语的概念的相应存在。确定基于词语的概念的词嵌入,其描述基于词语的概念与诸如来自词汇表的标签的不同的基于词语的概念之间的关系。将由对第一数据集合预训练的标记网络生成的注意力图,以及从基于词语的概念生成的词嵌入作为条件输入提供给对象检测器的条件检测网络。利用图像的第二训练数据集合和从预训练的标记网络生成的条件输入来训练条件检测网络。第二训练数据集合包括具有用对应边界框注释的少量可见类(例如数百个类)的图像。通过以针对目标概念(例如基于词语的概念)对注意力图和词嵌入为条件,条件检测网络是图像标签不可知的,并且用作概念特定对象检测器。例如即使条件检测网络使用具有少量可见类的训练数据集合进行训练,它也通过概念条件推广到新颖的、不可见类,因为基于词语的概念通过条件检测网络传播(经由词嵌入和注意力图),并且因此影响条件检测网络的分类和区域建议。因此,由对象检测器可检测的对象类通过本文描述的技术、系统和设备来缩放,而无需缩放训练数据库以包括附加类,从而节省时间和金钱。

本发明内容以简化的形式介绍了概念的选择,这些概念将在下面的具体实施方式中进一步描述。因此,本发明内容不旨在标识所要求保护的主题的必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

附图说明

参考附图描述了具体实施方式。在附图中,附图标记的最左边的数字标识首次出现附图标记的图。在说明书和附图中的不同实例中使用相同的附图标记可以指示相似或完全相同的项目。附图中表示的实体可以指示一个或多个实体,因此可以在讨论中将单个或多个形式的实体互换地引用。

图1示出了可操作以采用本文描述的技术的示例实现中的数字媒体环境。

图2示出了根据本公开的一个或多个方面的示例性注意力图的生成。

图3示出了根据本公开的一个或多个方面的示例性条件检测网络。

图4示出了根据本公开的一个或多个方面的对象检测系统的示例性训练。

图5示出了根据本公开的一个或多个方面的示例系统。

图6示出了根据本公开的一个或多个方面的示例系统。

图7示出了描绘根据本公开的一个或多个方面的示例过程的流程图。

图8示出了描绘根据本公开的一个或多个方面的示例过程的流程图。

图9示出了描绘根据本公开的一个或多个方面的示例过程的流程图。

图10示出了包括示例设备的各种组件的示例系统,该示例设备可以被实现为参考图1-9描述和/或利用的任意类型的计算设备,以实现本文描述的技术的各方面。

具体实施方式

概述

对象检测器检测图像中的对象,并且可以在需要图像处理的各种情况下使用,诸如用户设备的图像编辑应用、车辆的引导系统(例如自动驾驶汽车、无人机、机器人等)、图像捕获系统(例如数码相机的聚焦系统)、拾色器等。然而,对象检测器的性能通常受用于训练对象检测器的训练数据集合的对象类别(例如可见对象类)的限制。因此,当训练数据集合包括狗类而不包括狐狸类时,对象检测器可以能够检测图像中的狗,但是不能检测图像中的狐狸,或者通过将狐狸检测为狗来检测偏差检测结果。此外,为了分类目的但不用于对象检测和区域建议目的,诸如零射击检测器的一些对象检测器来将知识从可见类转移到不可见类。因此,这些对象检测器经常无法检测不可见类的对象的图像区域。

为了增加对象检测器的检测结果,可以缩放(例如增加)训练数据集合中的可见类的数目。然而,在成本和时间方面,缩放图像的训练数据集合可能是禁止的,尤其是对于大量类(例如数万个类)和模糊类。

因此,本公开描述了用于使用用于可见和不可见类的对象检测器来检测图像中的对象的系统、技术和设备,而无需通过向训练数据库添加新的附加类来缩放训练数据库。使用图像的异构训练数据集合训练对象检测器。第一训练数据集合用于训练标记网络,并且第二训练集合与预训练标记网络的输出一起用于训练条件检测网络。

第一训练数据集合包括具有图像级注释的大规模图像标签数据集合(例如每个图像包括来自较大词组标签的图像特征的多个标签),并且用于训练对象检测器的标记网络。在一个示例中,从诸如adobestock的股票照片网络服务收集第一训练数据集合。基于包括基于词语的概念的输入条件,标记网络生成特定于基于词语的概念的注意力图。例如注意力图可以在输入图像内空间上指示基于词语的概念的存在值,诸如为输入图像的每个像素指示在范围[-1,1]内的基于词语的概念的相应存在值。

基于包括基于词语的概念的输入条件,生成基于词语的概念的词嵌入。词嵌入描述了基于词语的概念与不同的基于词语的概念之间的关系,诸如来自词汇表的标签。在一个示例中,通过从基于词语的概念和不同的基于词语的概念或标签的共现概率来构造矩阵,并从矩阵的特征分解形成向量,基于互信息来生成词嵌入。

由第一数据集合预训练的标记网络生成的注意力图和从基于词语的概念生成的词嵌入作为条件输入被提供给对象检测器的条件检测网络。条件检测网络可以包括用于检测图像中的对象的任意合适的网络。在一个示例中,对象检测器的条件检测网络包括接受条件输入的骨干网络和建议图像中的对象区域的卷积神经网络。

利用图像的第二训练数据集合作为输入图像来训练对象检测器的条件检测网络。条件检测网络的条件输入是从预先训练的标记网络(用第一训练数据库预训练)生成的。预训练的标记网络还从第二训练数据集合供应图像以生成条件输入。第二训练数据集合包括具有用对应边界框注释的少量可见类(例如数百个类)的图像。在示例中,第二训练数据集合包括用于图像标记和分类的开放公共数据集合。

附加地或替代地,条件检测网络的条件输入(例如词嵌入和注意力图)可以归零,使得条件检测网络可以操作并且被训练用于传统的多类对象检测,而不是以基于词语的概念为条件。例如可以将注意力图的存在值设置为1,并且可以将词嵌入的值设置为零。

在一个示例中,条件检测网络包括二元分类器,其将正训练标记分配给条件检测网络的检测输出,该检测输出基本上与基于词语的概念的真相边界框重叠。二元分类器将负训练标记分配给未被分配正训练标记的条件检测网络的其他检测输出。

附加地或替代地,可以使用关于目标类的负类来训练条件检测网络。例如可以诸如通过根据度量(例如余弦相似度)从与目标类最相似的多个类中选择一个负类,确定基于词语的概念的负类。作为示例,对于“狗”的目标类,负类可以包括“猫”、“兔子”、“狐狸”和“熊”。向条件检测网络提供所选择的负类并且将负训练标记分配给条件检测网络的检测输出,该检测输出基本上与对应于目标类的真相边界框重叠。

注意力图和词嵌入被提供作为条件检测网络的条件输入,使得基于词语的概念通过条件检测网络传播并影响条件检测网络的检测结果。在一个示例中,将词嵌入提供给条件检测网络的骨干网络的两个层,并且将注意力图提供给条件检测网络的骨干网络的第三层。第三层可以位于条件检测网络的骨干网络的两个层之间。例如骨干网络的第四级的第1层和第3层可以接收词嵌入,并且骨干网的第4级的第2层可以接收注意力图。

通过针对目标概念(例如基于词语的概念)以注意力图和词嵌入,为条件,条件检测网络是图像标记不可知的,并且用作概念特定对象检测器。例如即使条件检测网络是用具有少量可见类的训练数据集合训练的,它也通过概念调节推广到新颖的、不可见类。因此,可以由对象检测器检测的对象类被缩放以包括不可见类,而不需要缩放训练数据库以包括不可见类,从而节省用户的努力、时间和金钱。

在以下讨论中,描述了可以采用本文描述的技术的示例数字媒体环境。然后描述示例实现细节和过程,其可以在示例数字媒体环境以及其他环境中执行。因此,示例过程的执行不限于示例环境,并且示例环境不限于示例过程的执行。

示例数字媒体环境

图1是可操作用于采用本文描述的技术的示例实现中的数字媒体环境100的图示。如本文所使用的,术语“数字媒体环境”指的是可以用于实现本文描述的技术的各种计算设备和资源。图示的数字媒体环境100包括具有至少一个计算设备的用户102。在图1的示例中,用户102被示为具有三个计算设备,计算设备1041、计算设备104-2和计算设备104-3(统称计算设备104)。例如计算设备104-1描绘了台式计算机,计算设备104-2描绘了智能电话,并且计算设备104-3描绘了一副眼镜,诸如智能护目镜(“goggles”)。计算设备104是示例计算设备,并且可以预期任意合适的计算设备,诸如移动电话、平板计算机、膝上型计算机、台式计算机、游戏设备、护目镜、眼镜、相机、数字助理、可穿戴设备(例如手表、手臂带、粘合贴片等)、回声设备、图像编辑器、非线性编辑器、数字音频工作站、复印机、扫描仪等,其可以包括检测图像中的对象的应用。此外,对计算设备104之一的讨论不限于该计算设备,而是通常应用于计算设备104中的每一个。此外,计算设备104的范围可以从具有大量存储器和处理器资源的完整资源设备(例如个人计算机、游戏控制台)到具有有限存储器或处理资源的低资源设备(例如移动设备)。

可以使用各种类型的输入设备和输入基础设施来向计算设备104提供输入。例如计算设备104可以将输入识别为鼠标输入、触笔输入、触摸输入、通过自然用户界面提供的输入、触摸屏上的用户手势、其组合等。因此,计算设备104可以识别多种类型的手势,包括通过自然用户界面提供的触摸手势和手势。在一个示例中,计算设备104包括语音识别、标识和合成功能、麦克风和扬声器,其允许计算设备104在对话中与用户102通信。此外,计算设备104可以包括被配置为捕获图像和视频流的图像捕获设备(例如相机)。

此外,计算设备104可以代表一个或多个不同的设备,诸如连接到网络的一个或多个设备,其执行“通过云”操作,如关于图10进一步描述的。在一个示例中计算设备104诸如利用低功率无线通信标准(例如协议)来彼此通信地耦合。例如计算设备104-1可以与计算设备104-2无线通信。因此,在一个设备(例如计算设备104-1)上处理的图像可以被传送到另一个设备(例如计算设备104-2)并在另一个设备(例如计算设备104-2)上显示。

计算设备104还耦合到网络106。网络106将计算设备104与服务器108通信地耦合。为清楚起见,图1中仅将计算设备104-1示为耦合到网络106,尽管计算设备104-2和计算设备104-3也可以经由网络106耦合到服务器108。网络106可以包括各种网络,诸如因特网、内联网、局域网(lan)、广域网(wan)、个人区域网络(pan)、蜂窝网络、地面网络、卫星网络、网络组合等,并且因此可以是有线、无线或其组合。

服务器108可以包括向计算设备104提供服务、资源或其组合的一个或多个服务器或服务提供商。在一个示例中,服务器108提供的资源可以是许可、购买或可以免费获得,(例如没有验证、许可证或基于帐户的访问)。资源可以包括服务和内容的任意合适的组合,诸如由一个或多个提供商通过网络106可用。服务的一些示例包括但不限于在线购物服务、照片编辑服务、图像数据库服务(例如提供来自数据库的训练图像的服务)、网络开发和管理服务、协作服务、社交联网服务、消息传送服务、广告服务、图形设计服务、图像存储服务(包括照片、文档、记录、文件等的存储和访问)等。内容可能包括各种资产组合,包括视频、广告、音频、多媒体流、动画、图像、参考图像、网络文档、网页、应用、设备应用、文本文档、图纸、演示文稿、股票照片、用户配置文件、用户偏好、用户数据(例如在图库中存储的图像)等。

在图1的示例中,服务器108包括对象检测系统110,其包括对象检测应用112(下面更详细地讨论),并且计算设备104包括图像系统114。对象检测系统110和图像系统114可以共同努力检测图像中的对象。例如对象检测系统110可以训练自适应模型,诸如对象检测器的一个或多个神经网络,以检测图像中的对象,并且经由网络106将训练的模型提供给计算设备104的图像系统114。计算设备104中的一个或多个可以使用由对象检测系统110提供的预训练自适应模型与图像系统114来检测图像中的对象。

例如在图1的示例中,用户102经由计算设备104-2获得输入图像116。输入图像116可以是任意合适的输入图像,诸如图片、视频序列的帧、动画、绘图、卡通、图、文档、其组合等。输入图像116示出了图1中的示例中的汽车。用户102通过说出基于词语的概念“轮”来提供输入条件118。基于输入条件118的基于词语的概念“轮”,图像系统114生成图像120,其在计算设备104-3上的用户界面中展露。图像120包括来自输入图像116的汽车图像以及检测结果122。检测结果122包括边界框,如虚线矩形所示,表示图像120的区域,其包括对应于基于词语的概念“轮”的对象。因此,图像系统114使用预先训练的自适应模型,诸如从服务器108的对象检测系统110获得的神经网络,检测以基于词语的概念为条件的图像对象。基于词语的概念不需要是训练数据集合的一部分,自适应模型是根据训练数据集合来被训练的(例如基于词语的概念相对于训练数据集合是不可见的)。

对象检测系统110包括显示器124。显示器124可以是任意合适类型的显示器,诸如液晶显示器、等离子显示器、头戴式显示器、投影仪和屏幕、识别用户手势(例如触摸手势)的触摸屏等。显示器124的触摸屏可包括任意合适类型的触摸屏,诸如电容式触摸屏、电阻式触摸屏、表面声波式触摸屏、红外触摸屏、光学成像触摸屏、声学脉冲识别触摸屏、其组合等。此外,显示器124可以显示任意合适的界面。

对象检测系统110还包括处理器126。处理器126可包括任意合适类型和数目的处理器。因此,对象检测系统110可以至少部分地通过在处理器126上执行在存储装置128上存储的的指令来实现。例如处理器126可以执行对象检测应用112的部分。

存储装置128可以是对象检测系统110可访问或包含在对象检测系统110中的任意合适类型的存储装置。存储装置128存储并提供对和来自存储装置128中包括的存储器的访问以用于任意合适类型的数据。例如存储装置128包括图像数据130,包括与图像相关联的数据,诸如输入图像、训练图像、训练数据库的图像、与对象相对应的图像区域、图像的注释(例如包括边界框的注释、特征描述、等等)、图像源(例如从其中获得图像的数据库或图像库的指示符、用于捕获图像的捕获设备的描述符、捕获图像的摄影者姓名、可获得图像的在线商店、其组合等等)、图像的元数据(例如用于捕获图像的捕获设备的设置,诸如光圈、快门速度、焦距、iso(相机传感器的光灵敏度的度量)、捕获图像的位置的全球定位系统(gps)坐标、图像的大小(例如像素数的分辨率)、捕获图像的日期等)、图像的格式(例如文件格式)、在一系列图像中的图像标识符,诸如视频序列、缩略图图像、其组合等。

存储装置128还包括词语数据132,包括关于输入条件的数据,诸如基于词语的概念、词嵌入、词汇、口头输入条件的记录、输入条件的转换(例如到不同语言)、输入条件的转录(例如从记录到文本文档)、用于生成基于词语的概念的词嵌入的算法的标识、词嵌入的参数,诸如向量长度、词汇量大小等、基于词语的概念可见还是不可见的指示(例如基于词语的概念在用于训练自适应模型的训练数据集合的图像中是否具有对应的标签)、基于词语的概念的语言、用于重塑词嵌入的广播函数的参数、其组合等。

存储装置128还包括注意力图数据134,包括关于由对象检测系统110生成的注意力图的数据,诸如特征图、空间响应、存在值、存在值的范围(例如范围[-1、1])、像素值(例如0到255的整数)、图像标记网络的权重、神经网络的通道数、余弦相似性得分、它们的组合等。

存储装置128还包括检测数据136,包括关于由对象检测系统110生成的检测结果的数据,诸如边界框、区域建议、类的标识符、为目标概念标识的边界框的数目、输出图像、区域建议的置信度分数、指示正或负标记的二元分类器的输出、检测结果的用户偏好(例如由用户选择以显示边界框的颜色或线条选择)、被配置为接收条件输入的网络的层或级的指示、条件输入是使用还是归零的指示、生成检测结果所需的时间长度、当前检测结果与先前检测结果的差异(例如从视频序列的一帧到视频序列的另一帧的检测结果的差异)、其组合等。

存储装置128还包括训练数据138,包括关于对象检测系统110的组件的训练的数据,诸如用于训练图像标记网络的第一训练数据库、用于训练条件检测网络的第二训练数据库、网络(例如图像标记网络、骨干网络、卷积神经网络等)的权重、训练网络的同时计算的训练损失、训练数据集合的来源、用于训练网络的训练数据集合的图像指示符、当训练网络时跳过的训练数据集合的图像的指示符、训练中的对象检测器检测到的忽略、正和负区域的指示符、其组合等。

此外,对象检测系统110包括收发器模块140。收发器模块140表示被配置为使用任意合适类型和数目的通信协议来发送和接收数据的功能。例如对象检测系统110内的数据可以利用收发器模块140发送到服务器108。此外,可以利用收发器模块140从服务器108接收数据。收发器模块140还可以向计算设备104发送数据和从计算设备104接收数据。在一个示例中,收发器模块140包括用于在计算设备之间传送数据的低功率无线通信标准(例如协议)。

对象检测系统110还包括资产142。在一个示例中,资产142存储在存储装置128中。资产142可以包括由对象检测系统110使用或生成的任意合适的资产。在一个示例中,资产142包括已经由对象检测系统110训练的自适应模型,诸如神经网络、机器学习模型等。因此,预先训练的资产模型142可以经由网络106从服务器108提供给计算设备104并且在任意合适应用中使用,用于检测图像中的对象,诸如图像120。

对象检测系统110还包括对象检测应用112。对象检测应用112包括图像模块144、输入条件模块146、注意力图模块148、词嵌入模块150、检测模块152和训练模块154。这些模块工作彼此结合以生成包括图像中的检测对象的检测结果。

图像模块144表示被配置为获得图像的功能。图像模块144可以以任意合适的方式获得图像的任意合适的表示。在一个示例中,图像模块144从图像数据库获得图像,诸如包括适于训练对象检测器以检测图像中的对象的图像的训练数据集合的数据库。例如图像模块144可以获得包括具有图像级注释的大规模图像标签数据集合的第一训练数据集合(例如每个图像包括来自较大的标签词汇表的多个标签),以及包括具有少量可见类(例如,数百个类)的图像的第二训练数据集合,所述可见类用相应的边界框注释。在一个示例中,第一训练数据集合用于训练注意力图模块148的一个或多个网络(例如图像标记网络),并且第二训练数据集合用于训练检测模块152的一个或多个网络(例如条件检测网络,例如骨干网络和卷积神经网络)。

附加地或替代地,图像模块144可以从存储装置128的图像数据130获得图像。例如图像模块144可以获得不是训练图像的输入图像,诸如由用户102利用在计算设备104之一上的相机捕获的图像,对象检测系统110可以检测用户102捕获的输入图像中的一个或多个对象。

在一个示例中,图像模块144通过接收用户提供的图像来获得图像。例如用户102可以将图像116供应给对象检测系统110。因此,图像模块144可以通过以下各项来获得图像:诸如从图像数据130提取图像、接收用户供应的图像或其组合。

由图像模块144获得的图像可以是任意合适类型的图像,诸如独立图像(例如与其他图像不相关的图像)、图像序列中的图像(例如动画序列、视频、书的章节中的页面、幻灯片放映中的幻灯片、图像的训练序列等)、或其组合。在一个示例中,从包含除图像之外的其他类型的媒体的资产中提取由图像模块144获得的图像,诸如包含图像和文本的网页。

由图像模块144获得的图像可以包括任意合适的元数据,诸如指示来自词汇表的标签的注释,标签对应于属于预定类的图像中的对象;图像中的对象的边界框的坐标;被确定为类似于目标标签的标签;描述图像源的数据;用于捕获图像的捕获设备的设置;图像的大小(例如像素数量的分辨率);捕获图像的日期等;图像的格式(例如文件格式);图像序列中的图像标识符,诸如视频序列或训练数据集合;图像的缩略图版本,诸如可以在用户界面中显示以选择并扩展用户界面中的图像,其组合等。

由图像模块144获得的图像连同由图像模块144使用和计算的任意合适的信息被存储在存储装置128的图像数据130中并且可用于对象检测应用112的模块,诸如图像的源位置;图像的文件格式;图像是否与其他图像相关的指示,诸如动画序列或训练数据集合中的序列号;图像元数据(例如关于图像中预定类或类别的对象的信息,诸如标签、边界框等);图像的缩略图版本等。在一个示例中,图像模块144获得输入图像,诸如适于训练对象检测系统110的一个或多个网络的训练数据集合的训练图像,并将输入图像提供给注意力图模块148和检测模块152。附加地或可选地,图像模块144可以向训练模块154提供输入图像,使得训练模块154可基于输入图像来生成训练更新,并将训练更新提供给检测模块152以更新一个或多个网络的权重。

输入条件模块146表示被配置为获得输入条件的功能,诸如基于词语的概念。输入条件模块146可以以任意合适的方式获得输入条件。在一个示例中,输入条件模块146经由用户输入获得输入条件,诸如口头命令或键入的文本(例如用户可以对着麦克风说话或键入键盘,或两者)。附加地或替代地,输入条件模块146可以从诸如文本文件的文件获得输入条件。例如输入条件模块146可以获得包含词语、标签或基于词语的概念的列表的文件,并选择列表的条目作为输入条件,作为对象检测系统110的一个或多个网络的训练过程的一部分。在一个示例中,文件从图像获得,诸如图像的训练数据库中的图像。

由输入条件模块146获得的输入条件可以表示任意合适的类别,诸如描述有形物的类(例如草、水、岩石、轮等)、描述视觉属性的类(例如颜色、反射率、表面纹理、形状等)、以及描述对象部分的类(例如人的腿或家具的一部分、相机的镜头、枪的触发器、咖啡杯的手柄等)。

此外,输入条件模块146可以记录输入条件的任意合适的表示。在一个示例中,输入条件模块146通过对来自麦克风的输出信号进行采样并将音频样本记录在文件中来生成语音输入条件的音频记录。附加地或替代地,输入条件模块146可以诸如通过将口头输入条件(例如用户102说“轮”)转录到文本文件来生成输入条件的文本转录。在一个示例中,输入条件模块146将输入条件从第一语言转换成第二语言。例如输入条件模块146可以获得包括以中文输入的文本(例如以汉字写入)的输入条件,并且生成输入为英语的文本的转换版本(例如以拉丁字符书写)。

输入条件模块146获得的输入条件以及由输入条件模块146使用或由输入条件模块146计算的任意合适的信息,诸如输入条件的源(例如用户标识、文件名、图像标识符等)、输入条件的记录(例如音频文件)、输入条件的转录或转换(例如文本文件)、输入条件的元数据(例如输入条件的语言、用于记录语音输入条件的采样率,包括具有与输入条件等对应的注释的图像的训练数据库的标识符等)等,被存储在存储装置128的词语数据132中并且可用于对象检测应用112的模块。在一个示例中,输入条件模块146获得包括基于词语的概念的输入条件,并且向注意力图模块148和词嵌入模块150提供基于词语的概念的表示。

注意力图模块148表示被配置为从输入图像生成针对基于词语的概念的注意力图的功能。当提供给检测模块152时,由注意力图模块148生成的注意力图向检测模块152的条件检测网络提供概念特定提示,以更好地确定与基于词语的概念相关的对象。因此,由注意力图模块148生成的注意力图可以是任意合适的注意力图。在一个示例中,注意力图包括指示输入图像内基于词语的概念的存在值的像素,存在值大于或等于-1且小于或等于1。例如基于范围[-1,1]内的相应存在值,可以为注意力图的每个像素分配0到255之间的整数。因此,由注意力图中的像素指示的存在值中的每一个表示在输入图像的相应像素处的基于词语的概念的相应存在。

注意力图模块148可以以任意合适的方式基于输入图像和基于词语的概念来生成注意力图。例如注意力图模块148可包括任意合适的大比例分类器以从图像中提取特征并从提取的特征中生成特定于输入条件的注意力图。在一个示例中,图2总体上在200处示出了根据本公开的一个或多个方面的示例性注意力图。在图2的示例中,图像标记网络202和类激活映射204用于基于输入图像生成注意力图。图像标记网络202和类激活映射204是图1中的注意力图模块148中包括的模块的示例。

在图2的示例中,输入图像206被提供给图像标记网络202。图像标记网络202可以包括任意合适的标记网络,以基于输入图像206生成任意合适数目量的特征图。例如图像标记网络可以基于输入图像206生成三维(3d)特征图。

在一个示例中,图像标记网络202包括基于resnet-50的标记网络,如由kaiminghe,xiangyuzhang,shaoqingren,andjiansun的“deepresiduallearningforimagerecognition”,cvpr,pp.770-778,2016所述,其公开内容通过引用整体并入本文。为了支持图像标签,resnet-50的最终完全连接(fc)分类层可以用三个嵌入fc层替换。在两个嵌入fc层之间是批量标准化层和relu激活层,如由sergeyioffe和chrsitianszegedy的“batchnormalization:acceleratingdeepnetworktrainingbyreducinginternalcovarianceshift”,icml,pp.448-456,以及由xavierglorot,antoinebordes和yoshuabengio的“deepsparserectifierneuralnetworks”,aistats,pp.315-323,2011中分别描述的,其公开内容通过引用整体并入本文。

可以基于软主题嵌入和最小化余弦相似性损失来训练图像标记网络202,如下面关于图6所讨论的。图像标记网络202一旦被训练,就从输入图像206生成特征图,并为类激活映射204提供特征图。类激活映射204基于类激活映射图来获得概念特定注意力图,诸如与由类激活图204接收的基于词语的概念“轮”相对应的注意力图208。移除图像标记网络202中的resnet-50的全局平均池(gap)层,并且通过将嵌入fc权重转换为1×1卷积滤波器来使嵌入fc层卷积。可以将用于输入图像的软主题词嵌入表示转换为1×1卷积滤波器,其应用于由图像标记网络202提供的特征图以获得针对每个概念的空间保留响应(例如,注意力图)。因为在图像与其软主题词嵌入之间使用余弦相似距离度量,所以由类激活图204确定的注意力图的值落在范围[-1,1]内。

在图2的示例中,基于词语的概念“轮”被提供给类激活映射204,其相应地生成注意力图208。注意力图208指示输入图像206的每个像素的相应存在值。例如输出注意力图208的每个像素可以基于[-1,1]范围内的相应存在值被分配0到255的整数。因此,注意力图208在视觉上将具有包括对应于“轮”类的对象的较高概率的区域示出为较亮(例如白色),并且将具有包括对应于“轮”类的对象的较低概率的区域示出为较暗(例如,黑色)。因此,注意力图208可以向检测模块152的条件检测网络提供概念特定提示,以更好地确定与基于词语的概念相关的对象。

返回到图1,由注意力图模块148生成的注意力图以及由注意力图模块148使用或计算的任意合适的信息,诸如余弦相似度得分、特征图、存在值、图像的软主题词嵌入等,被存储在存储装置128的注意力图数据134中并可用于对象检测应用112的模块。在一个示例中,注意力图模块148为概念从输入图像生成注意力图,并例如通过将注意力图提供给检测模块152的条件检测网络的层来向检测模块152提供注意力图作为条件输入。

词嵌入模块150表示被配置为基于输入条件的基于词语的概念来生成词嵌入的功能。词嵌入模块150可以生成任意合适的词嵌入。

词嵌入描述了基于词语的概念(例如“轮”)与诸如来自词汇表的标签的不同的基于词语的概念之间的关系。在一个示例中,由词嵌入模块150生成的词嵌入对差异概念之间的关系进行建模。例如词嵌入可以描述由输入条件模块146获得的基于词语的概念与来自词汇表的标签之间的互信息,诸如存储在存储装置128的词语数据132中的词汇表。可以通过以下各项基于互信息来生成词嵌入:从基于词语的概念和不同的基于词语的概念或标签的共现概率来构造矩阵,并从矩阵的特征分解来形成向量。

在一个示例中,通过选择现成的词语向量作为基于词语的概念的词嵌入,从可用的文本语料库确定词嵌入。附加地或替代地,可以从图像的标签注释导出词嵌入。例如用于训练注意力图模块148的标记网络的第一训练数据集合,诸如股票照片网络服务(例如adobestock),可用于从数据集合中的图像标签来生成词嵌入。

在一个示例中,词嵌入模块150基于标签之间的逐点互信息(pmi)确定从图像的标签注释导出的词嵌入。例如生成pmi矩阵m,其中第(i,j)个元素是

其中p(wi,wj)表示标签wi和wj的共现概率,并且p(wi)、p(wi)分别表示标签wi和wj的标签频率。因此,pmi矩阵m具有大小v×v,其中v表示词汇表大小。在一个示例中,v大约是18,000。

可以根据任意合适的分解例如通过将m重写为m=usut来分解pmi矩阵m。在一个示例中,经由特征分解来分解pmi矩阵m。例如矩阵u包含特征向量作为其列,矩阵s在其主对角线上包含相应的特征值。

基于pmi矩阵m的分解,构造矩阵从列截断子矩阵e的每一行,或者对于某个整数k的生成词嵌入。在一个示例中,k被设置为4096,使得每个词嵌入由长度为4096的向量表示。可以通过词嵌入模块150从所生成的长度k矢量中取回用于特定基于词语的概念的词嵌入。

由词嵌入模块150确定的词嵌入以及由词嵌入模块150使用或由词嵌入模块150计算的任意合适的信息,诸如特征值,特征向量,词汇参数,词语向量等,被存储在存储装置128的词语数据132中,并且可用于对象检测应用112的模块。在一个示例中,词嵌入模块150确定用于基于词语的概念的词嵌入,并且诸如通过向检测模块152的条件检测网络的两层提供词嵌入,将词嵌入提供给检测模块152作为条件输入。

检测模块152表示被配置为检测图像中的对象的功能。在一个示例中,检测模块152从对象检测系统110接收条件输入,诸如来自注意力图模块148的注意力图和来自词嵌入模块150的词嵌入。因此,检测模块152可以基于条件输入来检测图像中的对象。例如检测模块152可以基于词嵌入和注意力图来检测输入图像的至少一个区域,其包括与用于生成词嵌入和注意力图的基于词语的概念相对应的对象。因此,检测模块152可包括条件检测网络。在一个示例中,检测模块152包括利用第二图像的第二数据集合训练的条件检测网络,所述第二图像包括具有第二图像中的相应对象的相应边界框的注释。

检测模块152可包括任意合适的条件检测网络,其被配置为接收条件输入,诸如注意力图和词嵌入,并基于条件输入来检测图像中的对象。图3中示出了检测模块152的条件检测网络的一个示例。图3示出了根据本公开的一个或多个方面的示例性条件检测网络300。

条件检测网络300包括骨干网络302和卷积神经网络(cnn)304。骨干网络302可以是任意合适的骨干网络。在图3的示例中,骨干网络302基于vgg-16,如karensimonyan和andrewzisserman的“verydeepconvolutionalnetworksforlarge-scaleimagerecognition”,iclr,2015所述,其公开内容通过引用整体并入本文。

卷积神经网络(cnn)304可以是任意合适的卷积神经网络。在图3的示例中,cnn304基于更快的r-cnn,如s.ren,k.he,r.girshick,和j.sun在“fasterr-cnn:towardsreal-timeobjectdetectionwithregionproposalnetworks”,nips,2015以及s.ren,k.he,r.girshick,和j.sun在“fasterr-cnn:towardsreal-timeobjectdetectionwithregionproposalnetworks”,ieeetransactionsonpatternanalysisandmachineintelligence,vol.39,no.6,pp.1137-1149,2017中所述,其公开内容通过引用整体并入本文。

条件检测网络300接收条件输入,包括来自注意力图模块148的注意力图和来自词嵌入模块150的词嵌入。这些条件输入被提供给骨干网络302的卷积级四,在卷积一至三级之后306。提供词嵌入作为卷积级四的层一308和层三312的条件输入,并且提供注意力图作为卷积级四的层二310的条件输入。选择级四插入条件输入,因为它在构成骨干网络302的vgg-16的层次结构中相当深,因此它可以处理与词嵌入和注意力图兼容的相对高级特征(其中在语义上是高级的)。此外,卷积级四的插入点在卷积级五314之前,这更适合于学习非线性映射以将视觉特征与条件输入组合。此外,骨干网络302的卷积级四的层的在cnn304的区域建议网络(rpn)316之前。因此,插入到骨干网络302的第四级的层中的输入条件可以直接影响rpn316、区域建议318和具有fc层320的最终分类,其馈送cnn304的二元分类器322和边界框回归324。

从词嵌入模块150嵌入的词语被提供给卷积层级四的第层一308和层三312。在一个示例中,词嵌入是长度为4096的向量,或为了将词嵌入作为条件输入插入,将l设为卷积层级四的层一308或层三312的层索引。该层的输出由下式给出:

其中*表示卷积,zl-1表示前一层的输出,βl表示偏置项,并且分别是传统卷积和处理词嵌入的权重。在一个示例中,n设置为512。权重we将词嵌入向量einp映射到n维向量。由于形状不兼容,在添加到卷积特征之前经由广播功能对weeinp进行广播。在一个示例中,权重在卷积层级四的层一308和层三312之间未被共享。由于词嵌入向量einp的维度大于维度n,因此将词嵌入向量einp提供给卷积层级四的层一308和层三312,以减少由we的映射引起的维数减少引起的信息损失。

将注意力图提供给骨干网络302的级四的层二310。为了将注意力图的信息结合到骨干网络302中,将注意力图视为卷积特征的掩码。设l为骨干网络302的级四的层二310的层索引。层二310的输出为

其中表示卷积层权重,concat(·)表示沿着通道维度连接特征的连接函数,并且是目标概念的注意力图。注意力图被上采样以经由双线性插值来匹配z的空间大小(h×w)。运算符⊙表示元素乘法。被屏蔽的特征(ainp⊙zl-1)提供对应于目标概念的区域的粗略知识。然而,未屏蔽的特征(zl-1)允许信息在所有要考虑的位置,因此可能有助于在注意力图不准确或不可靠的情况下保存信息。

通过插入被插入骨干网络302的级四的层中的输入条件,如图3所示并在上面描述,注意力图和词嵌入可以直接影响cnn304的区域建议和分类。在图3中的示例中,输入图像206的注意力图与基于词语的概念“轮”的词嵌入一起提供。作为响应,条件检测网络300生成输出图像326。输出图像326包括检测结果328,示出图像中汽车的轮上的边界框。因此,条件检测网络300已经在输入图像206中正确地检测到与输入条件“轮”相对应的对象。

由于条件检测网络300对训练期间未见的图像的概括的能力以及网络的类不可知性,条件检测网络300在仅使用具有少量类(例如数百个类)的图像的第二训练数据集合训练时可以缩放和概括到不可见概念的词嵌入和注意力图。

再次返回到图1,检测模块152检测到的对象以及由检测模块152使用和计算的任意合适的信息,诸如检测结果、边界框、正和负标签、与目标概念匹配的对象的数目等,被存储在存储装置128的检测数据136中并且可用于对象检测应用112的模块。在一个示例中,检测模块152在诸如显示器124的显示器的用户界面中展露检测结果。附加地或替代地,检测模块152可以向训练模块154提供检测结果,训练模块154可以使用检测结果来生成用于更新检测模块152的网络的权重的训练更新。

训练模块154表示被配置为训练对象检测系统110的一个或多个网络的功能。训练模块154可以以任意合适的方式训练任意合适的网络。在一个示例中,训练模块154训练注意力图模块148的图像标记网络,诸如图2中的图像标记网络202,以及检测模块152的条件检测网络,诸如图3中的条件检测网络300。训练模块154可以利用不同的异构训练数据集合训练注意力图模块148的图像标记网络和检测模块152的条件检测网络。

在一个示例中,训练模块154使用第一图像的第一数据集合来训练注意力图模块148的图像标记网络,所述第一图像包括不在第一图像的对象的边界框的注释,并且使用第二图像的第二数据集合来训练检测模块152的条件检测,所述第二图像包括第二图像中的相应对象的相应边界框。用于检测模块152的条件检测的条件输入(例如词嵌入和注意力图)可以从已经用第一图像数据集合预训练的注意力图模块148的图像标记网络获得。

第一数据集合可以包括stock-18数据集合,其包括具有图像级注释的六百万或更多图像。第一数据集合中的每个图像可以用来自18,000个类的词汇表的多个标签(例如10-20个标签)来标记。在一个示例中,stock-18数据集合从股票照片网络服务获得。然而,第二数据集合可以包括来自开放图像数据集合的图像,诸如公开可用的数据集合,例如在由i.krasin等人在“openimages:apublicdatasetforlarge-scalemulti-labelandmulti-classimageclassification”,在线可获得,2017中所述的开放图像(v3),其公开内容通过引用整体并入本文。在一个示例中,第二数据集合包括比第一数据集合更少的图像,诸如大约150万(与600万相比)。附加地或替代地,第二数据集合的图像可以包括来自包含545个可训练类的词汇的概念的注释(例如边界框)。在一个示例中,在545个可训练类中,仅在第二数据集合中维持与第一数据集合的类相交的那些类。例如在开放图像(v3)中的545个可训练类中,在用于训练检测模块152的条件检测网络的第二数据集合中可以仅保留448个类。附加地或替代地,可以通过从打开的图像数据集合中选择一些但不是全部的图像来构建第二数据集,诸如从打开图像(v3)的150万张图像中选择295,000个图像。

训练模块154可以根据任意合适的损失函数来训练任意合适的网络。为了使条件检测网络标签不可知,可以使用二进制损失。例如在图3的条件检测网络300中,cnn304包括二元分类器322。在二元分类器322中,使用二进制s形交叉熵损失,而不是fasterr-cnn的softmax交叉熵损失。诸如二元分类器322的二元分类器可以将正标签(例如正训练标签)分配给条件检测网络的检测输出,该检测输出基本上与对应于给定的基于词语的概念的真相边界框重叠;并且可以将负标签(例如负训练标签)分配给未分配正标签的其他检测输出。附加地或替代地,二元分类器可用于训练用于负类输入的条件检测网络。例如可以向条件检测网络提供基于词语的概念的负类,并且可以通过二元分类器将负标签分配给与基于词语的概念对应的真相边界框基本上重叠的检测输出。图4示出了具有正和负训练标签以及负输入类的训练。

图4在400处总体上示出了根据本公开的一个或多个方面的对象检测系统的示例训练。在图4中,对象检测系统402和对象检测系统404用输入图像406训练。对象检测系统402和对象检测系统404是在检测模块152中包括的对象检测器的示例,诸如图3中的条件检测网络300。

在图4中,对象检测系统402和对象检测系统404与输入图像406一起被提供相应的输入条件。例如对象检测系统402被提供目标条件“狗”。在一个示例中,通过随机选择由输入图像406中包括的标签标识的多个类中的一个来选择目标条件。

相对于提供给对象检测系统402的目标条件,对象检测系统404被提供负条件,例如负类。负类是可以提供类似的词嵌入和类似的注意力图作为目标类的类,尽管在语义上与目标条件不相交。例如“狗”和“熊”是可以具有彼此相似的词嵌入和注意力图的类的示例,但是在语义上是不相交的。

可以以任意合适的方式确定相对于目标类的负类。在一个示例中,训练模块154根据类的相应词嵌入的余弦相似性度量,从训练数据集合的类中标识与目标类最相似的多个负类。附加地或替代地,可以约束负类,使得它不是目标类的下位词(“hyponym”)或上位词(“hypernym”)。训练模块154可以随机选择多个负类中的一个(例如十个识别出的负类中的一个)并将所选择的负类提供给对象检测系统404。例如对象检测系统404被提供为相对于目标条件“狗”的负条件“狐狸”。

在训练期间,对象检测系统402和对象检测系统404可以共享权重。基于输入图像406和相应的输入条件,对象检测系统402生成输出图像408,并且对象检测系统404生成输出图像410。输出图像408和输出图像410包括由边界框表示的检测结果,并且边界框由二元分类器分类,如根据键412的它们的线型所指示。例如键412指示白色对应于真相,黑色对应于正训练标签,长虚线灰色和白色对应于负训练标签,短虚线黑色和白色对应于忽略的检测结果。

在输出图像408和输出图像410中,边界框414是真相边界框。例如边界框414被包括在输入图像406中,诸如在对应于类“dog”的标签中。在由目标条件“狗”为条件的对象检测系统402产生的输出图像408中,边界框416被分配正训练标签,因为它们基本上与真相边界框414重叠。重叠可以以任意合适的方式确定,诸如基于重叠区域的量、检测结果的重叠区域与非重叠区域的比率、重叠的质心、其组合等。然而,输出图像408的边界框418被分配了负训练标记,因为它们基本上不与真相边界框414重叠。相反,它们对应于图像中的猫而不是狗。

在由负条件“狐狸”为条件的对象检测系统404产生的输出图像410中,边界框420被分配负训练标签,因为它们基本上与真相边界框414重叠。因此,对象检测系统404被训练区分狗和狐狸。忽略输出图像410中的边界框422。

在一个示例中,对于对象检测系统404的每个检测结果,其以基本上与真相边界框重叠的负条件(例如与输出图像410中的真相边界框414重叠的边界框420)为条件,训练模块154计算两个分数。第一分数sc使用以目标条件为条件的特征,第二分数sn使用以关于目标条件的负条件为条件的特征。训练模块154可以通过最小化从两个分数确定的损失来训练对象检测器,诸如边际等级损失lneg=max(0,sn-sc+γ),以鼓励sc大于sn,具有根据参数γ的余量。

再次返回到图1,训练模块154还可以被配置用于网络的传统训练,用于无需条件输入的多类学习。例如训练模块154可以被配置为将词嵌入和注意力图归零,词嵌入和注意力图被作为条件输入提供给由训练模块154训练的条件检测网络。为了使条件输入归零,训练模块154可以将注意力图的存在值设置为1,并将词嵌入的值设置为0。当条件输入被归零时,条件检测网络可以在词汇表中检测不同类的多个对象(例如基于词语的概念)。当条件输入被归零以用于多类学习时,条件检测网络可以被训练为具有损失λ·lconditional+(1-λ)·lmulti-class,其中lconditional和lmulti-class分别是有条件的(例如条件输入未被归零)和多类(例如条件输入被归零)检测损失。

训练模块154的训练数据,以及由训练模块154使用或由训练模块154计算的任意合适的信息,诸如检测结果、边界框、正和负训练标记、与目标概念匹配的对象的数目、得分、训练损失、训练数据集合(例如用于训练注意力图模块148和检测模块152的网络的异构数据集合)等,被存储在存储装置128的训练数据138中,并且可用于对象检测应用112的模块。在一个示例中,训练模块154为检测模块152的条件检测网络生成训练更新,诸如对神经网络的权重的更新,以训练条件检测网络。附加地或替代地,训练模块154可以生成针对注意力图模块148的图像标记网络的训练更新,例如对神经网络的权重的更新,以训练图像标记网络。

在图1的示例中,对象检测系统110训练对象检测器,诸如包括对象检测应用112的对象检测器,并将训练对象检测器提供给计算设备104以供在客户端应用中使用。因此,计算设备104中的每一个包括图像系统114。图像系统114包括应用156,其可以包括任意合适的应用,诸如被配置为由一个或多个计算设备104执行的应用。应用156包括检测应用158。检测应用158可以是被配置为检测图像中的对象的任意应用,诸如图像编辑应用、车辆应用(例如自动驾驶汽车中的引导系统、用于照明或娱乐的车载控制系统、噪声消除系统等)、机器人或无人机的控制系统、图像编目应用等。

图像系统114还包括资产160。资产160可包括图像系统114使用的任意合适的资产,诸如由服务器108提供的对象检测器、训练数据库、词嵌入、词汇、其组合等。图像系统114还包括服务器108的对象检测系统110的副本。因此,尽管在图1的示例中,服务器108的对象检测系统110被描述为训练对象检测器并将其提供给计算设备104之一,计算装置104可以附加地或替代地训练对象检测器。由图像系统114训练的对象检测器(例如使用对象检测系统110的副本)可以存储在资产160中并且可用于任意合适的应用,诸如检测应用158。

已经考虑了示例数字媒体环境,现在考虑根据本公开的一个或多个方面的示例系统的讨论。

示例对象检测系统

图5示出了根据本公开的一个或多个方面的示例系统500。在该实现中,系统500包括如图1中所描述的对象检测应用112的模块,例如图像模块144、输入条件模块146、注意力图模块148、词嵌入模块150、检测模块152和训练模块154。系统500是可以使用对象检测应用112的模块来构造的对象检测系统110的一个示例。例如信号可以重新定义,并且在不改变系统500的功能的情况下,模块可以被修改、组合、划分、添加或移除以形成修改的系统。因此,这种修改的系统被认为是在本公开的范围内。

此外,为简单起见,系统500限于对象检测应用112的模块和一些它们的互连的描述。然而,系统500可以包括为简单起见而省略的模块之间的任意合适的信号和通信。这些信号可以包括系统时钟、计数器、图像指示符、图指示符、图像标识号、重置信号等。在一个示例中,系统500可以实时操作(例如对用户没有可察觉的延迟)以生成输出图像,诸如包括检测结果的输出图像502(例如边界框)。因此,信号可以由系统500的模块计算并且在系统500的模块之间通信而没有显著的延迟。在一个示例中,系统500训练网络,诸如检测模块152的神经网络。附加地或可选地,系统500可以生成具有用户提供的输入图像的检测结果的输出图像,诸如不是用于训练系统500的网络的训练数据集的一部分的图像。

此外,系统500可以在任意合适的一个或多个设备上实现。在一个示例中,系统500在一个计算设备(例如服务器108或图1中的计算设备104之一)上实现。在另一示例中,系统500在多于一个计算设备上实现。例如系统500的部分可以由第一计算设备实现,诸如图1中的计算设备104-1或服务器108,并且系统500的其他部分可以由诸如计算设备104-2的一个或多个附加计算设备实现。在一个示例中,服务器实现系统500的部分,诸如图1中的服务器108。服务器可以是远程的,例如因为它不与第一计算设备并置。服务器可以被配置为从计算设备(例如计算设备104中的一个或多个)接收系统500的信号,处理所接收的信号,诸如利用对象检测系统110,并且将处理的结果发送回计算设备。因此,图1中的服务器108的对象检测系统110可以包括系统500。在一个示例中,系统500用于诸如由服务器108的由第一计算设备训练对象检测器的自适应模型(例如,神经网络,机器学习模型等),并且训练的自适应模型由第一计算设备供应给不同的计算设备,诸如计算设备104之一。

附加地或替代地,系统500的部分可以由与第一计算设备并置的附加计算设备来实现。例如计算设备104中的一个可以是第一计算设备,而计算设备104中的另一个可以是附加的并置计算设备。第一计算设备和附加计算设备可以由一个或多个用户操作。因此,系统500为环境内的多个用户提供以共享系统500中包括的数据。例如训练数据库可以由第一计算设备获得,该第一计算设备由选择数字图像以训练对象检测器的第一用户操作,并且可以将所选图像提供给由第二用户操作的第二计算设备。第二用户可以使用来自第一用户的所选图像来训练第二计算设备上的对象检测器,并且将训练对象检测器提供回第一计算设备上的第一用户。然后,第一用户可以使用训练对象检测器来检测图像中的对象并与其他用户共享检测结果,诸如第二计算设备上的第二用户。

图像模块144获得一个或多个图像。图像模块144可以以任意合适的方式获得任意合适类型的图像。在一个示例中,图像模块144从图像数据库获得图像,诸如可用于训练对象检测器的自适应模型(例如神经网络)的训练数据集合的数据库。附加地或替代地,图像模块144可以获得用户供应的图像,诸如来自用户的被作为图像编辑应用的输入而提供的图像。在一个示例中,图像模块144捕获要由系统500处理的图像,诸如通过在车辆移动时捕获图像并实时检测图像中的对象以控制车辆的引导系统。

在一个示例中,图像模块144从诸如第一图像的第一数据集的第一训练数据集获得图像,其包括没有第一图像中的对象的边界框的注释。第一训练数据集可用于训练注意力图模块148的标记网络。另外或替代地,图像模块144可从第二图像的第二数据集获得图像,其包括具有第二图像中的相应对象的相应边界框的注释。第二训练数据集可用于训练检测模块152的条件检测网络。

图像模块144将一个或多个图像作为输入图像提供给注意力图模块148和检测模块152。

输入条件模块146获得一个或多个输入条件,诸如包括基于词语的概念的输入条件。输入条件模块146可以以任意合适的方式获得任意合适的输入条件,诸如包括基于词语的概念的输入条件,该基于词语的概念描述了要在图像中检测的对象的类别或类别。基于词语的概念可以描述任意合适的类,诸如描述有形物(例如草、水、岩石、轮等)的类、描述视觉属性的类(例如颜色、反射率、表面纹理、形状、等等、描述对象的部分的类(例如人的腿或家具的腿、照相机的镜头、机器的齿轮、咖啡杯的把手等)等。

输入条件模块146可以以任意合适的方式获得输入条件,诸如从用户说出的话语(例如用户可以说“轮”到麦克风)、文本(例如用户可以键入输入条件、输入条件可以从文本文件中读取、输入条件可以从图像的元数据中提取、诸如描述图像中的对象的注释等)、其组合等。

附加地或替代地,输入条件模块146可以以任意合适的方式处理输入条件,诸如将输入条件从一种语言转换成另一种语言、转录输入条件(例如生成包含说出话语的转录的文本文件)、纠正输入条件中的拼写错误(例如正确的拼写或语法错误等)、其组合等。

输入条件模块146从输入条件向注意力图模块148和词嵌入模块150提供基于词语的概念。

注意力图模块148从图像模块144接收输入图像,并从输入条件模块146接收基于词语的概念,并生成注意力图。图2中的注意力图208是由注意力图模块148生成的注意力图的示例,其对应于输入图像206的基于词语的概念“轮”。注意力图模块148可以以任意合适的方式生成注意力图。在一个示例中,系统500中的注意力图模块148包括已经用训练模块154预训练的图像标记网络,如下面关于图6所讨论的。

注意力图模块148可以生成任意合适的注意力图。在一个示例中,注意力图模块148生成注意力图,该注意力图指示输入图像内的基于词语的概念的存在值。例如注意力图可以针对输入图像的每个像素指示基于词语的概念的相应存在,其中存在值在诸如小于或等于1且大于或等于负1(例如[-1,1])的范围内。

由注意力图模块148生成的注意力图可以提供概念特定提示以更好地检测图像中的对象。因此,注意力图模块148根据基于词语的概念向检测模块152提供针对输入图像生成的注意力图。

词嵌入模块150从输入条件模块146接收基于词语的概念,并生成用于基于词语的概念的词嵌入。由词嵌入模块150生成的词嵌入描述了基于词语的概念与不同的基于词语的概念、标签或词语之间的关系。

词嵌入模块150可以以任意合适的方式生成词嵌入。在一个示例中,词嵌入模块150根据基于词语的概念和不同的基于词语的概念、标签或词语的共现概率来生成矩阵,并执行矩阵的特征分解。从对应于给定分解概念的行获得用于给定概念的词嵌入,诸如通过将从分解形成的矩阵的行的前4096列的值作为表示针对给定的概念的词语嵌入的向量。

由词嵌入模块150生成的基于词语的概念的词嵌入将基于词语的概念的覆盖范围扩展到单个标签或词汇表的词语之外。因此,词嵌入模块150向检测模块152提供词嵌入。

检测模块152从图像模块144接收输入图像,从注意力图模块148接收注意力图,以及从词嵌入模块150接收词嵌入,并生成检测结果,诸如输出图像502中所示的检测结果。在一个示例中,由检测模块152生成的检测结果包括基于词嵌入和注意力图的输入图像的至少一个区域,其包括与基于词语的概念对应的相应对象。例如当词嵌入对应于基于词语的概念“狗”时,检测模块152可以生成具有检测结果的输出图像,该检测结果包括围绕输入图像中的狗的边界框,如图5中的输出图像502所示。

检测模块152可以以任意合适的方式生成检测结果。在一个示例中,检测模块152包括条件检测网络,诸如图3中的条件检测网络300。

在图5的示例中,检测模块152向训练模块154提供检测结果。训练模块154还接收训练数据,诸如图像的训练数据库的训练图像,其包括示出图像中的对象的真相边界框的注释。由图像模块144获得的输入图像可以是训练模块154接收的训练数据的示例。基于将检测模块152生成的检测结果与训练数据进行比较,训练模块154生成训练更新。训练模块154可以以任意合适的方式生成任意合适的训练更新,诸如在卷积中使用的神经网络的权重,通过随机梯度下降更新,其最小化任意合适的损失函数。训练模块154向检测模块152提供训练更新,检测模块152根据对训练检测模块152的训练更新来更新对象检测器的参数。系统500可以处理任意合适数量的训练图像以训练检测模块152的对象检测器。

在一个示例中,系统500的注意力图模块148包括使用训练模块154预训练的一个或多个自适应模型(例如图像标记网络),其在图6的系统600中示出。

图6示出了根据本公开的一个或多个方面的示例系统600。在图6的示例中,使用第一训练数据集合的图像来训练注意力图模块。图像模块144从第一训练数据集合获得图像,诸如不包括图像中的对象的边界框注释的图像。如上所述,用于训练注意力图模块148的图像的第一训练数据集合相对于用于训练检测模块152的第二训练数据集合可以是异构的。

来自第一训练数据集合的输入图像由图像模块144提供给注意力图模块148和训练模块154。注意力图模块以任意合适的方式从接收的输入图像生成任意合适的图,诸如输入图像的特征图、从给定概念的特征图生成的注意力图、其组合等。图2中的图像标记网络202和类激活图204是注意力图模块148的模块的示例,其可以生成特征图和注意力图,分别用于训练图6的系统600中的注意力图模块148。根据由注意力图模块148生成的输入图像的图被提供给训练模块154。

训练模块154还接收训练数据,包括由图像模块144获得的输入图像。基于将由注意力图模块148生成的图的参数与输入图像的参数进行比较,诸如通过将在输入图像的注释中标识的特征与由注意力图模块148在特征图中生成的标签进行比较,训练模块154生成训练更新。训练模块154可以以任意合适的方式生成任意合适的训练更新,诸如在卷积中使用的神经网络的权重,通过随机梯度下降更新,其最小化任意合适的损失函数。训练模块154向注意力图模块148提供训练更新,注意力图模块148根据训练更新来更新图像标记网络的参数以训练注意力图模块148。系统600可以处理任意合适数目的训练图像以训练注意力图模块148的图像标记网络。

训练模块154可以以任意合适的方式生成训练更新。在一个示例中,训练模块154生成训练更新以最小化由注意力图模块148输出的视觉嵌入(例如特征图)与输入图像的软主题嵌入之间的余弦相似性损失。例如可以通过聚合包括在图像中的真相标签的词语表示来构建输入图像的软主题嵌入。可以根据t=∑iαi·ei来计算所有标签的加权平均,其中αi=-log(p(wi))是词语wi的逆文档频率。余弦相似性损失可以根据构建,其中v表示由注意力图模块148输出的任意合适的视觉嵌入,诸如特征图。

本文描述的系统构成对系统的改进,该系统在没有异构数据集合的情况下被训练,并且限于检测所可见类的对象(例如存在于训练数据库的图像中的定义的类)。相反,本文描述的系统包括具有图像标记网络和条件检测网络的对象检测器,其使用相对于彼此的异构数据集合训练,并且可以检测可见和不可见类的图像中的对象。提供针对目标概念的注意力图和词嵌入作为对条件检测网络的条件输入,使得条件检测网络是图像标记不可知的和概念特定的。因此,尽管条件检测网络使用具有少量可见类的训练数据集合进行训练,但它通过概念条件推广到新颖的、不可见类,因为基于词语的概念通过条件检测网络经由条件输入进行传播,并影响分类和区域建议。因此,可以通过本文描述的系统扩展可由对象检测器检测的对象类,而无需缩放训练数据库以包括附加类,从而节省时间和金钱。

已经考虑了示例系统,现在考虑根据本公开的一个或多个方面的用于图像中的对象检测的示例过程的讨论。

示例过程

图7示出了根据本公开的一个或多个方面的用于图像中的对象检测的示例过程700。过程的各方面可以用硬件、固件或软件或其组合来实现。该过程被示为框集合,其指定由一个或多个设备执行的操作,并且不一定限于为了执行相应框的操作而示出的顺序。在至少一些方面,该过程可以由适当配置的计算设备在数字媒体环境中执行,诸如图1的计算设备104或服务器108中的一个或多个,其利用对象检测系统,诸如图5中的系统500或图1中的对象检测系统110。实现过程700的对象检测系统可以是已经安装在计算设备上的独立应用、可由计算设备访问的服务提供商托管的服务、计算设备的插件模块或其组合。

获得输入图像和基于词语的概念(框702)。在一个示例中,图像模块144获得输入图像,并且输入条件模块146获得基于词语的概念。附加地或替代地,图像模块144可以获得输入图像,并且输入条件模块146可以获得基于词语的概念,作为训练过程的一部分,其中网络被训练以检测图像中的对象。例如图像模块144可以获得输入图像,并且输入条件模块146可以诸如通过选择输入图像中的描述输入图像中的对象的多个标签中的一个,从输入图像获得基于词语的概念。在一个示例中,图像模块144通过接收用户供应的图像来获得输入图像。附加地或替代地,图像模块144通过从存储位置取回输入图像来获得输入图像,诸如从服务器处的训练图像的数据库、从存储装置128、或其组合。

基于输入图像和基于词语的概念生成注意力图(框704)。注意力图包括像素,像素指示输入图像内基于词语的概念的存在值。在一个示例中,注意力图模块148的图像标记网络基于输入图像和基于词语的概念来生成注意力图,包括像素的注意力图指示输入图像内的基于词语的概念的存在值。附加地或替代地,存在值中的每一个诸如通过用0到255之间的像素值指示在范围[-1,1]中的注意力图的存在值,指示在输入图像的相应像素处的基于词语的概念的相应存在。

在一个示例中,注意力图是从图像标记网络生成的,该图像标记网络是从包括不具有第一图像中的对象的边界框的注释的第一图像的第一数据集合训练的。例如训练模块154可以用第一图像的第一数据集合来训练图像标记网络,其包括不具有第一图像中的对象的边界框的注释。

基于该基于词语的概念来生成词嵌入,词嵌入描述基于词语的概念与不同的基于词语的概念之间的关系(框706)。在一个示例中,词嵌入模块150基于该基于词语的概念来生成词嵌入,词嵌入描述基于词语的概念与不同的基于词语的概念之间的关系。

附加地或替代地,生成词嵌入可包括从矩阵的特征分解来形成向量。矩阵可以由基于词语的概念和不同的基于词语的概念的共现概率来构建。

将词嵌入和注意力图提供给条件检测网络的相应层(框708)。在一个示例中,注意力图模块148提供注意力图,并且词嵌入模块150将词嵌入作为条件输入提供给条件检测网络,诸如检测模块152的条件检测网络。例如,与词嵌入相比,注意力图可以被提供给条件检测网络的不同层。

条件检测网络基于词嵌入和注意力图,检测输入图像的至少一个区域(框710)。所述至少一个区域包括与基于词语的概念对应的相应对象,所述至少一个区域包括与基于词语的概念对应的相应对象。在一个示例中,检测模块152的条件检测网络基于词嵌入和注意力图来检测输入图像的至少一个区域,该至少一个区域包括与基于词语的概念对应的相应对象。附加地或替代地,利用第二图像的第二数据集合来训练条件检测网络,所述第二图像包括具有第二图像中的相应对象的相应边界框的注释。例如训练模块154可以利用第二图像的第二数据集合训练条件检测网络,第二图像包括具有第二图像中的相应对象的相应边界框的注释。

在一个示例中,将词嵌入提供给条件检测网络的两个层,并且将注意力图提供给条件检测网络的第三层,诸如检测输入图像的至少一个区域的条件检测网络。第三层可以在条件检测网络的两个层之间。附加地或替代地,两个层和第三层可以被包括在条件检测网络的相同卷积级中。例如向条件检测网络提供词嵌入和注意力图可以包括将注意力图提供给条件检测网络的层,并将词嵌入提供给条件检测网络的附加层,条件层检测网络位于条件检测网络的附加层之间。

在一个示例中,利用图像数据集合来训练条件检测网络,所述图像数据集合包括图像中的每一个中的相应对象的相应边界框,该训练包括:将正训练标记分配给条件检测网络的检测输出,其基本上与对应于基于词语的概念的相应边界框中的一个真相重叠;并且将负训练标记分配给未被分配正训练标记的条件检测网络的其他检测输出。

附加地或替代地,训练条件检测网络包括确定基于词语的概念的负类,将负类提供给条件检测网络,以及将负训练标记分配给针对负类的条件检测网络的检测输出,其与基于词语的概念对应的真相边界框基本上重叠。

在一个示例中,训练条件检测网络包括将注意力图的存在值设置为1,将词嵌入的值设置为零,以及针对不同基于词语的概念的多个对象来检测输入图像的相应区域。

图8示出了根据本公开的一个或多个方面的用于图像中的对象检测的示例过程800。过程的各方面可以用硬件、固件或软件或其组合来实现。该过程被示为框集合,其指定由一个或多个设备执行的操作、并且不一定限于为了执行相应块的操作而示出的顺序。在至少一些方面,该过程可以由适当配置的计算设备在数字媒体环境中执行,诸如图1的计算设备104或服务器108中的一个或多个,其利用对象检测系统,诸如图5中的系统500或图1中的对象检测系统110。实现过程800的对象检测系统可以是已安装在计算设备上的独立应用、由可由计算设备访问的服务提供商托管的服务、计算设备的插件模块或其组合。

获得输入图像(框802)。在一个示例中,图像模块144获得输入图像。图像模块144可以获得任意合适的输入图像,诸如训练图像(例如用于训练对象检测器的网络的图像)、用户供应的不是训练图像的图像、被获得以控制车辆的引导系统的图像、被获得以控制车辆中的环境的图像(例如基于车辆中的人员穿戴来调节温度、调节指向车辆的某些乘员的扬声器处的娱乐系统的音量,诸如老年人或具有助听器的乘员等)、其组合等。

接收基于词语的概念(框804)。在一个示例中,输入条件模块146接收基于词语的概念。例如用户可以说出包括诸如“轮”的基于词语的概念的输入条件,其由输入条件模块146使用麦克风接收,并且利用输入条件模块146的语音识别系统来合成为文本。

从输入图像生成针对基于词语的概念的注意力图,注意力图包括指示存在值的像素,每个存在值指示在输入图像的相应像素处的基于词语的概念的相应存在(块806)。在一个示例中,注意力图模块148从输入图像生成用于基于词语的概念的注意力图,注意力图包括指示存在值的像素,每个存在值诸如通过根据范围[-1,1]内的存在值来将注意力图中的像素的亮度设置为0到255之间的整数(包括0和255),指示在输入图像的相应像素处的基于词语的概念的相应存在。

在一个示例中,注意力图模块148的图像标记网络生成注意力图。可以使用训练模块154使用第一图像的第一数据集合来训练图像标记网络,第一图像包括不具有第一图像中的对象的边界框的注释。

基于该基于词语的概念生成词嵌入,词嵌入描述基于词语的概念与来自词汇表的标签之间的互信息(框808)。在一个示例中,词嵌入模块150基于该基于词语的概念来生成词嵌入,词嵌入描述基于词语的概念和来自词汇表的标签之间的互信息。附加地或替代地,可以通过以下各项来生成词嵌入:分解矩阵并选择从分解构造的矩阵的行中的一个的至少一部分作为词嵌入。

基于词嵌入和注意力图检测输入图像的至少一个区域,该至少一个区域包括与基于词语的概念对应的相应对象(框810)。在一个示例中,检测模块152基于词嵌入和注意力图来检测输入图像的至少一个区域,该至少一个区域包括与基于词语的概念对应的相应对象。

在一个示例中,检测模块152的条件检测网络检测至少一个区域。可以使用第二图像的第二数据集合利用训练模块(例如训练模块154)来训练条件检测网络,第二图像包括第二图像中的相应对象的相应边界框。附加地或替代地,第二数据集合可以包括输入图像作为第二图像之一。在一个示例中,输入图像不被包括在第一数据集合或第二数据集合中。例如当对象检测系统在客户端计算设备中操作的同时,输入图像可以由用户供应或由对象检测系统自动检测,使得输入图像可以不是训练图像的数据集合的一部分。

附加地或替代地,词嵌入模块150将词嵌入作为条件输入提供给条件检测网络的两个层,并且注意力图模块148将注意力图作为附加条件输入提供给条件检测网络的第三层。在一个示例中,两个层和第三层被包括在条件检测网络的相同卷积级中,并且第三层在相同卷积级中的两个层之间。

在一个示例中,将词嵌入和注意力图提供给条件检测网络的相应层,并且条件检测网络检测输入图像的至少一个区域。相应层可以被包括在条件检测网络的相同卷积级中。附加地或替代地,将注意力图提供给在提供词嵌入的条件检测网络的附加层之间的条件检测网络的层。

附加地或替代地,包括输入图像的至少一个区域的检测结果可以在用户界面中展露,诸如通过显示具有指定相应检测区域的相应边界框的图像。

图9示出了根据本公开的一个或多个方面的用于图像中的对象检测的示例过程900。过程的各方面可以用硬件、固件或软件或其组合来实现。该过程被示为框集合,其指定由一个或多个设备执行的操作,并且不一定限于为了执行相应块的操作而示出的顺序。在至少一些方面,该过程可以由适当配置的计算设备在数字媒体环境中执行,诸如图1的计算设备104或服务器108中的一个或多个,其利用对象检测系统,诸如图5中的系统500或图1中的对象检测系统110。实现过程900的对象检测系统可以是已安装在计算设备上的独立应用、由可由计算设备访问的服务提供商托管的服务、计算设备的插件模块或其组合。

获得输入图像和基于词语的概念(框902)。在一个示例中,图像模块144获得输入图像,并且输入条件模块146获得基于词语的概念。图像模块144可以以任意合适的方式获得输入图像,诸如通过接收用户供应的图像、自动接收并且无需用户干预来自诸如汽车的导航系统的对象检测系统的图像、从存储装置(例如存储装置128)中取回图像、从训练图像的数据库(例如从服务器108)取回图像、其组合等。

从输入图像生成关于基于词语的概念的注意力图,注意力图包括像素,注意力图的每个像素指示相应的存在值,相应的存在值指示在输入图像的相应像素处的基于词语的概念的相应存在(框904)。在一个示例中,注意力图模块148从输入图像生成关于基于词语的概念的注意力图,包括像素的注意力图,指示相应的存在值的注意力图的每个像素,指示在输入图像的相应像素处的基于词语的概念的相应的存在的相应存在值。附加地或替代地,相应的存在值可以大于或等于-1且小于或等于1。

基于该基于词语的概念生成词嵌入,词嵌入描述基于词语的概念与不同的基于词语的概念之间的关系(框906)。在一个示例中,词嵌入模块150基于该基于词语的概念来生成词嵌入,词嵌入描述基于词语的概念与不同的基于词语的概念之间的关系。

在一个示例中,生成词嵌入包括从基于词语的概念和不同的基于词语的概念的共现概率所构造的矩阵的特征分解来形成向量。

可以将注意力图和词嵌入作为条件输入提供给条件检测网络,将注意力图提供给条件检测网络的不同层而不是词嵌入。在一个示例中,注意力图模块148提供注意力图,并且词嵌入模块150提供词嵌入作为对条件检测网络的条件输入,诸如检测模块152的条件检测网络,提供给条件检测网络的不同的层而不是词嵌入的注意力图。

在一个示例中,将词嵌入提供给条件检测网络的两个层,并且将注意力图提供给条件检测网络的第三层,诸如检测输入图像的至少一个区域的条件检测网络。第三层可以在条件检测网络的两个层之间。附加地或替代地,两个层和第三层可以被包括在条件检测网络的相同卷积级中。

基于注意力图和词嵌入来检测输入图像的至少一个区域,该至少一个区域包括与基于词语的概念相对应的相应对象(框908)。在一个示例中,检测模块152利用基于注意力图和词嵌入的条件检测网络来检测输入图像的至少一个区域,该至少一个区域包括与基于词语的概念对应的相应对象。

本文描述的过程构成对没有异构数据集合的过程训练系统的改进,并且仅限于检测可见类的对象(例如训练数据库中存在的类)。相反,本文描述的过程包括具有图像标记网络和条件检测网络的对象检测器,其使用相对于彼此的异构数据集合训练的,并且可以检测可见和不可见类的图像中的对象。提供针对目标概念的注意力图和词嵌入作为对条件检测网络的条件输入,使得条件检测网络是图像标记不可知的和概念特定的。因此,尽管条件检测网络使用具有少量可见类的训练数据集合进行训练,但它通过概念条件来推广到新颖的、不可见类,因为基于词语的概念通过条件检测网络经由条件输入传播,并影响分类和区域建议。因此,可以通过本文描述的过程扩展可由对象检测器检测到的对象类,而无需缩放训练数据库以包括附加类,从而节省时间和金钱。

已经考虑了根据一个或多个实现的示例过程,现在考虑可以用于实践本文描述的发明原理的示例系统和设备。

示例系统和设备

图10示出了通常在1000处的示例系统,其包括代表可以实现本文描述的各种技术的设备的一个或多个计算系统和设备的示例计算设备1002-1、1002-2、1002-3、1002-4和1002-5(统称为1002)。计算设备1002可以是任意合适的计算设备(例如用户计算设备)。计算设备1002可以是例如用户计算设备(例如计算设备104之一)或服务器设备(例如服务器108)。此外,计算设备1002可以包括片上系统、多个计算设备、其组合、或任意其他合适的计算设备或计算系统。因此,图10将计算设备1002示出为平板计算机、膝上型计算机、智能电话、智能眼镜和车辆(例如车辆的计算设备)中的一个或多个,但是这些示例是示意性的而绝不意味着限制在计算设备1002中包括的设备的类型或数目。

此外,计算设备1002耦合到包括平台1006的“云”1004,平台1006表示可以实现本文描述的各种技术的一个或多个计算系统和设备,诸如服务器,边缘服务器,全局服务器或其组合。这通过在平台1006的模块中包括对象检测应用111、检测应用158、对象检测系统110、图像系统114、服务器108、系统500和系统600来说明,其如上所述地操作。

计算设备1002的功能可以全部或部分地通过使用分布式系统来实现,诸如经由平台1006通过“云”1004实现。此外,平台1006可以托管计算设备1002可访问的数据,并且因此计算设备1002可能需要被认证到平台1006。

平台1006包括彼此通信地耦合的处理系统1008,一个或多个计算机可读介质1010、以及一个或多个i/o接口1012。虽然未示出,但是平台1006还可以包括系统总线或其他数据和命令传输系统,其将各种组件彼此耦合。系统总线可以包括不同总线结构的任意一个或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线、以及利用各种总线架构中的任意总线架构的处理器或本地总线。还构想了各种其他示例,诸如控制和数据线。

处理系统1008表示使用硬件执行一个或多个操作的功能。因此,处理系统1008被示为包括硬件元件1014,硬件元件1014可被配置为处理器、功能块等。这可以包括在硬件中实现为专用集成电路或使用一个或多个半导体形成的其他逻辑器件。硬件元件1014不受形成它们的材料或其中采用的处理机制的限制。例如处理器可以包括半导体和晶体管(例如电子集成电路(ic))。在这样的上下文中,处理器可执行指令可以是电子可执行指令。图1中的处理器126是处理系统1008的示例。

计算机可读介质1010(例如计算机可读存储介质)被示为包括存储器/存储组件1016。图1中的存储装置128是在存储器/存储组件1016中包括的存储器/存储装置的示例。存储器/存储组件1016可以包括易失性介质(诸如随机存取存储器(ram))、非易失性介质(诸如只读存储器(rom)、闪存、光盘、磁盘等)或其组合。存储器/存储组件1016可以包括固定介质(例如ram、rom、固定硬盘驱动器等)以及可移除介质(例如闪存、可移除硬盘驱动器、光盘等)。计算机可读介质1010可以以各种其他方式配置,如下面进一步描述的。

输入/输出接口1012表示允许用户(例如平台1006的系统管理员)向平台1006输入命令和信息、并且还允许将信息呈现给用户和其他使用各种输入/输出设备的组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如鼠标)、麦克风、麦克风阵列、扫描仪、触摸功能(例如配置为检测物理触摸的电容或其他传感器)、相机(例如其可以采用可见或诸如红外频率的不可见波长来将运动识别为不涉及触摸的手势)、等等。输出设备的示例包括显示设备(例如监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,平台1006可以以下面进一步描述的各种方式配置以支持用户交互。

平台1006还包括应用1018。应用1018代表能够在平台1006上运行的任意合适的应用,并且可以包括可操作用于访问各种基于网络资源(例如资产、媒体剪辑、图像、内容、配置文件、服务、用户简档、广告、优惠券等)的网络浏览器。应用1018包括对象检测应用112和检测应用158,如前所述。此外,应用1018包括支持对象检测系统110、图像系统114、系统500或系统600的任意应用。

云1004包括并且代表平台1006。平台1006抽象云1004的硬件(例如服务器)和软件资源的基础功能,并且包括资源1020。资源1020可以包括当计算机处理在远离计算设备1002的服务器上执行时可以利用的应用、数据、服务和内容。资源1020还可以包括通过因特网、通过诸如蜂窝或wi-fi网络的订户网络或其组合提供的服务。

资源1020包括检测网络存储1022,其操作用于将对象检测系统的一个或多个网络提供给计算设备1002之一,诸如已经使用异构训练数据集合训练的网络。资源1020还包括训练数据集合存储,其操作用于提供可用于训练如本文所述的对象检测器的图像的一个或多个训练数据集合。

本文可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。通常,这样的模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文使用的术语“模块”、“功能”和“组件”通常表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着可以在具有各种处理器的各种商业计算平台上实现这些技术。

所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质传输。计算机可读介质可以包括可以由平台1006访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。

“计算机可读存储介质”是指与仅仅信号传输、载波或信号本身相反,能够支持持久或非暂时存储的介质、设备或其组合。因此,计算机可读存储介质不包括信号本身或信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移除和不可移除介质、存储设备或其组合的硬件,其以适于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据的信息的方法或技术实现。计算机可读存储介质的示例可包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字通用盘(dvd)或其他光学存储器、硬盘、磁带盒、磁带、磁盘存储器或其他磁存储设备、或适于存储所需信息并且可由计算机访问的其他存储设备、有形介质或制品。

“计算机可读信号介质”指的是信号承载介质,其被配置为诸如经由网络将指令发送到平台1006的硬件。信号介质通常可以体现计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据,诸如载波、数据信号或其他传输机制。信号介质还包括任意信息传递介质。术语“已调制数据信号”表示以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、rf、红外和其他无线介质的无线介质。

如先前所描述,硬件元件1014和计算机可读介质1010表示模块,可编程设备逻辑,以硬件形式实施的固定设备逻辑或其组合,其可在一些方面中被采用以实现本文描述的技术的至少一些方面,诸如执行一个或多个指令。硬件可以包括集成电路或片上系统的组件,专用集成电路(asic),现场可编程门阵列(fpga),复杂可编程逻辑器件(cpld)以及硅或其他硬件的其他实现。在此上下文中,硬件可以操作作为:执行由指令定义的程序任务的处理设备、由硬件体现的逻辑、或其组合、以及用于存储用于执行的指令的硬件,例如先前所描述的计算机可读存储介质。

也可以采用前述的组合来实现本文描述的各种技术。因此、软件、硬件或可执行模块可以实现为一个或多个指令,在某种形式的计算机可读存储介质上或者由一个或多个硬件元件1014体现的逻辑、或其组合。平台1006可以被配置为实现与软件和硬件模块相对应的特定指令和功能。因此,可以至少部分地以硬件实现可由平台1006作为软件执行的模块的实现,例如通过处理系统1008的计算机可读存储介质和硬件元件1014的使用。指令和功能可以是由一个或多个制品(例如处理系统1008)可执行/可操作以实现本文描述的技术、模块和示例。

结论

在一个或多个实现中,数字媒体环境包括至少一个计算设备。本文描述了用于使用异构训练数据集合来训练的对象检测器来检测图像中的对象的系统、技术和设备。第一训练数据集合用于训练图像标记网络以确定目标概念的输入图像的注意力图,并且第二训练数据集合用于训练条件检测网络,其接受目标概念的注意力图和词嵌入作为条件输入。尽管条件检测网络使用具有少量可见类的训练数据集合(例如属于训练数据集合的类)进行训练,但它通过概念条件推广到新颖的、不可见类,因为目标概念通过条件检测网络经由条件输入传播,从而影响分类和区域建议。因此,可扩展对象检测器可检测的对象类,而无需缩放训练数据库以包括附加类,从而节省时间和金钱。

尽管已经用结构特征和方法动作专用的语言描述了本发明,但是应该理解,所附权利要求中限定的本发明不一定限于所描述的具体特征或动作。相反,公开了具体特征和动作作为实现所要求保护的发明的示例形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1