【深度学习】Co-ModGAN:Large Scale Image Completion via Co-Modulated Generative Adversarial Networks

本文主要是介绍【深度学习】Co-ModGAN:Large Scale Image Completion via Co-Modulated Generative Adversarial Networks,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2021 年

论文:https://arxiv.org/abs/2103.10428
code:https://openreview.net/pdf?id=sSjqmfsk95O

通过 Co-Modulated 生成对抗网络的大尺寸图像补全

文章目录

  • ABSTRACT
  • INTRODUCTION
  • RELATED WORK
  • CO-MODULATED GENERATIVE ADVERSARIAL NETWORKS
    • REVISITING MODULATION APPROACHES
    • CO-MODULATION
  • 配对/未配对初始判别分数
  • EXPERIMENTS
    • IMAGE COMPLETION
    • IMAGE-TO-IMAGE TRANSLATION
  • CONCLUSION

ABSTRACT

许多针对图像修复的特定任务变体的条件生成对抗网络已经被开发出来。然而,一个严重的限制仍然存在,即所有现有算法在处理大范围缺失区域时倾向于失败。为了克服这一挑战,我们提出了一种新的通用方法,通过同时调节条件和随机风格表示来弥合图像条件生成结构和最近的无条件生成结构之间的差距。

此外,由于缺乏用于图像修复的良好定量度量标准,我们提出了新的配对/非配对感知评分(P-IDS/U-IDS),它通过特征空间中的线性可分性来稳健地衡量修复后的图像与真实图像之间的感知保真度。实验证明,在自由形式图像修复方面,该方法在质量和多样性方面均优于最先进的方法,并且在图像到图像的转换方面具有轻松的泛化能力。

代码可在 https://github.com/zsyzzsoft/co-mod-gan 上获得。

INTRODUCTION

在过去几年中,生成对抗网络(GANs)受到了大量关注,而在此期间,图像条件生成对抗网络和无条件生成对抗网络的发展分歧导致了一个基本问题。图像条件生成对抗网络在计算机视觉领域有各种各样的应用(Isola等人,2017)。然而,基于传统U-Net类型的生成器在自由形式图像修复方面表现并不理想(Liu等人,2018;Yu等人,2019)。为了专门化GAN框架,已经提出了大量针对特定任务的方法,主要集中在手工设计的多阶段架构、特殊操作或中间结构(如边缘或轮廓)上(Altinel等人,2018;Ding等人,2018;Iizuka等人,2017;Jiang等人,2019;Lahiri等人,2020;Li等人,2020;Liu等人,2018;2019a;2020;Nazeri等人,2019;Ren等人,2019;Wang等人,2018;Xie等人,2019;Xiong等人,2019;Yan等人,2018;Yu等人,2018;2019;Yu等人,2019;Zeng等人,2019;Zhao等人,2020a;Zhou等人,2020)。这些研究在减少生成图像的伪影、颜色差异和模糊度方面取得了显著进展。然而,一个严重的挑战仍然存在,即所有现有算法在处理大范围缺失区域时往往失败。这主要是由于它们缺乏基本的生成能力 —— 只要没有生成全新对象的能力,就无法学习如何完成对象的大部分部分。我们认为克服这一挑战的关键是弥合图像条件生成结构和无条件生成结构之间的差距。

最近,无条件生成对抗网络(GANs)的性能得到了根本性的提升,主要归功于调制方法的成功(Chen等人,2019;Karras等人,2019a;b),该方法使用潜在向量生成学习到的风格表示。研究人员还将调制方法的应用扩展到图像条件生成对抗网络,其中风格表示完全由输入图像决定(Park等人,2019;Huang等人,2018;Liu等人,2019b);然而,缺乏随机性使它们在只有有限条件信息可用的设置中难以推广。这种限制在大规模图像修复中尤为致命。虽然一些多模态非配对图像到图像转换方法提出了从另一个参考图像编码风格的方式(Huang等人,2018;Liu等人,2019b),但这不合理地假设风格表示完全独立于条件输入,因此会损害一致性。

