CN116982089A - 用于图像语义增强的方法和系统 - Google Patents

用于图像语义增强的方法和系统 Download PDF

Info

Publication number
CN116982089A
CN116982089A CN202180095088.8A CN202180095088A CN116982089A CN 116982089 A CN116982089 A CN 116982089A CN 202180095088 A CN202180095088 A CN 202180095088A CN 116982089 A CN116982089 A CN 116982089A
Authority
CN
China
Prior art keywords
image
embedding
segmented
dataset
images
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180095088.8A
Other languages
English (en)
Inventor
摩根•林赛•海斯勒
阿明·巴尼塔莱比·德科迪
张勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Publication of CN116982089A publication Critical patent/CN116982089A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

公开了用于生成语义增强图像的方法和系统。为与分割输入图像关联的每个对象标签生成嵌入。对于与相应对象标签关联的每个嵌入,计算与所述对象标签关联的所述嵌入与表示存储多个对象图像的对象库中的对象类的嵌入之间的相似性得分。至少基于所述相似性得分,选择至少一个对象,选择的对象与所述对象库中的相应对象图像关联,选择的至少一个对象来自识别的对象类,所述识别的对象类被识别为和与所述分割输入图像关联的至少一个对象标签上下文相关。将所述选择的对象添加到所述分割输入图像中,以生成增强图像。

Description

