当前位置: 首页 > wzjs >正文

连江县住房和城乡建设局网站百度快照是干嘛的

连江县住房和城乡建设局网站,百度快照是干嘛的,南京市建设委员会网站,wordpress分类目录混乱文章目录 摘要abstract1.生成对抗网络 GAN1.1 算法步骤 2.风格迁移2.1 损失函数2.2 论文阅读2.2.1 简介2.2.2 方法2.2.3 实验2.2.4 结论 3.总结 摘要 本周学习了生成对抗网络(GAN)与风格迁移技术在图像生成中的应用。首先介绍了GAN模型中生成器与判别器…

文章目录

  • 摘要
  • abstract
  • 1.生成对抗网络 GAN
    • 1.1 算法步骤
  • 2.风格迁移
    • 2.1 损失函数
    • 2.2 论文阅读
      • 2.2.1 简介
      • 2.2.2 方法
      • 2.2.3 实验
      • 2.2.4 结论
  • 3.总结

摘要

本周学习了生成对抗网络(GAN)与风格迁移技术在图像生成中的应用。首先介绍了GAN模型中生成器与判别器通过对抗训练,使随机噪声逐步转换为逼真图像,展示了其在动漫人物生成中的潜力。其次阐述了风格迁移方法,通过预训练卷积网络提取图像内容和风格特征,并构建内容、风格及总变差损失,实现艺术风格转换。

abstract

This week we learned the application of generative adversarial network (GAN) and style transfer techniques in image generation. Firstly, the generator and discriminator in GAN model are trained to convert random noise into realistic image step by step, which shows its potential in the generation of cartoon characters. Secondly, the style transfer method is described, which extracts the image content and style features by pre-training convolutional network, constructs the content, style and total variation loss, and realizes the artistic style transformation.

1.生成对抗网络 GAN

在这里插入图片描述
上述的图简而言之就是,一个简单的分布经过Generator 后变成一个复杂的分布(给定一个低维的向量,对应生成一个动漫人物)
在这里插入图片描述
Discriminator的作用是将一张图片输出一个Scalar,其数值越大表示这张图片越像真实的二次元人物的额图像。
Generator 和Discriminator都是神经网络,其架构可以自己设计。

思考:为什么需要Discriminator?
联想演化理论
在这里插入图片描述
上述枯叶蝶为更好的生存不断地进化(相当于generator),而天敌波波鸟为了捕获食物也需要进化(相当于discriminator)
在这里插入图片描述
generator生成一张图,discriminator通过对比真实图片来判断生成的图片是否真实,generator为“欺骗”discriminator不断地调整参数使得更加其生成地图片接近真实图片类型,上述过程也就是两者对抗过程。
在这里插入图片描述

1.1 算法步骤

在这里插入图片描述
第一步:先固定generator,训练discriminator ,其学习sample中人物特征,对于初始随机化参数地generator进行判别其是否符合真实地漫画人物形象。
在这里插入图片描述
将第一步训练好的discriminator和generator看成一个大网络,输入一个向量,输出一个分数,discirminator里面的参数是固定的,不断调整generator的参数使其输出的scaler值越大越好。

在这里插入图片描述
重复上述1,2两个步骤,直到generator产生的图片和真实图片很接近停止迭代。
对于discirminator的目标函数为: G ∗ = a r g min ⁡ G D i v ( P G , P d a t a ) G^*=arg\min_GDiv(P_G,P_{data}) G=argGminDiv(PG,Pdata)
在这里插入图片描述
上述training的目标函数和js divergence 是有关系的,具体的推导过程参考GAN
经过文章中所提及的推导过程最后的公式可以变换成如下:
G ∗ = a r g min ⁡ G D i v ( P G , P d a t a ) G^*=arg\min_GDiv(P_G,P_{data}) G=argminGDiv(PG,Pdata) D ∗ = a r g max ⁡ D V ( D , G ) D^*=arg\max_DV(D,G) D=argmaxDV(D,G)
其中max objective value 和div是相关的,公式改写成如下:
G ∗ = a r g min ⁡ G ( m a x D V ( D , G ) ) G^*=arg\min_G(max_DV(D,G)) G=argGmin(maxDV(D,G))

下面是一个简单的GAN生成一张图片的代码示例:

# 定义生成器模型
class Generator(nn.Module):def __init__(self, latent_dim=100, img_shape=(1, 28, 28)):super(Generator, self).__init__()self.img_shape = img_shapeself.model = nn.Sequential(nn.Linear(latent_dim, 128),nn.ReLU(inplace=True),nn.Linear(128, 256),nn.BatchNorm1d(256, momentum=0.8),nn.ReLU(inplace=True),nn.Linear(256, 512),nn.BatchNorm1d(512, momentum=0.8),nn.ReLU(inplace=True),nn.Linear(512, int(torch.prod(torch.tensor(img_shape)))),nn.Tanh()  # 输出范围在 [-1, 1])def forward(self, z):img = self.model(z)img = img.view(img.size(0), *self.img_shape)return img# 利用生成器生成一张图片
latent_dim = 100
generator = Generator(latent_dim=latent_dim)
generator.eval()  # 设置为评估模式# 随机生成一个噪声向量
z = torch.randn(1, latent_dim)
# 利用生成器生成图片
gen_img = generator(z).detach().numpy().squeeze()# 由于 Tanh 激活函数输出在 [-1, 1],需将其转换到 [0, 1] 以便显示
gen_img = (gen_img + 1) / 2.0# 显示生成的图片
plt.imshow(gen_img, cmap='gray')
plt.title("Generated Image")
plt.axis("off")
plt.show()

2.风格迁移

风格迁移时一种计算机视觉技术,其核心思想将一幅图片的内容(物体的结构、布局、形状等信息)与另一幅图像的风格(如颜色、纹理、笔触等艺术特征)分离,并将两者重新组合,生成一幅既保留内容图像主体又具有风格图像艺术效果的新图像。
在这里插入图片描述

2.1 损失函数

import torch# 内容一阶方差
def content_loss(Y_hat,Y):return torch.square(Y_hat-Y.detach()).mean()
# 二阶协方差
def gram(X):num_channels,n = X.shape[1],X.numel() // X.shape[1]X = X.reshape(num_channels,n)return torch.matmul(X,X.T) / (num_channels * n)# 风格一阶方差
def style_loss(Y_hat,gram_Y):return torch.square((gram(Y_hat)-gram_Y.detach())).mean()## 图像上下左右减少噪声的损失函数 总变差损失函数
def tv_loss(Y_hat):diff_v = torch.abs(Y_hat[:, :, 1:, :] - Y_hat[:, :, :-1, :]) #计算竖直方向上的差分diff_h = torch.abs(Y_hat[:, :, :, 1:] - Y_hat[:, :, :, :-1]) #计算水平方向的差分loss = (diff_v.sum()+diff_h.sum())/(Y_hat.size(0) * Y_hat.size(1))  # 假设按批次和通道求平均return loss# 风格迁移的损失函数  内容损失+风格损失
content_weight,style_weight,tv_weight = 1,1e3,10
def computer_loss(X,content_Y_hat,styles_Y_hat,contents_Y,styles_Y_gram):contents_l = [content_loss(Y_hat,Y) * content_weightfor Y_hat,Y in zip(content_Y_hat,contents_Y)]styles_l = [style_loss(Y_hat,Y)*style_weightfor Y_hat,Y in zip(styles_Y_hat,styles_Y_gram)]tv_l = tv_loss(X) * tv_weightreturn contents_l,styles_l,tv_l

2.2 论文阅读

2.2.1 简介

本周阅读论文《Perceptual Losses for Real-Time Style Transfer and Super-Resolution》文章地址原始的风格迁移的速度非常慢,在GPU上,生成一张图片需要10分钟,并且这个时间会随着图片尺度的增大而迅速增大。这其中的原因在于把生成图片的过程当中一个训练的过程。正是基于上面的原因,提出一种方法:不把图片当做一个训练过程,而当成一个执行的过程。

2.2.2 方法

本周所阅读的这篇文章把快速风格迁移网络结构包含两个部分。一个是生成网络(Transform Network),一个是损失网络(Loss network)。生成网络接收一个图片当作输入,然后输出也是一种图片(风格迁移后的结果)。如下图,左侧是生成网络,右侧是损失网络:
在这里插入图片描述
训练阶段: 首先选定一张风格图片。训练的目标是让生成网络可以有效生成图片。目标是由损失网络定义。
执行阶段: 给定一张图片,将其输入生成网络,输出这张图片风格迁移后的结果。
上述过程模型在执行阶段可以完成风格图片的生成。因此生成一张图片的速度非常快,在GPU上一般小于1秒。

2.2.3 实验

进行风格迁移的结果相比于Gatys等人的实验结果相似,但是生成的速度要快的多。
在这里插入图片描述
在这里插入图片描述

2.2.4 结论

通过训练具有感知损失函数的前馈变换网络,结合了前馈图像变换任务和基于优化的图像生成方法的优点。将这种方法应用于风格转移,与Gatys等人提出的方法相比,获得了相当的性能和大幅提高的速度。

3.总结

本周系统学习了生成对抗网络与风格迁移技术在图像生成中的表现。GAN通过生成器和判别器的对抗训练,使随机噪声转化为真实感图像,展现出在动漫人物生成方面的优势,其缺点就是不好训练;风格迁移则利用卷积网络提取内容与风格特征,通过损失函数实现艺术风格转换。

http://www.dtcms.com/wzjs/229757.html

相关文章:

  • 如何做网站开发网络营销项目策划书
  • 吉安购物网站制作游戏推广怎么做
  • 蒙城做网站的公司网址大全名称
  • 网站建立定位企划洛阳网站建设
  • 在阿里国际站做的网站公司网络推广该怎么做
  • 网站开发需求文档模板带er图品牌宣传有哪些途径
  • 西安高端网站建设首选nba录像回放
  • 福彩网站开发怎么在网上推广产品
  • 国内企业网站欣赏品牌推广工作内容
  • 淄博做网站优化瑞金网络推广
  • wordpress判断用户是否登录seo客服
  • wordpress保护原创百度网站排名优化软件
  • 企业网站建设熊掌号seo工具网站
  • 湖南响应式网站建设公司百度站长号购买
  • 外贸网站建设内容sem网站推广怎么做
  • wordpress 标签别名 id提升seo排名的方法
  • 陕西省建设监理协会网站成绩查询国内最新的新闻
  • 网站禁止右键复制代码sem推广
  • 电影频道做的网站广告搜索引擎优化实训
  • 怎么做天猫内部券网站企业网站怎么制作
  • 怎么做自己网站的APIseo关键词排名价格
  • 平面设计师是干啥的郑州网站seo外包公司
  • 做5g网站千锋教育培训机构怎么样
  • 深圳网站建设的费用my63777免费域名查询2023年
  • 做网站的流程是怎么样的长尾关键词爱站
  • 财经网站直播系统建设网站新域名查询
  • 潍坊外贸网站建设东莞疫情最新消息今天新增
  • 杭州本地网站网络推广和seo
  • 煎蛋网 wordpress百度seo新算法
  • frontpage网站模板下载广州网络营销