CN113646773A - 图像扩展神经网络 - Google Patents

图像扩展神经网络 Download PDF

Info

Publication number
CN113646773A
CN113646773A CN201980095109.9A CN201980095109A CN113646773A CN 113646773 A CN113646773 A CN 113646773A CN 201980095109 A CN201980095109 A CN 201980095109A CN 113646773 A CN113646773 A CN 113646773A
Authority
CN
China
Prior art keywords
image
neural network
training
discriminative
generative
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
CN201980095109.9A
Other languages
English (en)
Inventor
M.P.邦内维
A.马奇诺特
A.萨纳
S.毕
J.王
M.S.克莱宁
W.童
D.克里什南
H.龚
刘策
H.塔莱比
R.萨伊格
P.泰特瓦克
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN113646773A publication Critical patent/CN113646773A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • G06T5/77
    • 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
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • 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/20112Image segmentation details
    • G06T2207/20132Image cropping

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)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

用于生成真实的图像扩展的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。在一个方面,一种方法包括向具有多个生成式神经网络参数的生成式神经网络提供包括提供的图像的输入。生成式神经网络根据多个生成式神经网络参数的经训练的值处理输入以生成扩展图像。扩展图像具有(i)比提供的图像更多的行、更多的列或更多的行和更多的列,并且(ii)被预测为是提供的图像的真实扩展。生成式神经网络使用对抗损失目标函数进行训练。

Description