用于图像语义增强的方法和系统
本专利申请要求于2021年3月15日提交的、发明名称为“用于图像语义增强的方法和系统(METHODS AND SYSTEMS FOR SEMANTIC AUGMENTATION OF IMAGES)”的第17/202,265号美国专利申请序列的优先权,该专利申请通过引用并入本文,如同其全文复制一样。
技术领域
本发明涉及用于图像语义增强的方法和系统,包括用于训练执行预测任务(例如对象检测或分割)的神经网络的训练数据集中的图像语义增强的方法和系统。
背景技术
在计算机视觉领域,对图像执行预测任务(例如,对象检测、对象分类、语义分割、图像分类等)的神经网络通常以监督的方式使用包括标记的训练图像的训练数据集进行训练。神经网络的成功训练(例如,在神经网络生成的预测中实现所需的精度水平)通常依赖于包括充足的代表性数据的训练数据集的可用性。在对图像执行预测任务(例如,图像中的对象检测)进行训练的深度神经网络(deep neural network,DNN)的示例中,训练的DNN的精度通常取决于用于训练DNN的训练数据集,该训练数据集包括代表充足的感兴趣对象类的标记图像。在许多已经开发用于训练执行对象检测的DNN的图像数据集中,训练数据集中的对象类可能存在不平衡(例如,一些对象类在训练数据集中过度表示和/或其它对象类在训练数据集中表示不足)。因此,使用这种不平衡的图像数据集训练DNN在对推理期间输入到DNN的新图像中表示不足的对象类进行检测方面可能性能较差。但是,收集包括表示不足的对象类的对象的图像并标记这些收集的图像通常是耗时且昂贵的(例如,要求人类手动标记这些收集的图像)。
已经开发了各种现有技术来帮助提高训练的DNN的精度,包括人工扩展训练数据集中包括的大小(即训练样本的数量)的技术。图像增强方法是可用于对用于训练对图像执行预测任务的DNN的训练数据集中包括的大小(即训练图像的数量)进行人工扩展的技术。图像增强方法涉及生成训练数据集中包括的原始训练图像的修改版本。许多现代DNN的训练涉及训练期间某种形式的图像增强方法。
一些现有的图像增强方法依赖于几何或光度变化(例如,改变图像比例、旋转图像、改变图像着色等)来全局修改训练数据集的训练图像。但是,这些现有的图像增强方法并不增强训练图像中的对象特定信息。因此,这些现有的图像增强方法不能缓解用于训练对图像执行预测任务的DNN的训练数据集中的类别不平衡问题。
需要提供一种用于图像增强的对象感知方法。
发明内容
本发明提出了用于图像语义增强的示例性方法和系统,其中,图像语义增强基于对象级上下文。这表示,图像通过向图像中添加新对象来增强,其中,新对象与图像中的至少一个现有对象上下文相关。
本文描述的用于图像语义增强的示例性方法和系统调整自然语言处理(naturallanguage processing,NLP)技术(例如,使用词嵌入),以基于相应对象类标签中的词相似性,识别与图像中的至少一个现有对象上下文相关的一个或多个新对象。所公开的用于图像语义增强的方法和系统能够识别可用于增强图像的上下文相关对象,而不需要使用额外的神经网络(并且不需要使用额外的处理能力和内存资源)来学习图像的上下文。本发明提供了如下技术结果:通过将上下文相关的对象添加到现有图像中,从现有图像生成增强图像,并且在至少一些示例中,能够使用较少的计算资源(例如,较少的内存资源和较少的处理能力)生成增强图像。
本文描述的用于图像语义增强的示例性系统和方法可以实现为由云计算服务提供商提供的机器学习即服务(machine learning as a service,MLaaS)的一部分,该云计算服务提供商的云计算平台可由客户端设备通过通信网络(例如互联网)访问。例如,云计算平台可以提供包括不同机器学习服务的MLaaS,所述机器学习服务包括训练服务,该训练服务使用语义增强的图像数据集来训练代表客户端设备执行图像预测任务的神经网络。在一些示例中,本文描述的用于图像语义增强的系统和方法可以实现用于对图像数据集执行语义增强,该图像数据集然后可以由云计算平台提供给客户端设备,以训练对存储在客户端设备处的图像执行预测任务的神经网络。
根据本发明的示例性方面,提供了一种用于图像语义增强的方法。所述方法包括:为与分割输入图像关联的每个对象类标签生成嵌入;对于与相应对象标签关联的每个嵌入,计算与所述对象标签关联的嵌入与表示包括多个对象图像的对象库中的对象类的嵌入之间的相似性得分。所述方法还包括:至少基于所述相似性得分,选择与所述对象库中的相应对象图像关联的至少一个对象,选择的至少一个对象来自识别的对象类,所述识别的对象类被识别为和与所述分割输入图像关联的至少一个对象标签上下文相关;将所述选择的至少一个对象添加到所述分割输入图像中,以生成增强图像。
在本发明的方法的上述示例性方面中,为每个对象标签生成所述嵌入可以包括:访问包括多个条目的嵌入词典,每个条目将文本串与相对应的嵌入关联;通过在对应于每个对象标签的所述嵌入词典中查找所述文本串,为每个对象类标签选择所述嵌入。
在本发明的方法的任何上述示例性方面中,计算所述相似性得分可以包括计算与所述相应对象标签关联的所述嵌入与表示所述对象库中的所述对象类的所述嵌入之间的余弦相似性或欧几里德距离。
在本发明的方法的任何上述示例性方面中,添加所述选择的至少一个对象可以包括:将像素级掩码应用于所述相应对象图像,以从所述相应对象图像中分割所述至少一个对象,以及将分割的至少一个对象添加到所述分割输入图像中。
在本发明的方法的任何上述示例性方面中,添加所述选择的至少一个对象可以包括:识别所述分割输入图像中的上下文相关对象,所述上下文相关对象基于与所述选择的至少一个对象的所述相似性得分来识别;在相对于所述上下文相关对象的位置选择的位置中添加所述选择的至少一个对象。
在本发明的方法的任何上述示例性方面中,所述选择的至少一个对象可以来自基于选择标准识别的所述识别的对象类,以改进原始图像数据集或提高训练神经网络的性能。
在本发明的方法的任何上述示例性方面中,所述方法可以包括:对输入图像执行对象分割以生成所述分割输入图像。
在本发明的方法的任何上述示例性方面中,添加所述选择的至少一个对象可以包括:对所述选择的至少一个对象执行对象增强,以及将增强的至少一个对象添加到所述分割输入图像中,以生成所述增强图像。
在本发明的方法的任何上述示例性方面中,所述方法可以包括对所述增强图像执行全局图像增强。
在本发明的方法的任何上述示例性方面中,所述方法可以包括:从图像数据集中对所述分割输入图像进行采样;将所述增强图像存储在相同或不同的图像数据集中。
根据另一个示例性方面,本发明提供了一种用于提高使用原始图像数据集训练的神经网络的性能的方法。所述方法包括:通过以下方式,通过对于从所述原始图像数据集采样的一个或多个分割图像,生成相应的语义增强图像来生成增强图像数据集:为与所述分割图像关联的每个对象类标签生成嵌入;对于与相应对象标签关联的每个嵌入,计算与所述对象标签关联的嵌入与表示存储多个对象图像的对象库中的对象类的嵌入之间的相似性得分;至少基于所述相似性得分,选择与所述对象库中的相应对象图像关联的至少一个对象,选择的至少一个对象来自识别的对象类,所述识别的对象类被识别为和与所述分割输入图像关联的至少一个对象标签上下文相关;将所述选择的至少一个对象添加到所述分割图像中,以生成所述相应的语义增强图像。神经网络是使用增强图像数据集训练的。
在本发明的方法的上述另一个示例方面中,可以使用上述任何方法来训练增强图像数据集。
在本发明的方法的上述其它示例性方面中的任何一个中,从所述原始图像数据集中采样的所述一个或多个分割图像可以是包括在所述原始图像数据集中的所有图像的一部分。
在本发明的方法的上述其它示例性方面中的任何一个中,对于来自不用于生成语义增强图像的所述原始图像数据集的一个或多个图像,可以执行全局图像增强以便为所述增强图像数据集生成全局增强图像。
在本发明的方法的上述其它示例性方面中的任何一个中,计算所述相似性得分可以包括计算与所述相应对象标签关联的所述嵌入与表示所述对象库中的所述对象类的所述嵌入之间的余弦相似性或欧几里德距离。
在本发明的方法的上述其它示例性方面中的任何一个中,添加所述选择的至少一个对象可以包括:识别所述分割图像中的上下文相关对象,所述上下文相关对象基于与所述选择的至少一个对象的所述相似性得分来识别;在相对于所述上下文相关对象的位置选择的位置中添加所述选择的至少一个对象。
在本发明的方法的上述其它示例性方面中的任何一个中,所述选择的至少一个对象可以来自基于选择标准识别的所述识别的对象类,以改进原始图像数据集或提高训练神经网络的性能。
在本发明的方法的上述其它示例性方面中的任何一个中,所述选择标准可以是以下之一:将在所述原始图像数据集中表示不足的对象类识别为所述识别的对象类;或将神经网络对其表现不佳的对象类识别为所述识别的对象类。
在本发明的方法的上述其它示例性方面中的任何一个中,所述方法可以包括:对所述语义增强图像执行全局图像增强。
在本发明的方法的上述其它示例性方面中的任何一个中,所述增强图像数据集可以通过将所述相应的语义增强图像添加到所述原始图像数据集来生成。
在本发明的方法的上述其它示例性方面中的任何一个中,所述增强图像数据集可以通过使用所述相应的语义增强图像创建新图像数据集来生成。
在本发明的方法的上述其它示例性方面中的任何一个中,所述方法可以由云计算平台、虚拟机或计算集群执行。
根据另一个示例性方面,本发明提供了一种计算系统,包括:存储指令的存储器;以及与所述存储器通信的处理设备。所述处理设备用于执行存储在所述存储器中的指令,以使所述计算系统执行上述任何方法。
根据本发明的另一个示例性方面,提供了一种非瞬时性计算机可读介质,其上编码有指令,所述指令由计算系统执行时,所述指令使所述计算系统执行上述任何方法。
根据本发明的另一个示例性方面,提供了一种计算机程序,所述计算机程序包括指令,所述指令由计算系统执行时,所述指令使所述计算系统执行上述任何方法。
附图说明
现在通过示例参考示出本申请的示例性实施例的附图,其中:
图1示出了对象标签中的词如何处理成词嵌入的示例;
图2是用于增强图像的示例性方法的流程图;
图3是用于创建对象库的示例性方法的流程图;
图4是可用于实现本文所述的示例性实施例的示例性计算系统的框图;
图5是实现本文所述的示例性实施例的计算平台训练神经网络的示例性数据流的框图;
图6示出了可用于实现本文所述的示例性实施例的示例性用户界面。
不同附图中可以使用相同的附图标记来表示相同的组件。
具体实施方式
在本文公开的示例性实施例中,描述了考虑图像的对象级上下文的图像增强的方法和系统。本文公开的示例性方法和系统可以有助于解决图像数据集中的类别不平衡问题。
在用于训练对图像执行预测任务(例如对象检测)的神经网络的图像数据集中,图像数据集的训练图像中的每个对象与识别对象类的相应对象类标签关联。但是,图像数据集可能存在类别不平衡的问题。例如,图像数据集中的类分布(即,由图像数据集中的所有对象类标签表示的对象类的分布)可能会倾斜,使得存在表示不足的少数类。这表示,相比于与其它对象类关联的图像数量,数据集中与代表少数对象类的对象类标签关联的图像数量在统计上是稀少的。使用具有类别不平衡的图像数据集训练神经网络的结果是,经过训练的神经网络在对包括少数类中对象的未标记图像生成预测(例如,执行对象检测)时性能达不到最优。
图像增强方法是用于增强图像数据集中的图像的技术,以丰富用于训练对图像执行预测任务的神经网络的图像,从而提高经过训练的神经网络在生成预测(例如,为在每个相应图像中检测到的每个对象生成预测的对象类别标签)方面的性能。图像增强方法可用于生成新图像,以帮助平衡图像数据集中的类分布。为了帮助理解本发明,首先讨论了用于图像增强的一些现有方法(即图像增强方法)。
如上所述,一些现有的图像增强方法在全局(或整个图像)级别上修改图像。即,修改应用于整个图像,而不考虑输入图像的语义内容或图像中的单独对象。全局图像增强的示例包括几何方法(例如,图像翻转、图像裁剪、图像旋转等)和光度方法(例如,应用颜色抖动、应用边缘增强、向图像添加噪声或更改为灰度等)。这类全局图像增强方法并不能解决图像数据集中的类别不平衡问题。
一些更先进的图像增强方法也被开发出来。剪切(CutOut)(例如,由DeVries等人描述,“使用剪切的卷积神经网络的改进正则化(Improved regularization ofconvolutional neural networks with cutout)”,arXiv preprint arXiv:1708.04552,2017)是一种图像增强方法,其中,对象的一个实例的归一化特征与对象的另一个实例的特征矩组合,使得能够平滑出决策边界的不同方向。混合(Mixup)(例如,Zhang等人描述,“混合:超越经验风险最小化(mixup:Beyond empirical risk minimization)”,arXivpreprint arXiv:1710.09412,2017)同时插值特征和标签空间中的两个训练输入。剪切混合(例如,由Yun等人描述,“剪切混合:训练具有可本地化特征的强分类器的正则化策略(Cutmix:Regularization strategy to train strong classifiers with localizablefeatures)”,IEEE国际计算机视觉会议记录,2019年)随机裁剪图像的矩形区域,并将裁剪的矩形区域粘贴到另一个图像中,混合与每个输入图像贡献到最终增强图像的像素数成比例的标签。但是,这种现有的图像增强方法不考虑输入图像中实际对象的上下文。
目前存在一些对象级图像增强方法。对象级图像增强方法修改输入图像中的实际对象,例如通过向输入图像中添加新对象以生成新图像。现有的示例性对象级图像增强方法是复制粘贴(Copy-Paste)(例如,由Ghiasi等人描述,“简单复制粘贴是实例分割的强数据增强方法(Simple Copy-Paste is a Strong Data Augmentation Method forInstance Segmentation)”,arXiv preprint arXiv:2012.07177,2020)。在复制粘贴中,随机选择两个输入图像,应用随机尺度抖动,然后随机选择一个输入图像中的对象实例子集以粘贴到另一个输入图像上。结果获得添加了对象的实例(即对象实例)的生成的图像,但是没有考虑输入图像的语义内容和添加对象的上下文相关性。这表示生成的图像可以包括与图像的整体场景无关的添加对象(例如,飞机可以粘贴在水下场景的图像中),并且可能不代表现实生活中的图像。对使用包括这种生成的图像的图像数据集训练的图像执行预测任务的神经网络可能会学习不适当的关联,导致由神经网络生成的预测中的精度损失。
已经开发了一种考虑输入图像上下文的对象级图像增强方法(例如,由Dvornik等人描述,“建模视觉上下文是增强对象检测数据集的关键(Modeling visual context iskey to augmenting object detection datasets)”,欧洲计算机视觉会议记录(Proceedings of the European Conference on Computer Vision,EECV),2018年)。在这种先前开发的对象级图像增强方法中,训练上下文神经网络以预测适合图像上下文的对象类。但是,使用额外的上下文神经网络会引入额外的开销(例如,需要大量的额外处理能力和内存资源),并且依赖于数据集(例如,上下文神经网络需要对每个域进行重新训练)。
在各种示例中,本发明描述了用于图像语义增强的方法和系统,其能够实现上下文相关的对象级图像增强,而不需要使用额外的神经网络来识别图像的上下文。
本文描述的用于图像语义增强的示例性方法和系统使用词嵌入来识别可用于增强输入图像的上下文相关对象。词嵌入已被用于自然语言处理(natural languageprocessing,NLP)方法中,以编码词的语义含义。为了帮助理解本发明,现在提出了对词嵌入和一些相关术语的讨论。
图1示出了如何从词生成词嵌入的简化示例。词可以包括在语料库中。语料库是表示语言域(通常是单一语言)的文本集合。语料库包括多个词,并且词通常基于它们在词序列中(例如,在句子中)的相对位置彼此具有关系。语料库还可以包括非词,例如符号(例如,“?”、“!”和其它标点符号)、空格或数字字符。
分词是一种将语料库分离为称为标记(token)的单元的技术。标记通常是词,非词被丢弃。在一些示例中,标记可以是一个短语或一组词。例如,文本串“来这里,狗!”可以被分词为标记“来”、“这里”和“狗”。在图1中,示出了标记102“狗”。标记102可以被编码成稀疏向量表示,例如独热向量104。在独热向量104中,在对应于标记102的索引处只有一个非零条目(通常具有值“1”),并且所有其它条目都为零。独热向量104可以进一步处理成标记102的密集向量表示,称为嵌入106(或更具体地,在嵌入106表示词的示例中的词嵌入)。嵌入106是标记102(例如,可以是词或短语)的数字向量表示,其比独热向量104(即,具有更多的非零值)更密集,并且以导致语义相关标记102在向量空间中彼此更接近的方式表示标记102(其中,向量空间是由从语料库生成的所有嵌入106定义的空间)。例如,与表示标记“狗”的第一嵌入106与表示标记“蛋糕”的第三嵌入106之间的距离相比,表示标记“狗”的第一嵌入106与表示标记“小狗”的第三嵌入106在向量空间中应该彼此更接近。
嵌入106的维度可以取决于用于学习嵌入106的技术。例如,在图1中,嵌入106表示为1×6向量(即,维数为6),具有不同的阴影用于表示嵌入106中每个维度的不同值(或权重)。虽然在本示例中,示出嵌入106具有维数6,但通常嵌入106可以具有任何维数,通常大于6(例如,数十或数百个量级的维数)。各种技术可用于学习给定标记的嵌入106。例如,无监督表示学习可用于学习给定标记102的嵌入106(例如,学习嵌入106中每个条目或维度的权重)。一些现有的基于机器学习的嵌入生成技术包括来自变换器的双向编码器表示(bidirectional encoder representations from transformers,BERT)(例如,由Devlin等人描述,“BERT:用于语言理解的深度双向变换器的预训练(BERT:Pre-training of DeepBidirectional Transformers for Language Understanding)”,arXiv preprint arXiv:1810.04805v2,2019)、词到向量(Word2Vec)(例如,由Mikolov等人描述,“词和短语的分布式表示及其组成性(Distributed Representations of Words and Phrases and theirCompositionality)”,arXiv preprint arXiv:1310.4546,2013)、全局向量(GloVe)(例如,由Pennington等人描述,“GloVe:用于词表示的全局向量(GloVe:Global Vectors forWord Representation)”,2014年自然语言处理实证方法会议记录(EMNLP),第1532-1543页,2014年)和fastText(例如,由Bojanowski等人描述,“用子词信息丰富词向量(Enriching Word Vectors with Subword Information)”,arXiv preprint arXiv:1607.04606v2,2017)。
整个语料库可以被类似地处理以学习多个嵌入106,每个嵌入具有相同数量的维度(也称为具有相同数量的特征或相同数量的条目)。从语料库的标记学习的嵌入106的集合可以表示向量空间或潜在码空间,其表示包括在语料库中的词汇以及词汇表中的语义关系。
图2是用于输入图像的语义增强的示例性方法200的流程图。方法200从输入图像生成新图像,其中,生成的图像是输入图像的语义增强。在本示例中,输入图像的语义增强表示,通过在图像中添加至少一个新对象来增强图像,其中,新对象与输入图像中的一个或多个原始对象上下文相关。方法200可用于生成可添加到图像数据集中的新图像,例如以补偿图像数据集中的类别不平衡,或将新对象类引入图像数据集中,以及其它应用。
方法200可用于从任何输入图像生成新图像。输入图像可以是静态图像(例如,数字照片),或动态图像(例如,来自数字视频的一个或多个帧的序列)。输入图像可以是从图像数据集采样的图像,也可以是不属于任何图像数据集的图像。在从图像数据集采样输入图像的示例中,生成的图像可以添加到相同的图像数据集,可以添加到不同的图像数据集和/或可以用于创建新的图像数据集,等等。
可选地,在202中,对输入图像执行对象分割以生成分割输入图像。对象分割可以使用对输入图像进行分割的任何合适的DNN来执行,例如MaskRCNN(例如,由He等人描述,“Mask R-CNN”,arXiv preprint arXiv:1703.06870v3,2018)或U-Net(例如,由Ronneberger等人描述,“U-Net:用于生物医学图像分割的卷积网络(U-Net:ConvolutionalNetworks for Biomedical Image Segmentation)”,arXiv preprint arXiv:1505304597v1,2015),等等。对象分割的结果是生成的分割输入图像,其中,已检测到生成的分割输入图像中的对象,并与相应的对象类标签关联。属于检测对象的每个实例的像素组被识别并与相应的对象类标签关联。另外或或者,定义表示检测到的对象的每个实例的位置的边界框(例如,由边界框顶点的x和y坐标定义,在分割输入图像的参考帧中),并与相应的对象类标签关联。结果是,分割输入图像与一个或多个对象类标签的集合关联,并且还与每个相应对象类标签的像素组和/或边界框的集合关联。
在一些示例中,对象分割可以在方法200之前执行(例如,从图像数据集采样的输入图像可以已经被分割),并且步骤202可以被省略。
在204中,接收与一个或多个对象类标签关联的分割输入图像。分割输入图像可以作为在可选步骤202中执行对象分割的结果被接收(即,接收分割输入图像可以包括从未标记的输入图像生成分割输入图像)。可以通过从图像数据集中对分割输入图像进行采样来接收分割输入图像。分割输入图像也可以作为来自任何其它图像源的输入接收。
在206处,为与分割输入图像关联的每个对象类标签生成嵌入。例如,每个对象类标签可以是与分割输入图像中的相应对象(例如,由边界框和/或分配给该对象的一组像素定义)关联的文本串(例如,词、词组或短语)。可以选择合适的嵌入技术(例如,BERT、Word2Vec、GloVe或fastText)来为每个对象类标签生成相应的嵌入。例如,嵌入技术可以(例如,由用户)从多种可能的嵌入技术中选择(通过在客户端设备上呈现的图形用户界面,如以下参考图6所述)。在其它示例中,嵌入技术可以是预定义的或默认选择的(例如,不需要用户选择)。使用选择的嵌入技术,预训练的神经网络(也可以称为预训练嵌入器)可能已经处理了现有的语料库以生成嵌入的集合。嵌入的集合可以存储为嵌入词典,其中,词典中的每个条目是与预训练嵌入器生成的对应嵌入关联的文本串(例如,词或短语)。然后,通过在嵌入词典中查找每个对象类标签,以识别和选择表示每个相应对象类标签的相应嵌入,可以为与分割输入图像关联的每个对象类标签生成嵌入。在一些示例中,分词可以在嵌入生成之前或作为嵌入生成的一部分执行。例如,如果对象类标签包括多个词(例如,包括短语)和/或包括标点符号,则可能需要分词。步骤206的结果是与分割输入图像关联的一个或多个嵌入的集合,其中,每个嵌入表示分割输入图像中相应对象的对象类标签。
在一些示例中,分割输入图像可以已经与表示分割输入图像中对象的嵌入关联(例如,如果分割输入图像先前在使用方法200的先前语义增强中使用),并且步骤206可以被省略。例如,分割输入图像可以从先前已经被增强(例如,为了实现目标目的,例如平衡图像数据集中的类分布),并且正在再次被增强(例如,为了实现不同的目标目的,例如将新对象类引入图像数据集中)的图像数据集采样。
在一些示例中,可能不会使用选择的嵌入技术为给定对象类标签生成嵌入。例如,给定对象标签可以使用词或短语,该词或短语在向量空间中没有表示该词或短语的对应嵌入,或者在嵌入词典中没有对应条目。无法为其生成嵌入的任何对象类标签可以被标记以进行进一步处理。例如,可以请求用户的输入以提供可为其生成嵌入的替代对象类标签。例如,可以向用户提供对象类标签的可能同义词列表(例如,通过在数字同义词库中查找对象类标签获得),并要求用户选择一个同义词。然后,可以使用选择的同义词生成嵌入。
在一些示例中,可能不需要用户输入来提供替代对象类标签。例如,不是要求用户从可能同义词列表中选择同义词,而是可以通过生成可能同义词列表(例如,通过查询数字同义词库获得)和选择最常用的同义词(例如,基于数字同义词库中指示的词用法)作为可从中生成嵌入的替代对象类标签(例如,可使用公共同义词“橱柜”来生成嵌入,而不是对象类标签“橱柜”)在没有用户输入的情况下识别最可能同义词。在另一个示例中,如果给定的对象类标签没有可以生成的对应嵌入,则对象类标签可以进一步分解为更小的标记(例如,将复合词拆分为子词,删除后缀和词缀,等等)并且嵌入可以从较小的标记生成(例如,对象类标签“水滴”可以分解为标记“水”和“滴”,并且嵌入可以从较小的标记生成)。在另一个示例中,如果给定的对象类标签不具有可生成的对应嵌入,并且对象类标签被分词为多个标记,则可以组合(例如,级联)两个或更多个标记,并且可以从组合的标记生成嵌入(例如,标记“眼”和“镜”可以组合成单个标记“眼镜”,并且可以从组合的标记生成嵌入)。
在一些示例中,如果给定的嵌入技术无法为与分割输入图像关联的所有对象类标签生成嵌入,则可以选择不同的嵌入技术代替。例如,如果词嵌入技术没有为与分割输入图像关联的所有对象类标签生成嵌入,则可以使用序列嵌入技术(或短语嵌入技术)技术代替。
在208处,计算与分割输入图像关联的每个嵌入与表示对象库中的对象类的每个嵌入之间的相似性得分。对象库是存储对象图像的数据库,其中,每个对象图像表示来自多个对象类中的一个对象类的单个对象。对象库中的每个对象图像与表示对应对象类的相应嵌入关联。每个对象图像还可以与从对象图像的背景分割对象的相应掩码关联。例如,掩码可以是指示对象图像中对应于对象的像素(从而从对象图像的背景中分割对象)的像素级二进制掩码。在一些示例中,例如,当对象图像具有纯白或纯黑背景时,可能不需要存在与对象图像关联的掩码。对象库的进一步细节,包括用于生成对象库的示例性方法,将在下文进一步描述。
相似性得分是在与分割输入图像关联的每个嵌入与对象库中的每个对象类之间计算的。即,如果存在与分割输入图像关联的n个嵌入(对应于在分割输入图像中检测到的n个对象),并且对象库中存在m个对象类,则计算n×m相似性得分。
相似性得分可以是表示向量空间中两个嵌入彼此有多接近的任何度量(其中,向量空间由从对象库中所有对象类标签的语料库生成的所有嵌入的集合定义)。如上所述,向量空间中的两个嵌入之间的距离表示由嵌入表示的标记(例如,词)之间的语义关系。因此,在向量空间中彼此更接近的两个嵌入比在向量空间中彼此更远的两个嵌入在语义上更相关和上下文上更相关。可用作相似性得分的一些示例性度量包括余弦相似性和欧几里德距离等。
例如,为了计算与分割输入图像关联的一个嵌入(例如,表示为A的向量)与表示对象库中的对象类的另一个嵌入(例如,表示为B的向量)之间的相似性得分,余弦相似性可以计算如下:
在另一个示例中,嵌入A与嵌入B之间的相似性得分可以使用欧几里德距离计算,如下所示:
其中,xA和xB分别表示向量空间中嵌入A和嵌入B的欧几里德x坐标;yA和yB分别表示嵌入A和嵌入B的欧几里德y坐标。需要说明的是,该示例性欧几里德距离计算说明了在相对简单的二维向量空间中的计算。一般来说,向量空间可以是高维的(例如,根据嵌入的维数,具有数十或数百个维度),欧几里德距离计算应相应地修改。
无论相似性得分是如何计算的,步骤208的结果是相似性得分的集合,表示分割输入图像中的每个标记对象与对象库中的每个对象类之间的相似性(以及因此上下文相关性)。
在一些示例中,相似性得分可以相对于一个或多个感兴趣的对象类(而不是相对于对象库中的所有对象类)计算。例如,定义的选择标准(下文关于步骤210更详细地讨论)可以指示应该添加到分割输入图像的一个或多个特定对象类。因此,可以计算与分割输入图像关联的嵌入与表示感兴趣的一个或多个对象类(而不是对象库中的所有对象类)的嵌入之间的相似性得分。这可以减少步骤208所需的计算数量。
在210中,基于计算的相似性得分和定义的选择标准,从对象库中选择至少一个对象。至少一个对象是从被识别为与分割输入图像中的一个或多个标记对象上下文相关并且与语义增强的目标目的相关的对象库的至少一个对象类中选择的。
从对象库中选择至少一个对象可以包括首先识别来自对象库中具有最高相似性得分的对象类的数量(例如,直到定义的数量,例如5或10)。具有高相似性得分表示识别的对象类与分割输入图像中的标记对象上下文相关。
从识别的对象类中,根据定义的选择标准选择一个(或多个)对象类。选择标准可以基于语义增强的目标目的(或预期目的)定义。例如,如果语义增强旨在纠正图像数据库中对应于给定对象类的对象实例的缺乏(例如,目标目的是增加属于给定对象类的对象实例的数量),则选择标准可以是从属于该给定对象类的对象库中选择对象。在另一个示例中,如果语义增强旨在纠正一般的任何类别不平衡(例如,目标目的是增加属于任何表示不足的类别的对象实例的数量),则选择标准可以是选择属于图像数据集中表示不足的任何对象类的对象(例如,图像数据集中对象实例的数量低于最小阈值的任何对象类)。在另一个示例中,如果语义增强旨在纠正对在图像数据集上训练的图像执行预测任务的神经网络的不佳性能(例如,目标目的是提高神经网络对神经网络对其表现不佳的任何类别的性能),选择标准可以是选择属于神经网络对其性能较差(例如,平均精度(mAP)低于最小阈值)的任何对象类的对象。在另一个示例中,选择标准可以是简单地选择属于对象类的对象,该对象与分割输入图像中的标记对象具有最高相似性(例如,目标目的是增加输入图像中上下文相关的对象实例的数量)。应当理解,可以根据语义增强的其它目标目的定义其它选择标准。还应当理解,选择标准可以是不同标准的组合。
在一些示例中,选择标准可以包括相似性得分必须满足(例如,满足或超过)相似性阈值的要求。例如,选择的对象必须来自对象类,该对象类与分割输入图像中的标记对象具有满足或超过相似性阈值的相似性得分。这种选择标准可以有助于确保选择的对象与分割输入图像中的标记对象上下文相关。这种选择标准还可能导致没有选择对象来增强分割输入图像。选择标准可能需要结合上文讨论的另一个选择标准使用相似性阈值。例如,选择标准可以是选择属于表示不足的对象类的对象,并且还要求满足相似性阈值。如果分割输入图像不包括任何与表示不足的类别足够相似的标记对象,则不能从表示不足的类别中选择任何对象来增强分割输入图像。例如,如果表示不足的类别是对象类“飞机”,并且分割输入图像是具有是所有水下对象的标记对象的水下场景,则对象类“飞机”与标记对象之间的相似性得分可能不符合相似性阈值,并且可以选择来自对象类“飞机”的对象来增强分割输入图像。如果在步骤210中没有选择对象,则方法200可以结束。
因此,基于相似性得分和定义的选择标准,来自对象库的至少一个对象类被识别为与分割输入图像上下文相关,并且也与图像增强的目标目的相关。在一些示例中,可以基于旨在改进特定图像数据集的选择标准来识别对象类。在其它示例中,可以基于仅基于相似性得分而不考虑任何特定图像数据集的选择标准来识别对象类。在一些示例中,当在步骤208中计算相似性得分时,可能已经考虑选择标准(例如,仅相对于由选择标准指示的感兴趣的对象类计算相似性得分),使得在步骤210中至少一个对象的选择可能需要仅基于相似性得分。
从对象库中选择属于识别的对象类的对象。对象可以从对象库中属于对象类的所有对象中随机选择。更具体地,可以随机选择与识别的对象类关联的对象图像(例如,与属于识别的对象类的对象类标签关联),并且与对象图像关联的掩码可以用于将对象与对象图像隔离。
在212处,将选择的对象添加到分割输入图像中,以生成新生成的图像。在一些示例中,选择的对象可以添加在分割输入图像中的任何任意位置。在其它示例中,可以在分割输入图像中的选择的位置添加选择的对象,其中,基于已在分割输入图像中的其它对象的位置选择选择的位置。例如,分割输入图像中与选择的对象的对象类最相似(例如,具有最高相似性得分)的上下文相关对象可以用作选择添加选择的对象的位置的基础。选择的位置可以通过选择将选择的对象放置在分割输入图像中上下文相关对象附近但不模糊的位置来确定。例如,可以确定上下文相关对象中间的坐标(例如,上下文相关对象的中间可以确定为关联边界框的中间,或者可以确定为关联像素区域的中间),然后可以调整(例如,增加或减少)x和/或y坐标以在上下文相关对象与所添加的选择的对象之间实现所需的重叠量(例如,没有重叠、部分重叠或完全重叠)。如果上下文相关对象是背景对象,则可以将选择的对象添加到上下文相关对象的中间,而不调整重叠。
在一些示例中,方法200可以在步骤212之后结束,并且可以输出生成的图像。例如,可以输出生成的图像以存储在图像数据集中,然后可以使用该图像数据集训练对图像执行预测任务的神经网络。在一些示例中,可以对生成的图像执行可选的步骤214和/或216。
可选地,在214处,可以对添加在生成的图像中的选择的对象执行对象增强。对象增强是指仅对选择的对象而不是全局图像执行的修改。此对象增强可能发生在添加选择的对象之前、期间或之后。例如,可以执行对象增强以更好地将选择的对象的图像属性与生成的图像作为整体的图像属性匹配。各种技术可用于对象增强,包括例如旋转、翻转、缩放、直方图均衡、转换为灰度和/或颜色平衡等。另外或或者,可以使用任何合适的技术(例如高斯混合或泊松混合等)将选择的对象作为一个整体混合到生成的图像的场景中。可以执行步骤214处的可选对象增强以实现看起来更自然(例如,在视觉上类似于未被语义增强的图像)的生成的图像。看起来更自然的生成的图像对于训练对象检测神经网络可能更有用(例如,神经网络不太可能学习意外的非自然特征)。
可选地,在216处,可以对生成的图像执行全局图像增强。这可以是可用于增强图像的任何现有的图像增强技术,包括例如翻转、裁剪、旋转、颜色抖动、边缘增强和/或转换为灰度等。例如,全局增强的生成图像可以作为在步骤212中最初生成的生成图像的补充或替代输出。
使用示例性方法200,从输入图像生成语义增强图像。生成的图像包括一个或多个添加的对象,这些对象与输入图像中最初的标记对象上下文相关。此外,添加的对象可以以导致看起来更自然的生成图像的方式添加(例如,添加的对象被添加在靠近上下文相关对象的选择位置)。生成的图像可以添加到现有的图像数据集中,例如,为了纠正图像数据集中的类别不平衡,或者将新对象类引入图像数据集中。生成的图像还可用于创建新的图像数据集。
现在讨论用于创建对象库的示例性方法。对象库可以是可用于语义增强的对象源,如上所述。
图3是用于创建对象库的示例性方法的流程图。对象库可以在执行方法200之前的任何时间创建。使用方法300创建对象库可以由用于执行方法200的相同或不同的计算系统执行。下文进一步讨论用于执行本文公开的用于创建对象库的示例性方法的示例性系统的进一步细节。
在302处,获得分割对象图像的集合。分割对象图像的集合可以是优选包括覆盖大量对象类的对象实例的任何大型图像集合,例如在线图像数据库,或多个图像数据集的聚合,等等。由于对象库不直接用于训练执行预测任务(例如对象检测)的神经网络,因此分割对象图像的集合可能不需要表示公共域和/或具有相似的图像质量。这可以使分割对象图像的集合(以及由此创建的所得对象库)包括覆盖大量对象类的大量对象实例。此外,与用于训练目的的图像不同,对象库中的对象图像可能不需要表示如何在现实生活中的图像中找到对象(例如,对象可以在纯白背景中显示,或以其它方式去上下文化)。
分割对象图像的集合中的图像可以使用任何合适的对象检测和分割技术进行分割。因此,每个分割对象图像可以已经与至少一个对象标签关联。
可选地,在304处,可以裁剪对象图像以将每个对象图像限制为对象的单个实例。例如,如果来自在步骤302处获得的集合的对象图像包括多个对象,则可以裁剪对象图像以获得单独的对象图像,每个对象图像包括对象的单个实例。还可以执行裁剪以从对象图像中删除尽可能多的背景。例如,可以通过将图像裁剪到每个对象实例的边界框来执行裁剪。这种裁剪可以有助于减小对象图像的大小(例如,帮助减少在对象库中存储对象图像所需的内存)和/或使对象图像中的对象在语义增强期间更容易添加到另一个图像中。
可选地,在306处,可以为每个对象图像生成掩码。例如,可以生成像素级二进制掩码,以从对象图像中的其它背景像素中分割对应于对象的像素。在一些示例中,该步骤可以被省略(例如,在步骤302处获得的分割对象图像的集合可以已经包括掩码)。
在308处,为与每个对象图像关联的对象标签生成嵌入。嵌入可以生成任何合适的嵌入技术(例如,BERT、Word2Vec、GloVe或fastText)。例如,类似于上述在步骤206处生成对象标签嵌入,在步骤308处为每个对象图像生成嵌入可以包括:访问已经由预训练嵌入器生成的嵌入词典,在词典中查找对应于与对象图像关联的对象标签的条目,并从词典中选择对应的嵌入。需要说明的是,为了使对象库的嵌入与在语义增强期间增强的输入图像的嵌入相当,在步骤308处用于生成嵌入的嵌入技术(以及嵌入的维度大小)应该与上述在步骤206处用于生成嵌入的嵌入技术相同。在步骤206和308处通过访问已经生成的嵌入词典来生成嵌入的示例中,应该在步骤206和步骤308处访问相同的词典。
在310处,每个对象图像与相应的对象标签、相应的嵌入和相应的掩码关联地存储。在一些示例中,每个对象图像也可以与相应的边界框关联地存储(如果对象图像已经被裁剪到对象的边界框,则可能不存在与对象图像关联的任何边界框)。结果是对象库,可用于选择用于语义增强的对象,如上所述。对象库可以存储在物理或虚拟数据库中,例如在物理服务器或虚拟服务器上(例如,使用云计算平台上的分布式资源)。
图4是计算系统400的简化示例性实现方式的框图,该计算系统400可以适合于实现本文所述的方法和系统的实施例。例如,计算系统400可用于使用方法200执行图像的语义增强。相同或不同的计算系统400可用于使用方法300创建对象库。本发明的方法和系统的示例可以在其它计算系统中实现,所述其它计算系统可以包括与下文讨论的组件不同的组件。
虽然图4示出了每个组件的单个实例,但是在计算系统400中可能存在每个组件的多个实例。此外,尽管计算系统400示为单个块,但计算系统400可以是单个物理机或设备(例如,实现为单个服务器),或者可以包括多个物理机或设备(例如,实现为服务器集群)。例如,计算系统400可以表示一组服务器或云计算平台,提供计算资源的虚拟化池(例如,虚拟机、虚拟服务器)。
例如,计算系统400可以是可由一个或多个客户端设备(例如用户设备)访问并向其提供服务的网络侧设备(例如服务器)。在其它示例中,计算系统400可以是用户侧设备,例如笔记本电脑、计算机、平板电脑或工作站,等等。在一些示例中,计算系统400可以是边缘计算设备。
计算系统400可以包括至少一个处理单元402,例如处理器、微处理器、数字信号处理器、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、专用逻辑电路、专用人工智能处理单元、张量处理单元、神经处理单元、硬件加速器,或其组合。
计算系统400可以包括至少一个网络接口408,用于与网络中的其它计算系统进行有线或无线通信。网络接口408可以包括用于网络内和/或网络间通信的有线链路(例如,以太网线)和/或无线链路(例如,一个或多个天线)。例如,网络接口408可以实现计算系统400、存储对象库410(即数据库)的计算系统和存储图像数据集420的计算系统之间的通信。在一些示例中,对象库410可以位于计算系统400的本地(例如,在同一云计算平台上),或者可以是在计算系统400可远程访问(即,可通过网络访问)的另一个计算系统(例如,在远程服务器上)上。在一些示例中,图像数据集420可以存储在与对象库410相同或不同的计算系统上。在一些示例中,图像数据集420可以存储在与计算系统400通信以访问由计算系统400提供的服务的客户端设备中。例如,计算系统400可以提供图像增强服务以增强由客户端设备管理的图像数据集420。
计算系统400可以包括至少一个存储器404,所述至少一个存储器404可以包括易失性或非易失性存储器(例如,闪存、随机存取存储器(random access memory,RAM)和/或只读存储器(read-only memory,ROM))。非瞬时性存储器404可以存储由处理单元402执行的指令,例如,以执行本发明中所述的方法的示例性实施例。例如,如图4所示,存储器404可以存储用于语义增强子系统406的指令,所述指令可以由处理单元402执行,以便执行方法200的示例。存储器404可以包括其它指令,例如用于实现方法300、操作系统和其它应用/功能的指令。在一些示例性实施例中,另外或或者,计算系统400的处理单元402可以执行从外部存储器(例如,与服务器有线或无线通信的外部驱动器)接收的指令,或者可以由瞬时性或非瞬时性计算机可读介质提供可执行指令。非瞬时性计算机可读介质的示例包括RAM、ROM、可擦除可编程ROM(erasable programmable ROM,EPROM)、电可擦除可编程ROM(electrically erasable programmable ROM,EEPROM)、闪存、CD-ROM或其它便携式存储器。
计算系统400还可以包括其它存储单元(未示出),所述存储单元可以包括固态驱动器、硬盘驱动器、磁盘驱动器和/或光盘驱动器等大容量存储单元。
本发明的系统和方法的示例可以作为对象检测神经网络训练的一部分实现。例如,语义增强可用于在使用图像数据集训练神经网络之前或期间增强该图像数据集。例如,计算机系统400可以是提供机器学习即服务(machine learning as a service,MLaaS)的云计算平台,该MLaaS提供服务,包括对客户端设备的训练服务,用于训练对象检测神经网络。训练服务可以向客户端设备提供增强图像数据集420的选项,例如使用本文公开的用于语义增强的方法。
图5是云计算平台500提供的MLaaS的训练服务510训练对象检测神经网络的示例性数据流的图。训练服务510由用户用于训练对图像执行预测任务(例如对象检测或语义分割)的神经网络。MLaaS可以使用云计算平台的基础设施来实现,包括虚拟化计算资源(例如,虚拟机)或计算集群(例如,使用池化资源),等等。
在本示例中,客户端设备502(例如,用户设备、客户端终端、智能手机、笔记本电脑、平板电脑、个人计算机、工作站等)可以通过网络与提供给云计算平台500的MLaaS通信,以访问由MLaaS提供的服务,包括训练服务510。客户端设备502可以托管需要使用训练服务510进行训练的对象检测神经网络。或者,客户端设备502当前可以不具有任何对象检测神经网络,并且可以从云计算平台500的MLaaS请求经过训练的对象检测神经网络。
客户端设备502向SaaS平台500提供训练输入。例如,训练输入可以包括要训练的神经网络架构(例如,从训练服务510中可用的神经网络架构512中选择,例如,Efficientdet、Mask R-CNN、YOLOv4和其它可能的架构)、一个或多个训练参数(例如,可以为训练服务510设置的训练参数516的值,例如学习速率、批处理大小、回合数量等),以及一个或多个增强技术(例如,从训练服务510中可用的增强技术选项514中选择)。特别地,在训练服务510中可用的增强选项514可以包括全局图像增强技术(例如,图像缩放、图像旋转、颜色抖动等)以及语义增强技术(例如,使用本文公开的方法200的语义增强)。
在一些示例中,客户端设备502可以提供机器学习模型(例如,通过网络与训练输入一起或在训练输入之后,向云计算平台500提供的MLaaS传输),以由训练服务510训练,而不是选择由MLaaS提供的神经网络架构512中的一个。例如,客户端设备502可以已经托管对象检测神经网络,并且可以使用训练服务510进一步训练对象检测神经网络以更新对象检测神经网络的参数(例如权重和偏差)。在其它示例中,训练输入可以指示来自要由训练服务510训练的另一个数据库(例如,另一个云计算资源)的另一个神经网络架构。
在一些示例中,训练服务510可以使用由客户端设备502提供的图像数据集(例如,与训练输入一起或在训练输入之后传输到云计算平台500),或从另一数据库(例如,另一云计算资源)访问的图像数据集来训练对象检测神经网络。在其它示例中,训练服务510可以使用MLaaS提供的图像数据集420训练对象检测神经网络。
如果训练输入指示应该使用一个或多个增强选项514,则执行图像增强以获得增强图像数据集516。例如,语义增强(例如,由语义增强子系统406使用方法200执行)可以由MLaaS提供的训练服务510执行,以增强由客户端设备502提供和/或由MLaaS提供的图像数据集,以获得增强图像数据集516。图5示出了语义增强子系统406使用由MLaaS提供的对象库410和图像数据集420来生成增强图像数据集516的示例。如果选择语义增强以用于增强原始图像数据集420从而获得增强图像数据集516,则语义增强可以用于,也可以不用于增强来自原始图像数据集420的所有图像。例如,仅原始图像数据集420的图像的一部分(例如25%、50%或75%)可以被语义增强。例如,包括在部分中的语义增强的图像可以根据来自客户端设备502的训练输入来选择,或者可以默认设置。在其它示例中,如果选择使用,则可以对来自原始图像数据集420的所有图像执行语义增强。需要说明的是,如果仅对原始图像数据集420的图像部分的图像执行语义增强,则可以对所有图像、图像的相同部分,或来自原始图像数据集420的图像的不同部分执行全局图像增强(例如,使用如图像翻转、旋转、颜色抖动等现有技术)。
训练服务510可以使用训练算法518(例如,使用任何合适的训练算法,例如包括任何合适的反向传播技术),以使用选择的训练参数和增强图像数据集516训练选择的神经网络。需要说明的是,图像增强(例如,包括语义增强)可以在训练选择的神经网络之前和/或期间执行。例如,可以执行图像增强以首先获得增强图像数据集516,然后可以执行训练算法518以使用增强图像数据集516训练选择的神经网络。在一些示例中,除了或代替在训练之前执行的图像增强,图像增强可以在选择的神经网络的训练期间执行,例如,可以针对每个回合执行图像增强,使得对于每个回合,选择的网络正在不同的增强图像数据集516上训练。在选择的神经网络的训练之前而不是在训练期间执行的图像增强可以称为离线增强,而在选择的神经网络的训练期间执行的图像增强可以称为在线增强(应当理解,离线图像增强和在线图像增强都可以由云计算平台500提供的MLaaS的训练服务510执行,并且在本上下文中的术语“离线”和“在线”并不指是否正在使用网络执行增强)。
然后,经过训练的神经网络可以由MLaaS的训练服务510输出,并由云计算平台500通过网络发送到客户端设备502。在一些示例中,例如,当客户端设备502已经托管对象检测神经网络的预训练(或更早)版本时,提供给客户端设备502的输出可以是经过训练的神经网络的更新参数(例如,更新的权重和偏差)。在客户端设备502还没有托管神经网络的版本的示例中,MLaaS的训练服务510可以将神经网络的可执行指令与更新的参数一起输出,更新的参数可以从云计算平台500发送到客户端设备502。或者,客户端设备502可以不需要托管经过训练的神经网络,而是可以访问托管在云计算平台500的MLaaS上的经过训练的网络(和更新的参数),并从MLaSS接收预测(即对象类标签)。
图6示出了示例性用户界面(user interface,UI)600,其可以呈现在客户端设备502的显示设备上,以使训练服务510的用户能够输入由客户端设备502发送到云计算平台500提供的MLaaS的训练输入。应当理解,UI 600只是说明性的,并不意欲限制。
在本示例中,UI 600为训练服务510的用户提供可选择选项602,以提供由客户端设备502托管的神经网络(也称为模型),或者从托管在云计算平台500的MLaaS上的神经网络架构512中进行选择。例如,可选择选项602使训练服务510的用户能够选择对图像执行预测任务(例如对象检测或分割)的特定类型的神经网络。
UI 600还为训练服务510的用户提供可选择选项604,以提供图像数据以用于训练神经网络,或选择由MLaaS的训练服务510提供的图像数据集420。
UI 600还为客户端设备502的用户提供可选择选项606,以选择由云计算平台500提供的MLaaS的训练服务提供的一个或多个增强选项514。在这个示例中,增强选项514包括全局图像增强(例如,成像翻转或旋转)以及语义增强(例如,使用本文公开的方法200)。应当理解,除了图6中所示的选项之外或代替图6中所示的选项,其它增强选项514可以是可用的。如果选项606的选择指示要使用语义增强,则UI 600可以呈现附加选项608-622(例如,只有在选项606处选择语义增强的情况下,才能在UI 600中显示选项608-622;否则,选项608-622可以不在UI 600中显示)。
可选择选项608使训练服务510的用户能够选择经过训练的嵌入器,以用于为对象类标签生成嵌入。例如,由云计算500提供的MLaaS可以托管多个预训练的嵌入器和/或托管(或有权访问)由预训练嵌入器生成的多个嵌入词典。基于选项608中指示的选择,训练服务510然后可以使用选择的预训练嵌入器或由选择的预训练嵌入器生成的词典来为对象类标签生成嵌入。训练服务510的用户还可以选择要生成的嵌入的维度大小。例如,如果选择的预训练嵌入器已经过训练以为不同的嵌入维度(例如,50、100、200或300维度)生成嵌入(或已经生成嵌入词典),训练服务510的用户能够选择用于嵌入的维度大小。在其它示例中,例如,如果选择的预训练嵌入器生成仅一个维度大小的嵌入,则训练服务510的用户可以没有选择嵌入的维度大小的选项。
可选择选项610使客户端训练服务510的用户能够指示如果由客户端设备502提供(例如,如选项604所示),图像数据集是否已经被分割。如果图像数据集尚未被分割,则由MLaaS提供的训练服务510可以使用经过训练的对象检测和分割神经网络(其可以是云计算平台500的MLaaS的另一个服务)在语义增强(例如,在方法200的步骤202)开始时执行图像分割。
如果图像数据集由客户端设备502提供(例如,如选项604所指示),则选项612使训练服务510的用户能够提供与图像数据集关联的对象类标签。MLaaS可以在从客户端设备502接收对象类标签之后,将对象类标签与由选择的嵌入器生成的嵌入词典进行比较。如果存在与在嵌入词典中不具有匹配(或不能使用选择的预训练嵌入器为其生成嵌入)的图像数据集关联的任何对象类标签,则可以在UI 600中呈现选项614,以使训练服务510的用户能够提供替代对象类标签。如上文所讨论的,在一些示例中,可以自动确定替代对象类标签,而不请求训练服务的用户的输入。
可选择选项616使训练服务510的用户能够指示用于计算相似性得分的方法(例如,使用欧几里德距离、余弦相似性或另一种合适的技术;例如在方法200的步骤208中)。
可选择选项618和620使训练服务510的用户能够指示要考虑的最相似对象的数量和要使用的选择标准(例如,基于实例的数量或基线mAP)来选择对象(例如,在方法200的步骤210中)以增强图像。
可选择选项622使训练服务510的用户能够指示要对已经选择以增强图像的对象执行的任何对象增强(例如,在方法200的步骤514中)。
UI 600还可以提供选项(未示出),以使训练服务510的用户能够选择训练参数以用于训练对象检测神经网络。其它选项可以通过UI 600提供。例如,UI 600可以包括选项,该选项使训练服务510的用户能够选择用于选择对象以增强图像的相似性阈值(例如,选择的对象的对象类与图像中的一个或多个对象类标签之间计算的相似性得分必须满足或超过相似性阈值)。
应当理解,上文讨论的一个或多个选项可以从UI 600中省略和/或可以不需要来自训练服务510的用户的输入。如果选项被省略和/或没有为任何可选择选项提供来自训练服务510的用户的输入,则训练服务510可以使用该选项的默认选择。例如,预训练嵌入器(或使用预训练嵌入器生成的嵌入词典)可以由训练服务510选择或预定义,而不是使训练服务510的用户选择用于为对象类标签生成嵌入的预训练嵌入器。
尽管关于由云计算提供商提供的MLaaS 500的训练服务510进行了描述,但应当理解,类似的选项可以用于对象检测神经网络的本地训练(例如,UI 600可以由计算系统400显示在计算系统400的显示设备上,并且计算系统400本身可以使用本地语义增强子系统406执行用于图像语义增强的方法)。
在各种示例性研究中,已经发现,在神经网络在语义增强的图像数据集上训练之后,对图像执行预测任务的神经网络的性能得到提高(与在未增强的图像数据集上训练之后或在使用现有技术增强的图像数据集上训练之后的同一神经网络的性能相比),其中,语义增强的图像数据集包括使用根据本发明的系统和方法生成的新图像。
在各种示例中,本发明描述了用于图像语义增强的方法和系统,其中,图像通过添加一个或多个上下文相关对象来增强。所公开的语义增强方法和系统可用于语义增强图像数据集(例如,纠正图像数据集中的类别不平衡和/或将新对象类引入图像数据集)。对使用这种语义增强的图像数据集训练的图像执行预测任务的神经网络可以具有提高的性能,例如由神经网络生成的预测的精度更高。本文公开的用于语义增强图像的方法和系统还可以有利于训练对图像执行预测任务(例如对象检测、语义分割、光学字符识别或面部识别,等等)的任何神经网络,而不限于任何特定的神经网络架构。
所公开的用于图像语义增强的方法和系统不需要使用额外的神经网络来学习上下文关系,并且避免了与这种额外的神经网络相关的开销和额外的处理和内存负担。所公开的用于语义增强图像的方法和系统也不需要改变正在训练的神经网络的架构,也不需要计算成本昂贵的图像转换或生成。
例如,本发明已经示出了一个相对简单的示例,说明如何将所公开的用于语义增强图像的方法和系统作为MLaaS的训练服务的一部分包括在内。用于图像语义增强的方法和系统的其它示例可以实现为安装在计算系统上运行的独立软件,例如物理机(例如服务器)、物理机集群(例如服务器集群)或由云计算平台提供的一个或多个虚拟机。
所公开的用于图像语义增强的方法和系统可以用于与实例分割以及对象检测相关的应用。所公开的用于图像语义增强的方法和系统可用于神经网络的自监督训练,该神经网络使用语义增强的图像数据集对图像执行预测任务。
本发明的示例可能有助于增加图像数据集的有用性,例如,如果给定对象类的现实生活中的图像在图像数据集中是罕见的或不存在的,通过将稀有对象类的实例添加到图像数据集中的上下文相关图像中。本发明的示例还可以通过以上下文相关的方式将来自一个域的对象添加到不同域中,使位于一个域(例如,在白色背景下显示孤立的对象)中的图像数据集适于不同域(例如,在现实生活中的城市环境中显示对象)。
尽管本发明以特定的顺序描述了方法和流程,但可以视情况省略或更改方法和流程的一个或多个步骤。一个或多个步骤可以按顺序执行,但不是按描述的顺序执行(视情况而定)。
尽管描述了本发明,但至少部分地,就方法而言,本领域普通技术人员将理解,本发明还涉及各种组件,用于通过硬件组件、软件或两者的任意组合执行所描述的方法的至少一些方面和特征。相应地,本发明的技术方案可通过软件产品的形式体现。合适的软件产品可以存储在预先记录的存储设备或其它类似的非易失性或非瞬时性计算机可读介质中,例如,DVD、CD-ROM、USB闪存盘、可移动硬盘或其它存储介质等。软件产品包括有形地存储在其上的指令,这些指令使处理设备(例如,个人计算机、服务器或网络设备)能够执行本文中所公开的方法的示例性实施例。机器可执行指令可以是代码序列、配置信息或其它数据的形式,当执行指令时,这些数据使机器(例如,处理器或其它处理设备)执行根据本发明的示例性实施例的方法中的步骤。
本发明可以其它特定形式体现,而不脱离权利要求的主题。所描述的示例性实施例在所有方面均被视为仅是说明性的而非限制性的。可以对上述一个或多个实施例中的选定特征进行组合,以创建未明确描述的替代实施例,适合此类组合的特征均理解为落入本发明的范围内。
另外还公开了所公开范围内的所有值和子范围。此外,尽管本文所公开和显示的系统、设备和流程可包括特定数量的元素/组件,但可以修改所述系统、设备和组件,以包括此类元素/组件中的更多或更少的元素/组件。例如,尽管所公开的任何元件/组件可以引用为单个数量,但是可以修改本文所公开的实施例以包括多个此类元件/组件。本文所描述的主题旨在覆盖和涵盖所有适当的技术变更。