因此,我们提出了共调制生成对抗网络,这是一种通用方法,利用了来自无条件调制结构的生成能力,通过共调制嵌入了条件和随机风格表示。因此,共调制GAN能够生成多样且一致的内容,并且在不仅限于小尺度修复,还包括极大尺度图像修复方面有很好的泛化性能,支持规则和非规则遮挡,即使只有少量的条件信息可用。见图1中的定性示例。由于共调制的有效性,我们成功地解决了图像修复文献中存在的问题(Liu等人,2018;Yu等人,2019),成功地弥合了长期以来的分歧。

图像修复文献中另一个主要障碍是缺乏良好的定量度量标准。这个文献中的大部分作品都在改善基于相似性的度量标准的性能,这些度量标准严重倾向于模糊结果,例如L1,L2,PSNR和SSIM,其中许多作品表示目前还没有适用于图像修复的良好定量度量标准(Liu等人,2018;Yu等人,2018;2019)。在这个文献中,唯一的黄金标准是用户研究,该研究将一对图像呈现给受试者(即用户)进行真假测试。然而,用户研究存在很大的方差和高昂的成本,因此缺乏可重复性。受用户研究的启发,我们提出了新的配对/非配对感知评分(P-IDS/U-IDS)。除了直观性和可扩展性外,我们证明P-IDS/U-IDS对采样大小具有稳健性,并且能够捕捉微小差异,并且与人类偏好高度相关。

我们的贡献总结如下:
• 我们提出了共调制GAN,这是一种通用方法,弥合了图像条件生成结构和最近的无条件调制生成结构之间的差距。
• 我们提出了新的P-IDS/U-IDS,用于对GAN的感知保真度进行稳健评估。
• 实验证明,在自由形式图像修复方面,我们的方法在质量和多样性方面表现优越,并且在图像到图像转换方面具有轻松的泛化能力。

RELATED WORK

图像条件生成对抗网络。图像条件生成对抗网络可以应用于各种图像到图像的转换任务(Isola等人,2017)。当没有配对的训练数据可用时,也会研究非配对的情况(Choi等人,2018;Huang等人,2018;Kim等人,2019;Lazarow等人,2017;Liu等人,2017;Yi等人,2017;Zhao等人,2020b;Zhu等人,2017a)。最近的研究利用从条件输入或另一个参考图像嵌入的学习到的风格表示来使用规范化层,以增强输出的保真度(Huang等人,2018;Kim等人,2019;Liu等人,2019b;Park等人,2019)。它们可以被视为一组条件调制方法,但仍然缺乏随机生成能力,因此在有限的条件信息可用时泛化效果较差。

Isola等人(2017)最初发现生成器往往会忽略噪声输入,尽管他们试图将其提供给网络,这与无条件或类条件GANs形成对比。有一些研究旨在通过使用VAE-based潜在采样策略(Zhu等人,2017b)或施加基于距离的损失项(Huang等人,2018;Mao等人,2019;Qin等人,2018)来强化条件内多样性。Wang等人(2019b)还提出了将卷积核分解为随机基础的方法。然而,多样性的强制实际上导致图像质量的恶化。我们的共调制方法不仅本质上学习了随机性,而且使权衡很容易控制。

图像修复。图像修复,也称为图像补全,当无法完成大范围缺失区域时,受到了大量关注。这是一个受限制的图像到图像的转换问题,但面临更严峻的挑战。传统方法(Ballester等人,2001;Barnes等人,2009;Darabi等人,2012;Efros&Freeman,2001;Efros&Leung,1999)仅使用低级特征,无法生成语义一致的内容。

然后,(Köhler等人,2014;Ren等人,2015;Xie等人,2012)采用深度神经网络进行图像修复;(Pathak等人,2016)首次使用条件GAN。许多后续工作专注于语义上下文和纹理、边缘和轮廓,或手工设计的架构(Altinel等人,2018;Ding等人,2018;Iizuka等人,2017;Jiang等人,2019;Jo&Park,2019;Lahiri等人,2017;Liu等人,2019a;Nazeri等人,2019;Ren等人,2019;Sagong等人,2019;Wang等人,2018;Xie等人,2019;Xiong等人,2019;Yan等人,2018;Yang等人,2017;2019a;Yu等人,2018;Yu等人,2019;Zeng等人,2019;Lahiri等人,2020;Zhao等人,2020a;Li等人,2020;Zhou等人,2020),其中(Liu等人,2018;Yu等人,2019)引入了部分卷积和门控卷积来解决自由形式图像修复问题。在图像修复中也观察到缺乏随机性(Cai&Wei,2019;Ma等人,2019;Zheng等人,2019)。其他工作则处理所谓的外扩子任务(Sabini&Rusak,2018;Wang等人,2019a;Yang等人,2019b)。据我们了解,这些方法在自由形式大范围缺失区域存在时都没有产生有希望的结果。