图像扩展神经网络
背景技术
本说明书涉及使用机器学习模型处理图像。
机器学习模型接收输入并基于接收的输入生成输出,例如预测输出。一些机器学习模型是参数模型,并基于接收的输入和模型参数的值生成输出。
一些机器学习模型是采用多层模型来针对接收的输入生成输出的深度模型。例如,深度神经网络是深度机器学习模型,其包括输出层和一个或多个隐藏层,每个隐藏层对接收的输入应用变换以生成输出。
发明内容
本说明书描述了一种执行图像扩展的被实现为在一个或多个位置的一个或多个计算机上的计算机程序的系统。
根据第一方面,提供了一种由一个或多个数据处理装置执行的方法,该方法包括:向具有多个生成式神经网络参数的生成式神经网络提供包括提供的图像的输入,其中:生成式神经网络根据多个生成式神经网络参数的经训练的值对输入进行处理,以生成扩展图像;该扩展图像具有(i)比提供的图像更多的行、更多的列或更多的行和更多的列,并且(ii)被预测为是提供的图像的真实扩展;并且生成式神经网络已经使用对抗损失目标函数进行了训练。
以此方式,附加行和/或列提供超出提供的图像的一个或多个原始边界的扩展并提供对提供的图像的预测的真实扩展,诸如,例如保留提供的图像的高级语义特性及低级结构和纹理。
该方法可以包括接收对要在块中呈现的图像的请求;确定提供的图像响应于该请求;和在生成扩展图像之后,响应于请求提供扩展图像。
该方法可以包括基于块的大小不同于提供的图像的大小来确定提供的图像有资格用于图像扩展,并且作为响应,将包括提供的图像的输入提供给生成式神经网络。
该块的大小可以指定块的纵横比。
该请求可以指定要与块中的图像一起呈现的附加元素,并且响应于该请求提供扩展图像,可以包括将附加元素覆盖在扩展图像的扩展部分上。
该块可以呈现在搜索结果旁边或在第三方网页上。
生成式神经网络可以包括多个卷积神经网络层。
生成式神经网络可以包括多个跳跃连接。
生成式神经网络可以包括多个实例归一化层。
生成式神经网络的输入可以包括:具有与扩展图像相同数量的行和列的基线图像,其中,该基线图像包括:(i)与提供的图像对应的第一部分,和(ii)具有默认像素值的第二部分;以及具有与扩展图像相同数量的行和列的掩模图像,其中,该掩模图像识别基线图像的第一部分和第二部分。
与基线图像的第一部分对应的掩模图像中的像素可以各自具有第一像素值,并且与基线图像的第二部分对应的掩模图像中的像素可以各自具有与第一像素值不同的第二像素值。
生成式神经网络可以与具有多个判别式神经网络参数的判别式神经网络联合训练,该判别式神经网络被配置为处理给定图像以生成表征给定图像是使用生成式神经网络生成的可能性的判别输出。
使用对抗损失目标函数训练生成式神经网络可以包括:使用生成式神经网络并根据生成式神经网络参数的当前值处理包括训练图像的训练输入以生成使训练图像扩展的训练扩展图像;基于训练扩展图像生成判别式神经网络输入;使用判别式神经网络并根据判别式神经网络参数的当前值处理判别式神经网络输入以生成表征判别式神经网络输入是使用生成式神经网络生成的可能性的判别输出;和基于对抗损失目标函数调整生成式神经网络参数的当前值,其中,对抗损失目标函数取决于表征判别神经网络输入是使用生成式神经网络生成的可能性的判别输出。
基于训练扩展图像生成判别式神经网络输入可以包括用训练图像盖写与训练图像对应训练扩展图像的一部分。
该方法可以包括基于表征训练扩展图像与目标图像的相似性的重建损失目标函数调整生成式神经网络参数的当前值,其中,训练图像是目标图像的裁剪表示。
可以根据目标图像的语义特征表示来调节判别式神经网络,其中,训练图像是目标图像的裁剪表示。
通过处理目标图像,使用分类神经网络的中间输出来确定目标图像的语义特征表示。
判别输出可以基于:(i)判别式神经网络的最后一层的输出,和(ii)判别式神经网络的中间输出与目标图像的语义特征表示之间的相似性度量。
根据另一方面,提供了一种系统,该系统包括一个或多个计算机和一个或多个存储设备,该存储设备存储指令,该指令在由一个或多个计算机执行时使一个或多个计算机执行第一方面的相应方法的操作。
根据另一方面,提供了存储指令的一个或多个计算机存储介质,该指令在由一个或多个计算机执行时使一个或多个计算机执行第一方面的相应方法的操作。
一个方面的可选特征可以在适当的情况下与另一方面组合。可以实现本说明书中描述的主题的特定实施例以实现以下优点中的一个或多个。
本说明书中描述的图像扩展系统可以使用生成式神经网络生成扩展图像(例如,将输入图像扩展到其原始边界之外的扩展图像)。生成式神经网络与“判别式”神经网络联合训练,该“判别式”神经网络被配置为处理输入图像以生成限定对于以下的预测的输出:输入图像是(i)“真实”图像还是(ii)由生成式神经网络生成的扩展图像。为了促进生成式神经网络和判别式神经网络的联合训练,系统可以根据与由判别式神经网络处理的输入图像对应的语义特征来调节判别式神经网络。以这种方式调节判别式神经网络可以通过较少的训练迭代使系统能够被训练以达到可接受的性能水平,从而使系统在训练期间消耗比一些常规系统更少的计算资源(例如,存储器和计算能力)。
一些常规的补全(in-painting)系统通过原始图像数据“填充”图像在所有方向上被包围的一部分。相比之下,本说明书中描述的图像扩展系统将图像扩展到其原始边界之外以生成扩展图像,该扩展图像扩展了图像的高级语义特性及低级图像结构和纹理。在某些情况下,直接应用常规的补全系统来执行图像扩展任务会导致扩展图像质量低于由本说明书中描述的图像扩展系统生成的扩展图像的质量。例如,常规的补全系统可能会生成具有模糊或重复像素和不一致语义的扩展图像,而由当前描述的图像扩展系统创建的扩展图像将不会具有相同的模糊、重复像素或不一致的语义特性。
本说明书中描述的图像扩展系统生成可用于多种应用(例如虚拟现实应用、计算摄影应用和数字组件分发应用)中的任何应用的扩展图像。在数字组件分发应用中,数字组件分发系统发送数字组件以在块中呈现,例如,在搜索结果旁边或在第三方网页上。在某些情况下,包括在数字组件中的图像可能具有阻止图像填充定义块的大小,例如,因为图像和块的纵横比不同。在这种情况下,可以使用本说明书中描述的图像扩展系统来调整图像大小,以使图像能够填充块,从而能够更高效地利用资源(特别是更有效地利用块中可用的空间)并防止用户界面中出现空白斑和/或失真的图像。换句话说,本申请中描述的系统不仅“填充”图像,还将图像扩展到其边界之外,即使只有单个图像大小可用时,这也可以使图像能够被修改以适应多个不同大小的块。这减少了需要存储的图像数量,因为可以修改单个图像以适应各种大小的块,同时保留原始图像的特征。该图像扩展系统可以通过沿特定维度拉伸或压缩图像来改变图像的纵横比以使图像填充块来避免失真图像的需要。此外,在数字组件分发应用中,一些数字组件供应商可能要求包括在数字组件中的图像要在没有失真的情况下呈现(例如,通过沿特定维度拉伸或压缩)。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。主题的其他特征、方面和优点将从描述、附图和权利要求中变得明显。
附图说明
图1示出了示例图像扩展系统。
图2图示了用于使用对抗损失目标函数与判别式神经网络联合训练生成式神经网络的示例数据流。
图3是由图像扩展系统生成的扩展图像的示例的图示。
图4是其中数字组件分发系统使用图像扩展系统的示例环境的框图。
图5示出了正在用户设备的屏幕上显示的数字组件,其中,包括在数字组件中的图像是使用图像扩展系统扩展的。
图6示出了正在“横幅(banner)”块中显示的数字组件,其中,包括在数字组件中的图像是使用图像扩展系统扩展的。
图7是示例用户界面的图示,该用户界面可以呈现给实体,该实体提供数字组件以用于数字组件分发系统发送。
图8是用于响应于请求提供扩展图像的示例过程的流程图。
图9是示例计算机系统的框图。
各个附图中相同的附图标记和名称表示相同的元件。
具体实施方式
本说明书描述了用于处理图像以生成“扩展”图像的技术,该“扩展”图像真实地将图像扩展到其原始边界之外,例如,将图像扩展超出其原始边界之外,同时保留图像的高级语义特性和低级结构和纹理。这样的处理可以用于图像增强。例如,如果图像的尺寸与要将图像放置在其中的的块不匹配,则可以扩展图像尺寸以匹配块,同时保留原始图像内的内容特性。在另一示例中,如果图像被损坏,诸如图像的一部分缺失,则本公开的各方面可用于自动生成缺失的部分。例如,可以用本文讨论的技术重新生成不正确捕获或不完整的损坏图像的捕获版本。
为了扩展图像,本说明书中描述的图像扩展系统使用生成式神经网络处理图像,该生成式神经网络使用对抗损失目标函数进行训练,以生成对应的扩展图像。对抗损失目标函数基于判别式神经网络通过处理扩展图像生成的输出来评估使用生成式神经网络生成的扩展图像。训练判别式神经网络以预测输入图像是(i)“真实”(即自然)图像,还是(ii)使用生成式神经网络生成的扩展图像。联合训练生成式神经网络和判别式神经网络促进图像扩展系统生成难以与真实图像区分的扩展图像。
图像扩展系统可用于多种应用中的任何一种,例如,调整要在各种尺寸的定义块中呈现的数字组件中包括的图像的大小,以使图像能够填充块而不失真。
当在本文档全文中使用时,词组数字组件是指数字内容或数字信息的离散单元,数字内容或数字信息可以包括以下中的一个或多个:例如,图像、视频剪辑、音频剪辑、多媒体剪辑、文本段或统一资源定位符(URL)。数字组件可以作为单个文件或文件集合以电子方式存储在物理存储器设备中,并且数字组件可以采用视频文件、音频文件、多媒体文件、图像文件或文本文件的形式,并且包括串流视频、串流音频、社交网络帖子、博客帖子和/或广告信息,因此广告是一种类型的数字组件。通常,数字组件由单个提供者或源(例如,广告商、出版商或其他内容提供者)定义(或提供),但从一个源提供的数字组件可以用来自另一源的数字(例如,天气信息、实时事件信息或从其他源获得的其他信息)增强。
下面更详细地描述这些特征和其他特征。
图1示出了示例图像扩展系统100。图像扩展系统100是在一个或多个位置的一个或多个计算机上被实现为计算机程序的系统的示例,其中实现了以下描述的系统、组件和技术。
图像扩展系统100被配置为处理图像102以生成扩展图像104,该扩展图像真实地将图像102扩展到其原始边界之外。更具体地,表示扩展图像104的二维(2D)像素阵列通常比图像102具有更多行、更多列或更多行和更多列。在图1中描绘的示例中,与原始图像102相比,扩展图像104在其右侧具有一个或多个附加列106。在特定示例中,图像102可以是100×100尺寸的,而扩展图像104可以是100×120尺寸的。在另一特定示例中,图像102可以是80×120尺寸的,而扩展图像可以是90×125尺寸的。尺寸的单位可以是任何合适的单位,诸如像素数量。图3中示出了使用系统100生成的扩展图像的示例。
在一些情况下,在生成扩展图像104之前,图像扩展系统100可以均匀地缩小或扩大原始图像102(即,同时保持其纵横比并由此避免失真)。在特定的示例中,为了从大小100×200的输入图像生成大小50×120的输出图像,图像扩展系统可以首先将输入图像均匀地缩小到大小50×100,然后从大小50×100的缩小图像生成大小50×120的扩展图像。
图像102(和扩展图像104)可以以任何适当的格式表示,例如,作为像素的2D阵列,每个像素与对应的灰度强度或与以适当色彩空间表示像素颜色的颜色向量关联。色彩空间可以是例如红-绿-蓝(RGB)色彩空间或CIELAB色彩空间。
为了生成扩展图像104,系统100从图像102确定生成式网络输入108并且使用生成式神经网络110处理生成式网络输入108。生成式网络输入的几个示例如下。
在一个示例中,生成式网络输入108包括基线图像112和掩模图像114,二者都具有与要由生成式神经网络110生成的扩展图像相同的大小(即,行数和列数)。基线图像112包括:(i)与图像102对应的第一部分112-A,和(ii)具有默认像素值(例如,黑色或白色像素值)的第二部分112-B。也就是说,基线图像112包括图像102,并且可以理解为将图像102扩展默认像素值的一个或多个行或列。掩模图像114识别基线图像的哪些部分对应于:(i)图像102,和(ii)默认像素值。例如,与匹配图像102的基线图像112的真正的子集对应的掩模图像114中的像素可以具有第一值(例如,值0),并且掩模图像114中的其余像素可以具有第二值(例如,值1)。在该示例中,基线图像112和掩模图像114可以在空间上逐通道级联以形成生成式网络输入108。
在另一示例中,生成式网络输入108可以仅包括基线图像112,即,没有掩模图像114。
在另一示例中,生成式网络输入108可以直接与图像102对应,即,不包括基线图像112或掩模图像114。
生成式神经网络110被配置为根据一组生成式神经网络参数的经训练的值处理生成式网络输入108以生成扩展图像104。生成式神经网络110通常具有卷积神经网络架构,即,包括一个或多个卷积神经网络层(以及可选地,其他适当类型的神经网络层)的神经网络架构。
对抗式训练系统116被配置为确定使生成式神经网络110能够生成真实的扩展图像104的生成式神经网络参数的经训练的值。对抗式训练系统116使用对抗损失目标函数联合训练生成式神经网络110连同判别式神经网络,这将参考图2更详细地进行描述。
在一些情况下,系统100可以通过重复地扩展原始图像来创建“全景”扩展图像。例如,系统100可以扩展原始图像以生成第一扩展图像,然后扩展第一扩展图像的裁剪部分以生成第二扩展图像,以此类推。最后,系统可以级联扩展图像以生成大幅扩展原始图像的全景图像,例如,通过2×、3×、5×的因子,或任何其他适当的因子。
由系统100生成的扩展图像104可以用于多种应用中的任何一种。下面是几个示例。
在一个示例中,在虚拟现实应用中,有时需要模拟从与实际用于捕获原始图像的相机取向不同的相机取向捕获的图像。图像扩展系统100可以用于以通过填充原始图像边界之外的内容这种方式来模拟图像。
在另一示例中,在全景拼接应用中(例如,其中,多个图像被“拼接”在一起以生成单个组合图像),一些常规技术需要裁剪拼接投影的锯齿状边缘以实现矩形全景。图像扩展系统100转而可以通过生成填充锯齿状边缘之间的间隙的扩展图像来避免裁剪锯齿状边缘的需要,从而实现更有效的全景拼接。
在另一示例中,图像扩展系统100可以用于使以特定纵横比拍摄的视频能够以不同纵横比显示在屏幕上,而无需借助拉伸或裁剪。特别地,图像扩展系统100可以用于处理视频中的每个视频帧以生成对应的扩展视频帧,例如,具有与要显示视频的屏幕相同的纵横比。
在另一示例中,数字组件分发系统可以使用图像扩展系统100来扩展要在搜索结果旁边或在第三方网站上的定义块中显示的图像,以使图像能够填充块而无需借助拉伸或裁剪。参考图4更详细地描述使用图像扩展系统100作为数字组件分发系统的一部分。
图2是示例数据流200,其示出了可以由对抗式训练系统116执行以用于使用对抗损失目标函数204与判别式神经网络202联合训练生成式神经网络110的操作。通常,训练生成式神经网络110以生成真实地扩展输入图像的扩展图像,并且训练判别式神经网络202以生成表征输入图像是使用生成式神经网络110生成的可能性的判别输出(即,不同于自然图像)。接下来将详细描述生成式神经网络110的训练,然后描述判别式神经网络202的训练。
生成式神经网络110通过多次训练迭代被训练,并且在每次训练迭代,基于训练示例(training example)的当前批次(即,集合)调整生成式神经网络参数的当前参数值。每个训练示例包括:(i)训练生成式网络输入,和(ii)应当由生成式神经网络110通过处理对应的训练生成式网络输入而生成的目标扩展图像。
训练示例中包括的目标扩展图像206通常是真实的(即,自然的)图像。与目标扩展图像206对应的训练生成式网络输入可以以多种方式中的任一种表示,如参考图1所述。在一个示例中,与目标扩展图像206对应的训练生成式网络输入包括基线图像208和掩模图像210。基线图像208是通过“掩蔽”目标扩展图像206的一部分(例如通过将目标扩展图像206的一部分中的像素值设置为默认值(例如,值0))而生成的。掩模图像210识别目标扩展图像206的已经在基线图像中被掩蔽的部分。目标扩展图像包括在训练生成式网络输入中的部分在本文档中可称为“训练图像”。
通常,训练示例的当前批次可以包括多个训练示例。但是,为方便起见,以下描述将参考当前批次中的特定训练示例。
生成式神经网络110处理训练示例中包括的训练生成式网络输入以生成对应的训练扩展图像212。在生成训练扩展图像212之后,对抗式训练系统116使用判别式神经网络202处理训练扩展图像212以生成表征训练扩展图像是由生成式神经网络110生成的可能性的判别输出。因此,判别输出表征由生成式神经网络110生成的训练扩展图像212是否是拟真地扩展训练图像的真实图像。如下文将更详细地描述的,对抗损失目标函数204取决于由判别式神经网络202生成的判别输出。
在一些情况下,不是直接处理训练扩展图像212,对抗式训练系统116首先将训练图像盖写到训练扩展图像212的对应部分上。也就是说,对抗式训练系统116将训练图像盖写到训练扩展图像212的应当匹配训练图像的部分上,而不修改训练扩展图像212的扩展超出训练图像边界的部分。以这种方式修改训练扩展图像212促进判别输出不仅表征训练扩展图像本质上是否是真实图像,而且表征训练扩展图像是否是原始训练图像的真实扩展。
在将训练扩展图像212提供给判别式神经网络202之前,掩模图像210可以在空间上逐通道级联到训练扩展图像212。
除了处理训练扩展图像212(或基于训练扩展图像212的输入)之外,可以根据训练示例的目标扩展图像206的语义特征表示来调节判别式神经网络202。也就是说,判别式神经网络202针对训练扩展图像212生成的判别输出可以取决于目标扩展图像206的语义特征表示。
目标扩展图像206的语义特征表示是指数值的有序集合,例如,数值的向量或矩阵,其隐式地或显式地表征目标扩展图像206的内容。对抗式训练系统116将目标扩展图像206的语义特征表示确定为由预训练图像处理神经网络通过处理目标扩展图像206而生成的中间输出。神经网络的中间输出是指由神经网络的一个或多个中间层(即,在输入层之后但在输出层之前的层)生成的输出。
图像处理神经网络可以具有任何适当的神经网络架构(例如,InceptionV3架构),并且可以被预训练以执行各种图像处理任务中的任何任务,例如分类任务或回归任务。在特定示例中,图像处理神经网络可以被预训练以通过生成表征输入图像描绘来自预定数量的对象类别(例如,人、车辆、自行车等)的相应可能性的输出来执行分类任务。在另一特定示例中,图像处理神经网络可以被预训练以通过生成表征被预测为包围输入图像中描绘的对象的边界框的位置的输出来执行回归任务。图像处理神经网络被“预训练”是指该网络先前已被训练来执行图像处理任务。
在一些情况下,对抗式训练系统116在使用目标扩展图像的语义表示调节判别式神经网络202之前,使用归一化引擎214来归一化目标扩展图像的语义表示。例如,归一化引擎214可以将归一化语义表示Cnorm确定为:
Figure BDA0003289372290000101
其中,C是未归一化的语义表示,
Figure BDA0003289372290000102
是图像(例如,来自一组训练图像)的语义表示的期望值,并且|·|2指L2范数。此外,对抗式训练系统116可以使用一个或多个神经网络层216(例如,全连接层)来处理归一化语义表示,该一个或多个神经网络层216在使用语义表示来调节判别式神经网络之前与生成式和判别式神经网络被联合训练。
可以以多种方式中的任何方式根据目标扩展图像的语义表示来调节判别式神经网络202。在一个示例中,对抗式训练系统116可以提供目标扩展图像的语义表示作为判别式神经网络的附加输入,例如,提供到判别式神经网络的输入层或中间层。在另一示例中,对抗式训练系统116可以至少部分地基于(i)目标扩展图像的语义表示和(ii)判别式神经网络的中间输出之间的相似性度量来确定判别输出,例如,判别输出D可由下式给出:
D=DO+<DN,S> (2)
其中,DO是判别式神经网络的最后神经网络层的标量输出,DN是判别式神经网络的中间输出(例如,由中间层218生成),S是目标扩展图像的语义表示,并且<·,·>指点积运算。
根据语义表示来调节判别式神经网络202可以稳定生成式神经网络110和判别式神经网络202的联合训练,并且还提高由经训练的生成式神经网络110生成的扩展图像的质量。尤其是,根据语义表示来调节判别式神经网络202可以使判别式神经网络202能够生成取决于目标扩展图像的整个语义内容(包括来自目标扩展图像的掩蔽部分)的判别输出。语义表示可以提供有效的调节信息(即,使判别式神经网络能够生成更准确的判别输出的调节信息)作为表征目标扩展图像的“全局”上下文的结果。相比之下,直接根据目标扩展图像的像素值来调节判别式网络可能不太有效,例如,因为像素值本质上是“局部的”并且可能有噪声。根据语义表示来调节判别式神经网络还可以通过减少判别式神经网络的负担以直接考虑其最终层的输出中的语义内容来更有效地训练判别式神经网络(例如,通过更少的训练迭代)。例如,参考等式(2),判别输出可以通过判别式神经网络的中间输出和语义表示之间的内积来考虑语义内容。
在生成判别输出之后,对抗式训练系统116可以使用包括对抗损失目标函数
Figure BDA0003289372290000111
204和重建目标函数
Figure BDA0003289372290000112
220的目标函数
Figure BDA0003289372290000113
的梯度来调整生成式神经网络参数的当前值,例如:
Figure BDA0003289372290000114
Figure BDA0003289372290000115
Figure BDA0003289372290000116
其中,λ是标量超参数,x是目标扩展图像,
Figure BDA0003289372290000117
是由生成式神经网络生成的训练扩展图像,|·|1是L1范数,并且
Figure BDA0003289372290000118
是由判别器神经网络通过处理训练扩展图像(或基于训练扩展图像的输入)而生成的判别输出。
由等式(3)-(5)表征的目标函数被提供作为目标函数的说明性示例,但其他目标函数也是可能的。通常,重建目标函数
Figure BDA0003289372290000119
可以以多种方式中的任意方式表征目标扩展图像x与训练扩展图像
Figure BDA00032893722900001110
之间的相似性,并且对抗损失目标函数
Figure BDA00032893722900001111
可以以多种方式中的任意方式取决于判别输出
Figure BDA00032893722900001112
对抗式训练系统116联合训练判别式神经网络202和生成式神经网络110,例如,通过在训练判别式神经网络202和生成式神经网络110之间交替训练预定次数的训练迭代。
在判别式神经网络训练期间的每次训练迭代,判别式神经网络的当前参数值基于训练示例的当前批次进行调整。如前所述,训练示例的当前批次可以包括多个训练示例,但为了方便起见,下面的描述将参考特定训练示例。
为了训练判别式神经网络202,对抗式训练系统116使用生成式神经网络110处理训练示例的训练生成式网络输入以生成对应的训练扩展图像。对抗式训练系统116使用判别式神经网络处理训练扩展图像(或基于训练扩展图像的输入)和对应的目标扩展图像以生成对应的判别输出。对抗式训练系统116然后基于判别目标函数调整判别式神经网络202的当前参数值,该判别目标函数取决于针对训练扩展图像和目标扩展图像生成的判别输出。例如,判别目标函数
Figure BDA00032893722900001113
可以由下式给出:
Figure BDA00032893722900001114
其中,ReLU(·)是整流线性单元函数,D(x)是由判别式神经网络针对目标扩展图像生成的判别输出,并且
Figure BDA00032893722900001115
是由判别式神经网络针对由生成式神经网络生成的训练扩展图像生成的判别输出。由等式(6)表征的判别目标函数仅用于说明目的,并且其他判别目标函数也是可能的。
判别式神经网络202可以具有任何适当的神经网络架构。在一个示例中,判别式神经网络202具有六个具有泄漏ReLU激活函数的跨步卷积层,后跟全连接层。
在生成式神经网络和判别式神经网络的训练期间,对抗式训练系统116可以使用例如反向传播技术来确定目标函数的梯度。使用任何适当的梯度下降优化过程(例如亚当或RMSprop),对抗式训练系统116可以使用目标函数的梯度来调整生成式神经网络和判别式神经网络的当前参数值。
对抗式训练系统116可以持续联合训练生成式神经网络110和判别式神经网络202直到满足训练终止标准,例如,直到已经针对每个神经网络执行了预定次数的训练迭代,或者直到满足性能标准。
图3是由参考图1描述的图像扩展系统100通过处理原始图像302生成的扩展图像300的示例的图示。可以理解,扩展图像300是原始图像302的真实扩展,其保留了原始图像302的高级语义特性和低级结构和纹理。
图4是示例环境400的框图,其中,数字组件分发系统410在发送来自数字组件数据库416的数字组件以与电子文档一起呈现时使用图像扩展系统100。如下文将更详细地描述的,数字组件分发系统可以响应于对将数字组件在用户设备处与电子文档一起呈现(例如,在搜索结果旁边的块中或在第三方网站上)的请求而发送数字组件。
在识别要响应于请求发送的数字组件之后,分发系统可以识别包括在数字组件中的图像有资格用于图像扩展。在一个示例中,分发系统可以基于图像的大小与图像将被呈现在其中的块的大小不同(例如,不同至少阈值量)(例如,纵横比)来识别图像有资格用于图像扩展。在该示例中,数字组件请求可以包括表征将在其中呈现数字组件的块的大小的数据。在另一示例中,分发系统可以基于数字组件的提供者已经指定不应将数字组件的其他视觉元素(例如,文本、徽标和交互元素)覆盖在数字组件的图像上来识别图像有资格用于图像扩展。
响应于识别包括在数字组件中的图像有资格用于扩展,分发系统可以使用图像扩展系统100来处理图像以生成扩展图像。在一个示例中,分发系统可以生成具有与其中将显示扩展图像的块的纵横比匹配的纵横比的扩展图像。在另一示例中,分发系统可以生成扩展图像,然后仅在图像的扩展部分上覆盖数字组件的附加视觉元素(例如,文本、徽标和交互元素)(即,不修改原始图像)。
在扩展包括在数字组件中的图像之后,分发系统可以将数字组件与扩展图像一起发送,用于在生成组件请求的用户设备处的块中呈现。
接下来更详细地描述示例环境400和由分发系统执行的操作。
示例环境400包括网络402,诸如局域网(LAN)、广域网(WAN)、互联网或其组合。网络402连接电子文档服务器404、客户端设备406、数字组件服务器408和数字组件分发系统410(也称为“分发系统”410)。示例环境400可以包括许多不同的电子文档服务器404、客户端设备406和数字组件服务器408。
客户端设备406是能够通过网络402请求和接收资源的电子设备。示例客户端设备406包括个人计算机、移动通信设备(例如,移动电话)和可以通过网络402发送和接收数据的其他设备。客户端设备406通常包括用户应用,诸如网络浏览器,以促进通过网络402发送和接收数据,但是由客户端设备406执行的原生应用也可以促进通过网络402发送和接收数据。
电子文档是在客户端设备406处呈现一组内容的数据。电子文档的示例包括网页、文字处理文档、便携式文档格式(PDF)文档、图像、视频、搜索结果页面和馈送源。原生应用(例如,“应用(app)”),诸如安装在移动、平板或台式计算设备上的应用,也是电子文档的示例。电子文档可以由电子文档服务器404(“电子Doc服务器”)提供给客户端设备406。例如,电子文档服务器404可以包括托管发布者网站的服务器。在该示例中,客户端设备406可以发起对给定发布者网页的请求,并且托管给定发布者网页的电子服务器404可以通过发送在客户端设备406处发起给定网页的呈现的机器可执行指令来响应于请求。
在另一示例中,电子文档服务器404可以包括客户端设备406可以从其下载app的app服务器。在该示例中,客户端设备406可以下载在客户端设备406处安装app所需的文件,然后在本地执行下载的app。
电子文档可以包括各种内容。例如,电子文档可以包括在电子文档本身内和/或不随时间推移改变的静态内容(例如,文本或其他指定内容)。电子文档还可以包括可以随时间推移或根据请求而改变的动态内容。例如,给定电子文档的发布者可以维护用于填充电子文档各部分的数据源。在该示例中,给定电子文档可以包括一个或多个标签或脚本,当给定电子文档被客户端设备406处理(例如,呈现或执行)时,该标签或脚本使客户端设备406从数据源请求内容。客户端设备406将从数据源获得的内容整合到给定电子文档以创建包括从数据源获得的内容的复合电子文档。
在一些情况下,给定电子文档可以包括引用(reference)数字组件分发系统410的一个或多个数字组件标签或数字组件脚本。在这些情况下,当给定电子文档被客户端设备406处理时,数字组件标签或数字组件脚本由客户端设备执行406。数字组件标签或数字组件脚本的执行配置客户端设备406以生成对一个或多个数字组件412的请求(称为“组件请求”),其通过网络402被发送到数字组件分发系统410。例如,数字组件标签或数字组件脚本可以使客户端设备406能够生成包括报头和有效载荷数据的分组化数据请求。组件请求412可以包括指定诸如从其请求数字组件的服务器的名称(或网络位置)、请求设备(例如,客户端设备406)的名称(或网络位置)和/或数字组件分发系统410可以用于选择响应于请求而提供的一个或多个数字组件的信息的特征的事件数据。组件请求412由客户端设备406通过网络402(例如,电信网络)发送到数字组件分发系统410的服务器。
组件请求412可以包括指定其他事件特征的事件数据,诸如被请求的电子文档和电子文档的可以呈现数字组件的位置的特性。例如,可以向数字组件分发系统410提供事件数据,其指定对要在其中呈现数字组件的电子文档(例如网页)的引用(例如,URL)、可用于呈现数字组件的电子文档的可用位置、可用位置的大小和/或适格在该位置中呈现的媒体类型。类似地,指定与电子文档关联的关键字(“文档关键字”)或电子文档引用的实体(例如,人、地点或事物)的事件数据也可以包括在组件请求412中(例如,作为有效载荷数据)并提供给数字组件分发系统410以促进识别适格与电子文档一起呈现的数字组件。事件数据还可以包括从客户端设备406提交以获得搜索结果页面的搜索查询,和/或指定搜索结果的数据和/或包括在搜索结果中的文本、可听或其他视觉内容。
组件请求412还可以包括与其他信息相关的事件数据,该其他信息诸如客户端设备的用户已经提供的信息、指示提交组件请求的州或区域的地理信息或提供数字组件将显示在其中的环境的上下文的其他信息(例如,组件请求那天的时间、组件请求那周的日期、将显示数字组件的设备类型,诸如移动设备或平板设备)。组件请求412可以例如通过分组化网络发送,并且组件请求412本身可以被格式化为具有报头和有效载荷数据的分组化数据。报头可以指定分组的目的地并且有效载荷数据可以包括上述任何信息。
组件分发系统410响应于接收组件请求412和/或使用组件请求412中包括的信息来选择将与给定电子文档一起呈现的数字组件。在一些实施方式中,在不到一秒的时间内选择数字组件(使用本文描述的技术)以避免可能由数字组件的延迟选择引起的错误。例如,响应于组件请求412提供数字组件的延迟可能导致客户端设备406处的页面加载错误或导致电子文档的一些部分仍未被填充,即使在电子文档的其他部分呈现在客户端设备406处之后。此外,随着向客户端设备406提供数字组件的延迟增加,当数字组件被递送到客户端设备406时,会更有可能在客户端设备406处不再呈现电子文档,从而负面影响用户对电子文档的体验。此外,提供数字组件的延迟可能导致数字组件的递送失败,例如,如果在提供数字组件时电子文档不再呈现在客户端设备406处。
在一些实施方式中,数字组件分发系统410在分布式计算系统中实现,该分布式计算系统包括例如服务器和一组多个计算设备414,该组多个计算设备相互连接并响应于请求412识别和分发数字组件。该组多个计算设备414一起操作以从数百万个可用数字组件(DC1-x)的语料库中识别适格在电子文档中呈现的数字组件集合。例如可以在数字组件数据库416中为该数百万个可用数字组件编索引。每个数字组件索引条目可以引用对应的数字组件和/或包括有助于(例如,调节或限制)对应数字组件的分发/发送的分发参数(DP1-DPx)。例如,分发参数可以通过要求组件请求包括匹配(例如,精确地或具有某种预先指定的相似性水平)数字组件的分发参数之一的至少一个标准来有助于数字组件的发送。
在一些实施方式中,特定数字组件的分发参数可以包括必须被匹配(例如,通过电子文档、文档关键字或组件请求412中指定的术语)的分发关键字以便使数字组件适格进行呈现。换言之,分发参数用于触发数字组件通过网络402的分发(例如,发送)。分发参数还可以要求组件请求412包括指定特定地理区域(例如,国家或州)的信息和/或指定组件请求412源自特定类型的客户端设备(例如,移动设备或平板设备)的信息以便使数字组件适格进行呈现。
分发参数还可以指定用于(例如,在其他可用数字组件中)评估数字组件进行分发/发送的适格性(例如,通过组件评估过程)的适格性值(例如,排名分数、出价或某个其他指定值)。在某些情况下,适格性值可以指定数字组件的提供者响应于数字组件的发送愿意提交的最大补偿金额(例如,对于归因于数字组件的呈现的特定事件的每个实例,诸如与数字组件的用户交互)。
适格数字组件的标识可以被分割成多个任务417a-417c,然后在该组多个计算设备414内的计算设备之间分配该多个任务。例如,组414中的不同计算设备可以各自分析数字组件数据库416的不同部分以识别具有与组件请求412中包括的信息匹配的分发参数的各种数字组件。在一些实施方式中,该组414中的每个给定计算设备可以分析不同的数据维度(或维度集合)并且将分析的结果(Res 1-Res 3)418a-418c传递(例如,发送)回到数字组件分发系统410。例如,由组414中的每个计算设备提供的结果418a-418c可以识别适格响应于组件请求而分发的数字组件子集和/或具有特定分发参数的数字组件子集。数字组件子集的识别可以包括例如将事件数据与分发参数进行比较,和识别具有匹配事件数据的至少一些特征的分发参数的数字组件子集。
数字组件分发系统410汇总从该组多个计算设备414接收的结果418a-418c并使用与汇总的结果关联的信息:(i)选择将响应于请求412而提供的一个或多个数字组件,和(ii)确定一个或多个数字组件的发送要求。例如,数字组件分发系统410可以基于一个或多个组件评估过程的结果来选择获胜电子数字组件(一个或多个数字组件)的集合。继而,数字组件分发系统410可以生成并通过网络402发送回复数据420(例如,表示回复的数字数据),其使客户端设备406能够将获胜数字组件的集合整合到给定电子文档中,使得获胜数字组件的集合和电子文档的内容一起呈现在客户端设备406的显示器处。
在一些实施方式中,客户端设备406执行包括在回复数据420中的指令,其配置并使得客户端设备406能够从一个或多个数字组件服务器获得获胜数字组件的集合。例如,回复数据420中的指令可以包括网络位置(例如,统一资源定位符(URL))和使客户端设备406向数字组件服务器408发送服务器请求(SR)421以从数字组件服务器408获得给定的获胜数字组件的脚本。响应于该请求,数字组件服务器408将识别在服务器请求421中指定的给定获胜数字组件(例如,在存储多个数字组件的数据库内)并且向客户端设备406发送数字组件数据(DC数据)422,其在客户端设备406处将给定的获胜数字组件呈现在电子文档中。
为了促进电子文档的搜索,环境400可以包括搜索系统450,该搜索系统450通过对电子文档进行爬取和编索引(例如,基于电子文档的爬取内容来编索引)来识别电子文档。可以基于与数据关联的电子文档对关于电子文档的数据编索引。电子文档的被编索引和可选地缓存的副本存储在搜索索引452(例如,(一个或多个)硬件存储器设备)中。与电子文档关联的数据是表示电子文档中包括的内容和/或电子文档的元数据的数据。
客户端设备406可以通过网络402向搜索系统450提交搜索查询。作为响应,搜索系统450访问搜索索引452以识别与搜索查询相关的电子文档。搜索系统450以搜索结果的形式识别电子文档并且在搜索结果页面中将搜索结果返回到客户端设备406。搜索结果是由搜索系统450生成的数据,其识别响应于特定搜索查询(例如,与之相关)的电子文档,并且包括使客户端设备响应于用户与搜索结果的交互从指定网络位置(例如,URL)请求数据的活动链接(例如,超文本链接)。示例搜索结果可以包括网页标题、从网页提取的文本片段或图像的一部分以及网页的URL。另一示例搜索结果可以包括可下载应用的标题、描述可下载应用的文本片段、描绘可下载应用的用户界面的图像和/或应用可从其下载到客户端设备406的位置的URL。在一些情况下,搜索系统450可以是应用商店(或在线门户)的一部分或与之交互,从该应用商店(或在线门户)可以下载应用以安装在客户端设备406处,以便呈现关于与提交的搜索查询相关的可下载应用的信息。与其他电子文档一样,搜索结果页面可以包括在其中可以呈现数字组件(例如,广告、视频剪辑、音频剪辑、图像或其他数字组件)的一个或多个插槽。
为了响应于组件请求选择要发送的数字组件,分发系统410可以识别适格响应于组件请求而被发送的数字组件集合。然后,分发系统410可以通过例如拍卖过程选择要被发送的一个或多个适格数字组件。在一些实施方式中,分发系统410通过根据适格的数字组件相应的适格性值对适格的数字组件进行排名并响应于组件请求选择一个或多个排名最高的数字组件来执行拍卖过程。
例如,分发系统410可以响应于组件请求将数字组件A、B和C识别为适格被发送。在此示例中,数字组件A的适格性值为$5,数字组件B的适格性值为$1,并且数字组件C的适格性值为$5.5,其中,数字组件的适格性值表示与数字组件关联的出价。分发系统410可以根据数字组件相应的适格性值将数字组件排名(例如,按降序)为:C、A、B。最后,分发系统410可以响应于组件请求选择排名最高的数字组件C进行发送。
在响应于数字组件请求而选择要发送的数字组件之后,分发系统410确定所选数字组件的发送要求。发送要求指定由数字组件的提供者响应于数字组件的发送而执行的动作。例如,发送要求可以指定数字组件的提供者响应于数字组件的发送提交一定金额的补偿。在某些情况下,补偿金额指定为归因于数字组件的呈现(例如,与数字组件的用户交互)的特定事件的每个实例而被提交的金额。
分发系统410可以基于所选数字组件的适格性值和/或被确定为适格响应于组件请求而被发送的其他数字组件的适格性值来确定所选数字组件的发送要求。例如,分发系统410可以响应于数字组件请求而将数字组件A、B和C识别为适格进行发送,其中,A、B和C具有相应的适格性值$5、$1和$5.5。分发系统410可以选择数字组件C进行发送(因为它具有最高的适格性值),并且可以将数字组件C的发送要求确定为适格的数字组件的适格性值中的下一个最高适格性值。在该示例中,下一个最高的适格性值为$5(即,数字组件A的适格性值),并且因此分发系统410可以确定数字组件C的发送要求为$5。
图5示出了正在用户设备(例如,智能电话)的屏幕上显示的数字组件。该数字组件包括填充设备屏幕的图像和附加视觉元素,包括覆盖图像的徽标502、文本段504和交互元素506。在该示例中,图像包括提供给数字组件分发系统的第一部分508和使用图像扩展系统100生成的第二部分510。在接收将数字组件提供给用户设备的请求之后,数字组件分发系统生成填充设备屏幕的扩展图像,并将附加元素502、504和506覆盖在图像的扩展部分510上。在该示例中,显示数字组件的“块”与用户设备的整个屏幕对应,但是该块可以占据少于全屏。
图6示出了例如与搜索结果一起或在第三方网站上显示在“横幅”块中的数字组件。类似于图6,数字组件包括填充块的图像和附加元素602。在该示例中,图像包括提供给数字组件分发系统的第一部分604和使用图像扩展系统100生成的第二部分606。在接收在用户设备上的横幅块中呈现数字组件的请求之后,数字组件分发系统生成填充块的扩展图像,并将附加元素602覆盖在图像的扩展部分606上。
图7是示例用户界面700的图示,该用户界面700可以呈现给实体(例如,广告者、发布者或其他内容提供者),该实体提供数字组件供数字组件分发系统发送(例如,如参考图4所述)。用户界面700呈现包括在提供的数字组件中的图像702和使图像702扩展的多个扩展图像704-A-C。通常,由于使用不同的图像扩展过程被生成,因此每个扩展图像704-AC是不同的。例如,一个扩展图像可能已经使用参考图1描述的图像扩展系统而被生成,而另一扩展图像可能已经使用基于偏微分方程(PDE)的图像扩展过程而被生成,这将将在下面更详细地进行描述。
用户界面700提示数字组件的提供者选择扩展图像中的优选扩展图像(例如,对数字组件提供者在视觉上最吸引人的扩展组件)。数字组件提供者可以选择特定扩展图像,例如通过使用鼠标706点击特定扩展图像(或以多种其他方式中的任一种)。如果分发系统稍后确定提供的数字组件中包括的图像适格进行扩展,则分发使用与用户选择的特定扩展图像对应的图像扩展过程来生成图像的扩展。
可以以多种方式扩展图像,例如,使用参考图1描述的图像扩展系统,或使用基于PDE的图像扩展过程。在PDE扩展方法中,图像的扩展部分中的像素值被识别为受由原始图像的边界的一部分上的像素值指定的边界条件约束的PDE的(近似或精确)解。PDE可以是例如扩散PDE或任何其他合适的PDE。可以使用任何适当的数值技术(例如,有限元技术)来获得受边界条件约束的PDE的解。
图8是用于响应于请求提供扩展图像的示例过程800的流程图。为方便起见,过程800将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书被适当地编程的分发系统,例如图1的分发系统100,可以执行过程800。
系统确定提供的图像适格进行图像扩展(802)。在一个示例中,系统可以接收对要在块中呈现的数字组件的请求,例如呈现在搜索结果旁边或在第三方网页上,然后确定包括提供的图像的数字组件响应于该请求。在该示例中,系统可以基于图像的大小与块的大小不同,例如,如果图像和块具有不同的纵横比,来确定提供的图像有资格用于扩展。
系统将包括图像的输入提供给生成式神经网络,该生成式神经网络根据生成式神经网络参数的经训练的值处理该输入以生成扩展图像(804)。扩展图像具有(i)比提供的图像更多的行、更多的列或更多的行和更多的列,并且(ii)被预测为提供的图像的真实扩展。
由生成式神经网络处理的输入可以包括基线图像和掩模图像,两者都具有与扩展图像相同的行数和列数。基线图像包括:(i)与提供的图像对应的第一部分,和(ii)具有默认像素值的第二部分。掩模图像识别基线图像的第一部分和第二部分。在一个示例中,与基线图像的第一部分对应的掩模图像中的像素均具有第一像素值,并且与基线图像的第二部分对应的掩模图像中的像素均具有不同的第二像素值。
生成式神经网络包括多个卷积神经网络层并且可以具有任何合适的神经网络架构。例如,生成式神经网络可包括一个或多个跳跃连接、一个或多个实例归一化层或两者。
生成式神经网络已经与判别式神经网络使用对抗损失目标函数被联合训练。判别式神经网络被配置为处理给定图像以生成表征给定图像是使用生成式神经网络生成的可能性的判别输出。
该系统在多次训练迭代中使用对抗损失目标函数来训练生成式神经网络。在每次训练迭代,系统使用生成式神经网络处理包括训练图像的训练输入以生成使训练图像扩展的训练扩展图像,然后基于训练扩展图像生成判别式神经网络输入。在一个示例中,系统通过使用训练图像覆盖训练扩展图像的与训练图像对应的部分来生成判别式神经网络输入。该系统使用判别式神经网络处理判别式神经网络输入以生成表征判别式神经网络输入是使用生成式神经网络生成的可能性的判别输出。此后,系统基于对抗损失目标函数调整生成式神经网络参数的当前值,其中,对抗损失目标函数取决于由判别式神经网络生成的判别输出。
在一些情况下,训练图像是目标图像的裁剪表示,并且根据目标图像的语义特征表示来调节判别式神经网络。系统可以将目标图像的语义表示确定为由分类神经网络通过处理目标图像而生成的中间输出。根据目标图像的语义特征表示来调节判别式神经网络可以包括例如基于判别式神经网络的中间输出与目标图像的语义特征表示之间的相似性度量来确定判别输出。可以基于判别式神经网络的最后一层的输出另外地确定判别输出。
除了使用对抗损失目标函数训练生成式神经网络之外,系统还可以使用重建损失目标函数来训练生成式神经网络。更特别地,系统可以基于表征训练扩展图像与目标图像的相似性的重建损失目标函数来调整生成式神经网络参数的当前值。
系统响应于请求提供扩展图像(806)。在某些情况下,该请求指定要与块中的图像一起呈现的附加元素,并且系统将附加元素覆盖在扩展图像的扩展部分上。在系统响应于请求提供扩展图像之后,扩展图像可以例如在搜索结果旁边或在第三方网页上呈现。
图9是可用于执行上述操作的示例计算机系统900的框图。系统900包括处理器910、存储器920、存储设备930和输入/输出设备940。组件910、920、930和940中的每一个可以例如使用系统总线950互连。处理器910能够处理指令供在系统900内执行。在一种实施方式中,处理器910是单线程处理器。在另一实施方式中,处理器910是多线程处理器。处理器910能够处理存储在存储器920中或存储设备930上的指令。
存储器920存储系统900内的信息。在一种实施方式中,存储器920是计算机可读介质。在一种实施方式中,存储器920是易失性存储器单元。在另一实施方式中,存储器920是非易失性存储器单元。
存储设备930能够为系统900提供大容量存储。在一种实施方式中,存储设备930是计算机可读介质。在各种不同的实施方式中,存储设备930可以包括例如硬盘设备、光盘设备、由多个计算设备过网络共享的存储设备(例如,云存储设备)通或某其他大容量存储设备。
输入/输出设备940为系统900提供输入/输出操作。在一种实施方式中,输入/输出设备940可以包括一个或多个网络接口设备,例如以太网卡、串行通信设备(例如和RS-232端口)和/或无线接口设备,例如和802.11卡。在另一实施方式中,输入/输出设备可以包括被配置为接收输入数据并将输出数据发送到其他输入/输出设备(例如键盘、打印机和显示设备960)的驱动器设备。然而,也可以使用其他实施方式,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
虽然已经图9中描述了示例处理系统,但是本说明书中描述的主题和功能操作的实施方式可以在其他类型的数字电子电路中或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其结构等效物,或它们中的一种或多种的组合。
本说明书连同系统和计算机程序组件一起使用术语“被配置”。对于要被配置成执行特定操作或动作的一个或多个计算机的系统意指系统已在其上安装了在操作中使该系统执行这些操作或动作的软件、固件、硬件或软件、固件、硬件的组合。对于要被配置成执行特定操作或动作的一个或多个计算机程序意指该一个或多个程序包括指令,所述指令当由数据处理装置执行时,使该装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例可用数字电子电路、用有形地具体实现的计算机软件或固件、用包括本说明书中公开的结构及其结构等同物的计算机硬件或者用它们中的一个或多个的组合来实现。本说明书中描述的主题的实施例可作为一个或多个计算机程序被实现,所述一个或多个计算机程序即在有形非暂时性存储介质上编码以供由数据处理装置执行或者控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储设备或它们中的一个或多个的组合。替换地或此外,可将程序指令编码在人工生成的传播信号上,所述传播信号例如是机器生成的电、光或电磁信号,该传播信号被生成来对信息进行编码以用于发送到适合的接收器装置以供由数据处理装置执行。
术语“数据处理装置”指代数据处理硬件并且包含用于处理数据的所有种类的装置、设备和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。装置还可以是或者进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。装置除了包括硬件之外还可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
也可以被称为或者描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码的计算机程序可用包括编译或解释语言或声明或过程语言的任何形式的编程语言编写;并且它可被以任何形式部署,包括作为独立程序或者作为模块、组件、子例行程序或适合于在计算环境中使用的其它单元。程序可以但是不必对应于文件系统中的文件。程序可以被存储在保持其它程序或数据的文件的一部分中,例如存储在标记语言文档中的一个或多个脚本;在专用于所述程序的单个文件中或者在多个协调文件中,例如存储代码的一个或多个模块、子程序或部分的文件。可以将计算机程序部署为在位于一个站点上或跨多个站点分布并通过数据通信网络互连的一个计算机上或在多个计算机上执行。
在本说明书中术语“引擎”广泛地用于指代被编程来执行一个或多个具体功能的基于软件的系统、子系统或过程。通常,引擎将作为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件被实现。在一些情况下,一个或多个计算机将专用于特定引擎;在其它情况下,可在同一计算机或多个计算机上安装并运行多个引擎。
本说明书中描述的过程和逻辑流程可由执行一个或多个计算机程序的一个或多个可编程计算机执行以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程还可由例如是FPGA或ASIC的专用逻辑电路执行,或者通过专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可基于通用微处理器或专用微处理器或两者,或任何其它种类的中央处理器。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行或者实行指令的中央处理单元以及用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器可由专用逻辑电路补充或者并入在专用逻辑电路中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者操作上被耦合以从所述一个或多个大容量存储设备接收数据或者将数据传送到所述一个或多个大容量存储设备,或者两者以用于存储数据。然而,计算机不必具有这样的设备。此外,计算机可被嵌入在另一设备中,所述另一设备例如是移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制器、全球定位系统(GPS)接收器或便携式存储设备,例如通用串行总线(USB)闪存驱动器等。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,作为示例包括半导体存储设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,可在计算机上实现本说明书中描述的主题的实施例,所述计算机具有用于向用户显示信息的显示设备以及用户可用来向该计算机提供输入的键盘和定点设备,所述显示设备例如是CRT(阴极射线管)或LCD(液晶显示器)监视器,所述定点设备例如是鼠标或轨迹球。其它种类的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声、语音或触觉输入。此外,计算机可通过向由用户使用的设备发送文档并从由用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收到请求而向用户的设备上的web浏览器发送网页。另外,计算机可通过向个人设备发送文本消息或其它形式的消息并且继而从用户接收响应消息来与用户交互,所述个人设备例如是正在运行消息传送应用的智能电话。
用于实现机器学习模型的数据处理装置还可包括例如用于处理机器学习训练或生产,即推理、工作负载的公共和计算密集部分的专用硬件加速器单元。
可使用机器学习框架来实现和部署机器学习模型,所述机器学习框架例如是TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架。
本说明书中描述的主题的实施例可被实现在计算系统中,所述计算系统包括后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如具有用户可用来与本说明书中描述的主题的实现方式交互的图形用户界面、web浏览器或app的客户端计算机;或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可通过例如通信网络的任何形式或介质的数字数据通信来互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算系统可包括客户端和服务器。客户端和服务器一般地彼此远离并通常通过通信网络来交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器向用户设备发送例如HTML页面的数据例如以用于向与作为客户端的设备交互的用户显示数据并从该用户接收用户输入的目的。可在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体实施方式细节,但是这些不应该被解释为对任何发明的或可能要求保护的范围的限制,而是相反地被解释为对可能特定于特定发明的特定实施例的特征的描述。也可在单个实施例中组合地实现在本说明书中在单独的实施例的上下文中描述的某些特征。相反地,也可单独地或者按照任何适合的子组合在多个实施例中实现在单个实施例的上下文中描述的各种特征。此外,尽管特征可能在上面被描述按照某些组合起作用并且甚至最初被如此要求保护,但是来自要求保护的组合的一个或多个特征可在一些情况下被从该组合中除去,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然按照特定次序在附图中描绘并在权利要求书中记载操作,但是这不应该被理解为要求按照所示的特定次序或者以先后次序执行这样的操作,或者要求执行所有图示的操作以实现所预期的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上述实施例中的各种系统模块和组件的分离不应该被理解为在所有实施例中要求这样的分离,并且应该理解的是,所描述的程序组件和系统一般地可被一起集成在单个软件产品中或者包装到多个软件产品中。
已描述了主题的特定实施例。其它实施例在所附权利要求的范围内。例如,权利要求中记载的动作可被以不同的次序执行并仍然实现所预期的结果。作为一个示例,附图中描绘的过程不一定要求所示的特定次序或顺序次序以实现所预期的结果。在一些情况下,多任务处理和并行处理可以是有利的。

