CN116030290A - 在设备上检测数字对象并且生成对象掩膜 - Google Patents

在设备上检测数字对象并且生成对象掩膜 Download PDF

Info

Publication number
CN116030290A
CN116030290A CN202210916947.1A CN202210916947A CN116030290A CN 116030290 A CN116030290 A CN 116030290A CN 202210916947 A CN202210916947 A CN 202210916947A CN 116030290 A CN116030290 A CN 116030290A
Authority
CN
China
Prior art keywords
digital
neural network
detection
digital image
masking
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
CN202210916947.1A
Other languages
English (en)
Inventor
J·W·Y·权
陈苏
S·科恩
林哲
魏子钧
张健明
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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 Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN116030290A publication Critical patent/CN116030290A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • 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
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/143Segmentation; Edge detection involving probabilistic approaches, e.g. Markov random field [MRF] modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)

Abstract

一种在设备上检测数字对象并且生成对象掩膜。本公开涉及利用检测掩蔽神经网络管线生成针对在数字图像中描绘的数字对象的对象掩膜的系统、方法和非暂态计算机可读介质。特别地,在一个或多个实施例中,所公开的系统利用神经网络的检测头来检测在数字图像中描绘的数字对象。在某些情况下,每个检测头与一个或多个数字对象类别相关联,该数字对象类别与其他检测头无关。此外,在某些情况下,检测头实现多尺度同步批量归一化以跨各种特征等级来对特征映射进行归一化。所公开的系统还利用神经网络的掩蔽头来生成针对检测到的数字对象的一个或多个对象掩膜。在一些情况下,所公开的系统利用后处理技术来过滤掉低质量的掩膜。

Description

