电影体裁海报的生成者和图片风格的转移-“神经网络”技术学院课程的学生项目





我们讨论了Technopark(鲍曼莫斯科国立技术大学)移动开发学期课程的毕业生的毕业项目(以前的出版物:“ iOS应用程序开发”,“ Android应用程序开发”)。今天,我们分享了Technosphere第二学期学生的有趣项目-与莫斯科国立大学的联合教育项目,该项目在分析和处理大量数据方面进行年度培训。学生参加机器学习,信息搜索,神经网络和其他学科的课程。在教学中使用项目方法,因此我们总结了本学期学生项目防御的结果。



实验在教育过程中起着重要作用。学生项目离不开他们:伙计们尝试不同的方法,方法,架构,工具。在实验之后,学生通常会放弃对技术和算法的选择,而倾向于一种新的方法。这是经验和学习的重要部分。下面我们将讨论两个学生项目的开发中的这些阶段。



  • 电影海报GAN /嵌入项目。
  • Cyrclegan卡通系列项目。


关于卡通系列的CycleGAN



该项目的作者决定使用CycleGAN技术将图片从一部动画电影转移到另一部动画电影。 GAN(生成对抗网络)是一种训练图像到图像模型的方法。训练了两个神经网络:鉴别器和生成器,它们处于对抗关系。生成器尝试增加分类错误,鉴别器尝试减少分类错误。而CycleGAN是一种在无监督模式下转移影像学习的方法。



假设有两个图片域-A和B。创建了两个生成器和两个鉴别器:gen_A2B,gen_B2A,disc_A和disc_B。 gen_A2B生成器必须从A的图片创建相同的图片,但它必须位于域B中。为此,请输入循环一致性损失:



l1loss(gen_b2a(gen_a2b(a)), a)


在这种情况下,生成器将生成欺骗鉴别器的图像,但同时保留原始内容。



解决方案架构:



生成器:





Resnet块可让您记住原始图片。我们还使用实例规范化来代替批处理规范化,因为后者会增加其他图片的噪声。



鉴别器:





由于没有现成的图像集,因此我们从动漫全长电影的关键帧中选择了图像:对于A,我们使用宫崎骏的“千与千寻”,对于B,则使用新斋诚的“您的名字”。由于CycleGAN不太适合剧烈变化(例如,形状),因此作者从动画中选取了两个领域。



首先使用LSGAN作为损失函数,然后使用WGAN GP,因为LSGAN在训练过程中会产生奇怪的伪像和颜色损失。



为了进行训练,我们使用了在horse2zebra上预训练的模型(仅针对发电机发现了重量)。她已经知道需要保存图片的内容,因此作者一开始就获得了很好的自动编码器,只需要教如何欺骗鉴别器即可。



在训练的一开始,我们为周期损失的恒等损失和梯度削波设置了一个很大的值,但是当经过了足够的时间后,我们决定逐渐降低这些值,以便发生器开始尝试更多地欺骗鉴别器。



我们还尝试使用大型的预训练网络(VGG,RESNET,Inception)作为判别器,但它们非常大,训练速度大大降低。



结果,该作品设法实现了一种样式,即在保持常规配色方案的同时,将样式转移到接近原始样式的位置(顶部为原件,下面为生成的图片):











项目代码:https : //github.com/IlyasKharunov/Cyclegan_project



项目团队:Ilyas Kharunov,Oleg Verbin。



带有项目保护的视频



电影海报GAN /嵌入



从学生所走的道路来看,下一个项目很有趣。与其他学生项目不同,德米特里(Dmitry)独自完成了这项工作。事实证明,这条道路比其他道路更困难,但是结果和结论很有趣。



作者决定创建一个网络,该网络将为给定类型的电影制作海报。例如,要有深色恐怖电影的海报,浅色喜剧的海报等。



在IMDB网站上,作者为1970-2020年期间的20种流派的电影制作了4.1万张海报。后来发现,对于某些类型而言,图像太少了,因此德米特里(Dmitry)按类型对场景进行了平衡,结果,剩下了3.2万张海报。



然后,学生应用具有DCGAN架构的神经网络生成无类型的图像。她使用尺寸为64x128的海报。





结果证明是令人毛骨悚然的:





然后作者尝试了CVAE + DCGAN架构:





还有没有GAN的VAE和带有分类器的GAN。得出的结论是,对于这些方法而言,组装好的海报集过于复杂。然后,作者应用了条件GAN:这与DCGAN相同,现在仅将流派输入生成器和鉴别器。潜向量z的长度为100,热格式的长度为20,长度为120,矢量的长度为120。将该类型添加到答案中,并在一个线性层上执行另一轮。



我设法达到以下结果:





如您所见,学生对尝试不同的方法很感兴趣,结果很有趣。汽车获得了许多新的经验,得出的结论是,要实现这样的想法,必须立即采用更复杂的神经网络,例如StyleGAN。



网络学习过程:





项目团队:Dmitry Piterkin。



带有项目保护的视频






很快,我们将告诉您有关C ++和Go开发,前端开发和接口创建中最有趣的文凭项目。您可以通过此链接阅读有关我们的教育项目的更多信息经常访问Technostream频道,并定期出现有关编程,开发和其他学科的新培训视频。



All Articles