Claims (20)

1.一种由一个或多个数据处理装置执行的方法,所述方法包括:
向具有多个生成式神经网络参数的生成式神经网络提供包括提供的图像的输入,其中:
所述生成式神经网络根据所述多个生成式神经网络参数的经训练的值对所述输入进行处理以生成扩展图像;
所述扩展图像具有(i)比所述提供的图像更多的行、更多的列或更多的行和更多的列,并且(ii)被预测为是所述提供的图像的真实扩展;并且
所述生成式神经网络已经使用对抗损失目标函数进行了训练。
2.根据权利要求1所述的方法,还包括:
接收对要在块中呈现的图像的请求;
确定所述提供的图像响应于所述请求;和
在生成所述扩展图像之后,响应于所述请求提供所述扩展图像。
3.根据权利要求2所述的方法,还包括:
基于所述块的大小与所述提供的图像的大小不同来确定所述提供的图像有资格用于图像扩展,并且作为响应,将包括所述提供的图像的所述输入提供给所述生成式神经网络。
4.根据权利要求3所述的方法,其中,所述块的大小指定所述块的纵横比。
5.根据权利要求2-4中任一项所述的方法,其中:
所述请求指定在所述块中要与所述图像一起呈现的附加元素;并且
响应于所述请求提供所述扩展图像包括将所述附加元素覆盖在所述扩展图像的扩展部分上。
6.根据权利要求2-5中任一项所述的方法,其中,所述块要在搜索结果旁边或在第三方网页上呈现。
7.根据任一前述权利要求所述的方法,其中,所述生成式神经网络包括多个卷积神经网络层。
8.根据任一前述权利要求所述的方法,其中,所述生成式神经网络包括多个跳跃连接。
9.根据任一前述权利要求所述的方法,其中,所述生成式神经网络包括多个实例归一化层。
10.根据任一前述权利要求所述的方法,其中,所述生成式神经网络的所述输入包括:
具有与所述扩展图像相同的行数和列数的基线图像,其中,所述基线图像包括:(i)与所述提供的图像对应的第一部分,和(ii)具有默认像素值的第二部分;和
具有与所述扩展图像相同的行数和列数的掩模图像,其中,所述掩模图像识别所述基线图像的所述第一部分和所述第二部分。
11.根据权利要求10所述的方法,其中:(i)所述掩模图像中的与所述基线图像的第一部分对应的像素均具有第一像素值,并且(ii)所述掩模图像中的与所述基线图像的第二部分对应的像素均具有不同于所述第一像素值的第二像素值。
12.根据任一前述权利要求所述的方法,其中,所述生成式神经网络与具有多个判别式神经网络参数的判别式神经网络联合训练,所述判别式神经网络被配置为处理给定图像以生成表征所述给定图像是使用所述生成式神经网络生成的可能性的判别输出。
13.根据权利要求12所述的方法,其中,使用所述对抗损失目标函数训练所述生成式神经网络包括:
使用所述生成式神经网络并根据所述生成式神经网络参数的当前值处理包括训练图像的训练输入以生成使所述训练图像扩展的训练扩展图像;
基于所述训练扩展图像生成判别式神经网络输入;
使用所述判别式神经网络并根据所述判别式神经网络参数的当前值处理所述判别式神经网络输入以生成表征所述判别式神经网络输入是使用所述生成式神经网络生成的可能性的判别输出;和
基于所述对抗损失目标函数调整所述生成式神经网络参数的所述当前值,其中,所述对抗损失目标函数取决于表征所述判别式神经网络输入是使用所述生成式神经网络生成的可能性的所述判别输出。
14.根据权利要求13所述的方法,其中,基于所述训练扩展图像生成所述判别式神经网络输入包括:
用所述训练图像盖写与所述训练图像对应的所述训练扩展图像的一部分。
15.根据权利要求13-14中任一项所述的方法,还包括:
基于表征所述训练扩展图像与目标图像的相似性的重建损失目标函数来调整所述生成式神经网络参数的所述当前值,其中,所述训练图像是所述目标图像的裁剪表示。
16.根据权利要求13-15中任一项所述的方法,其中,根据目标图像的语义特征表示来调节所述判别式神经网络,其中,所述训练图像是所述目标图像的裁剪表示。
17.根据权利要求16所述的方法,其中,通过处理所述目标图像,使用分类神经网络的中间输出来确定所述目标图像的语义特征表示。
18.根据权利要求16-17中任一项所述的方法,其中,所述判别输出基于:(i)所述判别式神经网络的最后一层的输出,和(ii)所述判别式神经网络的中间输出与所述目标图像的语义特征表示之间的相似性度量。
19.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,当由所述一个或多个计算机执行时,所述指令使所述一个或多个计算机执行根据权利要求1-18中任一项所述的相应方法的操作。
20.一种或多种计算机存储介质,其存储指令,当由一个或多个计算机执行时,所述指令使所述一个或多个计算机执行根据权利要求1-18中任一项的相应方法的操作。
CN201980095109.9A 2019-05-24 2019-07-19 图像扩展神经网络 Pending CN113646773A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962852949P 2019-05-24 2019-05-24
US62/852,949 2019-05-24
US201962854833P 2019-05-30 2019-05-30
US62/854,833 2019-05-30
PCT/US2019/042509 WO2020242508A1 (en) 2019-05-24 2019-07-19 Image extension neural networks

Publications (1)

Publication Number Publication Date
CN113646773A true CN113646773A (zh) 2021-11-12

Family

ID=67515178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980095109.9A Pending CN113646773A (zh) 2019-05-24 2019-07-19 图像扩展神经网络

Country Status (5)

Country Link
US (1) US20220148299A1 (zh)
EP (1) EP3762873A1 (zh)
JP (2) JP7267453B2 (zh)
CN (1) CN113646773A (zh)
WO (1) WO2020242508A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11455531B2 (en) * 2019-10-15 2022-09-27 Siemens Aktiengesellschaft Trustworthy predictions using deep neural networks based on adversarial calibration
US20210192684A1 (en) * 2019-12-24 2021-06-24 Nvidia Corporation Panorama generation using one or more neural networks
CN113034348A (zh) * 2021-03-24 2021-06-25 北京字节跳动网络技术有限公司 图像处理方法、装置、存储介质及设备
CN115100472B (zh) * 2022-06-20 2023-06-27 北京达佳互联信息技术有限公司 展示对象识别模型的训练方法、装置和电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7154538B1 (en) * 1999-11-15 2006-12-26 Canon Kabushiki Kaisha Image processing system, image processing method, image upload system, storage medium, and image upload server
US20160300351A1 (en) * 2015-04-08 2016-10-13 Algotec Systems Ltd. Image processing of organs depending on organ intensity characteristics
US20170365038A1 (en) * 2016-06-16 2017-12-21 Facebook, Inc. Producing Higher-Quality Samples Of Natural Images
CN108197525A (zh) * 2017-11-20 2018-06-22 中国科学院自动化研究所 人脸图像生成方法及装置
US20180204111A1 (en) * 2013-02-28 2018-07-19 Z Advanced Computing, Inc. System and Method for Extremely Efficient Image and Pattern Recognition and Artificial Intelligence Platform
CN108875510A (zh) * 2017-11-28 2018-11-23 北京旷视科技有限公司 图像处理的方法、装置、系统及计算机存储介质
US20180349526A1 (en) * 2016-06-28 2018-12-06 Cognata Ltd. Method and system for creating and simulating a realistic 3d virtual world
CN109360232A (zh) * 2018-09-10 2019-02-19 南京邮电大学 基于条件生成对抗网络的室内场景布局估计方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101508977B1 (ko) 2012-08-16 2015-04-08 네이버 주식회사 이미지 분석에 의한 이미지 자동 편집 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
JP2015041138A (ja) 2013-08-20 2015-03-02 昭芳 村岡 インターネットを用いた地域対応型の共同広告方法及びサイトシステム
US11188783B2 (en) 2017-10-19 2021-11-30 Nokia Technologies Oy Reverse neural network for object re-identification
JP2019079114A (ja) 2017-10-20 2019-05-23 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
US11741693B2 (en) 2017-11-15 2023-08-29 Palo Alto Research Center Incorporated System and method for semi-supervised conditional generative modeling using adversarial networks

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7154538B1 (en) * 1999-11-15 2006-12-26 Canon Kabushiki Kaisha Image processing system, image processing method, image upload system, storage medium, and image upload server
US20180204111A1 (en) * 2013-02-28 2018-07-19 Z Advanced Computing, Inc. System and Method for Extremely Efficient Image and Pattern Recognition and Artificial Intelligence Platform
US20160300351A1 (en) * 2015-04-08 2016-10-13 Algotec Systems Ltd. Image processing of organs depending on organ intensity characteristics
US20170365038A1 (en) * 2016-06-16 2017-12-21 Facebook, Inc. Producing Higher-Quality Samples Of Natural Images
US20180349526A1 (en) * 2016-06-28 2018-12-06 Cognata Ltd. Method and system for creating and simulating a realistic 3d virtual world
CN108197525A (zh) * 2017-11-20 2018-06-22 中国科学院自动化研究所 人脸图像生成方法及装置
CN108875510A (zh) * 2017-11-28 2018-11-23 北京旷视科技有限公司 图像处理的方法、装置、系统及计算机存储介质
CN109360232A (zh) * 2018-09-10 2019-02-19 南京邮电大学 基于条件生成对抗网络的室内场景布局估计方法和装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MARK SABINI 等: "Painting Outside the Box: Image Outpainting with GANs", 《ARXIV:1808.08483V1》, 25 August 2018 (2018-08-25), pages 1 - 5 *
PIOTR TETERWAK 等: "Boundless: Generative Adversarial Networks for Image Extension", 《ARXIV:1908.07007V1》, 19 August 2019 (2019-08-19), pages 1 - 18 *
STEVEN CHENG-XIAN LI 等: "MisGAN: learning from incomplete data with generative adversarial networks", 《ARXIV:1902.09599》, 25 February 2019 (2019-02-25), pages 1 - 20 *
柴梦婷 等: "生成式对抗网络研究与应用进展", 《计算机工程》, 28 November 2018 (2018-11-28), pages 1 - 17 *

Also Published As

Publication number Publication date
JP7267453B2 (ja) 2023-05-01
EP3762873A1 (en) 2021-01-13
US20220148299A1 (en) 2022-05-12
JP7477682B2 (ja) 2024-05-01
WO2020242508A1 (en) 2020-12-03
JP2022533519A (ja) 2022-07-25
JP2023110921A (ja) 2023-08-09

Similar Documents

Publication Publication Date Title
JP7477682B2 (ja) 画像拡張ニューラルネットワーク
US11380034B2 (en) Semantically-consistent image style transfer
US20210081446A1 (en) Systems and methods for presenting image classification results
AU2014201827B2 (en) Scoring concept terms using a deep network
US8487959B1 (en) Generating simulated eye movement traces for visual displays
US8909617B2 (en) Semantic matching by content analysis
WO2018013982A1 (en) Classifying images using machine learning models
US9678928B1 (en) Webpage partial rendering engine
US20100312608A1 (en) Content advertisements for video
CN112119388A (zh) 训练图像嵌入模型和文本嵌入模型
US20210056458A1 (en) Predicting a persona class based on overlap-agnostic machine learning models for distributing persona-based digital content
CN111652378B (zh) 学习来选择类别特征的词汇
US10339469B2 (en) Self-adaptive display layout system
US20210049202A1 (en) Automated image retrieval with graph neural network
CN112074828A (zh) 训练图像嵌入模型和文本嵌入模型
US11915724B2 (en) Generating videos
US20210109989A1 (en) Systems and methods for automatically generating and optimizing web pages
US20150181288A1 (en) Video sales and marketing system
US11250475B2 (en) Neural network architecture for efficient resource allocation
CN114021129B (zh) 用于上下文自适应扫描的方法、系统及计算机存储介质
US10902479B2 (en) Programmatic generation and optimization of images for a computerized graphical advertisement display
US20240161783A1 (en) Generating videos
US20190335019A1 (en) Damping transmission requirement variations
CN113360734B (zh) 网页分类方法、装置、存储介质及电子设备
CN111201524A (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