【延伸阅读】让老照片重现光彩(四):《基于有条件GAN的高分辨率图像合成及语义操控》论文的中文译文

英伟达公司和加州大学伯克利分校于2018年发表的“基于有条件GAN的高分辨率图像合成及语义操控”项目,是本项目“让老照片重现光彩”的技术基础,算是一个前置开源项目。为了更好地理解本项目,我们在这里分享了《基于有条件GAN的高分辨率图像合成及语义操控(High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs)》论文的中文译文,供大家参考、学习。

英文原文的下载地址:https://arxiv.org/abs/1711.11585

完整的中文译文如下:

(论文中文译文的PDF文件可以到百度网盘下载: https://pan.baidu.com/s/1V4ATyghxEg10MyOTEWySLA 提取码: r5ri)

 

基于有条件GAN的高分辨率图像合成及语义操控

(英伟达,加州大学伯克利分校 2018)

翻译:闪闪·Style,https://blog.csdn.net/weixin_41943311

摘要

本文提出了一种利用有条件生成对抗网络(conditional generative adversarial networks,简称:有条件GAN)从语义标签图合成高分辨率、具有照片真实感的图像的新方法。有条件GAN已经实现了多种应用,但是结果往往局限于低分辨率,而且还远远不够真实。在这项工作中,我们使用新颖的对抗性损失以及新的多尺度生成器和鉴别器架构,由此生成2048x1024、有视觉吸引力的结果。此外,我们还将该框架延展到具有两个额外特性的交互式视觉操控上:首先,我们把对象实例的分割信息包含进来,这使得对象操作成为可能,例如:移除/添加对象和更改对象类别;其次,我们提出了一种在输入相同时生成不同结果的方法,允许用户用交互方式来编辑对象外观。人类看法研究(human opinion studies)表明,我们的方法明显优于现有的方法,提高了深度图像合成与编辑的质量和分辨率。

(1)介绍

由于几何体、材料和光传输必须显式模拟,因此使用标准图形技术对具有照片真实感的图像进行渲染是必要的。尽管现有的图形算法在这项任务上表现出色,但构建和编辑虚拟环境既昂贵又耗时。这是因为我们必须明确地模拟世界的方方面面。如果我们能够使用从数据中学习到的模型来绘制具有照片真实感的图像,我们就可以将图形绘制过程转化为一个模型学习和推理问题。然后,我们可以通过在新数据集上训练模型来简化创建新虚拟世界的过程。我们甚至可以通过允许用户简单地指定整体语义结构而不是对几何体、材质或照明进行建模,来更容易地定制环境。

在本文中,我们讨论了一种从语义标签图生成高分辨率图像的新方法。这种方法有着广泛的应用。例如,我们可以使用它来创建用于训练视觉识别算法的合成训练数据,因为为所需场景创建语义标签比生成训练图像容易得多。利用语义分割的方法,我们可以将图像转换成语义标签域,编辑标签域中的对象,然后再将其转换回图像域。这种方法还为更高层次的图像编辑提供了新的工具,例如:在图像中添加对象或更改现有对象的外观。

为了从语义标签合成图像,可以使用pix2pix方法,这是一个图像到图像的转换框架[21],它利用了有条件设置的生成性对抗网络(GAN)[16]。最近,Chen和Koltun[5]提出,对抗训练对于高分辨率图像生成任务来说可能是不稳定的,并且容易失败。取而代之的是,他们采用了一种改进的感知损失[11,13,22]来合成图像,这些图像虽然分辨率很高,但往往缺乏精细的细节和逼真的纹理。

在这里,我们解决了上述最先进方法的两个主要问题:(1)用GAN生成高分辨率图像的困难性[21];以及(2)在之前的高分辨率结果中缺少细节和真实感纹理[5]。我们证明,通过一个新的、健壮的对抗性学习目标,以及新的多尺度生成器和鉴别器架构,我们可以合成2048x1024分辨率、具有照片真实感的图像,这比以前的方法计算的图像更具视觉吸引力[5,21]。我们首先只通过对抗性训练获得结果,而不依赖于任何手工制作的损失[44]或目标是感知损失[11,22](图9c、10b)的预训练网络(例如VGGNet[48])。然后我们证明,如果有预训练网络可用,在某些情况下,添加来自预训练网络的感知损失可以稍微改善结果(图9d,10c)。两个结果在图像质量方面都大大超过了之前的工作。

此外,为了支持交互式语义操控,我们在两个方向上延展了我们的方法。首先,我们使用实例级的对象分割信息,它可以将同一类别中的不同对象实例分开。这样可以进行灵活的对象操作,例如:添加/删除对象与更改对象类型。其次,我们提出了一种在相同的输入标签图上生成不同结果的方法,允许用户交互式地编辑同一对象的外观。

我们与最先进的视觉合成系统[5,21]进行了比较,结果表明我们的方法在定量评估和人类感知研究方面都优于这些方法。我们还对训练目标和实例级分割信息的重要性进行了消融研究。除了语义操控之外,我们在edge2photo应用程序上测试我们的方法(图2,13),这表明了我们方法的普遍适用性。代码和数据可在我们的网站上找到。

(2)相关工作

生成性对抗网络

生成性对抗性网络(Generative adversarial networks,GANs)[16]旨在通过强制生成的样本与自然图像不可区分来模拟自然图像的分布。GAN支持多种应用,如图像生成[1,42,62]、表达学习[45]、图像处理[64]、目标检测[33]和视频应用[38、51、54]。各种从粗到精的方案[4]被提出[9,19,26,57]以在无条件设置下合成更大的图像(例如256x256)。受其成功经验的启发,我们提出了一种新的粗到精的生成器和多尺度鉴别器结构,适用于更高分辨率的有条件图像生成。

图像到图像的翻译

许多研究者利用对抗性学习进行图像到图像的翻译[21],其目标是将输入图像从一个域转换到另一个域,并将输入-输出图像对作为训练数据。与L1损失函数(通常会导致图像模糊)[21,22]相比,对抗性损失函数[16]已成为许多图像到图像任务的流行选择[10,24,25,32,41,46,55,60,66]。这是因为鉴别器可以学习一个可训练的损失函数,并自动适应目标域中生成图像与真实图像之间的差异。例如,最近的pix2pix框架[21]将有条件的图像GAN[39]用于不同的应用,例如:将Google地图转换为卫星视图,以及从用户草图生成猫。在没有训练对的情况下,已经提出了各种方法来学习图像到图像的翻译[2,34,35,47,50,52,56,65]。

最近,Chen和Koltun[5]提出,由于训练的不稳定性和优化问题,有条件GAN可能很难生成高分辨率图像。为了避免这一困难,他们使用了基于感知损失的直接回归目标[11,13,22],并产生了第一个可以合成2048×1024幅图像的模型。生成的结果是高分辨率的,但通常缺少精细的细节和逼真的纹理。基于他们的成功,我们证明了使用我们的新颖的目标函数以及新的多尺度生成器和鉴别器,我们不仅在高分辨率图像上稳定了有条件GAN的训练,而且取得了比Chen和Koltun更好的结果[5]。并列比较清楚地显示了我们的优势(图1、9、8、10)。

深度视觉操作

最近,深度神经网络在各种图像处理任务中取得了令人满意的结果,例如:风格迁移[13]、修复[41]、着色[58]和恢复[14]。然而,这些工作大多缺乏一个界面,供用户调整当前结果或探索输出空间。为了解决这个问题,朱等[64]基于GAN学习的先验知识,开发了一种编辑对象外观的优化方法。最近的工作[21,46,59]还提供了用户界面,用于根据颜色和草图等低级线索创建新颖的图像。所有先前的工作都报告了低分辨率图像的结果。我们的系统与过去的工作有着相同的精神,但是我们专注于对象级语义编辑,允许用户与整个场景交互并操纵图像中的单个对象。因此,用户可以用最少的努力快速创建一个新场景。我们的界面灵感来自于以前的数据驱动图形系统[6,23,29]。但我们的系统允许更灵活的操作,并产生高分辨率的实时结果。

(3)实例级图像合成

我们提出了一个有条件的对抗性框架来从语义标签图生成高分辨率的、具有照片真实性的图像。我们首先回顾一下我们的基准模型pix2pix(见3.1)。然后,我们描述了我们如何使用改进的目标函数和网络设计(见3.2)。接下来,我们使用额外的实例级对象语义信息来进一步提高图像质量(见3.3)。最后,我们介绍了一个实例级的特征嵌入方案,以更好地处理图像合成的多模态特性,使交互式对象编辑成为可能(见3.4)。

(3.1)pix2pix基线

pix2pix方法[21]是用于图像到图像转换的有条件GAN框架。它由一个生成器G和一个鉴别器D组成。在我们的任务中,生成器G的目标是将语义标签图翻译成具有真实感的图像,而鉴别器D的目标是区分真实图像和翻译图像。该框架在有监督的环境中运行。换句话说,训练数据集被作为一组对应的图像{(si,xi)},其中si是语义标签映射,xi是对应的自然照片。条件GAN的目标是通过以下minimax博弈,在给定输入语义标签映射的情况下,对真实图像的条件分布进行建模:

其中目标函数LGAN(G,D)由下式给出:

pix2pix方法采用U-Net[43]作为生成器,基于补丁的全卷积网络[36]作为鉴别器。鉴别器的输入是语义标签图和相应图像的信道连接(channel-wise concatenation)。然而,在Cityscapes[7]上生成的图像的分辨率高达256x256。我们尝试直接应用pix2pix框架生成高分辨率图像,但发现训练不稳定,生成的图像质量不理想。因此,我们将在下一小节中描述如何改进pix2pix框架。

(3.2)改善图像真实性和分辨率

我们改进了pix2pix框架,使用了一个从粗到精(coarse-to-fine)生成器,一个多尺度的鉴别器结构和一个健壮的对抗性学习目标函数。

从粗到精的生成器

[图3:我们的生成器的网络架构。我们首先在低分辨率图像上训练残差网络G1。然后,将另一个残差网络G2附加到G1上,并将这两个网络联合训练到高分辨率图像上。具体地说,G2中残差块的输入是G2的特征图和G1的最后一个特征图的元素和。]

我们将生成器分解为两个子网络:G1和G2。我们称G1为全局生成网络,G2为局部增强网络。然后由元组G={G1,G2}给出生成器,如图3所示。全局生成器网络以1024x512的分辨率工作,并且本地增强器网络输出分辨率为上一个输出尺寸的4x的图像(沿每个图像维度2x)。为了合成更高分辨率的图像,可以使用额外的局部增强网络。例如,发生器G={G1,G2}的输出图像分辨率为2048x1024,G={G1,G2,G3}的输出图像分辨率为4096x2048。

我们的全局生成器是建立在约翰逊等人提出的架构上[22],这已经被证明在高达512x512的图像上进行神经网络风格迁移是成功的。它由3个部分组成:卷积前端G1(F)、残差块G1(R)[18]和转置卷积后端G1(B)。将分辨率为1024x512的语义标签图依次传递到3个组件,以输出分辨率为1024x512的图像。

局部增强子网络也包括3个部分:卷积前端G2(F)、残差块集G2(R)和转置卷积后端G2(B)。送给G2的输入标签图的分辨率为2048x1024。与全局生成网络不同,残差块G2(R)的输入是两个特征图的元素和:G2(F)的输出特征图和全局生成网络G1(B)后端的最后一个特征图。这有助于整合G1到G2的全局信息。

在训练过程中,我们首先训练全局生成器,接着,按照分辨率顺序训练局部增强器。然后我们一起微调所有网络。我们使用此生成器设计来有效地整合整体与局部信息,以完成图像合成任务。我们注意到,这样的多分辨率流水线在计算机视觉中是一种成熟的实践[4],两个尺度通常就足够了[3]。在最近的无条件GAN[9,19]和有条件图像生成[5,57]中可以找到类似的想法,但架构有所不同。

多尺度鉴别器

高分辨率图像合成对GAN鉴别器的设计提出了很大的挑战。为了区分高分辨率的真实图像和合成图像,鉴别器需要有大的接收野。这将需要一个更深的网络或更大的卷积核,这两者都会增加网络容量并可能导致过度拟合。而且,这两种选择都需要更大的内存占用来进行训练,而这已经是生成高分辨率图像的稀缺资源。

为了解决这个问题,我们建议使用多尺度鉴别器。我们使用3个具有相同网络结构但在不同图像尺度下工作的鉴别器。我们将其称为D1、D2和D3。具体地说,我们将真实和合成的高分辨率图像降低2倍和4倍,以创建3个尺度的图像金字塔。然后训练鉴别器D1、D2和D3分别在3个不同的尺度上区分真实图像和合成图像。虽然鉴别器具有相同的结构,但在最粗尺度下工作的鉴别器具有最大的感受野。它具有更全局的图像视图,并且可以引导生成器生成全局一致的图像。另一方面,最精细尺度的鉴别器鼓励生成器生成更精细的细节。这也使得训练粗到精生成器变得更容易,因为将低分辨率模型扩展到更高分辨率只需要在最精细的级别添加鉴别器,而不是从头开始重新训练。在没有多尺度鉴别器的情况下,我们观察到在生成的图像中经常会出现许多重复的图案。

有了鉴别器,等式(1)中的学习问题就变成了一个多任务学习问题:

在无条件GANs中,已经提出了在同一图像尺度下使用多个GAN鉴别器[12]。Iizuka等人[20] 在有条件GANs中加入一个全局图像分类器来合成全局一致的内容用于图像修复。在这里,我们将设计扩展到不同图像尺度的多个鉴别器,以建立高分辨率图像的模型。

改善的对抗性损失函数

我们在等式(2)中通过加入基于鉴别器的特征匹配损失函数来改善GAN损失函数。这种损失函数稳定了训练,因为生成器必须在多个尺度上产生自然统计。具体地说,我们从鉴别器的多个层中提取特征,并学习对这些来自真实图像和合成图像的中间表达进行匹配。为了便于表示,我们将鉴别器Dk的第i层特征提取器表示为Dk(i)(从输入到Dk的第i层)。特征匹配损失LFM(G,Dk)计算如下:

式中,T是总层数,Ni表示每层中的元素数。我们的GAN鉴别器特征匹配损失与感知损失有关[11,13,22],这已被证明对图像超分辨率[32]和风格迁移[22]有用。在我们的实验中,我们讨论了如何将判别特征匹配损失和感知损失结合起来,以进一步提高性能。我们注意到VAE-GANs[30]中也使用了类似的损失。

我们的全部目标是将GAN损失和特征匹配损失结合为:

其中,λ控制这两项的重要性(权重)。注意,对于特征匹配损失LFM,Dk只是作为特征提取器,并没有使损失LFM最大化。

(3.3)使用实例图

现有的图像合成方法只利用语义标签图[5,21,25],其中每个像素值代表像素的对象类。此图不区分同一类别的(不同)对象。另一方面,实例级语义标签图包含每个单独对象的唯一对象ID。要合并实例图,可以直接将其传递到网络中,或将其编码为一个one-hot向量。然而,这两种方法在实践中都很难实现,因为不同的图像可能包含相同类别的不同数量的对象。或者,可以为每个类预先分配固定数量的信道(例如,10个),但是当信道数目设置得太小时,这种方法就失败了,而当信道数太大时则浪费内存。

相反,我们认为实例图提供的最关键的信息(在语义标签图中不可用)是对象边界。例如,当同一类的对象彼此相邻时,单看语义标签图就无法将它们区分开来。这对于街道场景尤其如此,因为许多停放的汽车或步行的行人经常是相邻的,如图4a所示。然而,使用实例图,分离这些对象变得更容易。

因此,为了提取这些信息,我们首先计算实例边界图(图4b)。在我们的实现中,如果实例边界图中的一个像素的对象ID与它的4个邻居中的任何一个不同,那么该像素为1,否则为0。实例边界图然后与语义标签图的one-hot向量表示相连接,并输入到生成器网络中。类似地,鉴别器的输入是实例边界图、语义标签图和真实/合成图像的信道级连接。图5b显示了一个使用对象边界来演示改进的示例。我们在第四部分中的用户研究还显示了使用实例边界图训练的模型渲染出更具有照片真实性的对象边界。

(3.4)学习实例级特性嵌入

从语义标签图合成图像是一个简单的映射问题。一个理想的图像合成算法应该能够使用相同的语义标签图生成不同的、真实的图像。最近,有几项工作学习在给定相同输入[5,15]的情况下产生固定数量的离散输出,或者合成由编码整个图像的潜码控制的不同模式[66]。虽然这些方法解决了多模态图像合成问题,但它们不适合我们的图像处理任务,主要有两个原因。首先,用户无法直观地控制模型将生成哪些类型的图像[5,15]。其次,这些方法关注全局颜色和纹理的变化,不允许对生成的内容进行对象级控制。

为了生成不同的图像并允许实例级控制,我们建议添加额外的低维特征通道作为生成器网络的输入。我们证明,通过处理这些特征,我们可以灵活地控制图像合成过程。此外,请注意,由于特征通道是连续的量,我们的模型原则上能够生成无限多个图像。

为了生成低维特征,我们训练一个编码器网络E,以找到对应于图像中每个实例的地面真实目标的低维特征向量。我们的特征编码器架构是一个标准的编码-解码器网络。为了确保每个实例中的特性是一致的,我们在编码器的输出中添加一个实例级平均池层,以计算对象实例的平均特性。然后将平均特性广播到实例的所有像素位置。图6显示了编码特性的一个示例。

我们用公式(5)中的G(s, E(x))代替G(s)并与生成器和鉴别器一起训练编码器。在训练完编码器后,我们在训练图像中的所有实例上运行它,并记录得到的特征。然后我们对每个语义类别的这些特征进行K-均值聚类。因此,每个簇对特定样式的特征进行编码,例如,道路的沥青或鹅卵石纹理。在推理时,我们随机选取一个聚类中心作为编码特征。这些特性与标签映射相连接,并用作生成器的输入。我们试图在特征空间上实施Kullback-Leibler损失[28],以便在最近的工作[66]中使用更好的测试时间采样,但发现用户直接调整每个对象的潜在向量非常麻烦。相反,对于每个对象实例,我们提供K个模式供用户选择。

(4)实验结果

我们在4.1中首先提供了与领先方法的定量比较。然后我们在4.2中报告了主观的人类感知研究。最后,我们在4.3中展示了一些交互式对象编辑结果的例子。

实现细节

我们使用LSGAN[37]进行稳定训练。在所有实验中,我们设置λ=10(等式(5)),将K均值的K=10。我们使用三维向量来编码每个对象实例的特征。我们尝试在我们的目标(方程式(5))中添加一个感知损失 ,其中λ=10和F(i)表示VGG网络的拥有Mi个元素的第i层。我们观察到这个损失函数稍微改善了结果。我们将这两种变体命名为我们的(Ours)和我们的(不含VGG损失)(Ours(w/o VGG))。请在附录中找到更多的训练和架构细节。

数据集

我们对Cityscapes数据集[7]和纽约大学室内RGBD数据集[40]进行了广泛的比较和消融研究。我们报告了ADE20K数据集[63]和Helen Face数据集[31,49]上的其他定性结果。

基线

我们将我们的方法与两种最先进的算法进行了比较:pix2pix[21]和CRN[5]。我们使用默认设置在高分辨率图像上训练pix2pix模型。我们通过作者的公开模型制作高分辨率的CRN图像。

(4.1)定量比较

我们采用了与以往图像到图像翻译作品相同的评价方案[21,65]。为了量化结果的质量,我们对合成的图像进行语义分割,并比较预测的片段与输入的匹配程度。直觉是,如果我们能够生成与输入标签映射相对应的真实图像,那么一个现成的语义分割模型(例如,我们使用的PSPNet[61])应该能够预测地面真实标签。表1报告了计算的分割精度。可以看出,无论是像素级精度还是平均交合并(IoU),我们的方法都比其他方法有很大的优势。而且,我们的结果与原始图像的结果非常接近,达到了现实主义的理论“上限”。这证明了我们算法的优越性。

(4.2)人类感性研究

我们通过人的主观研究来进一步评估我们的算法。我们在Cityscapes数据集[7]上执行部署在Amazon Mechanical Turk(MTurk)平台上的成对A/B测试[7]。我们遵循与Chen和Koltun[5]中描述的相同的实验程序。更具体地说,进行了两种不同类型的实验:无限时间和有限时间,如下所述。

无限时间

在这个任务中,工作人员一次得到两幅图像,每一幅图像都是用不同的方法合成的。我们给他们无限的时间来选择哪个图像看起来更自然。左右顺序和图像顺序是随机的,以确保公平比较。所有500幅Cityscapes测试图像都要进行10次比较,结果是每种方法都会有5000次人工判断。在这个实验中,我们使用只在标签上训练的模型(没有实例图),以确保公平的比较。表2显示,我们方法的两个变体都显著优于其他方法。

有限时间

接下来,对于有限时间实验,我们将我们的结果与CRN和原始图像(地面真实)进行比较。在每次比较中,我们都会在短时间内展示两种方法的结果。我们随机选择1/8秒到8秒之间的持续时间,正如先前的工作所采用的[5]。这将评估图像之间的差异能多快被感知。图7示出了不同时间间隔下的比较结果。随着给定的时间越来越长,这三种图像之间的差异变得越来越明显,也更容易观察到。图9和图10显示了一些示例结果。

损失函数的分析

我们还利用无限时间实验研究了目标函数中每个项的重要性。具体地说,我们的最终损失包含三个部分:GAN损失、基于鉴别器的特征匹配损失和VGG感知损失。我们将我们的最终实现与仅使用(1)GAN损失和(2)GAN+特征匹配损失(即没有VGG损失)的结果进行了比较。得到的偏好率分别为68.55%和58.90%。可以看出,加入特征匹配损失大大提高了性能,而添加感知损失则进一步提高了结果。然而,请注意,使用感知损失并不重要,即使没有它,我们仍然能够产生视觉上吸引人的结果(例如,图9c、10b)。

使用实例图

我们将使用实例图的结果与不使用实例图的结果进行比较。我们在图片中突出显示汽车区域,并要求参与者选择哪个区域看起来更真实。我们得到了64.34%的偏好率,这表明使用实例图提高了结果的真实性,特别是在对象边界附近。

生成器分析

我们比较了所有其他部件固定时不同生成器的结果。特别是,我们将我们的生成器与两种最先进的生成器架构进行了比较:U-Net[21,43]和CRN[5]。我们评估了语义分割分数和人类感知研究结果的性能。表3和表4显示,我们的粗到精生成器的性能远远优于其他网络。

鉴别器分析

其次,我们还比较了使用我们的多尺度鉴别器的结果和在保持生成器和损耗函数不变的情况下仅使用一个鉴别器的结果。Cityscapes的分割分数[7](表5)表明,使用多尺度鉴别器有助于产生更高质量的结果,并稳定对抗训练。我们还在Amazon Mechanical Turk平台上进行了两两A/B测试。69.2%的受试者更喜欢使用多尺度鉴别器的结果,而不是使用单一尺度鉴别器训练的结果(几率为50%)。

附加数据集

为了进一步评估我们的方法,我们对纽约大学的数据集进行了无限时间的比较。我们对pix2pix和CRN分别获得86.7%和63.7%的优势。图8示出了一些示例图像。最后,我们展示了ADE20K[63]数据集上的结果(图11)。

(4.3)交互式对象编辑

我们的功能编码器允许我们对生成的图像执行交互式实例编辑。例如,我们可以改变图像中的对象标签来快速创建新颖的场景,例如用建筑物代替树木(图1b)。我们也可以改变个别汽车的颜色或道路的纹理(图1c)。请在我们的网站上查看我们的互动演示。此外,我们在Helen Face数据集中实现了交互式对象编辑功能,其中有不同面部部分的标签可用[49](图12)。这使得编辑人像变得很容易,例如,改变面部颜色以模拟不同的化妆效果,或者在脸上添加胡须。

(5)讨论与结论

本文的结果表明,有条件的GAN可以在没有任何手工制作损失或预先训练网络的情况下合成高分辨率照片真实感图像。我们已经观察到,加入感知损失[22]可以稍微改善结果。我们的方法可以有许多应用,并且对于需要高分辨率结果但没有预先训练的网络的领域(例如医学成像[17]和生物学[8])可能会有用。

本文还表明,图像到图像合成流水线可以扩展以产生不同的输出,并且在给定适当的输入输出对(例如,在我们的例子中,实例图)的情况下,可以实现交互式图像操作。在没有被告知什么是“纹理”的情况下,我们的模型学会了对不同的对象进行样式化,这些对象也可以推广到其他数据集(即,使用一个数据集中的纹理来合成另一个数据集中的图像)。我们相信这些扩展可以应用于其他图像合成问题。

致谢

感谢Taesung Park, Phillip Isola, Tinghui Zhou, Richard Zhang, Rafael Valle 和 Alexei A. Efros的宝贵意见。我们还感谢Chen和Koltun[5]以及Isola等人[21]分享他们的代码。JYZ得到了Facebook研究生奖学金的支持。

参考文献

(略)

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值