Claims (22)

1.一种用于生成增强图像的方法,其特征在于,所述方法包括:
为与分割输入图像关联的每个对象类标签生成嵌入;
对于与相应对象类标签关联的每个嵌入,计算与所述对象类标签关联的嵌入与表示包括多个对象图像的对象库中的对象类的嵌入之间的相似性得分;
至少基于所述相似性得分,选择与所述对象库中的相应对象图像关联的至少一个对象,选择的至少一个对象来自识别的对象类,所述识别的对象类被识别为和与所述分割输入图像关联的至少一个对象类标签上下文相关;
将所述选择的至少一个对象添加到所述分割输入图像中,以生成所述增强图像。
2.根据权利要求1所述的方法,其特征在于,为每个对象类标签生成所述嵌入包括:
访问包括多个条目的嵌入词典,每个条目将文本串与相对应的嵌入关联;
通过在对应于每个对象标签的所述嵌入词典中查找所述文本串,为每个对象类标签选择所述嵌入。
3.根据权利要求1或2所述的方法,其特征在于,计算所述相似性得分包括计算与所述相应对象类标签关联的所述嵌入与表示所述对象库中的所述对象类的所述嵌入之间的余弦相似性或欧几里德距离。
4.根据权利要求1至3中任一项所述的方法,其特征在于,添加所述选择的至少一个对象包括:将像素级掩码应用于所述相应对象图像,以从所述相应对象图像中分割所述至少一个对象,以及将分割的至少一个对象添加到所述分割输入图像中。
5.根据权利要求1至4中任一项所述的方法,其特征在于,添加所述选择的至少一个对象包括:
识别所述分割输入图像中的上下文相关对象,所述上下文相关对象基于与所述选择的至少一个对象的所述相似性得分来识别;
在相对于所述上下文相关对象的位置选择的位置中添加所述选择的至少一个对象。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述选择的至少一个对象来自基于选择标准识别的所述识别的对象类,以改进原始图像数据集或提高训练神经网络的性能。
7.根据权利要求1至6中任一项所述的方法,其特征在于,还包括:
对输入图像执行对象分割以生成所述分割输入图像。
8.根据权利要求1至7中任一项所述的方法,其特征在于,添加所述选择的至少一个对象包括:对所述选择的至少一个对象执行对象增强,以及将增强的至少一个对象添加到所述分割输入图像中,以生成所述增强图像。
9.根据权利要求1至8中任一项所述的方法,其特征在于,还包括:
对所述增强图像执行全局图像增强。
10.根据权利要求1至9中任一项所述的方法,其特征在于,还包括:
从图像数据集中对所述分割输入图像进行采样;
将所述增强图像存储在相同或不同的图像数据集中。
11.一种用于提高使用原始图像数据集训练的神经网络的性能的方法,其特征在于,所述方法包括:
通过以下方式,通过对于从所述原始图像数据集采样的一个或多个分割图像,生成相应的语义增强图像来生成增强图像数据集:
为与所述分割图像关联的每个对象类标签生成嵌入;
对于与相应对象标签关联的每个嵌入,计算与所述对象标签关联的嵌入与表示存储多个对象图像的对象库中的对象类的嵌入之间的相似性得分;
至少基于所述相似性得分,选择与所述对象库中的相应对象图像关联的至少一个对象,选择的至少一个对象来自识别的对象类,所述识别的对象类被识别为和与所述分割输入图像关联的至少一个对象标签上下文相关;
将所述选择的至少一个对象添加到所述分割图像中,以生成所述相应的语义增强图像;
使用所述增强图像数据集重新训练所述神经网络。
12.根据权利要求11所述的方法,其特征在于,为每个对象类标签生成所述嵌入包括:
访问包括多个条目的嵌入词典,每个条目将文本串与相对应的嵌入关联;
通过在对应于每个对象标签的所述嵌入词典中查找所述文本串,为每个对象标签选择所述嵌入。
13.根据权利要求11或12所述的方法,其特征在于,从所述原始图像数据集中采样的所述一个或多个分割图像是包括在所述原始图像数据集中的所有图像的一部分。
14.根据权利要求13所述的方法,其特征在于,对于来自不用于生成语义增强图像的所述原始图像数据集的一个或多个图像,执行全局图像增强以便为所述增强图像数据集生成全局增强图像。
15.根据权利要求11至14中任一项所述的方法,其特征在于,计算所述相似性得分包括计算与所述相应对象标签关联的所述嵌入与表示所述对象库中的所述对象类的所述嵌入之间的余弦相似性或欧几里德距离。
16.根据权利要求11至15中任一项所述的方法,其特征在于,添加所述选择的至少一个对象包括:
识别所述分割图像中的上下文相关对象,所述上下文相关对象基于与所述选择的至少一个对象的所述相似性得分来识别;
在相对于所述上下文相关对象的位置选择的位置中添加所述选择的至少一个对象。
17.根据权利要求11至16中任一项所述的方法,其特征在于,所述选择的至少一个对象来自基于选择标准识别的所述识别的对象类,以改进原始图像数据集或提高训练神经网络的性能。
18.根据权利要求11至17中任一项所述的方法,其特征在于,所述增强图像数据集是通过将所述相应的语义增强图像添加到所述原始图像数据集来生成的。
19.根据权利要求11至18中任一项所述的方法,其特征在于,所述增强图像数据集是通过使用所述相应的语义增强图像创建新图像数据集来生成的。
20.一种计算系统,其特征在于,包括:
存储器;
与所述存储器通信的处理设备,所述处理设备用于执行指令以使所述计算系统执行根据权利要求1至19中任一项所述的方法。
21.一种计算机可读介质,其特征在于,包括指令,所述指令由计算系统的处理设备执行时,所述计算系统执行根据权利要求1至19中任一项所述的方法。
22.一种计算机程序,其特征在于,包括指令,所述指令由计算系统的处理设备执行时,所述计算系统执行根据权利要求1至19中任一项所述的方法。
CN202180095088.8A 2021-03-15 2021-07-12 用于图像语义增强的方法和系统 Pending CN116982089A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/202,265 2021-03-15
US17/202,265 US11593945B2 (en) 2021-03-15 2021-03-15 Methods and systems for semantic augmentation of images
PCT/CN2021/105680 WO2022193495A1 (en) 2021-03-15 2021-07-12 Methods and systems for semantic augmentation of images