在设备上检测数字对象并且生成对象掩膜
相关申请的交叉引用
本申请要求于2021年10月23日提交的美国临时专利申请No.63/271,150的优先权和权益,该申请的全部内容通过引用并入本文。
背景技术
近年来,在用于图像编辑的硬件和软件平台方面取得了显著进步。例如,存在很多系统可以检测在数字图像中描绘的数字对象。此外,一些常规系统生成针对在数字图像中检测到的数字对象的对象掩膜。使用所生成的对象掩膜,常规系统能够对数字图像执行各种修改(例如,通过移除或编辑数字对象或者将过滤器应用于数字图像的背景)。
然而,尽管有这些进步,但是常规图像编辑系统仍存在多个技术缺陷,这些缺陷导致低效率、不灵活和不准确的操作。例如,很多常规系统利用需要过多计算资源(诸如,存储器和处理能力)的模型组件。例如,一些常规系统利用组归一化神经网络层或大型主干网络执行目标检测,这在推理时计算成本很高。
除了上述的效率问题,常规图像编辑系统经常不能灵活地操作。例如,由于计算资源的大量消耗,很多常规系统被严格限制为依靠资源丰富的设备来执行对象检测和/或分割。为了说明,很多常规系统需要显示数字图像的客户端设备以将对象检测和分割操作卸载(“offload”)到另一设备(例如,服务器),因为客户端设备缺乏实现用于这样的操作的计算昂贵的模型所必需的资源。此外,一些常规系统在学习标识和分割对象时严格限制于具有预定义类别标签集的封闭集训练示例。结果,阻止了很多常规系统进行检测/分类并且然后分割未被包括在训练示例中的数字图像内的广泛的对象实例。
另外的常规图像编辑系统经常不准确地操作。例如,通过将训练限于封闭集示例,常规系统通常只学习与封闭集相关联的类别特定特征,而无法泛化到未见过的类别的对象。因此,常规系统无法准确地检测到尚未见过的数字对象。此外,常规系统可能针对检测到的对象使用紧密的边界框;然而,这样的边界框可能不利于分割,通常会导致其中对象像素以不自然的方式粘在框边界上的伪影。
常规图像编辑系统存在这些以及附加的问题和难题。
发明内容
利用使用高效的神经网络模型来实现用于对象检测和分割的灵活的设备上管线的系统、方法和非暂态计算机可读介质,本文中描述的一个或多个实施例提供了益处和/或解决了本领域中的一个或多个前述问题。特别地,在一个或多个实施例中,系统采用神经网络模型,该神经网络模型具有用于标识数字图像内的对象的检测头和用于生成针对标识的对象的对象掩膜的掩蔽头。在某些情况下,神经网络模型包括多个检测头,该多个检测头共同执行类别不可知对象检测。在某些情况下,(多个)检测头利用多尺度同步批量归一化来执行对象检测。在一些实现中,该系统进一步利用后处理技术来过滤掉低质量的对象掩膜。以这种方式,系统实现了高效的轻量级的模型,该模型能够在设备上执行对象检测和分割,同时确保掩膜质量。
本公开的一个或多个实施例的附加特征和优点在随后的描述中被概述,并且部分地从描述中将是很清楚的,或者可以通过这样的示例实施例的实践而获知。
附图说明
本公开将通过参考附图以附加的特异性和细节来描述本发明的一个或多个实施例。以下段落简要描述了这些附图,在附图中:
图1示出了根据一个或多个实施例的设备上掩蔽系统在其中操作的示例环境;
图2A至图2E示出了根据一个或多个实施例的、促进与所选择的数字对象相对应的对象掩膜的提供的设备上掩蔽系统的概览图;
图3A至图3B示出了根据一个或多个实施例的、通过类别特定对象检测和类别不可知对象检测而获取的检测结果的可视化比较;
图4A至图4D示出了根据一个或多个实施例的、由设备上掩蔽系统利用以执行对象检测和掩膜生成的检测掩蔽神经网络的神经网络架构;
图5A至图5B示出了根据一个或多个实施例的、针对数字对象而生成的近似边界和扩展近似边界的可视化比较;
图6示出了根据一个或多个实施例的用于训练检测掩蔽神经网络的框图;
图7A至图7C示出了根据一个或多个实施例的由对象掩膜和上采样对象掩膜捕获的对象细节的可视化比较;
图8示出了根据一个或多个实施例的用于使用后处理技术来确定用于呈现的对象掩膜集的框图;
图9示出了根据一个或多个实施例的设备上掩蔽系统的示例示意图;
图10示出了根据一个或多个实施例的、用于使用检测掩蔽神经网生成针对数字图像的数字对象的对象掩膜的一系列动作的流程图;以及
图11示出了根据一个或多个实施例的示例性计算设备的框图。
具体实施方式
本文中描述的一个或多个实施例包括一种设备上掩蔽系统,该设备上掩蔽系统利用高效并且灵活的神经网络模型用于进行设备上对象检测和实例分割。为了说明,在一个或多个实施例中,设备上对象检测系统实现了具有用于对象检测的一个或多个检测头的神经网络。在某些情况下,每个检测头学习检测与一个或多个数字对象类别相关联的对象,这些数字对象类别不同于由其他检测头学习过的数字对象类别。此外,神经网络利用(多个)检测头来执行类别不可知目标检测。在一些实现中,神经网络还包括生成针对检测到的数字对象的对象掩膜的掩蔽头。因此,在一些实施例中,设备上掩蔽系统利用神经网络作为管线来接收数字图像,检测由数字图像描绘的对象,并且生成针对主机计算设备上的每个经检测的对象的对象掩膜(例如,而不依赖于附加设备,诸如服务器)。
为了提供说明,在一个或多个实施例中,设备上掩蔽系统在计算设备(例如,设备上掩蔽系统在其上操作的计算设备)处接收数字图像。设备上掩蔽系统在计算设备处利用检测掩蔽神经网络的检测头来检测在数字图像中描绘的数字对象。此外,设备上掩蔽系统在计算设备处利用检测掩蔽神经网络的掩蔽头来生成针对数字对象的对象掩膜。
如刚提到的,在一个或多个实施例中,设备上掩蔽系统利用检测掩蔽神经网络来提供用于检测数字图像内的数字对象并且生成针对该数字对象的对象掩膜的管线。例如,在某些情况下,检测掩蔽神经网络包括用于从数字图像中提取特征的主干网络(例如,神经网络编码器)和用于检测数字对象并且生成对象掩膜的一系列基于函数的头(例如,神经网络解码器头)。实际上,在一个或多个实施例中,检测掩蔽神经网络包括检测头,该检测头检测数字图像内的数字对象。在某些情况下,检测掩蔽神经网络包括多于一个检测头。
为了说明,在一些实现中,检测掩蔽神经网络包括具有多个检测头的多分支设计,该多个检测头学习从多个数字图像数据集中检测数字对象。特别地,在一些实施例中,每个检测头从对应数字图像数据集中学习,该对应数字图像数据集不同于用于其他检测头的数字图像数据集。此外,在一些情况下,每个数字图像数据集与一个或多个数字对象类别相关联,该数字对象类别不同于与其他数字图像数据集相关联的数字对象类别。因此,检测掩蔽神经网络学习从广泛的对象类别中检测数字对象。
此外,在一个或多个实施例中,检测掩蔽神经网络利用(多个)检测头来执行类别不可知对象检测。例如,在某些情况下,检测掩蔽神经网络利用(多个)检测头来生成对象性得分,该对象性得分指示数字图像的部分是对应于一般对象还是对应于数字图像的背景。
在一个或多个实施例中,检测掩蔽神经网络的每个检测头使用至少一个多尺度批量归一化神经网络层来检测数字图像内的数字对象。设备上掩蔽系统利用(多个)多尺度批量归一化神经网络层通过减少计算需求来促进检测掩蔽神经网络的设备上实现。
此外,在一些实施例中,检测掩蔽神经网络包括掩蔽头,掩蔽头生成针对从数字图像中检测到的数字对象的对象掩膜。例如,在一些实现中,检测头标识在数字图像中描绘的多个数字对象,并且掩蔽头生成针对所标识的数字对象中的每个数字对象的至少一个对象掩膜。在一些实施例中,检测掩蔽神经网络生成与所标识的数字对象相对应的扩展近似边界(例如,边界框或粗略边界描绘),并且掩蔽头使用扩展近似边界来生成对象掩膜。
在一个或多个实施例中,设备上掩蔽系统实现一种或多种后处理技术以确定由检测掩蔽神经网络生成的对象掩膜中的哪些对象掩膜将被呈现用于在计算设备(例如,主机计算设备)上显示。例如,在某些情况下,设备上掩蔽系统确定针对由检测掩蔽神经网络生成的对象掩膜的掩膜质量得分。此外,在一些情况下,设备上掩蔽系统利用掩膜质量得分来确定将用于经由计算设备进行的呈现的对象掩膜集。具体地,在一些情况下,设备上掩蔽系统基于对象掩膜的对应掩膜质量得分和/或其他相关联的属性来确定从呈现中排除一个或多个对象掩膜。
设备上掩蔽系统提供了优于常规系统的多个优点。例如,与常规系统相比,设备上掩蔽系统以更高的效率操作。特别地,通过在检测掩蔽神经网络的检测头中实现多尺度同步批量归一化,与包含组归一化的很多常规系统相比时,设备上掩蔽系统减少了推理时所需要的计算数目。因此,设备上掩蔽系统被配置用于设备上推理,并且与常规对象检测和掩蔽系统相比,具有更小的计算占用空间。
此外,与常规系统相比,设备上掩蔽系统操作更灵活。例如,由于减少了计算资源的消耗,设备上掩蔽系统可以灵活地在设备上执行对象检测和实例分割。换言之,设备上掩蔽系统使主机计算设备能够避免依赖于用于这些操作的附加计算设备(例如,服务器)。此外,随着检测掩蔽神经网络的检测头学习从与多个对象类别相关联的多个数字图像数据集中检测对象,设备上掩蔽系统灵活地从广泛的对象实例中检测数字对象。
此外,与常规系统相比,设备上掩蔽系统操作更准确。为了说明,通过在学习中利用更多种数字图像来检测数字对象,设备上掩蔽系统更准确地检测未明确学习的数字对象。此外,通过生成与所标识的数字对象相对应的扩展近似边界,设备上掩蔽系统生成更准确的对象掩膜,而不会出现从很多常规系统中看到的边界伪影。
此外,设备上掩蔽系统具有改进的泛化和准确性强度。特别地,设备上掩蔽系统利用了训练策略,该训练策略基于其统计特性来自适应地选择正样本和负样本。此外,为了进一步提高设备上掩蔽系统的泛化强度,多数据集训练方案(参见以下描述)强制设备上掩蔽系统同时在多个对象检测和实例分割数据集上表现良好。为了提高掩膜质量,在一个或多个实现中,设备上掩蔽系统执行以下一项或多项:在训练期间对掩膜预测进行上采样,以受益于更高分辨率和质量的真实掩膜;人为地扩展用于掩蔽头使用的检测框以避免边界伪影;利用具有不同扩张率的平行扩张卷积层以进行高分辨率掩码预测;并且利用掩膜质量预测在后处理期间过滤掉不太准确的掩膜预测。
除了前述内容,期望常规对象检测和实例分割模型基于预定义类别标签集来预测标签。通过在具有特定类别标签的数据上进行训练,模型只能学习类别特定特征,这些特征对于检测属于这样的类别标签的对象很有用,但不能很好地泛化到未见过的类别的对象。为了解决上述问题,设备上掩蔽系统将常规类别特定对象检测任务转换为类别不可知任务。设备上掩蔽系统不是让模型学习预测特定类别标签,而是将所有检测的真实值样本视为单个对象类别,并且将单个对象(肯定)类别与背景(否定)类别区分开来。这允许设备上掩蔽系统学习通用对象性(由各种对象共享的公共属性),而不是专注于用于区分不同类别标签的对象的细粒度可视化细节。因此,在一个或多个实现中,与常规系统相比,设备上掩蔽系统提高了灵活性。例如,设备上掩蔽系统不限于在训练期间目睹的对象类型。相反,设备上掩蔽系统公开分割所有对象(以及可选的对象部分),而不管分类类型或对象(或对象部分)是否在训练期间被目睹。
如前述讨论所示,本公开利用多种术语来描述设备上掩蔽系统的特征和益处。现在提供关于这些术语的含义的更多细节。例如,如本文中使用的,术语“数字对象”是指在数字图像中描绘的可区分元素。为了说明,在一些实施例中,数字对象包括在数字图像中描绘的人、项、自然对象(例如,树或岩层)或结构。在某些情况下,数字对象是指可以与在数字图像中描绘的其他元素共同区分开来的多个元素。例如,在某些情况下,数字对象包括构成天际线的建筑物的集合。在某些情况下,数字对象更广泛地包括(是其部分)在数字可视化媒体项中描绘的前景或与背景不同的(多个)其他元素。
在一个或多个实施例中,数字对象与至少一个数字对象类别相关联。如本文中使用的,术语“数字对象类别”是指数字对象的分类或类型。特别地,在一些实施例中,数字对象类别是指基于对所包括的数字对象共有的一个或多个属性的数字对象分组。为了说明,在某些情况下,数字对象类别包括但不限于与狗、猫、人、汽车、船、鸟、建筑物、水果、电话或计算机设备相对应的类别。数字对象类别关于其包括的数字对象的概括在不同实施例中有所不同。相关地,如本文中使用的,术语“类别标签”是指与基于对应数字对象类别的数字对象相关联的标记或标签。
如本文中使用的,术语“数字图像数据集”包括数字图像的集合。特别地,在一些实施例中,数字图像数据集包括描绘至少一个数字对象的数字图像集。在一些实现中,数字图像数据集对应于一个或多个数字对象类别。例如,在某些情况下,数字图像数据集的数字图像描绘与公共数字对象类别(例如,与公共类别标签相关联)相对应的至少一个数字对象。
此外,如本文中使用的,术语“对象掩膜”是指用于将数字图像划分为单独部分的分界线。特别地,在一些实施例中,对象掩膜是指属于一个或多个数字对象的数字图像的部分(即,数字图像的像素)和属于背景的数字图像的部分和/或其他物体的标识。例如,在一些实施例中,对象掩膜包括数字图像的映射,该映射具有针对每个像素的关于该像素是否与数字对象的部分相对应的指示。在一些实现中,该指示包括二进制指示(例如,“1”表示属于数字对象的像素,“0”表示不属于数字对象的像素)。在备选实现中,该指示包括指示像素属于数字对象的可能性的概率(例如,在1到0之间的数字)。在这样的实现中,值越接近1,像素就越有可能属于数字对象,反之亦然。
如本文中使用的,术语“神经网络”是指一种机器学习模型,该机器学习模型可以基于输入进行调谐(例如,训练)以近似用于生成对应输出的未知函数。特别地,在一些实施例中,神经网络是指互连人工神经元(例如,分层地组织的)的模型,该人工神经元通信和学习以近似复杂函数并且基于提供给模型的多个输入来生成输出。在某些情况下,神经网络包括一种或多种机器学习算法。此外,在某些情况下,神经网络包括算法(或算法集),该算法实现深度学习技术,该技术利用算法集对数据中的高级抽象进行建模。为了说明,在一些实施例中,神经网络包括卷积神经网络、递归神经网络(例如,长短期记忆神经网络)、生成对抗神经网络、图神经网络或多层感知器。在一些实施例中,神经网络包括神经网络或神经网络组件的组合。
此外,如本文中使用的,术语“检测掩蔽神经网络”是指针对在所述数字图像中描绘的数字对象生成对象掩膜的计算机实现的神经网络。特别地,在一些实施例中,检测掩蔽神经网络是指计算机实现的神经网络,该神经网络检测数字图像内的数字对象并且生成针对数字对象的对象掩膜。实际上,在一些实现中,检测掩蔽神经网络包括神经网络管线,该神经网络管线分析数字图像、标识在数字图像中描绘的一个或多个数字对象并且针对一个或多个数字对象生成对象掩膜。
此外,如本文中使用的,术语“检测头”是指检测在数字图像中描绘的数字对象的神经网络组件。特别地,在一些实施例中,检测头是指检测在数字图像中描绘的数字对象的一个或多个神经网络层集。例如,在某些情况下,检测头是指神经网络解码器,其基于数字图像的编码来从数字图像中检测数字对象。在一些实现中,检测头检测与一个或多个数字对象类别相对应的数字对象。
如本文中使用的,术语“掩蔽头”是指生成针对数字对象的对象掩膜的神经网络组件。例如,在某些情况下,掩蔽头是指生成针对数字对象的对象掩膜的一个或多个神经网络层集。例如,在某些情况下,掩蔽头是指生成针对从数字图像中标识的数字对象的对象掩膜的神经网络解码器。
此外,如本文中使用的,术语“参数”是指计算机实现的模型(诸如,检测掩蔽神经网络)内部的变量。特别地,在一些实施例中,参数是指影响对应计算机实现的模型的操作的变量。例如,在某些情况下,参数包括影响由模型生成的结果的计算机实现的模型的函数的权重。在某些情况下,参数与计算机实现的模型的特定组件相关联。例如,在一些实现中,参数与检测掩蔽神经网络的检测头或掩蔽头相关联。相关地,如本文中使用的,术语“卷积参数”是指与神经网络的卷积层相对应的参数。类似地,如本文中使用的,术语“输出参数”是指与神经网络的输出层或神经网络组件相对应的参数。例如,在某些情况下,输出参数对应于检测掩蔽神经网络的检测头或掩蔽头的输出层。
此外,如本文中使用的,术语“多尺度同步批量归一化神经网络层”是指跨各种特征映射来执行批量归一化的神经网络层。特别地,在一些实施例中,多尺度同步批量归一化神经网络层是指针对与各个等级的图像特征相对应的特征映射执行同步批量归一化的神经网络层。例如,在某些情况下,多尺度同步批量归一化神经网络层包括同时跨两个维度对特征进行归一化的神经网络层:特征映射的多个金字塔等级和多个图形处理单元(GPU)。
如本文中使用的,术语“对象性得分”是指指示数字图像是否描绘数字对象的值。特别地,在一些实施例中,对象性得分是指与数字图像的部分相对应并且指示该数字图像的该部分是否包括数字对象的得分或其他量化值。在一个或多个实施例中,对象性得分类别不可知的(例如,是“类别不可知对象性得分”)。换言之,对象性得分指示数字图像的部分对应于一般数字对象(例如,而不是特定对象类别的数字对象)还是背景。
此外,如本文中使用的,术语“近似边界”是指近似数字图像内的数字对象的边界。特别地,在一些实施例中,近似边界是指近似在数字图像内描绘的数字对象的轮廓或外边缘的边界(例如,边界描绘)。备选地,在某些情况下,近似边界是指包围数字对象的边界框或某种其他形状。在一些实现中,近似边界紧跟数字对象的轮廓的外形。相关地,如本文中使用的,术语“扩展近似边界”是指已经从另一近似边界生成并且在至少一个维度上大于另一近似边界的近似边界。
现在将参考附图提供关于设备上掩蔽系统的附加细节。例如,图1示出了示例性系统100的示意图,其中设备上掩蔽系统106(在本文中也可选地称为DOMO或检测对象掩膜对象)。如图1所示,系统100包括(多个)服务器102、网络108和客户端设备110a至客户端设备110n。
虽然图1的系统100被描绘为具有特定数目的组件,但系统100能够具有任何数目的附加或备选组件(例如,任何数目的服务器、客户端设备、或经由网络108与设备上掩蔽系统106通信的其他组件)。类似地,尽管图1示出了(多个)服务器102、网络108和客户端设备110a至客户端设备110n的特定布置,但各种附加布置是可能的。
(多个)服务器102、网络108和客户端设备110a至客户端设备110n直接或间接地彼此通信耦合(例如,通过下面关于图11更详细讨论的网络108)。此外,(多个)服务器102和客户端设备110a至110n包括多种计算设备中的计算设备(包括如关于图11更详细讨论的一个或多个计算设备)。
如上所述,系统100包括(多个)服务器102。在一个或多个实施例中,(多个)服务器102生成、存储、接收和/或传输数据,包括神经网络、数字图像、对象掩膜和已修改数字图像。在一个或多个实施例中,(多个)服务器102包括数据服务器。在一些实现中,(多个)服务器102包括通信服务器或web托管服务器。
在一个或多个实施例中,图像编辑系统104提供用户(例如,客户端设备110a至客户端设备110n中的一个客户端设备的用户)通过其来生成、编辑、管理和/或存储数字图像的功能。例如,在某些情况下,用户利用客户端设备经由网络108将数字图像发送到托管在(多个)服务器102上的图像编辑系统104。图像编辑系统104然后提供很多选项,用户可以使用这些选项来编辑数字图像、存储数字图像、以及随后搜索、访问和查看数字图像。
在一个或多个实施例中,客户端设备110a至客户端设备110n包括计算设备,该计算设备可以访问、编辑、分割、修改、存储和/或提供数字图像以供显示。例如,客户端设备110a至客户端设备110n包括智能手机、平板计算机、台式计算机、膝上型计算机、头戴式显示设备或其他电子设备。客户端设备110a至客户端设备110n包括可以访问、编辑、分割、修改、存储和/或提供数字图像以供显示的一个或多个应用(例如,图像编辑应用112)。例如,在一个或多个实施例中,图像编辑应用112包括安装在客户端设备110a至客户端设备110n上的软件应用。附加地或备选地,图像编辑应用112包括托管在(多个)服务器102上(并且由图像编辑系统104支持)的软件应用,客户端设备110a至客户端设备110n可以通过另一应用(诸如,web浏览器)访问该软件应用。
为了提供示例实现,在一些实施例中,(多个)服务器102上的设备上掩蔽系统106支持客户端设备110n上的设备上掩蔽系统106。例如,在一些情况下,(多个)服务器102上的设备上掩蔽系统106学习用于检测掩蔽神经网络的参数。然后,设备上掩蔽系统106经由(多个)服务器102向客户端设备110n提供检测掩蔽神经网络。换言之,客户端设备110n从(多个)服务器102获取(例如,下载)具有学习的参数的检测掩蔽神经网络。一旦下载,客户端设备110n上的设备上掩蔽系统106独立于(多个)服务器102利用检测掩蔽神经网络检测数字对象并且生成对应对象掩膜。
在备选实现中,设备上掩蔽系统106包括允许客户端设备110n与托管在(多个)服务器102上的内容和服务交互的web托管应用。为了说明,在一个或多个实现中,客户端设备110n访问由(多个)服务器102支持的网页。例如,客户端设备110n向(多个)服务器102提供数字图像,并且作为响应,(多个)服务器102上的设备上掩蔽系统106生成一个或多个对象掩膜。(多个)服务器102然后将(多个)对象掩膜提供给客户端设备110n用于数字图像的显示或编辑。
实际上,设备上掩蔽系统106能够全部或部分地由系统100的个体元素实现。尽管图1示出了关于(多个)服务器102而实现的设备上掩蔽系统106,但是设备上掩蔽系统106的不同组件能够由系统100内的各种设备实现。例如,设备上掩蔽系统106的一个或多个(或所有)组件由不同计算设备(例如,客户端设备110a至客户端设备110n中的一个客户端设备)或与托管图像编辑系统104的(多个)服务器102分开的服务器来实现。实际上,如图1所示,客户端设备110a至客户端设备110n包括设备上掩蔽系统106。下面将关于图9描述设备上掩蔽系统106的示例组件。
在一个或多个实施例中,设备上掩蔽系统106操作以使得能够选择在数字图像内描绘的数字对象并且查看对应对象掩膜。特别地,如上所述,在一些情况下,设备上掩蔽系统106检测在数字图像中描绘的数字对象并且生成对应对象掩膜(例如,在诸如客户端设备等主机计算设备上)。此外,在一些实施例中,设备上掩蔽系统106响应于经由计算设备对数字对象的选择而针对数字对象提供对象掩膜。图2A至图2E示出了根据一个或多个实施例的、促进与所选择的数字对象相对应的对象掩膜的提供的设备上掩蔽系统106的概览图。
如图2A所示,设备上掩蔽系统106提供数字图像208以在计算设备206(例如,客户端设备)的图形用户界面204内显示。此外,设备上掩蔽系统106针对图形用户界面204内的自动掩蔽工具提供可选择的选项202。在一个或多个实施例中,响应于接收到对可选择的选项202的用户选择,设备上掩蔽系统106检测在数字图像208内描绘的数字对象,并且生成针对检测到的数字对象的对应对象掩膜,如将在下面更详细地解释的。在一些实施例中,设备上掩蔽系统106在计算设备206上检测并且生成对象掩膜(例如,而不依赖于诸如服务器的单独设备的计算资源来执行这些操作)。
如图2B所示,响应于检测到对在数字图像208内描绘的数字对象220(例如,柠檬)的选择,设备上掩蔽系统106针对数字对象220提供对象掩膜222以供显示。例如,在一些情况下,设备上掩蔽系统106经由将光标224悬停在数字对象220之上、在定位在数字对象220之上时单击光标224、或数字对象220的短/轻敲手势来检测对数字对象220的选择,并且然后提供对应对象掩膜222。
图2C示出,响应于检测到对在数字图像208内描绘的另一数字对象240的选择(例如,经由光标224向另一数字对象240的移动或指示对另一数字对象240的选择的某个其他手势),设备上掩蔽系统106提供对应对象掩膜242以供显示。此外,设备上掩蔽系统106移除与数字对象220相对应的对象掩膜222。类似地,如图2D所示,响应于对数字对象260的选择(例如,经由光标224向数字对象260的移动),设备上掩蔽系统106提供与在数字图像208中描绘的第三数字对象260相对应的对象掩膜262。
图2E还示出了设备上掩蔽系统106响应于检测到数字对象280的选择而提供与数字对象280相对应的对象掩膜282。然而,应当注意,数字对象280(碗)不同于在数字图像208中描绘的数字对象220、240、260(柠檬)。实际上,如下文将更详细解释的,设备上掩蔽系统106检测由数字图像描绘的广泛的数字对象,并且生成其对应对象掩膜。此外,在某些情况下,设备上掩蔽系统106检测在数字图像中描绘的每个数字对象并且生成对应对象掩膜(例如,执行全景分割)。
如上所述,设备上掩蔽系统106使用很少(如果有的话)用户输入生成针对在数字图像中描绘的数字对象的对象掩膜。实际上,在一些情况下,设备上掩蔽系统106在用户选择数字对象中的一个对象之前对数字图像中的数字对象执行对象检测和掩膜生成。尽管上面的讨论表明对象检测和掩膜生成响应于对自动掩膜工具的选择而发生,但是在一个或多个实现中,设备上掩蔽系统106在没有这种选择的情况下执行对象检测和掩膜生成(例如,响应于接收到数字图像),这进一步减少了所需要的用户输入。
如前所述,在一个或多个实施例中,设备上掩蔽系统106检测数字图像内的广泛的数字对象。特别地,设备上掩蔽系统106检测与广泛的对象类别相关联的数字对象。在一些实施例中,设备上掩蔽系统106实现类别不可知对象检测以检测数字图像内的数字对象,而不管其相关联的数字对象类别如何。图3A至图3B示出了根据一个或多个实施例的、由多个常规系统执行的类别特定对象检测和由设备上掩蔽系统106执行的类别不可知对象检测所获取的检测结果的可视化比较。
如图3A所示,类别特定对象检测导致与特定数字对象类别(例如,智能手机或手持设备类别)相对应的数字图像302的数字对象304a的检测。在某些情况下,类别特定对象检测导致在数字图像中检测到多个数字对象,但这些数字对象都与预定义数字对象类别集相关联。实际上,很多常规系统学习分类器,该分类器将数字图像的区域分类为N+1个数字对象类别中的一个类别,其中
Figure BDA0003775978370000141
是预定义类别标签的数目,并且1对应于背景类别。然而,如图3A所示,如果数字图像描绘不与N+1个数字对象类别(例如,数字对象304b、304c、304d、304e、304f、304g)相关联的其他数字对象,则类别特定对象检测通常无法检测到这些对象。
通过比较,设备上掩蔽系统106将数字图像的区域分类为两个类别中的一个类别:对象类别和背景类别。为了实现这一点,设备上掩蔽系统106将所有检测真实值样本视为单个对象类别,并且使检测掩蔽神经网络能够学习使用通用对象性特征(例如,由所有类型的数字对象共享的公共属性)将对象类别与背景类别区分开来,如将在下面更详细地讨论的。因此,设备上掩蔽系统106将常规类别特定对象检测转换为类别不可知检测任务。如图3B的检测结果所示,通过使用类别不可知方法来进行对象检测,设备上掩蔽系统106检测数字图像内的对象304a至对象304g,而不管它们的相关联的数字对象类别如何。
通过实现类别不可知(对象性)检测,设备上掩蔽系统106比常规系统更灵活地操作。实际上,如通过图3A至图3B所示的检测结果的比较所看到的,与很多常规系统相比,设备上掩蔽系统106灵活地检测与更多种数字对象类别相关联的数字对象。因此,在很多情况下,设备上掩蔽系统106灵活地检测数字图像内的更多数字对象。
如上所述,设备上掩蔽系统106利用检测掩蔽神经网络来检测数字图像内的数字对象并且生成针对检测到的数字对象的对象掩膜。图4A至图4D示出了根据一个或多个实施例的、由设备上掩蔽系统106利用以执行对象检测和掩膜生成的检测掩蔽神经网络。特别地,图4A示出了检测掩蔽神经网络的架构的广泛概述。图4B至图4D示出了根据一个或多个实施例的关于检测掩蔽神经网络的各种组件的架构和连通性的更多细节。
实际上,如图4A所示,检测掩蔽神经网络400包括具有主干网络的神经网络编码器402、检测头404(或神经网络解码器头)和掩蔽头406(或神经网络解码器头)。如图4A所示,神经网络编码器402对数字图像进行编码并且将编码提供给检测头404和掩蔽头406。检测头404利用编码来检测在数字图像中描绘的一个或多个数字对象。掩蔽头406生成针对检测到的数字对象中的每个数字对象的至少一个对象掩膜。
图4B示出了根据一个或多个实施例利用检测掩蔽神经网络400的神经网络编码器402来编码数字图像。如图4B所示,神经网络编码器402包括分析数字图像410的主干网络。基于分析,神经网络编码器402生成特征金字塔412(例如,不同分辨率的多个特征映射,使得特征映射捕获来自数字图像410的不同等级的图像特征)。
例如,如图所示,神经网络编码器402从数字图像410生成特征映射414a、141b、414c。神经网络编码器402利用特征映射414a至414c在特征金字塔412内生成特征映射416a至416e。例如,在一些实施例中,神经网络编码器402使用具有自上而下连接的卷积层分别直接从特征映射414a至414c生成特征映射416a、416b、416c。在一些情况下,神经网络编码器402使用步长为2的卷积层从特征映射416c生成特征映射416d。类似地,在某些情况下,神经网络编码器402使用步长为2的卷积层从特征映射416d生成特征映射416e。
如图4B所示,神经网络编码器402将特征金字塔412的特征映射416a至特征映射416e提供给检测头404以用于检测数字图像410内的数字对象,并且提供给掩蔽头406以用于针对检测到的数字对象生成对象掩膜。
图4B所示的表418示出了根据一个或多个实施例的神经网络编码器402的架构(例如,用于生成特征映射414a至特征映射414c的架构)。例如,在一个或多个实施例中,设备上掩蔽系统106利用EfficientNet-B0主干网络作为神经网络编码器402,该EfficientNet-B0主干网络由Mingxing Tan和Quoc Le在“EfficientNet:Rethinking Model Scaling forConvolutional Neural Networks(EfficientNet:重新思考针对卷积神经网络的模型缩放)”(International Conference on Machine Learning(机器学习国际会议),pp.6105–6114,PMLR,2019)中描述。
通过利用如上所述的神经网络编码器402从数字图像生成特征映射,设备上掩蔽系统106比很多常规系统更高效地操作。实际上,与很多常规系统使用的主干网络(例如,ResNet-50网络)相比,神经网络编码器402包括更小的计算占用空间。因此,使用神经网络编码器402减少了从数字图像生成特征映射所需要的计算资源。这进一步提高了灵活性,因为减少的计算允许在具有有限资源的计算设备(例如,客户端设备)上部署设备上掩蔽系统106。
图4C示出了根据一个或多个实施例的检测掩蔽神经网络400的检测头404的架构。如图4C所示,检测头404包括多个神经网络层。如进一步所示,检测头404包括多个输出层426,每个检测头针对一个输出层。类似地,检测头404包括多个多尺度同步批量归一化神经网络层428a至428b,每个检测头针对一个或多个多尺度同步批量归一化神经网络层。
实际上,在一个或多个实施例中,检测掩蔽神经网络400在检测头404之间共享一个或多个神经网络层。图4C示出了共享中间卷积神经网络层以及泄漏校正线性单元(ReLU)神经网络层的检测头。在检测头404之间共享这些层允许检测掩蔽神经网络400保持轻量级,因为它们是在某些情况下构成针对检测头的大部分参数的计算要求较高的层。在一些实现中,在检测头之间共享神经网络层包括在检测头之间共享神经网络层的参数。
另外,在一个或多个实施例中,检测头404各自包括单独的多尺度同步批量归一化神经网络层428a至428b集。换言之,设备上掩蔽系统106学习针对不同检测头的单独参数。实际上,给定通道数目
Figure BDA0003775978370000171
批量归一化层包括2C个可学习参数,而常用的3×3卷积神经网络层学习C×C×3×3个可学习参数。因此,多尺度同步批量归一化神经网络层相对轻量级,并且设备上掩蔽系统106针对每个检测头利用单独的多尺度同步批量归一化神经网络层,而不会显著增加检测掩蔽神经网络400的计算占用空间。
在一个或多个实施例中,检测头404利用多尺度同步批量归一化神经网络层428a至428b来跨由神经网络编码器402生成的特征金字塔的所有等级并且跨所有GPU来归一化特征映射。实际上,在一些实现中,检测头404利用多尺度同步批量归一化神经网络层428a至428b同时跨两个维度来归一化特征。
作为示例,在一个或多个实施例中,检测掩蔽神经网络400利用多尺度同步批量归一化神经网络层428a至428b跨多个GPU计算来自数据样本的归一化统计量(均值和方差)。为了说明,在学习参数时(例如,在训练期间),检测头404利用多尺度同步批量归一化神经网络层428a至428b来计算全局平均值(表示为M)和平方平均值(表示为P),如下:
Figure BDA0003775978370000181
Figure BDA0003775978370000182
在等式1至等式2中,|G|表示GPU的数目,|S|表示由神经网络编码器402生成的特征金字塔中的层数目。另外,
Figure BDA0003775978370000183
表示使用第i个GPU和在第j个金字塔层等级而计算的单个特征通道的标量平均值。多尺度同步批量归一化神经网络层428a至428b确定全局方差V=P-MM并且使用全局均值(M)和全局方差(V)跨GPU对金字塔等级的特征映射进行归一化。在一个或多个实施例中,多尺度同步批量归一化神经网络层428a至428b针对每个特征通道使用单个运行统计量集。
因此,在推理时,检测掩蔽神经网络400针对所有金字塔等级的检测头维持完全的参数可共享性。因此,虽然在一些实施例中,检测掩蔽神经网络400针对每个检测头学习单独的多尺度同步批量归一化神经网络层,但它针对多个金字塔等级利用检测头的多尺度同步批量归一化神经网络层。
通过利用多尺度同步批量归一化神经网络层,设备上掩蔽系统106与很多常规系统相比更高效地操作。实际上,如前所述,很多常规系统利用组归一化来进行对象检测,这引入了附加的计算操作。因此,利用多尺度同步批量归一化减少了目标检测所需要的计算量,同时允许多尺度操作。提高的效率有助于在具有相对较少资源的计算设备上灵活部署设备上掩蔽系统106。
此外,如上所述,在一个或多个实施例中,检测头404各自包括单独的输出层(例如,检测头的最后一层)。实际上,如先前所讨论的并且如将在下文更详细地讨论的,在一些实现中,设备上掩蔽系统106利用单独的数字图像数据集来学习针对检测头404的参数。因此,通过针对每个检测头保持输出层426分离,检测掩蔽神经网络400维持神经网络层,该神经网络层从特定数字图像数据集(与输出层的检测头相对应的数字图像数据集)进行调谐。此外,检测掩蔽神经网络400确保学习彼此独立存在的不同输出空间。
如上所述,检测掩蔽神经网络400利用检测头404来检测数字图像410内的数字对象422a、422b、422c。具体地,在一个或多个实施例中,检测头404利用由神经网络编码器402生成的特征金字塔的特征映射来检测数字对象422a至数字对象422c。在一些情况下,通过利用特征金字塔使得检测头404和其他检测头能够检测由数字图像描绘的不同大小的对象。例如,在一些情况下,检测头404利用来自特征金字塔的最小特征映射来检测相对较大的对象,并且利用最大特征映射(例如,特征金字塔上的最低层)来检测相对小的对象。因此,检测头404利用特征金字塔来提高检测灵活性。
在一个或多个实施例中,通过利用每个检测头以生成针对数字图像的区域的对象性得分,检测掩蔽神经网络400利用检测头404来检测数字图像内的数字对象。实际上,在一些实施例中,虽然每个检测头从与一个或多个数字对象类别相关联的特定数字图像数据集中学习检测,但检测头在推理时生成针对数字图像的区域的对象性得分。然而,在某些情况下,由于每个检测头基于一个或多个数字对象类别来学习检测,这些数字对象类别不同于用于其他检测头的数字对象类别,因此由每个检测头针对数字图像的区域而生成的对象性得分可以不同。例如,在某些情况下,与在显著不同的对象类别上学习的检测头相比,在对象类别上学习的检测头将生成针对包含来自该对象类别的数字对象的区域的更高的对象性得分。
因此,在一些实施例中,检测掩蔽神经网络400利用由检测头中的每个检测头生成的对象性得分来确定数字图像的区域是否包括数字对象。例如,在一些情况下,检测掩蔽神经网络400利用检测阈值来确定对象性得分是否指示区域包括数字对象。为了说明,在一些情况下,如果阈值数目的检测头生成针对满足检测阈值的区域的对象性得分,则检测掩蔽神经网络400确定该区域包括数字图像。在一些实施例中,检测掩蔽神经网络400确定对象性得分的平均值或组合(例如,总和)是否满足检测阈值。在一些实现中,检测掩蔽神经网络400对对象性得分中的每个对象性得分应用权重并且在确定区域是否包括数字对象时利用加权的对象性得分。在一些实现中,检测掩蔽神经网络400利用来自检测头404的子集的对象性得分来确定区域是否包括数字对象。
如图所示,检测掩蔽神经网络400(例如,检测头404)生成针对在数字图像410内检测的数字对象442a至数字对象442c的近似边界424a、424b、424c。具体地,在一个或多个实现中,近似边界424a至近似边界424c包括如图4C所示的边界框。
图4D示出了根据一个或多个实施例的检测掩蔽神经网络400的掩蔽头406的架构。如图4D所示,掩蔽头406包括多个神经网络层。值得注意的是,掩蔽头406包括成对的平行扩张卷积层(例如,平行扩张卷积神经网络层对430a至430b)。如图4D所示,每对平行扩张卷积神经网络层中的卷积层分别使用扩张率1和2。扩张率为2的扩张卷积层给出了为5的感受域大小,而扩张率为1的扩张卷积层促进局部信息的定位。通过利用成对的平行扩张卷积神经网络层,如果存在代替每个对的单个卷积层时,掩蔽头406能够分析高分辨率特征并且生成高分辨率对象掩膜。例如,在一些情况下,使用成对的平行扩张卷积神经网络层使得掩蔽头406能够使在使用单个卷积层时可用的对象掩膜的分辨率几乎翻倍。
如图4D所示,掩蔽头406生成针对从数字图像410检测的数字对象的对象掩膜432。具体地,掩蔽头406利用由神经网络编码器402针对由检测头404检测的数字对象而生成的特征映射来生成对象掩膜432。例如,在一些情况下,掩蔽头406利用由检测头404生成的近似边界来基于特征映射而生成针对对应数字对象的对象掩膜。
如图4D所示,检测掩蔽神经网络400从由检测头404生成的近似边界来生成扩展近似边界(例如,经由操作434)。因此,在一些情况下,掩蔽头406利用扩展近似边界来基于特征映射而生成针对对应数字对象的对象掩膜。下面将参考图5A至图5B讨论关于扩展近似边界的更多细节。
在一个或多个实施例中,设备上掩蔽系统106利用掩蔽头406以生成针对从数字图像410中检测的每个数字对象的至少一个对象掩膜。因此,对于单个数字图像,在一些实现中,检测掩蔽神经网络400输出多个对象掩膜。
如刚刚提到的,在一个或多个实施例中,设备上掩蔽系统106利用检测掩蔽神经网络来针对由其检测头检测的数字对象生成扩展近似边界。在一些情况下,设备上掩蔽系统106利用扩展近似边界来避免在使用紧密符合的近似边界时出现的伪影。图5A至图5B示出了根据一个或多个实施例的针对数字对象而生成的近似边界和扩展近似边界的可视化比较。
特别地,图5A示出了在没有扩展的情况下针对在数字图像502内描绘的数字对象而生成的边界框504a、504b、504c。特别地,边界框504a至504c紧密地符合数字对象,以在一个或多个位置紧密地接近或接触其外边缘。换言之,边界框504至边界框504c不会扩展超出数字对象的最外边缘太多(如果有的话)。如图5A所示,边界框504a至边界框504c的紧密度导致在若干位置506a、506b、506c、506d、506e、506f、506g中出现伪影,其中检测的数字对象的像素以不自然的方式粘在边界框504a至504c上。因此,使用这样的边界框会导致包含这些伪影的不准确的对象掩膜。
相反,图5B示出了针对在数字图像502中描绘的数字对象而被生成的扩展边界框510a、510b、510c。如进一步所示,由于扩展边界框510a至510c,不会出现由紧密边界框产生的伪影。因此,在一个或多个实施例中,设备上掩蔽系统106利用扩展近似边界来生成不包含这样的伪像的更准确的对象掩膜。如上所述,在一些情况下,设备上掩蔽系统106经由检测掩蔽神经网络来生成针对在数字图像内检测到的数字对象的近似边界,并且从近似边界生成扩展近似边界。
在一些情况下,设备上掩蔽系统106在推理时间期间实现扩展近似边界,如上文参考图4D所述。然而,在一些实现中,设备上掩蔽系统106进一步利用扩展近似边界,同时学习检测掩蔽神经网络的参数。
在一个或多个实施例中,设备上掩蔽系统106训练检测掩蔽神经网络以检测在数字图像中描绘的数字对象并且生成针对数字对象的对象掩膜。图6示出了根据一个或多个实施例的用于训练检测掩蔽神经网络的框图。
如图6所示,设备上掩蔽系统106通过将来自数字图像数据集602a至602n的数字图像提供给检测掩蔽神经网络604来实现训练。具体地,如图所示,检测掩蔽神经网络604包括检测头606,并且设备上掩蔽系统106提供来自数字图像数据集602a至602n的数字图像以供不同检测头分析。为了说明,在一个或多个实施例中,设备上掩蔽系统106提供来自第一数字图像数据集(例如,数字图像数据集602a)的数字图像以供第一检测头分析,提供来自第二数字图像数据集的数字图像以供第二检测头分析,等等。
如前所述,每个数字图像数据集与一个或多个数字对象类别相关联。换言之,每个数字图像数据集包括与一个或多个数字对象类别相关联的数字图像。此外,在一些实施例中,与一个数字图像数据集相关联的(多个)数字对象类别不同于与其他数字图像数据集相关联的数字对象类别。因此,在一些实现中,通过将每个数字图像数据集与特定检测头相关联,设备上掩蔽系统106在特定的一个或多个数字对象类别集上训练每个检测头。
在一个或多个实施例中,设备上掩蔽系统106在每次训练迭代中向检测掩蔽神经网络604提供一个数字图像。在一些情况下,设备上掩蔽系统106在每次训练迭代中从数字图像数据集602a至602n中的每个数字图像数据集提供一个数字图像。
如图6所示,设备上掩蔽系统106利用检测掩蔽神经网络604来分析来自数字图像数据集的数字图像并且生成(多个)预测612。具体地,检测掩蔽神经网络604利用神经网络编码器610来编码数字图像,利用检测头606来预测在数字图像中描绘的数字对象,并且利用掩蔽头608来生成针对预测的数字对象的预测对象掩膜。因此,在一些情况下,对于训练的每次迭代,检测掩蔽神经网络604通过生成针对在数字图像中描绘的至少一个数字对象的预测(例如,预测的近似边界)和/或生成针对数字对象的至少一个预测对象掩膜来生成(多个)预测612。
如图6进一步所示,设备上掩蔽系统106经由(多个)损失函数616将(多个)预测612与(多个)对应真实值614进行比较。例如,在一个或多个实施例中,设备上掩蔽系统106利用焦点损失(“Focal Loss”)作为训练检测头606中的损失函数。因此,设备上掩蔽系统106经由焦点损失函数将在数字图像中描绘的数字对象的预测(例如,预测的近似边界)与对应真实值进行比较。在一些实施例中,设备上掩蔽系统106利用其他损失函数来训练检测头606,诸如交叉熵损失。在一些实现中,设备上掩蔽系统106利用损失的组合来训练检测头606。此外,在一些实施例中,设备上掩蔽系统106利用一种或多种损失或各种损失的组合(例如,交叉熵损失、骰子损失、L1损失、L2损失等)来训练掩蔽头608。
在一个或多个实施例中,设备上掩蔽系统106将所确定的损失(即,误差)反向传播到检测掩蔽神经网络604(如虚线618所示)以通过更新其参数来优化检测掩蔽神经网络网络604。实际上,设备上掩蔽系统106更新参数以最小化检测掩蔽神经网络604的误差,诸如检测头606的误差和掩蔽头608的误差。通过多次训练迭代,设备上掩蔽系统106生成具有所学习的网络参数620的检测掩蔽神经网络。
在一些情况下,设备上掩蔽系统106同时训练检测头606和掩蔽头608。例如,在一些情况下,设备上掩蔽系统106在每次训练迭代中更新一个或多个检测头和掩蔽头608的参数。然而,在一些实施例中,设备上掩蔽系统106分别训练检测头606和掩蔽头608。
通过使用与各种数字对象类别相关联的数字图像数据集来学习针对检测头606的参数,与常规系统相比,设备上掩蔽系统106灵活地检测与更广泛的对象类别相关联的数字对象。此外,与常规系统相比,设备上掩蔽系统106改进了其检测模型的泛化性,从而促进了对在训练期间未见过的数字对象的更准确检测。
在一些实现中,设备上掩蔽系统106在训练过程中实现范数解耦以适应数字图像数据集602a至602c包括多种不同数目的数字图像的情况。实际上,在某些情况下,与在具有更大量数字图像的数字图像数据集上训练的检测头相比,在具有少量数字图像的数字图像数据集上训练的检测头经历相同数据样本的更多重复。因此,在某些情况下,在较少数目的数字图像上训练的检测头更积极地更新其参数,从而导致在推理过程中过度拟合和过于自信的检测得分。
因此,在一些实施例中,设备上掩蔽系统106实现范数解耦以平衡不同检测头对检测结果的贡献。为了说明,在一个或多个实施例中,设备上掩蔽系统106将每个参数向量(范数)的长度与其方向(或单位向量)解耦。此外,设备上掩蔽系统106在各种检测头之间共享相同的可学习范数,同时允许每个检测头分别学习其单位向量。
在一个或多个实施例中,给定D个数字图像数据集和Wi∈{W1,...,WD},它表示属于第i个检测头的非共享层的扁平权重或偏差参数,设备上掩蔽系统106执行范数解耦并且获取新参数W′i(用于代替原始Wi),如下:
Figure BDA0003775978370000241
在等式3中,
Figure BDA0003775978370000242
表示跨所有检测头共享的并且独立于Wi的可学习标量范数参数。在一个或多个实施例中,通过在训练过程中使用范数解耦,设备上掩蔽系统106跨检测掩蔽神经网络604的各个检测头来维持一致的权重范数。
此外,如上所述,在一些实现中,设备上掩蔽系统106在训练过程中利用等式1至等式2来确定全局均值和全局方差,并且跨GPU来归一化金字塔等级的特征映射。因此,设备上掩蔽系统106在推理期间实现了跨所有金字塔等级的检测头的完全参数共享性。
因此,设备上掩蔽系统106训练检测掩蔽神经网络以检测数字对象并且生成对应对象掩膜。在一个或多个实施例中,参考图6描述的算法和动作可以包括用于执行以下步骤的对应结构:利用来自多个数字图像数据集的数字图像的预测数字对象,学习用于检测在数字图像中描绘的数字对象的检测掩蔽神经网络的参数。此外,参考图4A至图4C描述的检测掩蔽神经网络架构可以包括用于执行以下步骤的对应结构:利用来自多个数字图像数据集的数字图像的预测数字对象,学习用于检测在数字图像中描绘的数字对象的检测掩蔽神经网络的参数。
在一些情况下,设备上掩蔽系统106在训练过程中利用上采样的掩蔽预测和对应的真实值来进行损失计算,以更好地保留在数字图像中描绘的对应数字对象的精细细节。图7A至图7C示出了根据一个或多个实施例的、由各种分辨率的对象掩膜捕获的对象细节的可视化比较。
特别地,图7A示出了描绘数字对象708(例如,位于杯子内的植物)的数字图像702。图7B示出了与数字对象708相对应的低分辨率真实值对象掩膜704。这种低分辨率真实值经常被常规系统用于损失计算。然而,可以看出,低分辨率真实值对象掩膜704未能捕获到数字对象708的很多细节。例如,如图所示,低分辨率真实值对象掩膜704未能捕获到作为数字对象708的部分的杯子的把手处的细节。当所描绘的数字对象很大时,细节的损失通常会加剧。
因此,通过在训练过程中使用低分辨率真实值对象掩膜,常规系统通常无法训练其模型以捕获丢失的细节。因此,由这样的系统训练的模型通常无法通过包括这些细节来生成准确表示在数字图像中描绘的数字对象的对象掩膜。
图7C示出了与在数字图像702中描绘的数字对象708相对应的高分辨率真实值对象掩膜706。如图所示,高分辨率真实值对象掩膜706比低分辨率真实值对象掩膜704更好地捕获数字对象708的细节。例如,高分辨率真实值对象掩膜706更好地捕获杯柄的细节。
在一个或多个实施例中,设备上掩蔽系统106对由检测掩蔽神经网络的掩蔽头生成的预测对象掩膜进行上采样(例如,经由双线性插值)。设备上掩蔽系统106使用上采样的对象掩膜和已调节大小以匹配该分辨率的对应真实值对象掩膜来进行损失计算。因此,与针对其真实值使用较低分辨率的那些系统相比,设备上掩蔽系统106训练检测掩蔽神经网络以生成能够更准确地表示数字对象的对象掩膜。
另外,如上所述,在一些情况下,设备上掩蔽系统106利用扩展近似边界来训练检测掩蔽神经网络的掩蔽头。例如,在一些实施例中,设备上掩蔽系统106利用检测掩蔽神经网络从由检测头生成的预测近似边界来生成扩展近似边界。设备上掩蔽系统106进一步利用检测掩蔽神经网络的掩蔽头来基于扩展近似边界而生成预测对象掩膜。因此,在一些情况下,设备上掩蔽系统106对从扩展近似边界生成的预测对象掩膜进行上采样以用于计算损失。
如前所述,在一些实施例中,设备上掩蔽系统106从数字图像生成多个对象掩膜。在一些情况下,设备上掩蔽系统106实现后处理技术以确定要经由客户端设备呈现哪些对象掩膜。特别地,设备上掩蔽系统106从所生成的对象掩膜集中确定对象掩膜集,该对象掩膜集可以用于经由客户端设备进行呈现。图8示出了根据一个或多个实施例的用于使用后处理技术来确定用于呈现的对象掩膜集的框图。
如图8所示,设备上掩蔽系统106获取对象掩膜802。具体地,设备上掩蔽系统106利用检测掩蔽神经网络从数字图像生成对象掩膜802。如图8进一步所示,设备上掩蔽系统106确定针对对象掩膜802的掩膜质量得分804。例如,在某些情况下,设备上掩蔽系统106根据对象掩膜802确定针对每个对象掩膜的掩膜质量得分。如本文中使用的,术语“掩膜质量得分”是指指示对象掩膜的质量的度量。特别地,在一些实施例中,掩膜质量得分是指指示对象掩膜捕获对应数字对象的细节(例如,边界细节)的程度的值。在一些实施例中,下面呈现的算法表示设备上掩蔽系统106如何确定对象掩膜802的掩膜质量得分804的表征。
算法1
Input:Predicted N×N mask map M
Output:Mask Quality score MaskQ
Mbi=(M≥T).to(bool)
Mbo:recording pixels that are on the boundaries of the masks(mij∈Mbo=1if mij can reach to the edge of the image without crossing anyls in Mbi,otherwise mij=0
Mi=(M*Mbi*(1-Mbo),dim=[1,2])
MaskQ=sum(Mi)/sum(M)
以下是算法1中语句的译文,供参考。
输入:预测的N×N掩膜映射M
输出:掩膜质量得分MaskQ
Mbi=(M≥T).to(bool)
Mbo:记录位于掩膜的边界上的像素(如果mij可以到达图像边缘而不与Mbi中的任何1s相交,则mij∈Mbo=1,否则mij=0)
Mi=(M*Mbi*(1-Mbo),dim=[1,2])
MaskQ=sum(Mi)/sum(M)
在算法1中,Mbi表示通过将所生成的对象掩膜M与阈值T进行比较而获取的二进制掩膜。此外,Mbo表示记录位于对象掩膜M的边界上的像素的二进制掩膜。因此,使用算法1,设备上掩蔽系统106基于对象掩膜中像素的置信度得分的统计量来确定针对对象掩膜的掩膜质量得分。具体地,设备上掩蔽系统106利用使用阈值T而获取的二进制掩膜来计算包含在二进制掩膜中的平均逐像素预测得分,并且使用这些得分来确定对象掩膜的质量。
算法1与模型无关,并且与使用小型网络来学习以预测质量得分的一些常规系统使用的模型相比,具有更少的计算开销。因此,通过利用算法1,设备上掩蔽系统106比这样的系统更高效地操作。
此外,研究人员比较了使用算法1确定所生成的对象掩膜的掩膜质量得分的设备上掩蔽系统106的性能。特别地,研究人员将算法1的性能与Lu Yang等人在“Quality-awareNetwork for Human Parsing(用于人类解析的质量感知网络)”(arXiv preprint arXiv:2103.05997,2021)中描述的质量预测模型的性能进行了比较。研究人员使用Kendall的tau系数确定每个测试模型提供的得分如何与由学习模块预测的得分保持一致。算法1表现更好,获取了0.85的对齐(“alignment”),而Yang等人描述的模型获取了0.72的对齐。改进的性能可以归因于算法1解决通过使用其他模型(其中很多内部区域被错误地标记为边界并且未被计算在内)出现的问题的潜力。
如图8进一步所示,设备上掩蔽系统106利用过滤过程(例如,由框806表示)来从对象掩膜802中确定对象掩膜的过滤集808。具体地,在一个或多个实施例中,设备上掩蔽系统106利用对象掩膜802的掩膜质量得分804来确定对象掩膜的过滤集808。在一些实施例中,下面呈现的算法表示关于设备上掩蔽系统106如何确定对象掩膜的过滤集合808的表征。
算法2
Figure BDA0003775978370000291
以下是算法2中语句的译文,供参考。
输入:来自检测掩蔽神经网络的n个预测元组N=(B,M,S,MQ)的列表。B:边界框;M:对象掩膜;S:置信度得分(对象性得分);
MQ:掩膜质量得分
输出:已更新预测列表K=(B′,M′,S′,M′Q)
保持占用二进制映射O,使用全0进行初始化
按S从高到低对n个预测进行排序
对于每个预测集(bi,si,mqi,mi)
计算新区域:mni=AND(mi,NOT(O))
如果sum(mni)/sum(mi)>T0或si>T1或(mqi>T2并且sum(mni)/sum(mi)>T3)
将(bi,si,mqi,mi)添加到K//将原始框和掩膜添加到最终列表
更新O
否则
如果sum(mni)/sum(mi)>T4,则
基于mni来更新bi
将(bi,si,mqi,mi)添加到K//将非重叠框和掩膜添加到最终列表
更新O
结束
结束
结束
因此,使用算法2,设备上掩蔽系统106使用与所确定的近似边界相对应的掩膜质量得分和置信度得分来移除低质量对象掩膜并且维持高质量对象掩膜以经由计算设备进行呈现。特别地,在一个或多个实施例中,设备上掩蔽系统106迭代对象掩膜中的每个对象掩膜(例如,从与最高置信度得分相关联的对象掩膜开始),使用占用二进制映射来计算构成新区域(例如,尚未被先前考虑的对象掩膜占用的区域)的对象掩膜的部分,并且基于新区域和/或与对象掩膜相关联的一些其他值是否满足对应阈值来确定是否将对象掩膜添加到对象掩膜的过滤集808。因此,在一些实施例中,设备上掩蔽系统106利用算法2来滤除由于与一个或多个其他对象掩膜重叠而具有低质量的对象掩膜。在一个或多个实施例中,在算法1至算法2中使用的阈值是可配置的。
通过确定对象掩膜的过滤集808,设备上掩蔽系统106促进经由计算设备对高质量对象掩膜的呈现。特别地,在一些实施例中,设备上掩蔽系统106促进彼此不重叠的对象掩膜的提供。此外,在一些情况下,设备上掩蔽系统106移除与高质量掩膜重叠的误报,同时选择更小的更可靠的区域。
研究人员将使用由算法1至算法2所表征的后处理技术的设备上掩蔽系统106的性能与没有后处理的设备上掩蔽系统106的性能进行比较。使用50%的联合并集(IoU),设备上掩蔽系统106利用后处理技术将所得到的对象掩膜的召回率从66.2%提高到67.4%。
转向图9,现在将提供关于设备上掩蔽系统106的各种组件和能力的附加细节。特别地,图9示出了由计算设备900(例如,上面参考图1讨论的(多个)服务器102和/或客户端设备110a至110n中的一个客户端设备)实现的设备上掩蔽系统106。此外,设备上掩蔽系统106也是图像编辑系统104的部分。如图所示,在一个或多个实施例中,设备上掩蔽系统106包括但不限于神经网络训练管理器902、神经网络应用引擎904、后处理引擎906、用户界面管理器908和数据存储910(其包括检测掩蔽神经网络912和数字图像数据集914)。
如刚刚提到的,并且如图9所示,设备上掩蔽系统106包括神经网络训练管理器902。在一个或多个实施例中,设备上掩蔽系统106训练检测掩蔽神经网络以检测数字图像内的数字对象并且生成针对检测的数字对象的对象掩膜。例如,在一些实施例中,神经网络训练管理器902训练检测掩蔽神经网络的多个检测头以使用与不同数字对象类别相关联的不同数字图像数据集来检测数字对象。此外,设备上掩蔽系统106训练检测掩蔽神经网络的掩蔽头以生成针对由检测头标识的数字对象的对象掩膜。
另外,如图9所示,设备上掩蔽系统106包括神经网络应用引擎904。在一个或多个实施例中,神经网络应用引擎904实现由神经网络训练管理器902训练的检测掩蔽神经网络。例如,在一些在这种情况下,神经网络应用引擎904接收数字图像并且利用检测掩蔽神经网络以生成针对在数字图像中描绘的数字对象的对象掩膜。
如图9所示,设备上掩蔽系统106还包括后处理引擎906。在一个或多个实施例中,后处理引擎906确定可以用于经由计算设备进行呈现的对象掩膜集。例如,在一些情况下,后处理引擎906确定由检测掩蔽神经网络生成的对象掩膜的掩膜质量得分。后处理引擎906进一步利用所生成的对象掩膜的掩膜质量得分和/或其他属性来过滤掉低质量的掩膜并且确定对象掩膜的过滤集以供呈现。
此外,如图所示,设备上掩蔽系统106包括用户界面管理器908。在一个或多个实施例中,用户界面管理器908管理经由计算设备(例如,经由计算设备900的图形用户界面)对一个或多个对象掩膜的呈现。例如,在一些情况下,用户界面管理器908检测对在数字图像内描绘的数字对象的选择。响应于检测到该选择,用户界面管理器908取回由检测掩蔽神经网络生成的对应对象掩膜并且提供对象掩膜以供显示。
如图9所示,设备上掩蔽系统106还包括数据存储910。具体地,数据存储910包括检测掩蔽神经网络912和数字图像数据集914。
设备上掩蔽系统106的组件902至组件914中的每个组件可以包括软件、硬件或这两者。例如,组件902至组件914可以包括存储在计算机可读存储介质上并且由诸如客户端设备或服务器设备的一个或多个计算设备的处理器可执行的一个或多个指令。在由一个或多个处理器执行时,设备上掩蔽系统106的计算机可执行指令可以使(多个)计算设备执行本文中描述的方法。备选地,组件902至组件914可以包括硬件,诸如用于执行特定功能或功能组的专用处理设备。备选地,设备上掩蔽系统106的组件902至914可以包括计算机可执行指令和硬件的组合。
此外,设备上掩蔽系统106的组件902至组件914可以例如被实现为一个或多个操作系统、一个或多个独立应用、应用的一个或多个模块、一个或多个插件、可以由其他应用调用的一个或多个库函数、和/或云计算模型。因此,设备上掩蔽系统106的组件902至组件914可以被实现为独立应用,诸如桌面或移动应用。此外,设备上掩蔽系统106的组件902至组件914可以实现为托管在远程服务器上的一个或多个基于网络的应用。备选地或附加地,设备上掩蔽系统106的组件902至组件914可以在移动设备应用或“app”套件中实现。例如,在一个或多个实施例中,设备上掩蔽系统106可以包括数字软件应用或与其结合操作,诸如
Figure BDA0003775978370000331
Figure BDA0003775978370000332
Figure BDA0003775978370000333
“ADOBE”、“PHOTOSHOP”和“LIGHTROOM”是奥多比公司在美国和/或其他国家/地区的注册商标或商标。
参考图1至图9,对应的文本和示例提供了设备上掩蔽系统106的很多不同的方法、系统、设备和非暂态计算机可读介质。除前述内容,一个或多个实施例可以也可以根据包括用于完成特定结果的动作的流程图来描述,如图10所示。图10可以用更多或更少的动作来执行。此外,这些动作可以以不同的顺序执行。此外,本文中描述的动作可以重复或彼此平行地执行,或者与相同或类似动作的不同实例平行地执行。
图10示出了根据一个或多个实施例的用于使用检测掩蔽神经网络生成数字图像的数字对象的对象掩膜的一系列动作1000的流程图。尽管图10示出了根据一个实施例的动作,但备选实施例可以省略、添加、重新排序和/或修改图10所示的任何动作。在一些实现中,图10的动作作为方法的部分被执行。例如,在一些实施例中,图10的动作在用于编辑数字图像的数字媒体环境中作为用于构建或实现用于图像分割的神经网络的计算机实现方法的部分来执行。备选地,非暂态计算机可读介质可以在其上存储指令,该指令在由至少一个处理器执行时使计算设备执行图10的动作。在一些实施例中,系统执行图10的动作。例如,在一个或多个实施例中,系统包括至少一个存储器设备,该存储器设备包括检测掩蔽神经网络,该检测掩蔽神经网络包括:从数字图像中提取编码特征映射的神经网络编码器;多个检测头,每个检测头包括至少一个神经网络层并且对应于一个或多个数字对象类别,该数字对象类别不同于与多个检测头中的其他检测头相对应的数字对象类别;以及包括附加神经网络层的掩蔽头。该系统还包括被配置为使该系统执行图10的动作的至少一个服务器设备。
一系列动作1000包括接收数字图像的动作1002。例如,在一个或多个实施例中,动作1002涉及在计算设备处接收数字图像。在某些情况下,数字图像描绘单个数字对象。然而,在一些实现中,数字图像描绘多个数字对象。
一系列动作1000还包括利用神经网络检测头从数字图像中检测数字对象的动作1004。例如,在一些实施例中,动作1004涉及在计算设备处利用检测掩蔽神经网络的检测头来检测在数字图像中描绘的数字对象。在一个或多个实施例中,通过利用具有多尺度同步批量归一化神经网络层的检测头来检测数字对象,设备上掩蔽系统106在计算设备处利用检测掩蔽神经网络的检测头来检测在数字图像中描绘的数字对象。
在一些实现中,设备上掩蔽系统106通过以下方式在计算设备处利用检测掩蔽神经网络的检测头来检测在数字图像中描绘的数字对象:在计算设备处利用检测头生成针对数字图像的部分的对象性得分;以及利用对象性得分来确定数字图像的该部分对应于数字对象。在一些实施例中,设备上掩蔽系统106在计算设备处利用检测掩蔽神经网络的附加检测头生成针对数字图像的该部分的附加对象性得分。因此,在一些情况下,利用对象性得分确定数字图像的该部分对应于数字对象包括:利用对象性得分和附加对象性得分来确定数字图像的该部分对应于数字对象。在至少一种实现中,利用对象性得分和附加对象性得分来确定数字图像的该部分对应于数字对象包括:利用针对对象性得分的权重和针对附加对象性得分的附加权重来确定数字图像的该部分对应于数字对象,权重和附加权重是经由检测头和附加检测头的范数解耦来确定的。
在一个或多个实施例中,设备上掩蔽系统106在计算设备处利用检测掩蔽神经网络的神经网络编码器来生成与来自数字图像的多个等级的图像特征相对应的特征映射集。因此,在一些情况下,通过在计算设备处利用检测头基于该特征映射来检测数字对象,设备上掩蔽系统106在计算设备处利用检测掩蔽神经网络的检测头来检测在数字图像中描绘的数字对象。
在一个或多个实施例中,通过在计算设备处利用检测头来确定与在数字图像中描绘的数字对象相对应的近似边界,设备上掩蔽系统106在计算设备处利用检测掩蔽神经网络的检测头来检测在数字图像中描绘的数字对象。在一些情况下,设备上掩蔽系统106还基于近似边界来生成针对数字对象的扩展近似边界。
一系列动作1000还包括利用神经网络掩蔽头来生成针对数字对象的对象掩膜的动作1006。例如,在一些情况下,动作1006涉及在计算设备处利用检测掩蔽神经网络的掩蔽头来生成针对数字对象的对象掩膜。
在一个或多个实施例中,通过在计算设备处利用检测掩蔽神经网络的掩蔽头基于针对数字对象的扩展近似边界来生成对象掩膜,设备上掩蔽系统106在计算设备处利用检测掩蔽神经网络的掩蔽头来生成针对数字对象的对象掩膜。
在一个或多个实施例中,一系列动作1000还包括:用于在从数字图像生成一个或多个对象掩膜之后实现一个或多个后处理技术的动作。例如,在某些情况下,这些动作包括:确定针对数字对象而生成的对象掩膜的像素的置信度得分;利用针对像素的置信度得分来生成与对象掩膜相对应的二进制掩膜;以及利用二进制掩膜和针对像素的置信度得分为对象掩膜生成掩膜质量得分。在一些情况下,设备上掩蔽系统106利用以下至少一项来确定将针对数字对象而被生成的对象掩膜包括在对象掩膜集中:对象掩膜、与数字对象相对应的边界框、与边界框相对应的置信度得分、以及对象掩膜的掩膜质量得分;并且基于将对象掩膜包括在该对象掩膜集中来提供对象掩膜用于在计算设备上显示。
如前所述,在一个或多个实施例中,一系列动作1000包括用于构建用于图像分割的神经网络的动作。例如,在某些情况下,这些动作包括:访问多个数字图像数据集,多个数字图像数据集包括描绘具有相关联的类别标签的至少一个数字对象的数字图像,其中来自多个数字图像数据集中的每个数字图像数据集对应于一个或多个数字对象类别,该一个或多个数字对象类别不同于与来自多个数字图像数据集中的其他数字图像数据集相对应的数字对象类别;以及利用检测掩蔽神经网络来预测在多个数字图像数据集的数字图像中描绘的数字对象,检测掩蔽神经网络包括用于每个数字图像数据集的检测头,该检测头被配置为检测来自数字图像数据集的一个或多个数字对象类别的数字对象。在一些实现中,这些动作还包括:利用预测数字对象来学习用于检测掩蔽神经网络的参数。通过利用具有所学习的参数的检测掩蔽神经网络来生成针对数字对象的一个或多个对象性得分来检测在数字图像中描绘的数字对象,设备上掩蔽系统106可以进一步实现检测掩蔽神经网络。在一些情况下,设备上掩蔽系统106还利用检测掩蔽神经网络的掩蔽头来生成针对从数字图像中检测的数字对象的对象掩膜。
为了提供说明,在一个或多个实施例中,设备上掩蔽系统106利用神经网络编码器从数字图像生成多个编码特征映射;利用多个检测头基于多个编码特征映射来检测在数字图像中描绘的数字对象;并且利用掩蔽头生成针对数字对象的对象掩膜。在一些情况下,设备上掩蔽系统106通过以下方式利用多个检测头基于多个编码特征映射来检测在数字图像中描绘的数字对象:利用多个检测头基于多个编码特征映射来生成针对数字图像的部分的多个类别不可知对象性得分;以及利用多个类别不可知对象性得分确定数字图像的该部分对应于数字对象。在一些情况下,利用多个类别不可知对象性得分来确定数字图像的该部分对应于数字对象包括:基于确定来自多个类别不可知对象性得分中的一个或多个对象性得分满足检测阈值来确定数字图像的该部分对应于数字对象。
在一个或多个实施例中,设备上掩蔽系统106还生成针对在数字图像中描绘的一个或多个数字对象的附加对象掩膜;生成与数字图像相对应的占用二进制映射;通过将对象掩膜和附加对象掩膜与占用二进制映射进行比较来确定将对象掩膜或附加对象掩膜中的至少一个附加对象掩膜包括在对象掩膜集中;并且基于将一个或多个数字对象掩膜包括在该对象掩膜集中来提供一个或多个数字对象掩膜以在客户端设备上显示。
在一个或多个实施例中,检测掩蔽神经网络的多个检测头共享卷积参数集,并且每个检测头包括与其他检测头的输出参数分开学习的输出参数集。在一些实施例中,检测掩蔽神经网络的掩蔽头的附加神经网络层包括捕获与数字对象相关联的局部特征的平行扩张卷积神经网络层。此外,在一些情况下,多个检测头包括多尺度同步批量归一化神经网络层,该多尺度同步批量归一化神经网络层对从数字图像生成的多个编码特征映射进行归一化。
本公开的实施例可以包括或利用包括计算机硬件(例如,一个或多个处理器和系统存储器)的专用或通用计算机,如下面更详细地讨论的。在本公开的范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。特别地,本文中描述的一个或多个过程可以至少部分实现为体现在非暂态计算机可读介质中并且由一个或多个计算设备(例如,本文中描述的任何媒体内容访问设备)可执行的指令。通常,处理器(例如,微处理器)从非暂态计算机可读介质(例如,存储器)接收指令,并且执行这些指令,从而执行一个或多个过程,包括本文中描述的一个或多个过程。
计算机可读介质可以是可以由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂态计算机可读存储介质(设备)。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实施例可以包括至少两种明显不同类型的计算机可读介质:非暂态计算机可读存储介质(设备)和传输介质。
非暂态计算机可读存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(例如,基于RAM)、闪存、相变存储器(“PCM”)、其他类型的存储器、其他光盘存储、磁盘存储或其他磁性存储设备、或者可以用于以计算机可执行指令或数据结构形式存储期望的程序代码并且可以由通用或专用计算机访问的任何其他介质。
“网络”被限定为使得能够在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当通过网络或其他通信连接(硬连线、无线或硬连线或无线的组合)将信息传输或提供给计算机时,计算机将该连接正确地视为传输介质。传输介质可以包括可以用于以计算机可执行指令或数据结构的形式携带期望的程序代码装置并且可以由通用或专用计算机访问的网络和/或数据链路。上述各项的组合也应当被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件时,计算机可执行指令或数据结构形式的程序代码装置可以从传输介质自动传输到非暂态计算机可读存储介质(设备)(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以缓冲在网络接口模块(例如,“NIC”)内的RAM中,并且然后最终传输到计算机系统RAM和/或到计算机系统处的较少易失性计算机存储介质(设备)。因此,应当理解,非暂态计算机可读存储介质(设备)可以被包括在也(或者甚至主要地)利用传输介质的计算机系统组件中。
计算机可执行指令包括例如在由处理器执行时使通用计算机、专用计算机或专用处理设备执行特定功能或功能组的指令和数据。在一些实施例中,计算机可执行指令在通用计算机上执行以将通用计算机变成实现本公开的元素的专用计算机。计算机可执行指令可以是例如二进制、中间格式指令(诸如,汇编语言)或甚至源代码。尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求书中限定的主题不必限于上述描述的特征或动作。相反,所描述的特征和动作被公开作为实现权利要求的示例形式。
本领域技术人员应当理解,本公开可以在具有很多类型的计算机系统配置的网络计算环境中实践,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器或可编程的消费类电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、平板计算机、寻呼机、路由器、交换机等。本公开还可以在分布式系统环境中实践,在分布式系统环境中,通过网络链接的本地和远程计算机系统(通过硬连线数据链接、无线数据链接、或通过硬连线和无线数据链接的组合)每个执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
本公开的实施例也可以在云计算环境中实现。在本描述中,“云计算”被限定为一种用于启用对可配置计算资源的共享池进行按需网络访问的模型。例如,可以在市场中使用云计算来提供对可配置计算资源共享池的无处不在并且方便的按需访问。可配置计算资源的共享池可以通过虚拟化快速配置,并且以较少的管理工作量或服务提供商交互来释放,然后进行相应的缩放。
云计算模型可以由各种特征组成,例如按需自助服务、多种网络访问、资源池、快速弹性、测量的服务等。云计算模型还可以公开各种服务模型,例如软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础设施即服务(“IaaS”)。还可以使用不同的部署模型(诸如私有云、社区云、公共云、混合云等)来部署云计算模型。在本说明书和权利要求书中,“云计算环境”是在其中采用云计算的环境。
图11示出了可以被配置为执行上述过程中的一个或多个的示例计算设备1100的框图。应当理解,诸如计算设备1100等一个或多个计算设备可以表示上述计算设备(例如,(多个)服务器102和/或客户端设备110a至110n)。在一个或多个实施例中,计算设备1100可以是移动设备(例如,移动电话、智能电话、PDA、平板计算机、膝上型计算机、相机、跟踪器、手表、可穿戴设备)。在一些实施例中,计算设备1100可以是非移动设备(例如,台式计算机或另一类型的客户端设备)。此外,计算设备1100可以是包括基于云的处理和存储能力的服务器设备。
如图11所示,计算设备1100可以包括可以通过通信基础设施(例如,总线1112)通信地耦合的一个或多个处理器1102、存储器1104、存储设备1106、输入/输出接口1108(或“I/O接口1108”)和通信接口1110。尽管在图11中示出了计算设备1100,但是图11所示的组件并非旨在限制。在其他实施例中可以使用附加或备选组件。此外,在某些实施例中,计算设备1100包括的组件少于图11所示的组件。现在将更详细地描述图11所示的计算设备1100的组件。
在特定实施例中,(多个)处理器1102包括用于执行诸如构成计算机程序的指令等指令的硬件。作为示例而非限制,为了执行指令,(多个)处理器1102可以从内部寄存器、内部高速缓存、存储器1104或存储设备1106中检索(或取回)指令,并且解码和执行指令。
计算设备1100包括耦合到(多个)处理器1102的存储器1104。存储器1104可以用于存储由(多个)处理器执行的数据、元数据和程序。存储器1104可以包括易失性和非易失性存储器中的一种或多种存储器,诸如随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态磁盘(“SSD”)、闪存、相变存储器(“PCM”)或其他类型的数据存储。存储器1104可以是内部或分布式存储器。
计算设备1100包括存储设备1106,该存储设备1106包括用于存储数据或指令的存储装置。作为示例而非限制,存储设备1106可以包括上述非暂态存储介质。存储设备1106可以包括硬盘驱动器(HDD)、闪存、通用串行总线(USB)驱动器或这些或其他存储设备的组合。
如图所示,计算设备1100包括一个或多个I/O接口1108,该I/O接口1108被提供以允许用户向计算设备1100提供输入(例如,用户笔画),从计算设备1100接收输出,以及以其他方式向和从计算设备1100传输数据。这些I/O接口1108可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其他已知I/O设备或这样的I/O接口1108的组合。触摸屏可以用手写笔或手指激活。
I/O接口1108可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器(例如,显示屏)、一个或多个输出驱动(例如,显示驱动)、一个或多个音频扬声器和一个或多个音频驱动。在某些实施例中,I/O接口1108被配置为将图形数据提供给显示器以呈现给用户。图形数据可以表示一个或多个图形用户界面和/或可以服务于特定实现的任何其他图形内容。
计算设备1100还可以包括通信接口1110。通信接口1110可以包括硬件、软件或两者。通信接口1110提供一个或多个接口以用于计算设备与一个或多个其他计算设备或一个或多个网络之间的通信(例如,基于分组的通信)。作为示例而非限制,通信接口1110可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器、或者用于与诸如WI-FI等无线网络进行通信的无线NIC(WNIC)或无线适配器。计算设备1100还可以包括总线1112。总线1112可以包括将计算设备1100的组件彼此连接的硬件、软件或这两者。
在前述说明书中,已经参考本发明的特定示例实施例描述了本发明。参考本文中讨论的细节描述了(多个)本发明的各个实施例和方面,并且附图示出了各个实施例。上面的描述和附图是本发明的说明,而不应当解释为限制本发明。描述了很多具体细节以提供对本发明的各种实施例的透彻理解。
在不脱离本发明的精神或基本特征的情况下,本发明可以以其他特定形式体现。所描述的实施例在所有方面仅被认为是说明性的而非限制性的。例如,本文中描述的方法可以用更少或更多的步骤/动作来执行,或者步骤/动作可以以不同的顺序来执行。另外,本文中描述的步骤/动作可以重复,或者彼此平行地或与相同或相似步骤/动作的不同实例并行地执行。因此,本发明的范围由所附权利要求书而不是前面的描述指示。落在权利要求的等同含义和范围之内的所有改变均应当被包含在其范围之内。

Claims (20)

1.一种计算机实现的方法,在用于编辑数字图像的数字媒体环境中、用于构建用于图像分割的神经网络,包括:
访问多个数字图像数据集,所述多个数字图像数据集包括描绘具有相关联的类别标签的至少一个数字对象的数字图像,其中来自所述多个数字图像数据集的每个数字图像数据集对应于一个或多个数字对象类别,所述一个或多个数字对象类别不同于与来自所述多个数字图像数据集的其他数字图像数据集相对应的数字对象类别;
利用检测掩蔽神经网络来预测在所述多个数字图像数据集的所述数字图像中描绘的数字对象,所述检测掩蔽神经网络包括用于每个数字图像数据集的检测头,所述检测头被配置为检测来自所述数字图像数据集的所述一个或多个数字对象类别的数字对象;以及
执行以下步骤:利用来自所述多个数字图像数据集的所述数字图像的所预测的所述数字对象,学习用于检测在数字图像中描绘的数字对象的检测掩蔽神经网络的参数。
2.根据权利要求1所述的计算机实现的方法,还包括:通过利用具有所学习的所述参数的所述检测掩蔽神经网络生成针对所述数字对象的一个或多个对象性得分来检测在数字图像中描绘的数字对象。
3.根据权利要求2所述的计算机实现的方法,还包括:利用所述检测掩蔽神经网络的掩蔽头来生成针对从所述数字图像中检测到的所述数字对象的对象掩膜。
4.一种非暂态计算机可读介质,其上存储有指令,所述指令在由至少一个处理器执行时使计算设备执行操作,所述操作包括:
在所述计算设备处接收数字图像;
在所述计算设备处利用检测掩蔽神经网络的检测头来检测在所述数字图像中描绘的数字对象;以及
在所述计算设备处利用所述检测掩蔽神经网络的掩蔽头生成针对所述数字对象的对象掩膜。
5.根据权利要求4所述的非暂态计算机可读介质,还包括在由所述至少一个处理器执行时使所述计算设备执行另外的操作的指令,所述另外的操作包括:在所述计算设备处利用所述检测掩蔽神经网络的神经网络编码器来生成与来自所述数字图像的所述多个等级的图像特征相对应的特征映射集;以及
在所述计算设备处利用所述检测掩蔽神经网络的所述检测头来检测在所述数字图像中描绘的所述数字对象包括:在所述计算设备处利用所述检测头基于所述特征映射集来检测所述数字对象。
6.根据权利要求4所述的非暂态计算机可读介质,其中在所述计算设备处利用所述检测掩蔽神经网络的所述检测头来检测在所述数字图像中描绘的所述数字对象包括:利用具有多尺度同步批量归一化神经网络层的所述检测头来检测所述数字对象。
7.根据权利要求4所述的非暂态计算机可读介质,其中在所述计算设备处利用所述检测掩蔽神经网络的所述检测头来检测在所述数字图像中描绘的所述数字对象包括:
在所述计算设备处利用所述检测头生成针对所述数字图像的部分的对象性得分;以及
利用所述对象性得分来确定所述数字图像的所述部分对应于所述数字对象。
8.根据权利要求7所述的非暂态计算机可读介质,还包括在由所述至少一个处理器执行时使所述计算设备执行另外的操作的指令,所述另外的操作包括:在所述计算设备处利用所述检测掩蔽神经网络的附加检测头生成针对所述数字图像的所述部分的附加对象性得分,
其中利用所述对象性得分来确定所述数字图像的所述部分对应于所述数字对象包括:利用所述对象性得分和所述附加对象性得分来确定所述数字图像的所述部分对应于所述数字对象。
9.根据权利要求8所述的非暂态计算机可读介质,其中利用所述对象性得分和所述附加对象性得分来确定所述数字图像的所述部分对应于所述数字对象包括:利用针对所述对象性得分的权重和针对所述附加对象性得分的附加权重来确定所述数字图像的所述部分对应于所述数字对象,所述权重和所述附加权重经由对所述检测头和所述附加检测头的范数解耦而被确定。
10.根据权利要求4所述的非暂态计算机可读介质,
其中在所述计算设备处利用所述检测掩蔽神经网络的所述检测头来检测在所述数字图像中描绘的所述数字对象包括:在所述计算设备处利用所述检测头来确定与在所述数字图像中描绘的所述数字对象相对应的近似边界;并且
还包括在由所述至少一个处理器执行时使所述计算设备执行另外的操作的指令,所述另外的操作包括:基于所述近似边界生成针对所述数字对象的扩展近似边界。
11.根据权利要求10所述的非暂态计算机可读介质,其中在所述计算设备处利用所述检测掩蔽神经网络的所述掩蔽头生成针对所述数字对象的所述对象掩膜包括:在所述计算设备处利用所述检测掩蔽神经网络的所述掩蔽头基于针对所述数字对象的所述扩展近似边界来生成所述对象掩膜。
12.根据权利要求4所述的非暂态计算机可读介质,还包括在由所述至少一个处理器执行时使所述计算设备执行另外的操作的指令,所述另外的操作包括:
确定针对所述数字对象而被生成的所述对象掩膜的像素的置信度得分;
利用所述像素的所述置信度得分来生成与所述对象掩膜相对应的二进制掩膜;以及
利用所述二进制掩膜和针对所述像素的所述置信度得分来生成针对所述对象掩膜的掩膜质量得分。
13.根据权利要求12所述的非暂态计算机可读介质,还包括在由所述至少一个处理器执行时使所述计算设备执行如下另外的操作的指令,所述另外的操作包括:
利用以下至少一项来确定将针对所述数字对象而被生成的所述对象掩膜包括在对象掩膜集中:所述对象掩膜、与所述数字对象相对应的边界框、与所述边界框相对应的置信度得分、和针对所述对象掩膜的所述掩膜质量得分;以及
基于将所述对象掩膜包括在所述对象掩膜集中,提供所述对象掩膜以供在所述计算设备上显示。
14.一种系统,包括:
至少一个存储器设备,包括检测掩蔽神经网络,所述检测掩蔽神经网络包括:
神经网络编码器,从数字图像中提取编码特征映射;
多个检测头,每个检测头包括至少一个神经网络层并且对应于一个或多个数字对象类别,所述一个或多个数字对象类别不同于与来自所述多个检测头的其他检测头相对应的数字对象类别;以及
掩蔽头,包括附加神经网络层;以及
至少一个服务器设备,被配置为使所述系统:
利用所述神经网络编码器从数字图像生成多个编码特征映射;
利用所述多个检测头基于所述多个编码特征映射来检测在所述数字图像中描绘的数字对象;以及
利用所述掩蔽头生成针对所述数字对象的对象掩膜。
15.根据权利要求14所述的系统,其中所述至少一个服务器设备被配置为使所述系统通过以下方式利用所述多个检测头基于所述多个编码特征映射来检测在所述数字图像中描绘的所述数字对象:
利用所述多个检测头基于所述多个编码特征映射来生成针对所述数字图像的部分的多个类别不可知对象性得分;以及
利用所述多个类别不可知对象性得分来确定所述数字图像的所述部分对应于所述数字对象。
16.根据权利要求15所述的系统,其中利用所述多个类别不可知对象性得分来确定所述数字图像的所述部分对应于所述数字对象包括:基于确定来自所述多个类别不可知对象性得分中的一个或多个对象性得分满足检测阈值来确定所述数字图像的所述部分对应于所述数字对象。
17.根据权利要求14所述的系统,其中所述至少一个服务器设备还被配置为使所述系统:
生成针对在所述数字图像中描绘的一个或多个数字对象的附加对象掩膜;
生成与所述数字图像相对应的占用二进制映射;
通过将所述对象掩膜和所述附加对象掩膜与所述占用二进制映射进行比较来确定将所述对象掩膜或所述附加对象掩膜中的至少一个附加对象掩膜包括在对象掩膜集中;以及
基于将所述一个或多个数字对象掩膜包括在所述对象掩膜集中,提供一个或多个数字对象掩膜以供在客户端设备上显示。
18.根据权利要求14所述的系统,其中所述掩蔽头的所述附加神经网络层包括捕获与数字对象相关联的局部特征的平行扩张卷积神经网络层。
19.根据权利要求14所述的系统,其中所述多个检测头共享卷积参数集,并且每个检测头包括与其他检测头的输出参数分开学习的输出参数集。
20.根据权利要求14所述的系统,其中所述多个检测头包括多尺度同步批量归一化神经网络层,所述多尺度同步批量归一化神经网络层对从所述数字图像生成的所述多个编码特征映射进行归一化。
CN202210916947.1A 2021-10-23 2022-08-01 在设备上检测数字对象并且生成对象掩膜 Pending CN116030290A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163271150P 2021-10-23 2021-10-23
US63/271,150 2021-10-23
US17/589,114 2022-01-31
US17/589,114 US20230128792A1 (en) 2021-10-23 2022-01-31 Detecting digital objects and generating object masks on device

Publications (1)

Publication Number Publication Date
CN116030290A true CN116030290A (zh) 2023-04-28

Family

ID=83902101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210916947.1A Pending CN116030290A (zh) 2021-10-23 2022-08-01 在设备上检测数字对象并且生成对象掩膜

Country Status (5)

Country Link
US (1) US20230128792A1 (zh)
CN (1) CN116030290A (zh)
AU (1) AU2022221413A1 (zh)
DE (1) DE102022120117A1 (zh)
GB (1) GB2612175B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11797408B2 (en) * 2021-12-30 2023-10-24 Juniper Networks, Inc. Dynamic prediction of system resource requirement of network software in a live network using data driven models

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11508061B2 (en) * 2020-02-20 2022-11-22 Siemens Healthcare Gmbh Medical image segmentation with uncertainty estimation
US11587234B2 (en) * 2021-01-15 2023-02-21 Adobe Inc. Generating class-agnostic object masks in digital images

Also Published As

Publication number Publication date
US20230128792A1 (en) 2023-04-27
GB202212267D0 (en) 2022-10-05
DE102022120117A1 (de) 2023-04-27
GB2612175B (en) 2023-11-15
GB2612175A (en) 2023-04-26
AU2022221413A1 (en) 2023-05-11

Similar Documents

Publication Publication Date Title
US10733431B2 (en) Systems and methods for optimizing pose estimation
US10796452B2 (en) Optimizations for structure mapping and up-sampling
US10229499B2 (en) Skin lesion segmentation using deep convolution networks guided by local unsupervised learning
US11373390B2 (en) Generating scene graphs from digital images using external knowledge and image reconstruction
US11416772B2 (en) Integrated bottom-up segmentation for semi-supervised image segmentation
WO2018028255A1 (zh) 基于对抗网络的图像显著性检测方法
US11875510B2 (en) Generating refined segmentations masks via meticulous object segmentation
US11636570B2 (en) Generating digital images utilizing high-resolution sparse attention and semantic layout manipulation neural networks
AU2021354030B2 (en) Processing images using self-attention based neural networks
CN109858333B (zh) 图像处理方法、装置、电子设备及计算机可读介质
US11709915B2 (en) Classifying images utilizing generative-discriminative feature representations
CN111368636B (zh) 目标分类方法、装置、计算机设备和存储介质
CN115082329A (zh) 使用用于图像修复的深度视觉引导补丁匹配模型生成修改的数字图像
JP7188856B2 (ja) 動的な画像解像度評価
CN116030290A (zh) 在设备上检测数字对象并且生成对象掩膜
CN112364933A (zh) 图像分类方法、装置、电子设备和存储介质
CN116188478A (zh) 图像分割方法、装置、电子设备及存储介质
US20230132180A1 (en) Upsampling and refining segmentation masks
US20240161382A1 (en) Texture completion
CN114048862A (zh) 模型的解释方法及装置
CN113610856A (zh) 训练图像分割模型和图像分割的方法和装置
CN116630628B (zh) 一种主动脉瓣钙化分割方法、系统、设备及存储介质
US20240161364A1 (en) Generating image mattes without trimap segmenetations via a multi-branch neural network
US11763545B2 (en) Generating confidence-adaptive pixel-level predictions utilizing a multi-exit pixel-level prediction neural network
US20240071049A1 (en) Spatially Preserving Flattening in Deep Learning Neural Networks

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