CN114972574A - 利用潜在向量流绘制器和图像修改神经网络的基于web的数字图像实时编辑 - Google Patents
利用潜在向量流绘制器和图像修改神经网络的基于web的数字图像实时编辑 Download PDFInfo
- Publication number
- CN114972574A CN114972574A CN202111411518.0A CN202111411518A CN114972574A CN 114972574 A CN114972574 A CN 114972574A CN 202111411518 A CN202111411518 A CN 202111411518A CN 114972574 A CN114972574 A CN 114972574A
- Authority
- CN
- China
- Prior art keywords
- image
- digital image
- vector
- potential
- digital
- 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
Links
- 239000013598 vector Substances 0.000 title claims abstract description 673
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 163
- 230000004048 modification Effects 0.000 title claims abstract description 155
- 238000012986 modification Methods 0.000 title claims abstract description 155
- 230000003993 interaction Effects 0.000 claims abstract description 142
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000009877 rendering Methods 0.000 claims description 31
- 230000008859 change Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 22
- 230000009471 action Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 14
- 239000000284 extract Substances 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 239000011521 glass Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000002452 interceptive effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000003042 antagnostic effect Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000004075 alteration Effects 0.000 description 4
- 238000002156 mixing Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 208000009119 Giant Axonal Neuropathy Diseases 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 201000003382 giant axonal neuropathy 1 Diseases 0.000 description 3
- 201000004384 Alopecia Diseases 0.000 description 2
- 230000003676 hair loss Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013403 standard screening design Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
涉及利用潜在向量流绘制器和图像修改神经网络的基于WEB的数字图像实时编辑。本公开描述***、方法和非瞬态计算机可读介质用于检测用户交互以编辑来自客户端设备的数字图像,并且通过使用修改数字图像的潜在向量的基于web的中介和图像修改神经网络来修改客户端设备的数字图像,以从经修改潜在向量生成经修改数字图像。响应于修改数字图像的用户交互,例如所公开的***修改从数字图像提取的潜在向量以反映所请求的修改。所公开***还使用潜在向量流绘制器(作为中介设备)来生成指示数字图像与经修改数字图像之间的差异的图像增量。所公开***然后将图像增量作为数字流的一部分提供给客户端设备,以快速地绘制经修改数字图像。
Description
技术领域
本公开的实施例涉及图像处理领域,具体地,涉及利用潜在向量流绘制器和图像修改神经网络的基于WEB的数字图像实时编辑。
背景技术
近年来,计算机工程师开发了软件和硬件平台用于使用包括生成对抗网络(“GAN”)的各种模型(诸如神经网络)修改数字图像。基于这样的开发,一些常规的图像编辑***能够通过从数字图像提取特征并且将提取的特征与从其他数字图像提取的特征组合来修改数字图像。其他常规***能够通过执行基于GAN的操作以调整与具体的基于GAN的视觉属性(例如年龄、愤怒、惊讶或快乐)相对应的某些特征来修改数字图像。然而,尽管取得了这些进步,许多常规的图像编辑***通常需要过量的计算资源来使用GAN修改数字图像。因此,常规***通常无法在某些计算设备上使用GAN实时修改图像,并且经常将这样的图像编辑或生成限制于具有强大处理器的设备。
正如刚才提出的,在利用神经网络从数字图像提取特征(或修改数字图像)时,常规的图像编辑***通常会低效地消耗计算资源。具体地,在使用GAN或其他神经网络修改数字图像时,常规***有时会浪费处理时间、处理功率和存储器。例如,一些常规***生成(并且传输以供显示)针对每个编辑操作的全新的数字图像,使得每个新的数字图像产生于最近的编辑操作。生成和传输针对单个编辑的单个图像(更不用说在单个会话中编辑数十或数百个图像)的计算成本可能需要大量的计算机处理。
由于针对每个连续编辑操作的计算效率低下,一些常规的数字图像编辑***在使用本地处理器执行神经网络时仅以低速修改数字图像。实际上,利用本地GAN修改特定计算设备(例如移动或简单的膝上型计算机设备)上的数字图像的常规***对于实时应用来说通常太慢了。除非常规***在具有强大图形处理单元(“GPU”)的计算机上运行,否则使用GAN修改数字图像会花费大量时间,从而消除将执行这样的修改作为交互式的一部分(即时图像编辑)的可能性。
至少部分地由于它们的计算密集性和它们的速度约束,许多常规的数字图像编辑***也顽固地将图像编辑限制于特定类型的图像编辑或其他应用。具体地,由于基于GAN或其他基于神经网络的图像操作的计算要求,常规***通常严格地将应用限制于特别强大的计算设备。因此,常规***不仅无法在具有神经网络的许多客户端设备上执行实时编辑,而且这些***的计算费用也经常阻止它们在功能较弱的设备(例如移动设备)上的应用。
作为效率低下的又一示例,一些常规的图像编辑***提供低效的图形用户界面,其需要过多的用户交互来访问期望的数据和/或功能性。例如,为了实施基于GAN的数字图像修改,一些常规***需要多个用户交互来手动选择和编辑数字图像的特定部分(或属性)。在一些情况下,处理这样的大量的用户交互会浪费计算资源,诸如可以以其他方式利用较少的用户交互而被保留的处理功率和存储器。
发明内容
本公开描述了解决本领域中的一个或多个前述或其他问题的***、方法和非瞬态计算机可读介质的一个或多个实施例。所公开的***能够检测用户交互以编辑来自客户端设备的数字图像,并且通过使用修改数字图像的潜在向量的基于web的中介来修改针对客户端设备的数字图像,并且使用图像修改神经网络来从经修改潜在向量生成经修改数字图像。响应于用于修改数字图像的用户交互,例如所公开的***修改从数字图像提取的潜在向量以反映所请求的修改。基于经修改潜在向量,所公开的***利用图像修改神经网络(诸如生成对抗网络(“GAN”))来生成经修改数字图像。所公开的***还使用潜在向量流绘制器(作为中介设备)来生成图像增量或差异度量,其指示数字图像与经修改数字图像之间的差异。所公开的***然后将图像增量作为数字流的一部分提供给客户端设备,以快速地绘制经修改数字图像。在一些实施例中,所公开的***还生成并且提供高效的用户图像修改界面,该用户图像修改界面需要相对较少的用户交互用于执行针对数字图像的基于神经网络的操作,诸如基于GAN的操作。
本公开的一个或多个实施例的附加特征和优点是在以下描述中概述的,并且通过描述将部分地显而易见,或者可以通过实践这样的示例实施例来学习。
附图说明
本公开通过参照附图以附加的特异性和细节来描述本发明的一个或多个实施例。以下段落简要描述了这些附图,其中:
图1图示了根据一个或多个实施例的潜在向量图像编辑***在其中操作的示例***环境;
图2图示了根据一个或多个实施例的使用潜在向量方法来修改数字图像以确定图像差分度量的概览;
图3A至图3C图示了根据一个或多个实施例的由客户端设备、潜在向量流绘制器和图像修改神经网络执行的各种动作的有线图;
图4图示了根据一个或多个实施例的用于提取潜在图像向量的示例过程;
图5图示了根据一个或多个实施例的用于从修改潜在图像向量生成经修改数字图像的示例过程;
图6图示了根据一个或多个实施例的用于确定和提供图像差分度量的示例过程;
图7图示了根据一个或多个实施例的潜在向量图像编辑***的示例分布式架构;
图8A至图8B图示了根据一个或多个实施例的包括附加数字图像网格的图像修改界面;
图9A至图9B图示了根据一个或多个实施例的包括滑块工具的图像修改界面;
图10A至图10B图示了根据一个或多个实施例的包括时间线工具的图像修改界面;
图11A至图11B图示了根据一个或多个实施例的包括拼贴工具的图像修改界面;
图12A至图12B图示了根据一个或多个实施例的包括草图(sketch)工具的图像修改界面;
图13图示了根据一个或多个实施例的潜在向量图像编辑***的示意图;
图14图示了根据一个或多个实施例的用于通过比较与潜在图像向量相关联的数字图像来生成和提供图像差分度量的一系列动作的流程图;以及
图15图示了根据一个或多个实施例的示例计算设备的框图。
具体实施方式
本公开描述了潜在向量图像编辑***的一个或多个实施例,其检测用户交互以在客户端设备上编辑数字图像,并且通过使用基于web的中介修改数字图像的潜在向量来修改针对客户端设备的数字图像,并且使用图像修改神经网络从经修改潜在向量生成经修改数字图像。具体地,潜在向量图像编辑***接收用于修改数字图像的用户交互的指示。基于用户交互,在一些实施例中,潜在向量图像编辑***还确定反映修改的图像差分度量。例如,潜在向量图像编辑***利用新颖的潜在向量流绘制器,以通过将初始数字图像与经由图像修改神经网络修改的数字图像进行比较来生成图像差分度量。在一些情况下,潜在向量图像编辑***向客户端设备提供图像差分度量,以使客户端设备相对于用户交互实时(或接近实时)绘制和显示经修改数字图像,即使在客户端设备是移动设备的情况下。
如上面建议的,在一个或多个实施例中,潜在向量图像编辑***接收用户交互的指示以使用基于神经网络的操作(例如基于GAN的操作)修改数字图像。为了支持这样的用户交互,潜在向量图像编辑***提供数字图像,以供客户端设备上在图像修改界面内显示。在一些情况下,潜在向量图像编辑***提供数字图像作为在客户端设备上播放的数字流的一部分(例如作为数字视频馈送中的帧)。在一些实施例中,数字流在图像修改界面内作为静止数字图像出现。潜在向量图像编辑***从图像修改界面接收用于修改数字图像的用户交互的指示,并且将数字图像显示为数字流的一部分。
基于用户交互的指示,在一些实施例中,潜在向量图像编辑***生成针对数字图像的经修改潜在图像向量。例如,潜在向量图像编辑***利用图像修改神经网络(诸如GAN)从数字图像提取潜在特征,并且基于用户交互进一步修改潜在图像向量。在一些情况下,潜在向量图像编辑***针对由客户端设备选择或上传的初始数字图像生成初始潜在图像向量(例如在用于修改数字图像的用户交互之前),并且随后修改潜在图像向量以反映用户选择的对数字图像所做的修改。
在修改潜在图像向量之后,在某些实施例中,潜在向量图像编辑***还生成反映经由用户交互请求的变化的经修改数字图像。例如,潜在向量图像编辑***利用图像修改神经网络来从经修改潜在图像向量生成经修改数字图像。在一个或多个实施例中,潜在向量图像编辑***还确定初始数字图像和经修改数字图像之间的图像差分度量。例如,潜在向量图像编辑***将经修改数字图像与初始数字图像进行比较,以生成反映从用户交互产生的数字图像(或潜在图像向量)的变化的图像差分度量。
在一些情况下,在生成图像差分度量后,潜在向量图像编辑***向客户端设备提供图像差分度量。例如,潜在向量图像编辑***提供图像差分度量,以使客户端设备更新数字图像并且绘制经修改数字图像以供显示。在一个或多个实施例中,潜在向量图像编辑***提供图像差分度量作为数字流的一部分,该数字流包括使客户端设备绘制对数字流的变化的代码或指令。例如,潜在向量图像编辑***提供图像差分度量作为数字流的一部分,以指示客户端设备绘制经修改数字图像来代替初始数字图像(例如作为后续帧)以在视觉上图示变化。实际上,在某些实施例中,不是针对图像修改界面内进行的每个修改重新生成和提供全新的数字图像,而是潜在向量图像编辑***确定并且向客户端设备提供图像差分度量,以指示从修改产生的相对较小的变化或增量。
为了示出初始数字图像或经修改数字图像,在一些实施例中,潜在向量图像编辑***提供图像修改界面以用于在客户端设备上显示。例如,潜在向量图像编辑***提供图像修改界面,该图像修改界面包括数字图像(例如作为数字视频馈送的一部分)以及用于对数字图像执行基于神经网络的操作(例如基于GAN的操作)的一个或多个可选择元素。在一些情况下,图像修改界面包括附加数字图像的网格,其可选择以通过将与选自网格的数字图像相关联的特征与初始数字图像的特征调配(blend)或混合在一起来修改初始数字图像。在其他一些情况下,图像修改界面包括可选择以调整与初始数字图像相关联的某些图像特征的滑块元素。在其他一些情况下,图像修改界面包括用于执行基于神经网络的操作的附加或替代元素。关于图像修改界面的各种实施例的附加细节在下面参照附图提供。
如上面建议的,潜在向量图像编辑***提供了优于常规图像编辑***的多个技术优点。例如,在一些实施例中,潜在向量图像编辑***与常规***相比提高了计算效率。为了详细说明,与常规***相比,潜在向量图像编辑***能够使用更少的处理时间、处理功率和存储器来生成和提供基于神经网络的对数字图像的修改,以供在客户端设备上显示。许多常规***生成并提供全新的数字图像以在视觉上表示所执行的每个新的基于神经网络的操作,而潜在向量图像编辑***通过对客户端设备生成并提供反映基于神经网络的修改的图像差分度量——而不是使用神经网络(诸如GAN)在客户端设备上本地修改图像,保留了客户端设备上的大量计算资源。实际上,潜在向量图像编辑***确定并提供图像差分度量,其指示客户端设备基于从用户交互产生的变化或增量通过使用更少的处理功率来绘制对数字图像的修改,而不是消耗相当多的本地处理功率来生成或重新生成全新的数字图像。
为了说明计算效率的这样的改进,在一些实施例中,潜在向量图像编辑***利用分布式架构,其包括在一个计算设备处的潜在向量流绘制器和在另一计算设备处的一个或多个神经网络(例如GAN)计算设备——两者都与客户端设备分离。潜在向量流绘制器存储潜在向量,以从神经网络来回传递并且有助于确定图像差分度量,以更新提供给客户端设备的数字流。因此,潜在向量图像编辑***通过确定和传递图像差分度量来节省计算资源,以更新针对每个新操作的数字图像。相比之下,许多常规***在本地GPU上运行GAN或其他神经网络,因此需要明显更多的本地计算资源来针对每个新的编辑操作从头开始生成和重新生成经修改数字图像。因此,与针对实时交互式编辑操作太慢的常规***相反,潜在向量图像编辑***能够即时执行针对交互式应用的图像编辑操作。
作为提高效率的又一示例,在一些实施例中,潜在向量图像编辑***提供高效的图形用户界面,与常规***相比,该图形用户界面需要更少的用户交互来访问期望的数据和/或功能性。例如,与需要许多用户交互来手动选择和编辑数字图像的部分的常规***相反,潜在向量图像编辑***通过提供包括数字图像网格的图像修改界面来减少所需的用户交互,该数字图像网格可选择以通过混合特征使用基于神经网络的操作来修改初始数字图像。在一些实施例中,潜在向量图像编辑***提供图像修改界面,该图像修改界面包括可选择的滑块元素集合,用于修改数字图像的各种基于GAN的图像特征。由潜在向量图像编辑***提供的图像修改界面通过减少用户交互并且简化修改数字图像的过程来提高效率。
由于潜在向量图像编辑***的效率提高,与常规数字图像编辑***相比,潜在向量图像编辑***的实施例还提高了速度。例如,通过生成和证明图像差分度量来更新显示在客户端设备上的数字图像,潜在向量图像编辑***不仅减少了对提供经修改数字图像的计算要求,而且也进一步提高了这样做的速度。在一些情况下,与许多常规***不同,通过与请求修改的用户交互实时地提供反映基于神经网络(例如基于GAN)的图像修改的图像差分度量,潜在向量图像编辑***对于交互式的即时数字图像编辑来说足够快。
不仅其更有效的操作提供了提高的速度,而且与常规数字图像编辑***相比,潜在向量图像编辑***还提供了提高的灵活性。例如,与被限于在特别强大的计算设备上操作的许多常规***相反,潜在向量图像编辑***能够经由具有基本或慢速GPU的功能较弱的计算设备(诸如移动设备)支持基于神经网络的数字图像编辑。实际上,潜在向量图像编辑***生成并且提供更小且更易于处理的图像差分度量(与由常规***使用的整个图像相比),从而使移动设备能够以交互式实时方式绘制基于神经网络的数字图像修改。
如前述讨论建议的,本公开利用各种术语来描述潜在向量图像编辑***的特征和益处。关于在本公开中使用的这些术语的含义的附加细节在下文中提供。具体地,术语“神经网络”是指机器学习模型,其能够基于输入来训练和/或调谐,以确定分类或近似未知函数。例如,神经网络包括互连的人工神经元(例如分层组织)的模型,该模型进行通信并且学习近似复杂函数,并且基于提供给神经网络的多个输入来生成输出(例如生成的数字图像)。在一些情况下,神经网络指代一种算法(或算法集合),其实施深度学习技术以对数据中的高级抽象建模。
相关地,术语“图像修改神经网络”是指从数字图像提取潜在图像向量和/或从潜在图像向量生成数字图像的神经网络。具体地,图像修改神经网络从数字图像提取潜在或隐藏特征,并且将这些特征编码为潜在特征向量。在一些情况下,图像修改神经网络从潜在图像向量生成或重构数字图像。在一个或多个实施例中,图像修改神经网络采用生成对抗神经网络的形式。例如,在一些实施例中,图像修改神经网络是由Jun-Yan Zhu、PhilippEli Shechtman和Alexei A.Efros在2016年的欧洲计算机视觉会议597至613页上发表的Generative Visual Manipulation on the Natural Image Manifold(自然图像流形上的生成视觉操纵)中描述的iGAN,其通过引用全部并入本文。在其他实施例中,图像修改神经网络是StyleGAN、StyleGAN2、RealnessGAN、ProGAN或任何其他合适的生成神经网络。在某些情况下,图像修改神经网络是生成神经网络以外的神经网络,并且例如采用PixelRNN或PixelCNN的形式。
如本文使用的,术语“生成对抗神经网络”(有时简称为“GAN”)是指经由对抗过程调谐或训练以从输入数字图像生成输出数字图像的神经网络。在一些情况下,生成对抗神经网络包括多个组成神经网络,诸如编码器神经网络和生成器神经网络。例如,编码器神经网络从数字图像提取潜在代码。生成器神经网络通过组合提取的潜在代码(例如来自编码器神经网络)来生成经修改数字图像。与生成器神经网络竞争,鉴别器神经网络分析从生成器神经网络生成的数字图像,以确定生成的数字图像是真的(例如来自存储的数字图像集合)还是假的(例如不来自存储的数字图像集合)。鉴别器神经网络还使潜在向量图像编辑***修改编码器神经网络和/或生成器神经网络的参数,以最终生成数字图像,从而欺骗鉴别器神经网络指示生成的数字图像是真实的数字图像。
如所提及的,潜在向量图像编辑***从数字图像提取潜在图像向量。如本文使用的,术语“潜在图像向量”是指表示或指示数字图像的图像特征和/或不可观察属性的隐藏或潜在特征的向量。例如,潜在图像向量包括数字图像的数字编码或表示。在一些实施例中,潜在图像向量包括一个或多个向量方向。“向量方向”是指编码或指示特定图像特征的潜在图像向量的方向。例如,一个向量方向对应于年龄,而另一向量方向对应于数字图像内描绘的面部的快乐。因此,在任一方向上修改潜在图像向量都会导致对由数字图像描绘的基于神经网络的图像特征(例如基于GAN的图像特征)进行对应修改。
相关地,“初始潜在图像向量”是指从初始(例如未修改的)数字图像提取的或以其他方式对应于初始(例如未修改的)数字图像的潜在图像向量。相反,“经修改潜在图像向量”是指与经修改数字图像相对应的潜在图像向量。例如,经修改潜在图像向量包括一个或多个经修改特征,这些特征是由用户交互产生的,以供执行基于GAN的操作来编辑数字图像。
如所提及的,在一些实施例中,潜在向量图像编辑***利用图像修改神经网络来修改数字图像或者生成数字图像的修改版本。在一些这样的情况下,图像修改神经网络构成执行基于GAN的操作的GAN。如本文使用的,术语“基于GAN的操作”是指利用一个或多个GAN来执行所请求的修改的数字图像编辑操作。具体地,基于GAN的操作包括执行“基于GAN的修改”以编辑或改变数字图像的一个或多个“基于GAN的图像特征”的操作。示例的基于GAN的图像特征包括但不限于快乐的量度、惊讶的量度、年龄的量度、愤怒的量度和秃头的量度。实际上,基于GAN的图像特征通常比更常规的数字图像修改(诸如改变颜色、裁剪和调整亮度)更复杂且计算更密集。附加的基于GAN的视觉特征在下面关于附图描述。
在某些描述的实施例中,潜在向量图像编辑***确定用于特定修改的图像差分度量。如本文使用的,术语“图像差分度量”是指先前数字图像与数字图像的后续或修改版本(例如修改之后)之间的差异的度量或指示。实际上,在一些情况下,图像差分度量包括指示先前绘制的数字图像和要被绘制的经修改数字图像之间的变化或增量。在一些实施例中,图像差分度量包括指令或计算机代码(可由浏览器或另一客户端应用解释),以使客户端设备通过实施图像差分度量内所包括的变化利用(当前帧的)修改版本修改当前数字图像(或当前帧)来更新数字视频馈送。例如,图像差分度量指示潜在图像向量在一个向量方向或另一向量方向上的变化,从而调整特定的基于GAN的图像特征。
在一些实施例中,潜在向量图像编辑***向客户端设备提供图像差分度量作为数字流的一部分。如本文使用的,术语“数字流”是指从一个计算设备到另一计算设备的一个或多个数据对象(例如数据分组)的连续或连贯传输和/或接收。在一些情况下,潜在向量图像编辑***向客户端设备提供数字流,以相对于请求修改的用户交互实时保持客户端设备上显示的数字图像是最新的。例如,数字流能够包括数字视频馈送的一个或多个数字图像的数据。数字流还能够或备选地包括指示对数字图像或数字视频馈送的变化的图像差分度量。在一些情况下,潜在向量图像编辑***利用潜在向量流绘制器来生成数字流并且将其提供给客户端设备。
关于潜在向量图像编辑***的附加细节现在将参照附图提供。例如,图1图示了根据一个或多个实施例的用于实施潜在向量图像编辑***102的示例***环境的示意图。潜在向量图像编辑***102的概述是关于图1描述的。此后,潜在向量图像编辑***102的组件和过程的更详细描述关于后续附图提供。
如图所示,该环境包括(多个)服务器104、客户端设备116、数据库112和网络114。该环境的组件中的每个组件经由网络114进行通信,并且网络114是计算设备通过其通信的任何合适网络。示例网络在下面关于图15更详细地讨论。
如所提及的,该环境包括客户端设备116。客户端设备116是多种计算设备中的一个计算设备,包括智能手机、平板计算机、智能电视、台式计算机、膝上型计算机、虚拟现实设备、增强现实设备或者关于图15描述的另一计算设备。实际上,与许多常规***不同,潜在向量图像编辑***102能够在移动设备上操作以进行交互式实时的基于GAN的数字图像编辑。虽然图1图示了客户端设备116的单个实例,在一些实施例中,该环境包括多个不同的客户端设备,分别与不同的用户(例如数字图像编辑器)相关联。客户端设备116经由网络114与(多个)服务器104通信。例如,客户端设备116从与客户端设备116进行交互的用户(例如经由客户端应用118)接收用户输入,以例如编辑、修改或生成数字内容,诸如数字图像。因此,(多个)服务器104上的潜在向量图像编辑***102接收信息或指令以生成经修改数字图像。
如图1所示,客户端设备116包括客户端应用118。具体地,客户端应用118是web应用、安装在客户端设备116上的本机应用(例如移动应用、桌面应用等)或全部或部分功能性由(多个)服务器104执行的基于云的应用。客户端应用118向用户呈现或显示信息,包括图像修改界面。例如,用户与客户端应用118交互,以提供用户输入以选择和/或修改一个或多个数字图像。
如图1所图示的,该环境包括(多个)服务器104。(多个)服务器104生成、追踪、存储、处理、接收和传输电子数据,诸如数字图像修改和用户交互的指示。例如,(多个)服务器104以用于修改数字图像的用户交互的指示的形式从客户端设备116接收数据。另外,(多个)服务器104将数据传输给客户端设备116以提供图像差分度量,以使客户端设备116显示或呈现经修改数字图像。实际上,(多个)服务器104与客户端设备116通信,以经由网络114传输和/或接收数据。在一些实施例中,(多个)服务器104包括分布式服务器,其中(多个)服务器104包括分布在网络114上并且位于不同物理地点的多个服务器设备。(多个)服务器104包括内容服务器、应用服务器、通信服务器、web托管服务器、多维服务器或机器学习服务器。
如图1进一步所示,(多个)服务器104还包括作为数字内容编辑***106的一部分的潜在向量图像编辑***102。数字内容编辑***106与客户端设备116通信以执行与客户端应用118相关联的各种功能,诸如存储和管理数字图像的储存库、修改数字图像以及提供经修改数字图像以供显示。例如,潜在向量图像编辑***102与数据库112通信,以访问数字图像的储存库和/或访问或存储数据库112内的潜在图像向量。实际上,如图1进一步所示,该环境包括数据库112。具体地,数据库112存储诸如数字图像储存库以及从数字图像生成的潜在图像向量等信息。
另外,潜在向量图像编辑***102包括潜在向量流绘制器108。具体地,潜在向量流绘制器108与客户端设备116和图像修改神经网络110通信。例如,潜在向量流绘制器108接收用于修改数字图像用户交互的指示。基于指示,潜在向量流绘制器108还生成经修改潜在图像向量,并且将经修改潜在图像向量提供给图像修改神经网络110。附加地,潜在向量流绘制器108从图像修改神经网络110接收经修改数字图像,并且通过比较初始数字图像和经修改数字图像来确定图像差分度量。潜在向量流绘制器108还向客户端设备116提供图像差分度量(例如作为数字流的一部分),以使客户端设备116绘制经修改数字图像。
正如刚才提及的,并且如图1所图示的,潜在向量图像编辑***102还包括图像修改神经网络110。具体地,图像修改神经网络110从潜在向量流绘制器108接收和/或提供数字图像和/或潜在图像向量。例如,图像修改神经网络110从从潜在向量流绘制器108接收的数字图像提取潜在图像向量。另外,图像修改神经网络110从经修改潜在图像向量生成经修改数字图像,经修改潜在图像向量从潜在向量流绘制器108被接收。在一些实施例中,图像修改神经网络110是包括编码器神经网络和生成器神经网络的GAN。
尽管图1图示了环境的特定布置,但是在一些实施例中,该环境具有不同的组件布置和/或可以完全具有不同数量或组件集合。例如,在一些实施例中,潜在向量图像编辑***102由(例如全部或部分地位于其上)客户端设备116和/或第三方设备实施。在一些实施例中,潜在向量流绘制器108和图像修改神经网络110位于(多个)同一服务器104上,而在其他实施例中,潜在向量流绘制器108和图像修改神经网络110远离彼此位于不同的服务器设备上(尽管有一定的地理距离以维持通信速度)。另外,在一个或多个实施例中,客户端设备116绕过网络114直接与潜在向量图像编辑***102通信。进一步地,在一些实施例中,数据库112位于(多个)服务器104的外部(例如经由网络114进行通信)或者位于(多个)服务器104和/或客户端设备116上。
如所提及的,在一个或多个实施例中,潜在向量图像编辑***102生成并提供经修改数字图像,以利用支持基于神经网络的修改(例如基于GAN的修改)的实时实施方式的潜在向量方法进行显示。具体地,潜在向量图像编辑***102确定图像差分度量,图像差分度量指示并且使客户端设备呈现从初始数字图像到经修改数字图像的变化。图2图示了根据一个或多个实施例的确定用于在客户端设备上实时呈现数字图像修改(例如基于GAN的修改)的图像差分度量的概述。关于图2的各种动作的附加细节是关于后续附图提供的。
如图2所图示的,潜在向量图像编辑***102执行动作202以接收数字图像。具体地,潜在向量图像编辑***102以所选择的数字图像、捕获的数字图像或上传的数字图像的形式从客户端设备116接收数字图像。在一些实施例中,潜在向量图像编辑***102从存储的数字图像的储存库(例如在数据库112内)标识或访问数字图像。例如,潜在向量图像编辑***102经由客户端设备116接收特定数字图像的用户选择的指示。
在接收到数字图像之后,潜在向量图像编辑***102执行动作204以从数字图像提取潜在图像向量。更具体地,潜在向量图像编辑***102利用图像修改神经网络(例如图像修改神经网络110)来提取包括数字图像的编码特征的潜在图像向量。如图所示,潜在向量图像编辑***102提取表示为[v]的潜在图像向量。
如图2进一步图示的,潜在向量图像编辑***102执行动作206以接收用于修改数字图像的用户交互。具体地,潜在向量图像编辑***102从客户端设备116接收用户交互的指示,用于执行基于GAN的操作以编辑或修改数字图像。如图2所示,例如潜在向量图像编辑***102接收用户交互的指示,用于使初始数字图像滑过数字图像之下的网格内的一个或多个其他数字图像。在一些实施例中,该指示包括反映哪些数字图像在初始数字图像下方(以及以什么比例)的信息,用于将初始数字图像的特征与底层数字图像的特征混合。
如在后续附图中描绘的并且在下面进一步描述的,在一些实施例中,潜在向量图像编辑***102接收不同用户交互的指示。例如,在一些情况下,潜在向量图像编辑***102在图像修改界面内提供一个或多个滑块工具,这些滑块工具可选择以用滑块元素调整图像特征。作为另一示例,潜在向量图像编辑***102提供时间线工具,其包括可选择以一次在多个元素上滑动以同时修改多个图像特征的滑块条。作为再一示例,潜在向量图像编辑***102提供用于选择附加数字图像的部分以与初始数字图像调配或组合(例如通过组合特征)的拼贴工具。作为又一示例,潜在向量图像编辑***102提供用于经由数字画笔或涂抹器向初始数字图像添加不同笔触的草图工具,于是潜在向量图像编辑***102根据添加的笔触修改附加数字图像。
如图2进一步所示,潜在向量图像编辑***102执行动作208以修改潜在图像向量。更具体地,潜在向量图像编辑***102基于用户交互修改或调整从初始数字图像提取的潜在图像向量。例如,潜在向量图像编辑***102基于用户交互确定要修改的潜在图像向量的向量方向或接收其指示。在一些实施例中,向量方向对应于由用户交互指示的特定图像特征(例如基于GAN的图像特征)。在这些或其他实施例中,潜在向量图像编辑***102通过将初始潜在图像向量的一个或多个部分与附加潜在图像向量的一个或多个部分(例如对应于附加数字图像)组合(例如调配、混合、串联、相加和/或相乘)来修改潜在图像向量。
例如,潜在向量图像编辑***102确定位于图像修改界面的数字图像网格内的初始数字图像之下的一个或多个数字图像或接收其指示。另外,潜在向量图像编辑***102通过将初始数字图像的特征与网格中的底层数字图像的特征组合来修改潜在图像向量。
在一些情况下,潜在向量图像编辑***102确定初始数字图像在一个或多个底层数字图像上的相应比例或重叠量或接收其指示。基于它们相应的重叠量,在将它们与初始潜在图像向量组合以生成修改潜在图像向量时,潜在向量图像编辑***102对底层数字图像的特征进行加权。如图2所示,例如潜在向量图像编辑***102以权重w1、w2、w3和w4对由初始数字图像重叠的数字图像的特征进行加权。潜在向量图像编辑***102因此生成修改潜在图像向量[v']。
在一些实施例中,潜在向量图像编辑***102确定对初始潜在图像向量的附加或替代修改。例如,潜在向量图像编辑***102确定在由用户交互指示的特定向量方向上修改初始潜在图像向量以修改数字图像。在一些情况下,潜在向量图像编辑***102在与特定图像特征(例如基于GAN的图像特征)相对应的向量方向上修改初始潜在图像向量。例如,潜在向量图像编辑***102接收用户交互以增加快乐的量度,并且潜在向量图像编辑***102在与调整微笑(同时维持潜在图像向量的其他特征相同)相对应的向量方向上相加或乘以初始潜在图像向量的特征。关于各种用户交互和潜在图像向量的对应变化的附加细节在下面参照后续附图提供。
如图2进一步图示的,潜在向量图像编辑***102执行动作210以生成经修改数字图像。具体地,潜在向量图像编辑***102利用图像修改神经网络(例如图像修改神经网络110)生成经修改数字图像。例如,潜在向量图像编辑***102将修改潜在图像向量([v'])输入到图像修改神经网络110中,于是图像修改神经网络110生成经修改数字图像。如图2所示,潜在向量图像编辑***102从修改潜在图像向量生成经修改数字图像,该修改潜在图像向量被修改以反映初始数字图像在四个底层数字图像上的滑动。实际上,图2中描绘的经修改数字图像包括来自初始数字图像的特征以及来自由初始数字图像重叠的四个数字图像的特征的(成比例的)组合。
也如图2图示的,潜在向量图像编辑***102执行动作212以生成图像差分度量。更具体地,潜在向量图像编辑***102通过将初始数字图像(例如在动作202中接收的)与经修改数字图像(例如在动作210中生成的)进行比较来生成图像差分度量。在一些实施例中,潜在向量图像编辑***102通过比较与图像相关联的相应潜在向量(例如通过从另一向量中减去一个向量)来比较初始数字图像。
通过比较数字图像,潜在向量图像编辑***102确定初始数字图像和经修改数字图像之间的差异α。例如,潜在向量图像编辑***102确定向量差或像素差。在任何情况下,图像差分度量包括指示初始数字图像和经修改数字图像之间的显现差异的信息。在一些实施例中,图像差分度量仅包括数字图像之间的差异的信息,诸如潜在图像向量或对应像素的差异。在这些或其他实施例中,图像差分度量不包括全新数字图像或全新数字视频馈送的所有信息。
附加地,潜在向量图像编辑***102执行动作214,以向客户端设备116提供图像差分度量。具体地,潜在向量图像编辑***102提供用于绘制经修改数字图像以在客户端设备116上显示的图像差分度量。因此,潜在向量图像编辑***102使客户端设备116从显示初始数字图像变化为显示经修改数字图像。
在一些情况下,潜在向量图像编辑***102使客户端设备116将数字视频馈送从描绘初始数字图像的前一帧更新为描绘经修改数字图像的后续帧。实际上,图像差分度量能够包括通过利用图像差分度量修改初始数字图像的显现来使客户端设备116绘制更新的信息(例如无需流式传输或将所有信息绘制为全新的数字图像)。如图2所示,提供图像差分度量使客户端设备116将显现初始数字图像变化为显现经修改数字图像。
虽然图2(以及后续附图)图示了在特定域(例如面部)中生成和修改数字图像,但是这仅是示例性的。实际上,潜在向量图像编辑***102也适用于其他域。例如,潜在向量图像编辑***102能够修改和提供描绘各种主题的数字图像,包括汽车、建筑物、人物、风景、动物、家具或食物。本文描述的潜在向量图像编辑***102的原理、方法和技术适用于数字图像的任何域或主题。
如上面建议的,在一个或多个实施例中,潜在向量图像编辑***102利用在不同网络地点(和/或不同物理/地理地点)的计算设备的多方面架构一起工作,以提供对客户端设备的实时数字图像修改。具体地,在一些情况下,潜在向量图像编辑***102利用位于同一服务器或跨网络的不同服务器的潜在向量流绘制器108和图像修改神经网络110,分别执行潜在向量图像编辑***102的不同动作。图3A至图3C图示了根据一个或多个实施例的描绘由潜在向量流绘制器108、图像修改神经网络110和客户端设备116执行的各种动作的示例图。
如图3A所图示的,客户端设备116向潜在向量流绘制器108提供数字图像302(或其指示)的数据。具体地,客户端设备116捕获、上传或选择数字图像302。联网,客户端设备116还向潜在向量流绘制器108提供数字图像302或数字图像302的指示。进而,潜在向量流绘制器108将数字图像302提供给图像修改神经网络110,于是图像修改神经网络110执行动作304以从数字图像302提取潜在图像向量。例如,如上所述,图像修改神经网络110将对应于数字图像302的可见和不可观察特质的特征提取或编码为潜在图像向量。
如图3A进一步图示的,潜在向量图像编辑***102将从图像修改神经网络110提取的潜在图像向量传递或发送给潜在向量流绘制器108。在一个或多个实施例中,潜在向量流绘制器108执行动作306以将潜在图像向量存储在数据库112内。实际上,潜在向量图像编辑***102存储潜在图像向量以供稍后使用。在一些情况下,潜在向量图像编辑***102为数字图像储存库(例如与数字内容编辑***106相关联的储存库)提取和存储潜在图像向量。
除了存储潜在图像向量之外,潜在向量流绘制器108向客户端设备116提供数字流308。更具体地,潜在向量流绘制器108提供包括用于绘制数字图像302以在客户端设备116上的图像修改界面内显示的信息的数字流308。在一些情况下,数字流308包括数字图像302的数字视频馈送。因此,客户端设备116用图像修改界面呈现或显示数字图像302(例如在数字视频馈送内)。
如图3A进一步所示,客户端设备116还执行动作310以检测用户交互。具体地,客户端设备116在图像修改界面内检测或接收用户输入以修改或编辑数字图像302。例如,客户端设备116接收用户交互以执行基于GAN的操作以修改数字图像302。
响应于用户交互,客户端设备116向潜在向量流绘制器108提供用户交互指示312。实际上,客户端设备116提供用于修改数字图像的用户交互的指示。在一些情况下,用户交互指示312包括对经修改数字图像302的一个或多个基于GAN的图像特征的请求或指示其命令的信息(例如经由基于GAN的操作)。
响应于接收到用户交互指示312,潜在向量流绘制器108执行动作314以修改潜在图像向量。更具体地,潜在向量流绘制器108修改由图像修改神经网络110提取并存储在数据库112内的数字图像302的潜在图像向量。实际上,潜在向量流绘制器108从数据库112访问潜在图像向量,并且使用一个或多个修改操作来修改潜在图像向量。这样的修改操作包括相加或乘以对应于特定向量方向的潜在图像向量的一部分和/或将潜在图像向量的特征与一个或多个附加潜在图像向量的特征组合。
在一些实施例中,潜在向量流绘制器108包括在并发操纵潜在图像向量的同时渐进地投影经修改数字图像的数据的逻辑。为了详细说明,在与图像修改神经网络110通信以提取潜在图像向量时,潜在向量流绘制器108同时修改潜在图像向量。在一些情况下,从数字图像提取潜在图像向量需要大约10至12秒进行100次迭代。然而,不是要求在应用对应变换之前对每个数字图像修改完成编码过程并且允许用户进一步操纵数字图像302,潜在向量流绘制器108能够并发地修改潜在图像向量,而无需等待提取新潜在图像向量的过程完成。因此,即使在图像修改神经网络110仍在提取潜在图像向量时,潜在向量流绘制器108经由客户端设备116实现用户交互,并且基于用户交互并发地修改潜在图像向量。关于用于修改潜在图像向量的修改操作的附加细节在下面参照后续附图提供。
如图3A进一步图示的,潜在向量图像编辑***102将来自潜在向量流绘制器108的修改潜在图像向量316传递或发送给图像修改神经网络110。进而,图像修改神经网络110执行动作318以生成经修改数字图像。为了详细说明,图像修改神经网络110从修改潜在图像向量316生成经修改数字图像。实际上,图像修改神经网络110通过执行基于GAN的操作来处理修改潜在图像向量316以生成经修改数字图像,这导致对数字图像302的一个或多个基于GAN的图像特征的修改。
如图3B中继续的,潜在向量图像编辑***102将经修改数字图像320从图像修改神经网络110传递或发送给潜在向量流绘制器108。基于经修改数字图像320,潜在向量流绘制器108执行动作322以确定图像差分度量。更具体地,潜在向量流绘制器108将经修改数字图像320与数字图像302进行比较。例如,潜在向量流绘制器108确定经修改数字图像320的像素和数字图像302的像素之间的差异。在一些实施例中,潜在向量流绘制器108比较潜在图像向量,以确定修改潜在图像向量316和在动作304中提取的潜在图像向量之间的差异。因此,潜在向量流绘制器108生成图像差分度量324,其包括用于绘制最初显示在客户端设备116上的数字图像302的变化的指令或信息。
如图3B进一步所示,潜在向量流绘制器108向客户端设备116提供图像差分度量324。通过提供图像差分度量324,潜在向量流绘制器108使客户端设备116显示或绘制经修改数字图像320。具体地,图像差分度量324包括通过改变像素以类似于显现经修改数字图像320来使客户端设备116修改数字图像302的呈现的指令。在一些情况下,潜在向量流绘制器108提供图像差分度量324作为数字流的一部分。例如,潜在向量流绘制器108(持续地或连续地)维持提供给客户端设备116的相同数字流308,并且基于经修改数字图像的用户交互以新信息更新数字流308。例如,潜在向量流绘制器108在数字流308内提供图像差分度量324,从而使客户端设备116更新数字图像302的呈现以显示经修改数字图像320。
在接收到图像差分度量324之后,客户端设备116执行动作326以供绘制经修改数字图像。具体地,客户端设备116接收图像差分度量324,并且绘制经修改数字图像320来代替数字图像302。例如,客户端设备116解释图像差分度量324的指令,其指示如何修改数字图像302的呈现以将数字图像302的呈现变换为经修改数字图像320的呈现。
如图3B所图示的,客户端设备116还执行动作328以检测附加用户交互。具体地,客户端设备116检测或接收用户交互以进一步修改经修改数字图像320。响应于用户交互,客户端设备116向潜在向量流绘制器108提供用户交互指示330。实际上,在一些实施例中,客户端设备116提供请求进一步修改经修改数字图像320(例如通过执行基于GAN的操作)的用户交互的指示。
如图3B进一步所示,进而,潜在向量流绘制器***108执行动作332以进一步修改潜在图像向量。具体地,潜在向量流绘制器108基于用户交互来修改修改潜在图像向量316。例如,潜在向量流绘制器108修改向量以将特征与一个或多个其他潜在图像向量组合和/或调整对应于特定图像特征(例如基于GAN的图像特征)的向量方向。
在进一步修改潜在图像向量之后,潜在向量图像编辑***102将经附加修改潜在图像向量334从潜在向量流绘制器108传递或发送给图像修改神经网络110。作为响应,图像修改神经网络110执行动作336以生成经附加修改数字图像。具体地,图像修改神经网络110从经附加修改潜在图像向量334生成经附加修改数字图像。
如图3C中继续的,潜在向量图像编辑***102将经附加修改数字图像338传递或发送给潜在向量流绘制器108。类似于以上讨论,潜在向量流绘制器108执行动作340以确定附加图像差分度量。实际上,潜在向量流绘制器108将经附加修改数字图像338与经修改数字图像320进行比较。在一些实施例中,潜在向量流绘制器108确定经附加修改数字图像338和经修改数字图像320之间的显现差异,并且对附加图像差分度量中的差异进行编码。
如图3C进一步所示,在一些实施例中,潜在向量流绘制器108还向客户端设备116提供附加图像差分度量342。例如,潜在向量流绘制器108提供附加图像差分度量342作为数字流308的一部分(例如连续地或持续地提供给客户端设备116)。实际上,潜在向量流绘制器108修改数字流308以包括附加图像差分度量342,从而使客户端设备116将数字视频馈送从显示经修改数字图像320更新为显示经附加修改数字图像338。如图3C所示,客户端设备116执行动作344以绘制经附加修改数字图像338。如所提及的,客户端设备116通过修改经修改数字图像320的呈现以呈现经附加修改数字图像338来更新数字视频馈送。
客户端设备116、潜在向量流绘制器108和图像修改神经网络110能够在循环中重复关于图3A至图3C描述的任何或所有动作。例如,基于不断修改数字图像的新用户交互,潜在向量流绘制器108接收新指示,并且生成新的经修改潜在图像向量。图像修改神经网络110还生成新的经修改数字图像以显示在客户端设备116上。因此,图3A至图3C的动作能够在循环中重复,直到用户交互停止为止。
虽然图3A至图3C图示了所描述的动作的特定顺序,附加或替代顺序是可能的。例如,在一个或多个实施例中,潜在向量流绘制器108在向图像修改神经网络110提供数字图像302以提取潜在图像向量之前(或同时)向客户端设备116提供数字流308。作为另一示例,响应于用于修改数字图像的多个用户交互,图像修改神经网络110执行多个动作以修改潜在图像向量,同时图像修改神经网络110并发地执行从数字图像提取潜在图像向量的动作。在一些情况下,潜在向量图像编辑***102以相同或不同的顺序重复图3A至图3C所图示的动作,以基于请求基于GAN的修改的用户交互来连续地编辑数字图像。
如上面提及的,在某些所描述的实施例中,潜在向量图像编辑***102从数字图像生成或提取潜在图像向量。具体地,潜在向量图像编辑***102利用编码器作为图像修改神经网络(例如图像修改神经网络110)的先前层或作为其一部分,以从数字图像提取潜在图像向量。图4图示了根据一个或多个实施例的从初始数字图像402提取潜在图像向量404的潜在向量图像编辑***102。
如图4所图示的,潜在向量图像编辑***102标识初始数字图像402。具体地,潜在向量图像编辑***102从客户端设备116接收初始数字图像402(或初始数字图像402的指示)。例如,客户端设备116捕获初始数字图像402,并且上传初始数字图像402以供潜在向量图像编辑***102访问。作为另一示例,客户端设备116提供初始数字图像的用户选择的指示,于是潜在向量图像编辑***102从数字图像储存库(例如存储在数据库112内)访问初始数字图像402。
如图4进一步图示的,潜在向量图像编辑***102利用编码器400(例如作为图像修改神经网络110的先前层或其一部分)来分析初始数字图像402。更具体地,潜在向量图像编辑***102利用编码器400处理初始数字图像402,以提取特征以包括在潜在图像向量404内。实际上,潜在向量图像编辑***102从初始数字图像402生成潜在图像向量404。因此,潜在图像向量404包括表示数字图像402的可见和/或不可观察的隐藏特征的特征。在一个或多个实施例中,潜在向量图像编辑***102还将潜在图像向量404存储在数据库112中。
如所提及的,在一些实施例中,潜在向量图像编辑***102从经修改潜在图像向量生成经修改数字图像。具体地,潜在向量图像编辑***102基于经修改数字图像的用户交互生成经修改潜在图像向量,并且潜在向量图像编辑***102还从经修改潜在图像向量生成经修改数字图像。图5图示了根据一个或多个实施例的用于从经修改潜在图像向量生成经修改数字图像的示例过程。
如图5所图示的,潜在向量图像编辑***102接收用于修改初始数字图像504的用户交互的指示。例如,图5图示了使初始数字图像504从附加数字图像的网格502上的初始位置滑动到新位置的用户交互。在初始位置,初始数字图像504包括对应于网格502内由初始数字图像504覆盖的数字图像的特征。响应于使初始数字图像504滑动到新位置的用户交互,潜在向量图像编辑***102生成经修改数字图像(例如初始数字图像504的修改版本),以包括网格502内的数字图像的特征,这些特征位于新位置的数字图像之下。
实际上,在接收到用于修改数字图像的用户交互的指示时,潜在向量图像编辑***102执行动作506以生成经修改潜在图像向量。具体地,潜在向量图像编辑***102根据用户交互修改潜在图像向量。在一些情况下,潜在向量图像编辑***102通过将潜在图像向量的特征与对应于附加数字图像的一个或多个附加潜在图像向量的特征组合来修改潜在图像向量。例如,潜在向量图像编辑***102将潜在图像向量与对应于由网格502内的初始数字图像504覆盖的数字图像的一个或多个附加潜在图像向量组合。
在某些实施例中,潜在向量图像编辑***102成比例地组合潜在图像向量。为了详细说明,潜在向量图像编辑***102确定由网格502内的初始数字图像504覆盖的数字图像的部分、区域或量(或接收其指示)。例如,潜在向量图像编辑***102确定初始数字图像504覆盖第一附加数字图像的第一部分、第二附加数字图像的第二部分、第三附加数字图像的第三部分和第四附加数字图像的第四部分(例如其中各个部分的大小相同或不同)。基于相应覆盖部分,潜在向量图像编辑***102相应地对潜在图像向量进行加权。
例如,在某些实施方式中,潜在向量图像编辑***102访问与由网格502中的初始数字图像504覆盖的数字图像相对应的潜在图像向量L1、L2、L3和L4。实际上,在一些情况下,潜在向量图像编辑***102访问对应于网格502内的数字图像的潜在图像向量储存库。例如,潜在向量图像编辑***102利用图像修改神经网络110来生成和存储潜在图像向量。在任何情况下,潜在向量图像编辑***102根据向量L1、L2、L3和L4的相应覆盖部分对其进行加权(例如其中与初始数字图像504重叠更多的图像向量具有更高的权重)。
潜在向量图像编辑***102还通过将覆盖数字图像的加权向量与初始数字图像504的初始潜在图像向量组合来生成经修改潜在图像向量。例如,在一些实施例中,潜在向量图像编辑***102通过根据以下函数组合潜在图像向量来生成经修改潜在图像向量:
[v]+wiLi+w2L2+w3L3+w4Lq=[v′]
其中[v]表示初始潜在图像向量,wi表示与附加数字图像的附加潜在图像向量Li相对应的权重,并且[v′]表示经修改潜在图像向量。在一些实施例中,潜在向量图像编辑***102通过将向量的部分相乘在一起来修改潜在图像向量。例如,代替将潜在图像向量相加在一起,潜在向量图像编辑***102将潜在图像向量相乘以生成经修改潜在图像向量。
虽然图5图示了通过使初始数字图像504滑动到网格502上的新位置来修改初始数字图像504的特定用户交互,潜在向量图像编辑***102能够实施附加或替代用户交互。实际上,如上面建议的,在一些实施例中,潜在向量图像编辑***102经由滑块元素或其他用户界面元素接收用于修改特定图像特征(例如基于GAN的图像特征)的用户交互的指示。例如,潜在向量图像编辑***102经由滑块元素接收用户交互的指示,用于增加或减少数字图像内的面部的快乐的量度。作为响应,潜在向量图像编辑***102确定与快乐的量度相对应的向量方向,并且基于经由用户交互请求的增加量度(例如从初始快乐量度3到修改后的快乐量度10)来乘以向量方向或者相加或相减。
修改快乐的量度是基于GAN的图像特征的一个示例,潜在向量图像编辑***102能够基于与滑块元素的用户交互来修改该图像特征。其他示例在上面提及并且在后续附图中图示。在任何情况下,潜在向量图像编辑***102确定与经由用户交互调整的图像特征相对应的向量方向,并且在与由用户交互指示的调整量度相对应的量度中修改与向量方向相关联的潜在图像向量的特征。
在一个或多个实施例中,潜在向量图像编辑***102接收与交互式时间线的用于一次修改多个基于神经网络的图像特征的用户交互的指示。例如,潜在向量图像编辑***102接收用户一次在多个滑块元素上调整可滑动条的指示,其中每个滑块元素对应于不同的基于GAN的图像特征。因此,潜在向量图像编辑***102通过乘以或相加或减去与经由用户交互请求的对基于GAN的图像特征的调整相对应的潜在图像向量的向量方向来生成经修改潜在图像向量。
在某些实施例中,潜在向量图像编辑***102接收具有拼贴工具的用户交互的指示,用于从一个或多个附加数字图像中选择特征以与初始数字图像504组合。例如,潜在向量图像编辑***102从附加数字图像接收对鼻子的选择,以与初始数字图像504的面部特征组合。响应于与拼贴工具的用户交互,潜在向量图像编辑***102通过将来自附加数字图像的附加潜在图像向量的一个或多个部分(例如对应于鼻子或其他所选择的区域的(多个)部分)与初始数字图像的潜在图像向量组合来生成经修改潜在图像向量。
在一个或多个实施例中,潜在向量图像编辑***102接收具有图像修改界面的草图工具的用户交互的指示。具体地,潜在向量图像编辑***102接收经由草图工具进行的一个或多个笔触的指示,以利用数字涂抹器添加或以其他方式更改初始数字图像。例如,潜在向量图像编辑***102确定用户交互包括在初始数字图像504内描绘的眼睛周围添加眼镜的笔触。作为响应,潜在向量图像编辑***102生成修改后的数字图像向量。例如,潜在向量图像编辑***102搜索数据库112以标识数字图像描绘的眼镜(例如在经由草图工具的笔触添加的那些眼镜的阈值相似度内的眼镜)。另外,潜在向量图像编辑***102将附加数字图像的特征(例如与眼镜相对应的特征的部分)与初始潜在图像向量的特征组合。
如图5进一步图示的,除了生成经修改潜在图像向量之外,潜在向量图像编辑***102还利用图像修改神经网络110生成经修改数字图像508。具体地,潜在向量图像编辑***102利用图像修改神经网络110从经修改潜在图像向量生成经修改数字图像508。例如,潜在向量图像编辑***102生成类似于或描绘经由用户交互请求的修改的经修改数字图像508。
如所提及的,潜在向量图像编辑***102还使客户端设备116绘制并显示经修改数字图像508。具体地,潜在向量图像编辑***102基于经修改数字图像508确定图像差分度量,并且向客户端设备116提供图像差分度量以使得客户端设备116在图像修改界面内绘制对数字图像的变化。图6图示了根据一个或多个实施例的生成图像差分度量并且包括图像差分度量作为数字流的一部分。
如图6所图示的,潜在向量图像编辑***102在初始数字图像602和经修改数字图像604之间执行比较606。如上所述,潜在向量图像编辑***102将初始数字图像602标识为由客户端设备116接收或指示的数字图像。另外,也如上所述,潜在向量图像编辑***102利用图像修改神经网络110从初始数字图像602生成经修改数字图像604。
另外,潜在向量图像编辑***102执行比较606以确定初始数字图像602和经修改数字图像604之间的差异。更具体地,潜在向量图像编辑***102在显示初始数字图像602和经修改数字图像604之间确定可见和/或不可观察的像素差异和/或指令差异。在一些情况下,潜在向量图像编辑***102通过将初始潜在图像向量与经修改潜在图像向量进行比较(例如通过从修改图像向量中减去初始图像向量,反之亦然)来确定差异。如图所示,潜在向量图像编辑***102根据以下函数通过将初始数字图像602与经修改数字图像604进行比较来执行比较606:
gid_WPS_new=gid_WPS*ΔWpS+WP(l-ΔWPS)
其中gid_WPS_new表示对应于经修改数字图像604的潜在图像向量阵列,gid_WPS表示对应于初始数字图像602的潜在图像向量阵列,WP表示初始数字图像602,并且ΔWPS表示图像差分度量608。
实际上,作为比较606的结果,潜在向量图像编辑***102生成图像差分度量608。具体地,潜在向量图像编辑***102生成指示或反映初始数字图像602和经修改数字图像604之间的差异的图像差分度量608。如图所示,潜在向量图像编辑***102还包括数字流610内的图像差分度量608。
更具体地,潜在向量图像编辑***102通过包括图像差分度量608来修改提供给客户端设备116的数字流610(例如作为用于呈现和编辑数字视频馈送的数字图像和/或其他数据的流)。如所图示的,潜在向量图像编辑***102提供图像差分度量608作为数字流610的一部分,以使客户端设备116呈现初始数字图像602到经修改数字图像604的变换。例如,在一些实施例中,潜在向量图像编辑***102使客户端设备116根据以下函数绘制经修改数字图像604:
Image=Tranform(WPS)-Images_stream=Transform(WPS+ΔWPS)
其中,Image表示经修改数字图像604,Image_stream表示提供给客户端设备116以呈现数字图像(例如作为数字视频馈送的一部分)的数字流610,并且Transform(.)表示基于GAN的操作。在一些情况下,Transform(.)由图像修改神经网络110的实施例执行,例如通过将特征与附加数字图像的特征组合和/或调整特征以增加/减少快乐或其他基于GAN的图像特征的量度。潜在向量图像编辑***102由此变换由图像差分度量ΔWPS修改的潜在图像向量阵列WPS。
如所提及的,在一个或多个实施例中,潜在向量图像编辑***102提供初始数字图像602和经修改数字图像604作为数字视频馈送或其他数字数据流的一部分。例如,潜在向量图像编辑***102提供数字视频馈送作为数字流(例如数字流308或610)的一部分。在某些实施例中,潜在图像向量阵列中的每个潜在图像向量对应于数字视频馈送的单个帧。因此,潜在向量图像编辑***102提供初始数字图像602作为数字视频馈送的帧集合,其中每帧描绘相同的初始数字图像602。为了用经修改数字图像604更新数字视频馈送,如上所述,潜在向量图像编辑***102经由图像修改神经网络110修改数字视频馈送的帧集合。另外,潜在向量图像编辑***102生成图像差分度量608,并且将其提供给客户端设备116作为数字流610的一部分,以使客户端设备116更新数字视频馈送以呈现经修改数字图像604。
在一些实施例中,潜在向量图像编辑***102执行用于生成与用户交互相对应的图像差分度量的步骤。图5至6的以上描述(特别是图5的动作506和动作508的描述和图6的比较606的描述)提供用于执行生成对应于用户交互的图像差分度量的步骤的各种实施例以及支持动作和算法。
例如,在一些实施例中,用于生成对应于用户交互的图像差分度量的步骤包括通过组合、相加、相减、相乘或以其他方式操纵关于动作506描述的初始潜在图像向量来生成经修改潜在图像向量。在一些实施例中,用于生成对应于用户交互的图像差分度量的步骤包括利用图像修改神经网络基于潜在图像向量内的对应于用户交互的变化来生成反映对初始数字图像的图像修改的经修改数字图像。在这些或其他实施例中,用于生成对应于用户交互的图像差分度量的步骤包括确定初始数字图像和经修改数字图像之间的差异,如关于图6的比较606具体描述的。
如上面提及的,在一些实施例中,潜在向量图像编辑***102利用位于不同网络地点的多个设备的分布式架构。具体地,在某些实施方式中,潜在向量图像编辑***102包括潜在向量流绘制器和图像修改神经网络,其中潜在向量流绘制器还与客户端设备通信。图7图示了根据一个或多个实施例的潜在向量图像编辑***102的示例架构。
如图7所图示的,潜在向量图像编辑***102包括在第一网络地点处的潜在向量流绘制器108和在另一网络地点处的一个或多个图像修改神经网络110(例如图像修改神经网络110a和图像修改神经网络110b)。实际上,如图所示,图像修改神经网络110a和图像修改神经网络110b被存储在服务器104a上(例如作为(多个)服务器104的一部分或与其分离),而潜在向量流绘制器108被存储在服务器104b上(例如作为(多个)服务器104的一部分或者与其分离但与服务器104a分离)。另外,潜在向量流绘制器108与位于第三网络地点的客户端设备116通信。
如图7进一步图示的,潜在向量流绘制器108包括用于与客户端设备116的连接的状态管理的逻辑。另外,潜在向量流绘制器108包括用于用户管理、设置和管理数字流连接(例如经由Web实时通信或WebRTC)、存储潜在图像向量(例如在数据库112内)、经由与数字流相关联的信道接收来自用户的输入以及将帧或数字图像编码为数字视频馈送的逻辑。关于数字视频馈送,潜在向量流绘制器108包括用于建立与客户端设备116的WebRTC连接并且经由该连接向客户端设备116提供包括数字视频馈送的数字流的逻辑。
如通过图7描绘的,潜在向量流绘制器108从客户端设备116接收数据以控制或触发各种视频馈送事件。例如,潜在向量流绘制器108接收用于修改数字视频的帧的数字图像修改的用户交互的指示。实际上,在一些实施例中,客户端设备116访问与潜在向量图像编辑***102相关联的应用编程接口(“API”),以请求或访问用于数字图像编辑的操作。作为响应,潜在向量流绘制器108与图像修改神经网络110b通信,以对对应于用户交互的视频馈送的数字图像执行任何修改。潜在向量流绘制器108还向客户端设备116提供视频馈送事件,以更新视频馈送以供绘制和显示由用户交互产生的经修改数字图像。如上面提及的,潜在向量流绘制器108利用用户交互实时修改视频馈送。
如图7进一步图示的,潜在向量图像编辑***102包括用于从数字图像提取潜在图像向量(有时称为将数字图像投影到潜在空间)的图像修改神经网络110a。例如,潜在向量流绘制器108在客户端设备116上接收来自视频馈送的数字图像,并且将数字图像提供给图像修改神经网络110a以提取潜在图像向量。如上所述,潜在向量流绘制器108还基于用户交互修改潜在图像向量,并且利用图像修改神经网络从经修改潜在图像向量生成经修改数字图像。
实际上,在一些实施例中,潜在向量流绘制器108利用图像修改神经网络110a进行投影,并且还利用图像修改神经网络110b从经修改潜在图像向量生成经修改数字图像(有时称为变换)。为了详细说明,图像修改神经网络110b分析经修改潜在向量,以将潜在图像向量变换回图像空间。在一些情况下,图像修改神经网络110b是与图像修改神经网络110a相同(或至少相同类型)的神经网络。
在某些实施例中,潜在向量图像编辑***102利用批量绘制技术。更具体地,潜在向量图像编辑***102并行处理给定数字视频馈送的多个潜在图像向量。例如,潜在向量图像编辑***102利用图像修改神经网络110b来同时或并发地为使用GPU的数字视频馈送的多个数字图像(例如跨多个线程)生成经修改数字图像。例如,潜在向量图像编辑***102利用GPU来实施图像修改神经网络110b以并行生成多个经修改数字图像,每个图像对应于数字视频馈送的向量阵列内的不同潜在图像向量。例如,潜在向量图像编辑***102使用以下函数生成经修改数字图像:
Images=G(WPS)
其中,Images表示数字视频馈送的数字图像或帧,WPS表示数字视频馈送的潜在图像向量阵列,并且G表示来自图像修改神经网络110的生成模型或译码神经网络层。实验者已经证明与仅调整批次大小相比,批量技术将GPU利用率(例如一个或多个GPU内核在最后一秒内运行的时间的一部分或百分比)从5%提高到95%。
如所提及的,在一些实施例中,潜在向量图像编辑***102生成图像修改界面,并且将其提供给客户端设备116。具体地,潜在向量图像编辑***102提供用于与图像修改界面交互并且在图像修改界面内修改数字图像的各种交互工具或元素。图8A至图8B图示了根据一个或多个实施例的显示图像修改界面的客户端设备116,该图像修改界面包括用于将特征与初始数字图像组合的附加数字图像的网格。
如图8A所图示的,客户端设备116显示图像修改界面,其包括数字图像网格804和覆盖在数字图像网格804内的图像上的初始数字图像802。如图所示,初始数字图像802包括来自由初始数字图像802重叠的数字图像网格804的四个数字图像的特征。
在一些实施例中,潜在向量图像编辑***102根据一个或多个准则在网格804内布置附加图像。例如,潜在向量图像编辑***102根据附加数字图像对应的潜在图像向量的梯度在网格804中布置附加数字图像。例如,潜在向量图像编辑***102通过将具有类似梯度的图像放在一起来组织网格804。在某些情况下,潜在向量图像编辑***102利用特定方法来计算梯度,诸如均匀流形近似(“UMAP”)或t分布随机邻居嵌入(“TSNE”)。
相比之下,在一个或多个实施例中,潜在向量图像编辑***102根据空间局部性在网格804内布置附加数字图像。为了详细说明,潜在向量图像编辑***102根据所描绘内容的相似度来布置附加数字图像。例如,潜在向量图像编辑***102比较与多个存储的数字图像相关联的潜在图像向量,并且通过以逐线方式(例如逐行或逐列)基于向量相似度布置数字图像来生成网格804。例如,借助于对准的面部图像,由许多面部图像组成的一个扫描线更有可能具有类似的内容。
作为使用梯度或空间局部性的补充或代替,在一些实施例中,潜在向量图像编辑***102根据时间局部性在网格804内布置附加数字图像。由于潜在向量空间根据感知路径长度(“PPL”)进行正则化,因此潜在向量的微小变化会导致像素随时间发生微小变化。实际上,潜在向量图像编辑***102将PPL确定为距离量度或“感知”变化的量(例如作为视觉几何组或“VGG”嵌入距离来测量)。例如,潜在向量图像编辑***102针对潜在图像向量的对应变化确定生成图像的感知变化。潜在向量图像编辑***102通过将具有较小感知变化的图像更靠近地放置在一起来进一步根据时间局部性布置网格804。通过利用空间局部性和/或时间局部性来生成和布置网格804,潜在向量图像编辑***102维持高压缩比批量生成的数字图像以用于流式传输给客户端设备116的视频。
如所提及的,在一个或多个实施例中,潜在向量图像编辑***102接收在网格804内移动初始数字图像802的用户交互的指示。图8B图示了使初始数字图像802滑动到网格804内的新地点的用户交互。基于用户交互,潜在向量图像编辑***102从包括初始数字图像802的特征以及在网格804内的新位置重叠的四个数字图像的特征的经修改潜在图像向量生成经修改数字图像806。例如,潜在向量图像编辑***102生成经修改数字图像806,以描绘来自初始数字图像802以及新位置处的底层数字图像的图像特征的组合(例如根据相应的重叠区域按比例加权组合)。实际上,作为组合附加数字图像的特征的结果,经修改数字图像806看起来与初始数字图像802不同。
在某些实施例中,潜在向量图像编辑***102基于使数字图像滑动到不同地点的用户交互来更新网格804。例如,在网格804内的新地点处释放用户输入(例如释放鼠标或从触摸屏移开手指)时,潜在向量图像编辑***102重新布置网格804内的数字图像。在一些情况下,潜在向量图像编辑***102基于数字图像的变化来重新布置网格804。例如,潜在向量图像编辑***102确定潜在图像向量与初始数字图像802(的向量)的距离以生成初始网格804。另外,潜在向量图像编辑***102基于经修改数字图像806更新距离,并且重新布置网格804,以例如描绘具有与更接近新位置的经修改数字图像806更类似的特征的数字图像。
在某些实施例中,潜在向量图像编辑***102在图像修改界面内提供网格控制。例如,潜在向量图像编辑***102提供可选择的缩放控制,以放大和缩小网格804以显示更多或更少的数字图像。因此,潜在向量图像编辑***102能够呈现(或使客户端设备116呈现)不同级别的细节,以调配与初始数字图像或多或少类似的数字图像的特征。
在一个或多个实施例中,潜在向量图像编辑***102提供图像修改界面,其包括用于修改数字图像的特定图像特征(例如基于GAN的图像特征)的可选择滑块元素。具体地,图像修改界面包括用于多个图像特征中的每个图像特征的滑块元素。图9A至图9B图示了根据一个或多个实施例的客户端设备116显示包括滑块元素的图像修改界面。
如图9A所图示的,客户端设备116呈现包括初始数字图像902和修改窗格904的图像修改界面。在修改窗格904内,图像修改界面包括用于修改各种图像特征(包括初始数字图像902中描绘的年龄量度、愤怒量度、惊讶量度、摇动量度、快乐量度、秃头量度和眼镜量度)的单独滑块元素。例如,滑块元素906的位置指示与沿着滑块的-3位置相对应的年龄量度。在一些实施例中,滑块元素提供离散的属性变化,而在其他实施例中,沿着滑块的变化是连续的。
如所提及的,潜在向量图像编辑***102接收具有滑块元素的用于修改初始数字图像902的用户交互的指示。图9B图示了将年龄滑块元素906从-3位置移动到10位置的用户交互。响应于用户交互,潜在向量图像编辑***102确定与年龄的图像特征相对应的向量方向,并且还确定与向量方向相对应的变化量度。例如,潜在向量图像编辑***102基于从-3到10的变化确定在该方向上修改潜在图像向量(例如初始数字图像902的向量)的量或程度。因此,潜在向量图像编辑***102生成经修改潜在图像向量,生成经修改数字图像908,并且向客户端设备116提供图像差分度量以供绘制经修改数字图像908。如图所示,经修改数字图像908描绘了比初始数字图像902的面部更老的面部,同时保留图像的其他特征以维持显现的其他元素。
通过类似方式,针对其他滑块元素,潜在向量图像编辑***102执行相同的过程。即,潜在向量图像编辑***102确定与通过用户交互调整的图像特征相对应的向量方向,修改潜在图像向量,从经修改潜在图像向量生成经修改数字图像,确定图像差分度量,并且向客户端设备116提供图像差分度量以供绘制变化。
在某些描述的实施例中,潜在向量图像编辑***102提供包括时间线元素的图像修改界面。具体地,潜在向量图像编辑***102提供可选择以利用单个用户交互同时修改多个图像特征的时间元素。图10A至图10B图示了根据一个或多个实施例的客户端设备116显示包括时间线元素的图像修改界面。
如图10A所图示的,客户端设备116显示初始数字图像1002和包括多个滑块元素1004和可滑动条1006的时间线元素。如图所示,时间线元素内的可滑动条1006指示沿着用于修改初始数字图像1002的多个向量方向的值。因此,响应于调整任何滑块元素1004相对于可滑动条1006的大小和/或位置的用户交互,潜在向量图像编辑***102修改对应的单独图像特征(例如通过在适当的向量方向上修改初始潜在图像向量)。
另外,响应于移动可滑动条1006的用户交互,潜在向量图像编辑***102修改多个滑块元素1004的所有图像特征。实际上,通过移动可滑动条1006,调整与单独滑块元素相关联的图像特征中的每个图像特征的值。作为响应,潜在向量图像编辑***102生成经修改潜在图像向量和经修改数字图像1008。实际上,潜在向量图像编辑***102生成图像差分度量并将其提供给客户端设备116,以使客户端设备116绘制经修改数字图像1008。如图10B所示,经修改数字图像1008包括眼镜以及基于沿着时间线向右移动可滑动条1006的用户交互的一些其他图像特征变化。
在一些实施例中,潜在向量图像编辑***102提供包括拼贴工具的图像修改界面。具体地,潜在向量图像编辑***102提供用于从一个或多个附加数字图像中选择图像特征以与初始数字图像组合的拼贴工具。图11A至图11B图示了根据一个或多个实施例的客户端设备116显示包括拼贴工具的图像修改界面。
如图11A所图示的,客户端设备116呈现包括初始数字图像和能够选择附加数字图像的各种特征的拼贴工具的图像修改界面。如图所示,拼贴工具包括与附加数字图像的不同部分相对应的多个可选择特征。例如,拼贴工具包括能够被选择以在初始数字图像内组合附加数字图像的鼻子特征的鼻子元素1104以及能够被选择以将附加数字图像的嘴部特征与初始数字图像组合的嘴部元素1106。
基于选择鼻子元素1104和嘴部元素1106的用户交互,潜在向量图像编辑***102通过组合附加数字图像的对应潜在特征(例如与所选择的的鼻子元素1104和嘴部元素1106相对于的那些特征)来生成经修改潜在图像向量。另外,潜在向量图像编辑***102生成经修改数字图像1108,并且使客户端设备116绘制经修改数字图像1108(例如通过提供图像差分度量)。
实际上,图11B图示了客户端设备116呈现经修改数字图像1108,其中鼻子和嘴部通过将对应特征与附加数字图像的特征组合而修改。为了生成经修改数字图像1108,在一些实施例中,潜在向量图像编辑***102修改潜在图像向量以反映一些约束。例如,潜在向量图像编辑***102包括初始数字图像1102和经修改潜在图像向量内的附加数字图像的部分,以确保所得图像具有来自初始数字图像1102和附加数字图像的所选择的部分的面部部分。
在一个或多个实施例中,潜在向量图像编辑***102提供包括草图工具的图像修改界面。具体地,潜在向量图像编辑***102提供图像修改界面,其包括用于在初始数字图像上绘出笔触以添加(或移除)各种特征的草图工具。图12A至图12B图示了根据一个或多个实施例的客户端设备116显示包括草图工具的图像修改界面。
如图12A所图示的,客户端设备116显示包括初始数字图像1202的图像修改界面。另外,图像修改界面包括在初始数字图像1202中的面部的眼睛周围的眼镜形状的笔触1204(经由数字涂抹器绘出)。潜在向量图像编辑***102接收笔触1204的指示,并且生成经修改数字图像。
具体地,潜在向量图像编辑***102搜索数据库112内的数字图像储存库以标识一个或多个附加数字图像,这些数字图像描绘了具有眼镜的面部,类似于笔触1204。潜在向量图像编辑***102还从数据库112提取或访问对应于标识的数字图像的潜在图像向量。
另外,潜在向量图像编辑***102将所标识的(多个)数字图像的特征(例如对应于眼镜的那些特征)与初始数字图像1202的特征组合。例如,潜在向量图像编辑***102通过将初始潜在图像向量的潜在特征与所标识的具有对应于笔触1204的眼镜的图像的潜在特征向量的潜在特征组合来生成经修改潜在图像向量。因此,如图12B所图示的,潜在向量图像编辑***102生成经修改数字图像1206,其描绘面部上的眼镜,以其他方式类似于初始数字图像1202中的面部。
现在看到图13,关于潜在向量图像编辑***102的组件和能力的附加细节将被提供。具体地,图13图示了示例计算设备1300(例如客户端设备116和/或(多个)服务器104中的一个或多个)上的潜在向量图像编辑***102的示例示意图。在一些实施例中,计算设备1300指的是分布式计算***,其中不同的管理器位于不同的设备上,如上所述。例如,在某些实施例中,计算***包括多个计算设备(例如服务器),一个用于潜在向量流绘制器108,并且单独的设备用于图像修改神经网络110。如图13所示,潜在向量图像编辑***102包括数字流管理器1302、潜在图像向量管理器1304、数字图像修改管理器1306、图像差分管理器1308和存储管理器1310。
正如刚才提及的,潜在向量图像编辑***102包括数字流管理器1302。具体地,数字流管理器1302管理、维持、生成、提供、流式传输、传输、处理、修改或更新提供给客户端设备的数字流。例如,数字流管理器1302提供用于绘制数字图像作为数字视频馈送的一部分的数字流。另外,数字流管理器1302更新数字流,以向客户端设备提供图像差分度量以供绘制对数字图像和/或数字视频馈送的修改。
另外,潜在向量图像编辑***102包括潜在图像向量管理器1304。具体地,潜在图像向量管理器1304管理、维持、提取、编码、确定、生成、修改、更新、提供、接收、传输、处理、分析或标识潜在图像向量。例如,潜在图像向量管理器1304从数字图像提取潜在图像向量。另外,潜在图像向量管理器1304基于用于编辑数字图像的用户交互(例如经由基于GAN的操作)修改潜在图像向量。
如图13所图示的,潜在向量图像编辑***102还包括数字图像修改管理器1306。具体地,数字图像修改管理器1306管理、维持、生成、修改、更新、提供、接收或标识经修改数字图像。例如,数字图像修改管理器1306从经修改潜在图像向量生成经修改数字图像。另外,数字图像修改管理器1306将经修改数字图像提供给图像差分管理器1308以生成图像差分度量。
实际上,如图所示,潜在向量图像编辑***102还包括图像差分管理器1308。具体地,图像差分管理器1308管理、维持、确定、生成、更新、提供、传输或标识图像差分度量。例如,图像差分管理器1308将初始数字图像与经修改数字图像进行比较,以确定反映初始数字图像和经修改数字图像之间的差异的图像差分度量。另外,图像差分管理器1308向数字流管理器1302提供图像差分度量,于是数字流管理器1302向客户端设备提供图像差分度量(例如使客户端设备绘制经修改数字图像)。
潜在向量图像编辑***102还包括存储管理器1310。存储管理器1310与一个或多个存储器设备结合操作或者包括一个或多个存储器设备,诸如存储各种数据的数据库1312(例如数据库112),诸如数字图像的储存库和潜在图像向量的储存库。存储管理器1310(例如经由非瞬态计算机存储器/一个或多个存储器设备)存储和维持与修改潜在图像向量、生成经修改数字图像以及确定图像差分度量相关联的数据(例如在数据库1312内)。
在一个或多个实施例中,潜在向量图像编辑***102的组件中的每个组件都使用任何合适的通信技术彼此通信。附加地,潜在向量图像编辑***102的组件与包括上述一个或多个客户端设备的一个或多个其他设备通信。将认识到,尽管潜在向量图像编辑***102的组件在图13中被示出为分离的,但是任何子组件都可以被组合为更少的组件,诸如被组合为单个组件,或者被划分为更多的组件,因为可以服务于特定的实施方式。此外,尽管图13的组件是关于潜在向量图像编辑***102描述的,但是用于结合本文描述的潜在向量图像编辑***102执行操作的至少一些组件可以在环境内的其他设备上实施。
潜在向量图像编辑***102的组件能够包括软件、硬件或两者。例如,潜在向量图像编辑***102的组件能够包括一个或多个指令,该指令被存储在计算机可读存储介质上并且由一个或多个计算设备(例如计算设备1300)的处理器可执行。当由一个或多个处理器执行时,潜在向量图像编辑***102的计算机可执行指令能够使计算设备1300执行本文描述的方法。备选地,潜在向量图像编辑***102的组件能够包括硬件,诸如执行特定功能或功能组的专用处理设备。附加地或备选地,潜在向量图像编辑***102的组件能够包括计算机可执行指令和硬件的组合。
此外,执行本文描述的功能的潜在向量图像编辑***102的组件可以例如被实施为独立应用的一部分、应用的模块、包括内容管理应用的应用的插件、库函数或可以由其他应用调用的函数和/或云计算模型。因此,潜在向量图像编辑***102的组件可以被实施为个人计算设备或移动设备上的独立应用的一部分。备选地或附加地,潜在向量图像编辑***102的组件可以在允许向用户创建和递送营销内容的任何应用中实施,包括但不限于在EXPERIENCE MANAGER和CREATIVE中的应用,诸如STOCK、和“ADOBE”、“ADOBEEXPERIENCE MANAGER”、“CREATIVE CLOUD”、“ADOBE STOCK”、“PHOTOSHOP”、“LIGHTROOM”和“INDESIGN”是美国和/或其他国家的奥多比公司的注册商标或商标。
图1至图13、对应文本和示例提供了许多不同的***、方法和非瞬态计算机可读介质,用于通过比较与潜在图像向量相关联的数字图像来生成和提供图像差分度量。除了前述内容之外,实施例还能够按照流程图来描述,该流程图包括用于实现特定结果的动作。例如,图14图示了根据一个或多个实施例的示例动作序列或一系列动作的流程图。
尽管图14图示了根据一个实施例的动作,但是替代实施例可以省略、添加、重排序和/或修改图14所示的任何动作。图14的动作能够被执行为方法的一部分。备选地,非瞬态计算机可读介质能够包括指令,该指令在由一个或多个处理器执行时使计算设备执行图14的动作。在其他实施例中,***能够执行图14的动作。附加地,本文描述的动作可以彼此并行或者与相同的或其他类似动作的不同实例并行地重复或执行。
图14图示了用于通过比较与潜在图像向量相关联的数字图像来生成和提供图像差分度量的一系列示例动作1400。具体地,一系列动作1400包括动作1402:从初始数字图像提取潜在图像向量。例如,动作1402涉及:从经由客户端设备显示的初始数字图像提取潜在图像向量。在一些情况下,动作1402涉及:从经由作为客户端设备的移动设备显示的初始数字图像提取初始潜在图像向量。
另外,一系列动作1400包括动作1404:接收用于修改初始数字图像的指示。具体地,动作1404涉及:接收用于修改初始数字图像的用户交互的指示。例如,动作1404涉及:通过接收选择一个或多个附加数字图像以与数字图像组合的用户交互的指示,接收用于修改初始数字图像的用户交互的指示。另外,一系列动作1400包括以下动作:通过将潜在图像向量与对应于一个或多个附加数字图像的一个或多个附加潜在图像向量组合,生成经修改潜在图像向量。进一步地,一系列动作1400包括以下动作:基于经修改潜在图像向量,利用图像修改神经网络来从初始数字图像和一个或多个附加数字图像生成描绘图像特征组合的经修改数字图像。
在一些实施例中,动作1404涉及:接收用于修改初始数字图像的图像特征的用户交互的指示。另外,一系列动作1400包括以下动作:修改潜在图像向量以表示经修改潜在图像向量中的修改图像特征。进一步地,一系列动作1400包括以下动作:利用生成对抗神经网络(GAN)作为图像修改神经网络来基于经修改潜在图像向量生成经修改数字图像。在一些情况下,一系列动作1400包括以下动作:响应于用户交互将图像差分度量提供给移动设备(实时)。
在至少一个实施例中,一系列动作1400包括以下动作:提供包括草图工具的图像修改界面以供在客户端设备上显示,该草图工具用于在初始数字图像上绘出笔触。另外,一系列动作1400包括以下动作:基于接收到在初始数字图像上绘出的笔触的指示,将图像差分度量提供给客户端设备,以供绘制包括与笔触相对应的附加图像特征的覆盖的经修改数字图像。在一些情况下,动作1404涉及:接收移动初始数字图像以覆盖数字图像网格内的附加数字图像的指示。
如所图示的,一系列动作1400包括动作1406:确定图像差分度量。具体地,动作1406涉及:响应于用户交互的指示,基于潜在图像向量内的与用户交互相对应的变化,确定反映由图像修改神经网络执行的对初始数字图像的图像修改的图像差分度量。例如,动作1406涉及:响应于用于修改数字图像的用户交互的指示,利用第一计算设备修改潜在图像向量;利用第二计算设备上的图像修改神经网络,从经修改潜在图像向量生成经修改数字图像;以及利用第一计算设备,确定初始数字图像与经修改数字图像之间的差异。修改潜在图像向量能够涉及:确定向量方向以及与关联于用户交互的向量方向相对应的变化量度;以及根据变化量度在向量方向上修改潜在图像向量。
在一些实施例中,动作1406涉及:利用图像修改神经网络,基于潜在图像向量内的与用户交互相对应的变化,生成反映初始数字图像的图像修改的经修改数字图像;以及确定初始数字图像与经修改数字图像之间的差异。生成经修改数字图像能够涉及:利用第一地点处的服务器设备上的图像修改神经网络,处理与潜在图像向量内的变化相对应的经修改潜在图像向量。在一些情况下,确定图像差分度量涉及:经由第二地点处的计算设备,确定初始数字图像与经修改数字图像之间的差异。
一系列动作1400还包括动作1408:提供图像差分度量以供绘制经修改数字图像。具体地,动作1408涉及:将图像差分度量提供给客户端设备,以供绘制描绘图像修改的经修改数字图像。在至少一个实施例中,一系列动作1400包括以下动作:在与用户交互相对应的向量方向上修改潜在图像向量。另外,动作1408能够涉及:通过利用图像修改神经网络执行基于GAN的操作,从经修改潜在图像向量生成经修改数字图像。在一些情况下,动作1408涉及:提供图像差分度量,以供绘制第三地点处的客户端设备上的浏览器内的经修改数字图像。例如,动作1408涉及:将图像差分度量提供给客户端设备,以供绘制描绘来自数字图像网格内的初始数字图像和附加数字图像的图像特征组合的经修改数字图像。
在某些实施例中,一系列动作1400包括以下动作:接收数字图像网格内的数字图像之下的第一附加数字图像的第一量的指示;接收数字图像网格内的数字图像之下的第二附加数字图像的第二量的指示;以及根据第一量和第二量,通过分别将初始潜在图像向量与第一附加初始潜在图像向量和第二附加潜在图像向量成比例地组合,生成经修改潜在图像向量。
在一些情况下,一系列动作1400包括以下动作:提供图像修改界面以供在客户端设备上显示,图像修改界面包括数字图像的描绘和可选择以调整初始数字图像的图像特征的滑块元素。进一步地,一系列动作1400包括以下动作:基于接收到调整初始数字图像的图像特征的滑块元素的指示,将图像差分度量提供给客户端设备,以供绘制包括调整图像特征的经修改数字图像。在一些实施例中,一系列动作1400包括以下动作:提供图像修改界面以供在客户端设备上显示,图像修改界面包括初始数字图像的描绘、可选择以调整初始数字图像的图像特征的滑块元素和可选择以同时调整初始数字图像的多个图像特征的可滑动条。
在一个或多个实施例中,一系列动作1400包括以下动作:提供图像修改界面以供在客户端设备上显示,图像修改界面包括用于从附加数字图像选择图像特征以与初始数字图像组合的拼贴工具。进一步地,一系列动作1400能够包括以下动作:基于接收到从附加数字图像选择的图像特征的指示,将图像差分度量提供给客户端设备,以供绘制描绘来自初始数字图像的图像特征和从附加数字图像选择的图像特征的组合的经修改数字图像。
在一些情况下,一系列动作1400包括以下动作:从包括图像修改神经网络的计算设备,接收经由客户端设备显示的数字图像的潜在图像向量;以及将数字图像提供给计算设备,以利用生成对抗神经网络(GAN)从数字图像提取潜在图像向量。在这些或其他情况下,一系列动作1400包括以下动作:基于潜在图像向量,将初始数字流提供给客户端设备,以使客户端设备显示初始数字图像;以及将图像差分度量作为修改数字流的一部分提供给客户端设备,以使客户端设备显示经修改数字图像来代替初始数字图像。
在一些实施例中,一系列动作1400包括以下动作:基于潜在图像向量,将初始数字流提供给客户端设备,以使客户端设备显示初始数字图像。在这些或其他实施例中,一系列动作1400包括以下动作:将图像差分度量作为修改数字流的一部分提供给客户端设备,以使客户端设备显示经修改数字图像来代替初始数字图像。
在一个或多个实施例中,一系列动作1400包括以下动作:接收附加用户交互的附加指示以修改初始数字图像。另外,一系列动作1400包括以下动作:响应于附加用户交互的附加指示,生成指示经修改数字图像与经附加修改数字图像之间的差异的附加图像差分度量。进一步地,一系列动作1400能够包括以下动作:将附加图像差分度量作为数字流的一部分提供给客户端设备,以供绘制经附加修改数字图像来代替经修改数字图像。
本公开的实施例可以包括或利用专用或通用计算机(包括计算机硬件),诸如例如一个或多个处理器和***存储器,如下面更详细地讨论的。本公开的范围内的实施例还包括物理和其他计算机可读介质,用于携带或存储计算机可执行指令和/或数据结构。具体地,本文描述的一个或多个过程可以至少部分地被实施为指令,该指令被实施在非瞬态计算机可读介质中并且由一个或多个计算设备(例如本文描述的媒体内容访问设备中的任何一个)可执行。通常,处理器(例如微处理器)从非瞬态计算机可读介质(例如存储器等)接收指令,并且执行那些指令,从而执行一个或多个过程(包括本文描述的一个或多个过程)。
计算机可读介质能够是任何可用介质,其能够由通用或专用计算机***访问。存储计算机可执行指令的计算机可读介质是非瞬态计算机可读存储介质(设备)。携带计算机可执行指令的计算机可读介质是传输介质。因此,通过示例而非限制,本公开的实施例能够包括至少两种明显不同种类的计算机可读介质:非瞬态计算机可读存储介质(设备)和传输介质。
非瞬态计算机可读存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(例如基于RAM)、闪存、相变存储器(“PCM”)、其他类型的存储器、其他光盘存储装置、磁盘存储装置或其他磁性存储设备或者任何其他介质,其能够被用于以计算机可执行指令或数据结构的形式存储期望的程序代码部件,并且能够由通用或专用计算机访问。
“网络”被定义为一个或多个数据链路,该一个或多个数据链路使得能够在计算机***和/或模块和/或其他电子设备之间输送电子数据。当信息通过网络或另一通信连接(硬连线的、无线的或者硬连线或无线的组合)被转移或提供给计算机时,计算机将该连接正确地视为传输介质。传输介质能够包括网络和/或数据链路,其能够被用于以计算机可执行指令或数据结构的形式携带期望的程序代码部件,并且能够由通用或专用计算机访问。以上的组合也应该被包括在计算机可读介质的范围内。
进一步地,在到达各种计算机***组件时,计算机可执行指令或数据结构形式的程序代码部件能够从传输介质自动转移到非瞬态计算机可读存储介质(设备)(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构能够被缓冲在网络接口模块(例如“NIC”)内的RAM中,然后最终被转移到计算机***RAM和/或计算机***处易失性较低的计算机存储介质(设备)。因此,应该理解的是,非瞬态计算机可读存储介质(设备)能够被包括在计算机***组件中,该计算机***组件也(甚或主要地)利用传输介质。
例如,计算机可执行指令包括指令和数据,该指令和数据在处理器处执行时使通用计算机、专用计算机或专用处理设备执行某个功能或功能组。在一些实施例中,计算机可执行指令在通用计算机上执行,以将通用计算机转变为专用计算机,该专用计算机实施本公开的元件。例如,计算机可执行指令可以是二进制、中间格式指令(诸如汇编语言)甚或源代码。尽管本主题已经用特定于结构特征和/或方法动作的语言描述,但是要理解的是,所附权利要求中限定的主题不必被限于所描述的特征或上述动作。相反,所描述的特征和动作被公开为实施权利要求的示例形式。
本领域技术人员将了解,本公开可以被实践在网络计算环境中,该网络计算环境具有许多类型的计算机***配置,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器***、基于微处理器或可编程的消费型电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、平板计算机、寻呼机、路由器、交换机等。本公开还可以被实践在分布式***环境中,其中通过网络链接(通过硬连线的数据链路、无线数据链路或者通过硬连线和无线数据链路的组合)的本地和远程计算机***都执行任务。在分布式***环境中,程序模块可以位于本地和远程存储器存储设备中。
本公开的实施例还能够被实施在云计算环境中。在本描述中,“云计算”被定义为模型,该模型用于实现对可配置计算资源的共享池的按需网络访问。例如,云计算能够在市场中采用,以提供对可配置计算资源的共享池的无处不在且方便的按需访问。可配置计算资源的共享池能够经由虚拟化快速供应,并且用低管理工作量或服务提供方交互来释放,然后相应地缩放。
云计算模型能够由各种特点组成,诸如例如按需自助服务、广泛的网络访问、资源池化、快速弹性、测量服务等。云计算模型还能够公开各种服务模型,诸如例如软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础设施即服务(“IaaS”)。云计算模型还能够使用不同的部署模型来部署,诸如私有云、社区云、公共云、混合云等。在本描述和权利要求中,“云计算环境”是云计算被采用的环境。
图15以框图形式图示了示例计算设备1500(例如计算设备1300、客户端设备116和/或(多个)服务器104),该示例计算设备1500可以被配置为执行上述一个或多个过程。要了解的是,潜在向量图像编辑***102能够包括计算设备1500的实施方式。如通过图15所示,计算设备能够包括处理器1502、存储器1504、存储设备1506、I/O接口1508和通信接口1510。此外,计算设备1500能够包括输入设备,诸如触摸屏、鼠标、键盘等。在某些实施例中,与图15所示的组件相比,计算设备1500能够包括更少或更多的组件。图15所示的计算设备1500的组件现在将以附加细节描述。
在特定实施例中,(多个)处理器1502包括用于执行指令的硬件,诸如组成计算机程序的指令。作为示例并且不通过限制,为了执行指令,(多个)处理器1502可以从内部寄存器、内部缓存、存储器1504或存储设备1506取回(或取得)指令,并且译码和执行它们。
计算设备1500包括存储器1504,该存储器1504被耦合至(多个)处理器1504。存储器1504可以被用于存储数据、元数据和程序,以用于由(多个)处理器执行。存储器1504可以包括易失性和非易失性存储器中的一个或多个,诸如随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态盘(“SSD”)、闪存、相变存储器(“PCM”)或其他类型的数据存储装置。存储器1504可以是内部或分布式存储器。
计算设备1500包括存储设备1506,包括用于存储数据或指令的存储装置。作为示例并且不通过限制,存储设备1506能够包括上述非瞬态存储介质。存储设备1506可以包括硬盘驱动器(HDD)、闪存、通用串行总线(USB)驱动器或这些的组合或者其他存储设备。
计算设备1500还包括一个或多个输入或输出(“I/O”)设备/接口1508,其被提供以允许用户向计算设备1500提供输入(诸如用户笔触),从计算设备1500接收输出,并且以其他方式在计算设备1500之间转移数据。这些I/O设备/接口1308可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其他已知的I/O设备或者这样的I/O设备/接口1508的组合。触摸屏可以利用写入设备或手指来启动。
I/O设备/接口1508可以包括一个或多个设备,用于向用户呈现输出,包括但不限于图形引擎、显示器(例如显示屏)、一个或多个输出驱动器(例如显示驱动器)、一个或多个音频扬声器和一个或多个音频驱动器。在某些实施例中,设备/接口1508被配置为向显示器提供图形数据,以用于呈现给用户。图形数据可以代表一个或多个图形用户界面和/或任何其他图形内容,其可以服务于特定实施方式。
计算设备1500还能够包括通信接口1510。通信接口1510能够包括硬件、软件或两者。通信接口1510能够提供一个或多个接口,用于在计算设备和一个或多个其他计算设备1500或一个或多个网络之间通信(诸如例如基于分组的通信)。作为示例并且不通过限制,通信接口1510可以包括网络接口控制器(NIC)或网络适配器,用于与以太网或其他基于有线的网络通信,或者包括无线NIC(WNIC)或无线适配器,用于与无线网络(诸如WI-FI)通信。计算设备1500还能够包括总线1512。总线1512能够包括硬件、软件或两者,其将计算设备1500的组件耦合至彼此。
在前述说明书中,本发明已经参照其具体示例实施例来描述。(多个)本发明的各种实施例和方面参照本文讨论的细节来描述,并且附图图示了各种实施例。以上描述和附图说明了本发明,并且不被解释为限制本发明。许多具体细节被描述,以提供对本发明的各种实施例的透彻理解。
本发明可以在不脱离其精神或基本特点的情况下以其他具体形式实施。所描述的实施例在所有方面仅被认为是说明性的,而不是限制性的。例如,本文描述的方法可以用更少或更多的步骤/动作执行,或者这些步骤/动作可以以不同顺序执行。附加地,本文描述的步骤/动作可以彼此并行地或与相同或类似步骤/动作的不同实例并行地重复或执行。因此,本发明的范围是由所附权利要求指示的,而不是由前述描述指示的。落入权利要求的等效含义和范围内的所有变化都将被包含在其范围内。
Claims (20)
1.一种包括指令的非瞬态计算机可读介质,所述指令在由至少一个处理器执行时,使计算***:
从经由客户端设备显示的初始数字图像提取潜在图像向量;
接收用于修改所述初始数字图像的用户交互的指示;
响应于所述用户交互的所述指示,基于所述潜在图像向量内的与所述用户交互相对应的变化,确定图像差分量度,所述图像差分量度反映由图像修改神经网络执行的对所述初始数字图像的图像修改;以及
将所述图像差分度量提供给所述客户端设备,以供绘制描绘所述图像修改的经修改数字图像。
2.根据权利要求1所述的非瞬态计算机可读介质,还包括在由所述至少一个处理器执行时使所述计算***如下执行的指令:
基于所述潜在图像向量,将初始数字流提供给所述客户端设备,以使所述客户端设备显示所述初始数字图像;以及
将所述图像差分度量作为经修改的数字流的一部分提供给所述客户端设备,以使所述客户端设备显示所述经修改数字图像来代替所述初始数字图像。
3.根据权利要求1所述的非瞬态计算机可读介质,还包括在由所述至少一个处理器执行时使所述计算***通过以下操作来确定反映对所述初始数字图像的所述图像修改的所述图像差分度量的指令:
响应于用于修改所述数字图像的所述用户交互的所述指示,利用第一计算设备来修改所述潜在图像向量;
利用第二计算设备上的所述图像修改神经网络,从经修改的所述潜在图像向量生成所述经修改数字图像;以及
利用所述第一计算设备,确定所述初始数字图像与所述经修改数字图像之间的差异。
4.根据权利要求3所述的非瞬态计算机可读介质,还包括在由所述至少一个处理器执行时使所述计算***通过以下操作来修改所述潜在图像向量的指令:
确定向量方向和与关联于所述用户交互的所述向量方向相对应的变化的量度;以及
根据变化的所述量度,在所述向量方向上修改所述潜在图像向量。
5.根据权利要求1所述的非瞬态计算机可读介质,还包括在由所述至少一个处理器执行时使所述计算***执行以下操作的指令:
在与所述用户交互相对应的向量方向上修改所述潜在图像向量;以及
通过利用所述图像修改神经网络执行基于GAN的操作,从经修改的所述潜在图像向量生成所述经修改数字图像。
6.根据权利要求1所述的非瞬态计算机可读介质,还包括在由所述至少一个处理器执行时使所述计算***执行以下操作的指令:
通过接收如下用户交互的指示来接收用于修改所述初始数字图像的所述用户交互的所述指示:选择一个或多个附加数字图像以与所述数字图像组合的用户交互的指示;
通过将所述潜在图像向量与对应于所述一个或多个附加数字图像的一个或多个附加潜在图像向量组合,生成经修改的潜在图像向量;以及
基于所述经修改的潜在图像向量,利用所述图像修改神经网络,从所述初始数字图像和所述一个或多个附加数字图像生成描绘图像特征的组合的所述经修改数字图像。
7.根据权利要求6所述的非瞬态计算机可读介质,还包括在由所述至少一个处理器执行时使所述计算***执行以下操作的指令:
通过接收用于修改所述初始数字图像的图像特征的用户交互的指示,来接收用于修改所述初始数字图像的所述用户交互的所述指示;
修改所述潜在图像向量,以在经修改潜在特征向量中表示经修改的所述图像特征;以及
利用生成对抗神经网络GAN作为所述图像修改神经网络,基于经修改的潜在图像向量来生成所述经修改数字图像。
8.根据权利要求1所述的非瞬态计算机可读介质,还包括在由所述至少一个处理器执行时使所述计算***执行以下操作的指令:
提供包括草图工具的图像修改界面以供在所述客户端设备上显示,所述草图工具用于在所述初始数字图像上绘出笔触;以及
基于接收到在所述初始数字图像上绘出的笔触的指示,将所述图像差分度量提供给所述客户端设备,以供绘制包括与所述笔触相对应的附加图像特征的覆盖的所述经修改数字图像。
9.一种***,包括:
一个或多个存储器设备,包括图像修改神经网络;以及
一个或多个计算设备,被配置为使所述***:
从经由客户端设备显示的初始数字图像提取初始潜在图像向量;
接收用于修改所述初始数字图像的用户交互的指示;
响应于所述用户交互的所述指示,通过以下来生成图像差分度量:
利用所述图像修改神经网络,基于所述潜在图像向量内的与所述用户交互相对应的变化,生成经修改数字图像,所述经修改数字图像反映对所述初始数字图像的图像修改;以及
确定所述初始数字图像与所述经修改数字图像之间的差异;以及
将所述图像差分度量提供给所述客户端设备,以供绘制描绘所述图像修改的经修改数字图像。
10.根据权利要求9所述的***,其中所述一个或多个计算设备还被配置为使所述***:
接收用于修改所述初始数字图像的附加用户交互的附加指示;
响应于所述附加用户交互的所述附加指示,生成指示所述经修改数字图像与经进一步修改数字图像之间的差异的附加图像差分度量;以及
将所述附加图像差分度量作为数字流的一部分提供给所述客户端设备,以供绘制经附加修改数字图像来代替所述经修改数字图像。
11.根据权利要求9所述的***,其中所述一个或多个计算设备还被配置为使所述***:
从经由作为所述客户端设备的移动设备显示的所述初始数字图像提取所述初始潜在图像向量;以及
响应于所述用户交互,将所述图像差分度量提供给所述移动设备。
12.根据权利要求9所述的***,其中所述一个或多个计算设备还被配置为使所述***:
通过利用第一地点处的服务器设备上的所述图像修改神经网络处理与所述潜在图像向量内的所述变化相对应的经修改潜在图像向量,来生成所述经修改数字图像;
通过经由第二地点处的计算设备确定所述初始数字图像与所述经修改数字图像之间的所述差异,来生成所述图像差分度量;以及
提供所述图像差分度量,以供绘制第三地点处的所述客户端设备上的浏览器内的所述经修改数字图像。
13.根据权利要求9所述的***,其中所述一个或多个计算设备还被配置为使所述***:
提供包括数字图像网格的图像修改界面以供在所述客户端设备上显示;
通过接收移动所述初始数字图像以覆盖所述数字图像网格内的附加数字图像的指示,来接收所述用户交互的所述指示;以及
将所述图像差分度量提供给所述客户端设备,以供绘制描绘来自所述数字图像网格内的所述初始数字图像和所述附加数字图像的图像特征组合的所述经修改数字图像。
14.根据权利要求13所述的***,其中所述一个或多个计算设备还被配置为使所述***:
接收所述数字图像网格内的所述数字图像之下的第一附加数字图像的第一量的指示;
接收所述数字图像网格内的所述数字图像之下的第二附加数字图像的第二量的指示;以及
根据所述第一量和所述第二量,通过分别将所述初始潜在图像向量与第一附加初始潜在图像向量和第二附加潜在图像向量成比例地组合,来生成经修改潜在图像向量。
15.根据权利要求9所述的***,其中所述一个或多个计算设备还被配置为使所述***:
提供图像修改界面以供在所述客户端设备上显示,所述图像修改界面包括对所述数字图像的描绘和可选择以调整所述初始数字图像的图像特征的滑块元素;以及
基于接收到调整所述初始数字图像的图像特征的滑块元素的指示,将所述图像差分度量提供给所述客户端设备,以供绘制包括经调整图像特征的所述经修改数字图像。
16.根据权利要求9所述的***,其中所述一个或多个计算设备还被配置为使所述***:提供图像修改界面以供在所述客户端设备上显示,所述图像修改界面包括对所述初始数字图像的描绘、可选择以调整所述初始数字图像的图像特征的滑块元素以及可选择以同时调整所述初始数字图像的多个图像特征的可滑动条。
17.根据权利要求9所述的***,其中所述一个或多个计算设备还被配置为使所述***:
提供图像修改界面以供在所述客户端设备上显示,所述图像修改界面包括用于从附加数字图像选择图像特征以与所述初始数字图像组合的拼贴工具;以及
基于接收到从所述附加数字图像选择的图像特征的指示,将所述图像差分度量提供给所述客户端设备,以供绘制描绘来自所述初始数字图像的图像特征和从所述附加数字图像选择的图像特征的组合的所述经修改数字图像。
18.一种用于数字图像编辑的计算机实现的方法,所述数字图像编辑利用潜在向量方法用于实现神经网络修改,所述计算机实现的方法包括:
从包括图像修改神经网络的计算设备接收针对经由客户端设备显示的数字图像的潜在图像向量;
接收用于修改所述数字图像的用户交互的指示;
执行用于生成与所述用户交互相对应的图像差分度量的步骤;以及
将所述图像差分度量提供给所述客户端设备,以供绘制经修改数字图像。
19.根据权利要求18所述的计算机实现的方法,还包括:将所述数字图像提供给所述计算设备,以供利用生成对抗神经网络GAN从所述数字图像提取所述潜在图像向量。
20.根据权利要求18所述的计算机实现的方法,还包括:
基于所述潜在图像向量,将初始数字流提供给所述客户端设备,以使所述客户端设备显示所述初始数字图像;以及
将所述图像差分度量作为经修改数字流的一部分提供给所述客户端设备,以使所述客户端设备显示所述经修改数字图像来代替所述初始数字图像。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/182,492 | 2021-02-23 | ||
US17/182,492 US11727614B2 (en) | 2021-02-23 | 2021-02-23 | Web-based digital image editing in real time utilizing a latent vector stream renderer and an image modification neural network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114972574A true CN114972574A (zh) | 2022-08-30 |
Family
ID=82702221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111411518.0A Pending CN114972574A (zh) | 2021-02-23 | 2021-11-25 | 利用潜在向量流绘制器和图像修改神经网络的基于web的数字图像实时编辑 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11727614B2 (zh) |
CN (1) | CN114972574A (zh) |
DE (1) | DE102021006022A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11435885B1 (en) * | 2021-06-10 | 2022-09-06 | Nvidia Corporation | User interfaces and methods for generating a new artifact based on existing artifacts |
US20220398004A1 (en) * | 2021-06-10 | 2022-12-15 | Nvidia Corporation | User Interfaces and Methods for Generating a New Artifact Based on Existing Artifacts |
US20230146676A1 (en) * | 2021-11-05 | 2023-05-11 | Lemon Inc. | Portrait stylization framework to control the similarity between stylized portraits and original photo |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7706626B2 (en) * | 2005-12-20 | 2010-04-27 | Carestream Health, Inc. | Digital image reconstruction using inverse spatial filtering |
US7956847B2 (en) * | 2007-01-05 | 2011-06-07 | Apple Inc. | Gestures for controlling, manipulating, and editing of media files using touch sensitive devices |
US20190287217A1 (en) * | 2018-03-13 | 2019-09-19 | Microsoft Technology Licensing, Llc | Machine learning system for reduced network bandwidth transmission of content |
WO2020112078A1 (en) * | 2018-11-26 | 2020-06-04 | Hewlett-Packard Development Company, L.P. | Geometry-aware interactive design |
US11010421B2 (en) * | 2019-05-09 | 2021-05-18 | Microsoft Technology Licensing, Llc | Techniques for modifying a query image |
-
2021
- 2021-02-23 US US17/182,492 patent/US11727614B2/en active Active
- 2021-11-25 CN CN202111411518.0A patent/CN114972574A/zh active Pending
- 2021-12-07 DE DE102021006022.9A patent/DE102021006022A1/de active Pending
-
2023
- 2023-08-14 US US18/449,604 patent/US12014452B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US12014452B2 (en) | 2024-06-18 |
US20220270310A1 (en) | 2022-08-25 |
US11727614B2 (en) | 2023-08-15 |
US20230386114A1 (en) | 2023-11-30 |
DE102021006022A1 (de) | 2022-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11783461B2 (en) | Facilitating sketch to painting transformations | |
US11410457B2 (en) | Face reenactment | |
US12014452B2 (en) | Web-based digital image editing in real time utilizing a latent vector stream renderer and an image modification neural network | |
US9583140B1 (en) | Real-time playback of an edited sequence of remote media and three-dimensional assets | |
US11893763B2 (en) | Generating modified digital images utilizing a global and spatial autoencoder | |
US11398059B2 (en) | Processing 3D video content | |
US20220058880A1 (en) | Messaging system with neural hair rendering | |
US11893717B2 (en) | Initializing a learned latent vector for neural-network projections of diverse images | |
US20230086807A1 (en) | Segmented differentiable optimization with multiple generators | |
US11582519B1 (en) | Person replacement utilizing deferred neural rendering | |
US11581020B1 (en) | Facial synchronization utilizing deferred neural rendering | |
Shen et al. | Clipgen: A deep generative model for clipart vectorization and synthesis | |
CA3180427A1 (en) | Synthesizing sequences of 3d geometries for movement-based performance | |
US20230377339A1 (en) | Processing framework for temporal-consistent face manipulation in videos | |
US20230360327A1 (en) | Generating three-dimensional representations for digital objects utilizing mesh-based thin volumes | |
US20230316474A1 (en) | Enhancing detailed segments in latent code-based edited digital images | |
US11972534B2 (en) | Modifying materials of three-dimensional digital scenes utilizing a visual neural network | |
US11954779B2 (en) | Animation generation method for tracking facial expression and neural network training method thereof | |
US20230316606A1 (en) | Generating and modifying digital images using a joint feature style latent space of a generative neural network | |
US20230154090A1 (en) | Synthesizing sequences of images for movement-based performance | |
US20230342893A1 (en) | Transferring faces between digital images by combining latent codes utilizing a blending network | |
US20230316590A1 (en) | Generating digital paintings utilizing an intelligent painting pipeline for improved brushstroke sequences | |
CN115984343A (zh) | 利用高度图生成针对数字图像内的数字对象的阴影 | |
CN118175324A (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 |