Publications (1)

Publication Number Publication Date
CN116982089A true CN116982089A (zh) 2023-10-31

Family

ID=83193890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180095088.8A Pending CN116982089A (zh) 2021-03-15 2021-07-12 用于图像语义增强的方法和系统

Country Status (3)

Country Link
US (1) US11593945B2 (zh)
CN (1) CN116982089A (zh)
WO (1) WO2022193495A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11061811B2 (en) * 2017-12-15 2021-07-13 International Business Machines Corporation Optimizing software testing via group testing
US12045992B2 (en) * 2020-11-10 2024-07-23 Nec Corporation Multi-domain semantic segmentation with label shifts
CN117522718B (zh) * 2023-11-20 2024-04-30 广东海洋大学 基于深度学习的水下图像增强方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7933454B2 (en) 2007-06-25 2011-04-26 Xerox Corporation Class-based image enhancement system
US8983179B1 (en) * 2010-11-10 2015-03-17 Google Inc. System and method for performing supervised object segmentation on images
US10373073B2 (en) 2016-01-11 2019-08-06 International Business Machines Corporation Creating deep learning models using feature augmentation
US10475103B2 (en) * 2016-10-31 2019-11-12 Adobe Inc. Method, medium, and system for product recommendations based on augmented reality viewpoints
WO2019237240A1 (zh) 2018-06-12 2019-12-19 中国科学院深圳先进技术研究院 一种增强型生成式对抗网络以及目标样本识别方法
CN111738231B (zh) 2020-08-06 2020-12-11 腾讯科技(深圳)有限公司 目标对象检测方法、装置、计算机设备和存储介质
CN112102303B (zh) 2020-09-22 2022-09-06 中国科学技术大学 基于单图像生成对抗网络的语义图像类比方法