评估指标。人们对GAN的评估引起了极大的研究兴趣(DeVries等人,2019;Gurumurthy等人,2017;Sajjadi等人,2018;Snell等人,2017;Xiang&Li,2017)。

Inception Score(IS)(Salimans等人,2016)以及其他一些指标如FCN-Score(Isola等人,2017)专门用于预训练任务,因此无法泛化。虽然FID(Heusel等人,2017)通常是可以接受的,但图像修复领域缺乏有效的定量度量标准。先前的工作主要依赖于基于相似性的度量标准,如L1、L2、PSNR和SSIM,它们无法捕捉随机区域,并且对GANs不适用。我们提出的度量标准也与基于分类器的测试(Blau&Michaeli,2018;Lopez-Paz&Oquab,2016)有关。然而,先前的基于分类器的度量标准需要为分类器的训练和测试分别准备数据集,使其对训练的分类器的泛化性非常敏感。我们将辨别能力形式化为一个简单的可扩展的度量标准,用于配对和非配对版本,无需依赖泛化性。

CO-MODULATED GENERATIVE ADVERSARIAL NETWORKS

图像条件生成对抗网络解决了将图像形式的条件输入y转换为输出图像x的问题(Isola等人,2017)。我们假设在训练数据中有输入条件和输出图像之间的配对对应关系。生成器以图像y和潜在向量z作为输入,并生成输出图像x;辨别器以(x;y)对作为输入,试图区分虚假的生成对和真实分布。图像修复可以看作是一种受限制的图像条件生成问题,其中已知像素受限制不变。与专门的图像修复框架的广泛文献相比,我们引入了一种通用方法,将图像条件生成对抗网络与最近成功的无条件调制结构之间建立联系。

REVISITING MODULATION APPROACHES

调制方法起源于风格转换的文献(Dumoulin等人,2016;Huang&Belongie,2017),并且在最先进的无条件或类条件GAN中得到很好的应用。

它们通常将标量去归一化因子(例如,偏置和缩放)应用于归一化的特征图,而学习得到的去归一化因子是与附加信息条件相关的,比如类标签(Odena等人,2018)或潜在向量(Chen等人,2019)。在调制块中常用的标准化层包括批归一化(Chen等人,2019;Odena等人,2018),自适应实例归一化(Huang&Belongie,2017;Karras等人,2019a),以及权重去调制(Karras等人,2019b)也被称为权重归一化(Salimans&Kingma,2016)。

这里我们以StyleGAN2(Karras等人,2019b)为例,展示了中间激活如何根据潜在向量进行调制。如图2(a)所示,解码器D简单地由一个学习到的常量产生,而潜在向量z经过一个多层全连接映射网络M。映射后的潜在向量通过一个学习到的仿射变换A(即没有激活函数的全连接层)线性生成每个后续调制的风格向量s:

在这里插入图片描述

虽然调制方法显著改善了无条件或类条件生成器的性能,但我们想知道它们是否同样适用于图像条件生成器。对于传统的图像条件生成器(图2(b)所示),直观的扩展是条件调制生成器(见图2©),其中调制是基于图像编码器E学习到的扁平化特征进行的。类似的结构也存在于良好调制的图像到图像转换任务中(Huang等人,2018;Liu等人,2019b;Park等人,2019)。在这种情况下,风格向量可以被重新定义为:

在这里插入图片描述
然而,条件调制方法的一个显著缺点是缺乏随机生成能力。在大规模图像修复方面,这个问题更加明显。在大多数情况下,输出应该是弱条件的,即它们不是由条件输入充分确定的。因此,它不仅无法产生多样化的输出,而且在有限的条件信息可用的情况下泛化能力较差。

CO-MODULATION

为了克服这一挑战,我们提出了共调制(co-modulation)方法,这是一种通用的新方法,可以轻松地将无条件调制生成器的生成能力适应到图像条件生成器中。我们将共调制的风格向量重新定义为(见图2(d)):

在这里插入图片描述

它是一个同时对风格表示进行条件化的仿射变换。通常,风格向量可以是从两个输入学习到的非线性映射,但在这里我们简单地假设它们可以在风格空间中线性相关,并已经观察到了相当大的改进。线性相关有助于固有的随机性,我们将在第5.1节中看到,共调制GAN可以在不施加任何外部损失的情况下很容易在质量和条件内多样性之间权衡,并且共调制不仅有助于随机性,而且特别在大规模缺失区域的视觉质量方面表现出色。鼓励使用常规的辨别器损失来训练共调制GAN,而不需要像L1项(Isola等人,2017)这样的直接指导,以充分利用它们的随机生成能力。

在这里插入图片描述

配对/未配对初始判别分数

在这里插入图片描述

对采样大小的鲁棒性。我们测试了P-IDS、U-IDS、FID和KID对四种操作策略的响应:将图像掩蔽(置零)为宽度为w = 1、2、4、8的随机正方形。图像是从FFHQ数据集(Karras等人,2019a)中以512×512分辨率采样的。

计算FID的参考分布使用了5万个样本。如图3所示,P-IDS和U-IDS在少量样本内迅速收敛,并成功区分了操作策略;FID在1万个样本内无法收敛,而最高收敛线(当w = 8时,使用5万个样本测得为1.13)甚至低于1万个样本时的最低FID(当w = 1时,测得为1.63)。尽管KID解决了FID的“偏向”问题(Binkowski等人,2018),但我们发现其估计仍然存在巨大的方差,尤其是当两个分布接近时。KID需要一个固定的块大小(Binkowski等人,2018)以获得无偏估计;即使使用最小化方差的块大小为1000,其估计仍然难以区分,尤其是在w = 1和w = 2之间,如图4所示。

捕捉微小差异的有效性。在图像修复中,捕捉微小差异尤为重要,因为修复图像与真实图像之间的差异仅存在于部分区域。我们通过在上一实验的相同环境下,将n个随机像素进行掩蔽,然后由相邻像素最近点插值得到微小的图像操作策略。如图5所示,P-IDS成功地区分了被操作像素的数量,而FID和KID在2个9噪声像素内无法做出响应。我们注意到U-IDS在这种情况下仍然更加鲁棒,因为FID和KID的中心趋势明显受到方差的影响。

与人类偏好的相关性。P-IDS模拟了“人类辨别器”,预期与人类偏好相关。如图6所示,虽然这一点似乎很明显,我们还通过这些数据点(总共20个)定量地测量了相关性:P-IDS与人类偏好率之间的相关系数为0.870,远远优于FID的-0.765。表3进一步提供了一个案例分析,其中我们的P-IDS/U-IDS与明显的人类偏好相一致,而FID则相反。

计算分析。训练线性SVM的时间复杂度在O(n2)和O(n3)之间(Bottou&Lin,2007),而FID(Heusel等人,2017)的时间复杂度为O(nd^2 + d3),KID(Binkowski等人,2018)的时间复杂度为O(n2d),其中n是采样大小,d是特征空间的维度。

在实践中,P-IDS/U-IDS除了特征提取过程外,还带来了轻微的计算开销。例如,使用1万个样本,在NVIDIA P100 GPU上提取Inception特征需要221秒,而拟合SVM(仅使用CPU)需要额外的88秒;使用5万个样本,特征提取过程和SVM分别需要1080秒和886秒。

在这里插入图片描述

在这里插入图片描述

EXPERIMENTS

IMAGE COMPLETION

我们在FFHQ数据集(Karras等人,2019a)和Places2数据集(Zhou等人,2017)上进行了512×512分辨率的图像修复实验。具体的实现细节在附录A中提供。对于FFHQ数据集,我们进行了水平翻转增强;对于Places2数据集,我们进行了中心裁剪或填充。用于训练和评估的自由形式掩蔽的采样策略在附录中有详细说明。我们从FFHQ数据集中保留了10,000张图像作为验证集,总共有70,000张图像。Places2有自己的验证集,包含36,500张图像,以及800万张图像的大规模训练集。我们在FFHQ上训练了2500万张图像,在Places2上训练了5000万张图像。我们的模型与RFR(Li等人,2020)和DeepFillv2(Yu等人,2019)进行了对比,它们是目前自由形式图像修复的最先进算法。我们使用它们的官方预训练模型以及我们重新训练的DeepFillv2版本(使用官方代码,我们的数据集和采样策略),训练1百万次迭代(即3200万张图像)。我们对所有指标(P-IDS、U-IDS和FID)对每张验证图像采样一次。总体结果总结在表1中。图6展示了用户研究结果,DeepFillv2(重新训练)和我们的结果在不同掩蔽比例下的P-IDS和FID。图7展示了定性比较。所有这些结果表明了我们的卓越性能。更多定性示例、数值用户研究结果以及关于掩蔽比例的完整表格和用户研究的细节在附录中提供。

固有的随机性。共调制GAN天生具有随机性,即它们在不施加任何外部损失的情况下自然地学习利用随机风格表示,并且即使输入图像和输入掩蔽是固定的,它们也能产生多样的结果。

此外,通过调整截断(Karras等人,2019b;Kynkäänniemi等人,2019),明确地将随机分支扩大多次,共调制GAN可以很容易地在质量和多样性之间进行权衡(见图8)。

消融研究。共调制不仅促进了随机性,而且提高了图像质量。我们比较了如图2(b)到2(d)所示的普通、条件调制和共调制GAN。

实验在FFHQ数据集上进行,设置与第5.1节相同。普通版本完全失败,我们的共调制方法在条件调制版本中占据主导地位,尤其是当掩蔽比例变大时(见图10)。关于完整的结果(表6),我们将读者引导至附录。从定性上看,在大缺失区域中,我们常常观察到条件调制版本出现一些异常的伪影(见图9),我们推测这是由于缺乏随机生成能力所致。

在这里插入图片描述

IMAGE-TO-IMAGE TRANSLATION

Edges to Photos任务。共调制GAN是通用的图像条件模型,可以轻松应用于图像到图像的转换任务。我们遵循常见设置(DeVries等人,2019;Wang等人,2019b)在边缘到照片数据集(Isola等人,2017)上,分辨率为256×256。对于每张验证图像(共200张),我们对FID进行一次采样,使用训练集作为参考分布;我们使用LPIPS衡量了内部条件多样性,其中我们采样了2k对图像。如表2所示,尽管MUNIT假设了不同的无配对设置(Huang等人,2018),我们的方法轻松实现了比最先进方法(Huang等人,2018;Isola等人,2017;Wang等人,2019b;Zhu等人,2017b)更高的保真度(FID),并且在Edges2Handbags数据集上通过简单调整截断来实现更高的多样性,这也可从图11中看出。尽管我们的模型在Edges2Shoes数据集上学会了高保真度的输出,但不会产生多样的输出,我们推测这是由于从有限的训练集中提取的输入边缘图和颜色信息之间学到的强关联所致。

Labels to Photos (COCO-Stuff)任务。我们进一步在COCO-Stuff数据集(Caesar等人,2018)上进行实验,分辨率为256×256,按照SPADE(Caesar等人,2018)的实验设置。真实图像被调整到边长为256,然后进行随机裁剪。输入标签映射有182类,输入网络之前使用嵌入层。对于所有的评估指标,我们对每张验证图像(共5k张)进行一次采样。表3显示,我们的方法与SPADE的FID相匹配,但在P-IDS和U-IDS方面明显优于SPADE,而且没有像SPADE中使用感知损失那样的直接监督。我们还在SPADE和我们的模型之间进行了用户研究。

用户研究表明,我们的方法与我们提出的P-IDS/U-IDS一致,一致地优于SPADE。定性结果和用户研究的详细信息在附录中提供。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

CONCLUSION

我们提出了共调制生成对抗网络,这是一种通用的方法,可以弥合条件和无条件调制生成结构之间的差距,显著改进自由形式的大规模图像修复,并且可以轻松推广到图像到图像的转换。我们还提出了直观的新指标——P-IDS/U-IDS——用于稳健地评估GAN的感知保真度。我们期望我们的方法成为图像修复领域的基本解决方案,并为其提供可靠的定量评估标准。

这篇关于【深度学习】Co-ModGAN:Large Scale Image Completion via Co-Modulated Generative Adversarial Networks的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/318266

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件