Also Published As

Publication number Publication date
US11593945B2 (en) 2023-02-28
US20220292685A1 (en) 2022-09-15
WO2022193495A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
CN111898696B (zh) 伪标签及标签预测模型的生成方法、装置、介质及设备
CN109117777B (zh) 生成信息的方法和装置
US20230237841A1 (en) Occlusion Detection
CN116982089A (zh) 用于图像语义增强的方法和系统
CN111612010B (zh) 图像处理方法、装置、设备以及计算机可读存储介质
EP3740935B1 (en) Visual tracking by colorization
CN114596566B (zh) 文本识别方法及相关装置
WO2023134402A1 (zh) 一种基于孪生卷积神经网络的书法字识别方法
CN111368066B (zh) 获取对话摘要的方法、装置和计算机可读存储介质
WO2022205416A1 (zh) 一种基于生成式对抗网络的人脸表情生成方法
WO2022187063A1 (en) Cross-modal processing for vision and language
CN113221983A (zh) 迁移学习模型的训练方法及装置、图像处理方法及装置
CN115862040A (zh) 文本纠错方法、装置、计算机设备及可读存储介质
CN116994021A (zh) 图像检测方法、装置、计算机可读介质及电子设备
CN116997908A (zh) 用于分类类型任务的连续学习神经网络系统训练
CN113807354B (zh) 图像语义分割方法、装置、设备和存储介质
CN113554068A (zh) 一种实例分割数据集的半自动标注方法、装置及可读介质
CN113223011A (zh) 基于引导网络和全连接条件随机场的小样本图像分割方法
US12046021B2 (en) Machine learning training dataset optimization
CN115862015A (zh) 文字识别系统的训练方法及装置、文字识别方法及装置
US11887356B2 (en) System, method and apparatus for training a machine learning model
KR20190093752A (ko) 딥 러닝을 이용한 씬 텍스트 검출 방법 및 시스템
CN113468856A (zh) 变异文本的生成、翻译模型的训练、文本分类方法和装置
CN113343979B (zh) 用于训练模型的方法、装置、设备、介质和程序产品
CN117423116B (zh) 一种文本检测模型的训练方法、文本检测方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination