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

做网站挣钱经历网站备案 网址

做网站挣钱经历,网站备案 网址,建设网站用凡科怎么样,做网站美工的理由文章目录 0 前言2 什么是图像内容填充修复3 原理分析3.1 第一步#xff1a;将图像理解为一个概率分布的样本3.2 补全图像 3.3 快速生成假图像3.4 生成对抗网络(Generative Adversarial Net, GAN) 的架构3.5 使用G(z)生成伪图像 4 在Tensorflow上构建DCGANs最后 0 前言 #… 文章目录 0 前言2 什么是图像内容填充修复3 原理分析3.1 第一步将图像理解为一个概率分布的样本3.2 补全图像 3.3 快速生成假图像3.4 生成对抗网络(Generative Adversarial Net, GAN) 的架构3.5 使用G(z)生成伪图像 4 在Tensorflow上构建DCGANs最后 0 前言 优质竞赛项目系列今天要分享的是 深度学图像修复算法 该项目较为新颖适合作为竞赛课题方向学长非常推荐 学长这里给一个题目综合评分(每项满分5分) 难度系数3分工作量3分创新点4分 更多资料, 项目分享 https://gitee.com/dancheng-senior/postgraduate 2 什么是图像内容填充修复 内容识别填充(译注: Content-aware fill ,是 photoshop 的一个功能)是一个强大的工具设计师和摄影师可以用它来填充图片中不想要的部分或者缺失的部分。在填充图片的缺失或损坏的部分时图像补全和修复是两种密切相关的技术。有很多方法可以实现内容识别填充图像补全和修复。 首先我们将图像理解为一个概率分布的样本。基于这种理解学*如何生成伪图片。然后我们找到最适合填充回去的伪图片。 自动删除不需要的部分海滩上的人 最经典的人脸补充 补充前 补充后 3 原理分析 3.1 第一步将图像理解为一个概率分布的样本 你是怎样补全缺失信息的呢 在上面的例子中想象你正在构造一个可以填充缺失部分的系统。你会怎么做呢你觉得人类大脑是怎么做的呢你使用了什么样的信息呢 在博文中我们会关注两种信息 语境信息你可以通过周围的像素来推测缺失像素的信息。 感知信息你会用“正常”的部分来填充比如你在现实生活中或其它图片上看到的样子。 两者都很重要。没有语境信息你怎么知道填充哪一个进去没有感知信息通过同样的上下文可以生成无数种可能。有些机器学*系统看起来“正常”的图片人类看起来可能不太正常。 如果有一种确切的、直观的算法可以捕获前文图像补全步骤介绍中提到的两种属性那就再好不过了。对于特定的情况构造这样的算法是可行的。但是没有一般的方法。目前最好的解决方案是通过统计和机器学习来得到一个类似的技术。 从这个分布中采样就可以得到一些数据。需要搞清楚的是PDF和样本之间的联系。 从正态分布中的采样 2维图像的PDF和采样。 PDF 用等高线图表示样本点画在上面。 3.2 补全图像 首先考虑多变量正态分布 以求得到一些启发。给定 x1 , 那么 y 最可能的值是什么我们可以固定x的值然后找到使PDF最大的 y。 在多维正态分布中给定x得到最大可能的y 这个概念可以很自然地推广到图像概率分布。我们已知一些值希望补全缺失值。这可以简单理解成一个最大化问题。我们搜索所有可能的缺失值用于补全的图像就是可能性最大的值。 从正态分布的样本来看只通过样本我们就可以得出PDF。只需挑选你喜欢的 统计模型 然后拟合数据即可。 然而我们实际上并没有使用这种方法。对于简单分布来说PDF很容易得出来。但是对于更复杂的图像分布来说就十分困难难以处理。之所以复杂一部分原因是复杂的条件依赖一个像素的值依赖于图像中其它像素的值。另外最大化一个一般的PDF是一个非常困难和棘手的非凸优化问题。 3.3 快速生成假图像 在未知概率分布情况下学习生成新样本 除了学 如何计算PDF之外统计学中另一个成熟的想法是学 怎样用 生成模型 生成新的随机样本。生成模型一般很难训练和处理但是后来深度学*社区在这个领域有了一个惊人的突破。Yann LeCun 在这篇 Quora 回答中对如何进行生成模型的训练进行了一番精彩的论述并将它称为机器学习领域10年来最有意思的想法。 3.4 生成对抗网络(Generative Adversarial Net, GAN) 的架构 使用微步长卷积对图像进行上采样 现在我们有了微步长卷积结构可以得到G(z)的表达以一个向量z∼pz 作为输入输出一张 64x64x3 的RGB图像。 3.5 使用G(z)生成伪图像 基于DCGAN的人脸代数运算 DCGAN论文 。 4 在Tensorflow上构建DCGANs 部分代码 ​ def generator(self, z):self.z_, self.h0_w, self.h0_b linear(z, self.gf_dim*8*4*4, g_h0_lin, with_wTrue)self.h0 tf.reshape(self.z_, [-1, 4, 4, self.gf_dim * 8])h0 tf.nn.relu(self.g_bn0(self.h0))self.h1, self.h1_w, self.h1_b conv2d_transpose(h0,[self.batch_size, 8, 8, self.gf_dim*4], nameg_h1, with_wTrue)h1 tf.nn.relu(self.g_bn1(self.h1))h2, self.h2_w, self.h2_b conv2d_transpose(h1,[self.batch_size, 16, 16, self.gf_dim*2], nameg_h2, with_wTrue)h2 tf.nn.relu(self.g_bn2(h2))h3, self.h3_w, self.h3_b conv2d_transpose(h2,[self.batch_size, 32, 32, self.gf_dim*1], nameg_h3, with_wTrue)h3 tf.nn.relu(self.g_bn3(h3))h4, self.h4_w, self.h4_b conv2d_transpose(h3,[self.batch_size, 64, 64, 3], nameg_h4, with_wTrue)return tf.nn.tanh(h4)def discriminator(self, image, reuseFalse):if reuse:tf.get_variable_scope().reuse_variables()h0 lrelu(conv2d(image, self.df_dim, named_h0_conv))h1 lrelu(self.d_bn1(conv2d(h0, self.df_dim*2, named_h1_conv)))h2 lrelu(self.d_bn2(conv2d(h1, self.df_dim*4, named_h2_conv)))h3 lrelu(self.d_bn3(conv2d(h2, self.df_dim*8, named_h3_conv)))h4 linear(tf.reshape(h3, [-1, 8192]), 1, d_h3_lin)return tf.nn.sigmoid(h4), h4当我们初始化这个类的时候将要用到这两个函数来构建模型。我们需要两个判别器它们共享复用参数。一个用于来自数据分布的小批图像另一个用于生成器生成的小批图像。 ​ self.G self.generator(self.z) self.D, self.D_logits self.discriminator(self.images) self.D_, self.D_logits_ self.discriminator(self.G, reuseTrue)接下来我们定义损失函数。这里我们不用求和而是用D的预测值和真实值之间的交叉熵cross entropy因为它更好用。判别器希望对所有“真”数据的预测都是1对所有生成器生成的“伪”数据的预测都是0。生成器希望判别器对两者的预测都是1 。 ​ self.d_loss_real tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(self.D_logits,tf.ones_like(self.D))) self.d_loss_fake tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(self.D_logits_,tf.zeros_like(self.D_))) self.g_loss tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(self.D_logits_,tf.ones_like(self.D_))) self.d_loss self.d_loss_real self.d_loss_fake下面我们遍历数据。每一次迭代我们采样一个小批数据然后使用优化器来更新网络。有趣的是如果G只更新一次鉴别器的损失不会变成0。另外我认为最后调用 d_loss_fake 和 d_loss_real 进行了一些不必要的计算 因为这些值在 d_optim 和 g_optim 中已经计算过了。 作为Tensorflow 的一个联系你可以试着优化这一部分并发送PR到原始的repo。 ​ for epoch in xrange(config.epoch):...for idx in xrange(0, batch_idxs):batch_images ...batch_z np.random.uniform(-1, 1, [config.batch_size, self.z_dim]) \.astype(np.float32)# Update D network_, summary_str self.sess.run([d_optim, self.d_sum],feed_dict{ self.images: batch_images, self.z: batch_z })# Update G network_, summary_str self.sess.run([g_optim, self.g_sum],feed_dict{ self.z: batch_z })# Run g_optim twice to make sure that d_loss does not go to zero (different from paper)_, summary_str self.sess.run([g_optim, self.g_sum],feed_dict{ self.z: batch_z })errD_fake self.d_loss_fake.eval({self.z: batch_z})errD_real self.d_loss_real.eval({self.images: batch_images})errG self.g_loss.eval({self.z: batch_z}) 最后 更多资料, 项目分享 https://gitee.com/dancheng-senior/postgraduate
http://www.dnsts.com.cn/news/231114.html

相关文章:

  • 合肥专业商业网站自己开设计工作室
  • 有源码怎么做网站哈尔滨做网站建设
  • gis网站开发实战教程怎么注册公司的网站
  • 唯美个人网站欣赏优秀个人网站设计
  • 商务网站建设策略谁有人跟动物做的网站
  • 做网站图片不够大那个视频网站最好最全网址
  • 设计配色网站工业设计企业
  • 深圳微商城网站建设wordpress 下载官网
  • 网站建设公司 成本结转建怎样的网站挣钱快
  • 个人网站备案名和运营接单做网站怎么开价格
  • 高端网站建设哪家公司好上海seo网站优化公司
  • 高端集团官方网站建设公司高端设计网站源码
  • 德州金航网站建设wap网站建设课程要写代码吗
  • 制作网页的潍坊网站建设SEO优化
  • 顺德网站制作案例价格做网站赚钱的时代过去了吗
  • 宁波免费做网站pcms网站开发
  • 企业网站流量o2o有哪些电商平台
  • 济南网站建设济南网络营销课程视频
  • 私人做网站a网页设计师在什么公司工作
  • 科技强国形势与政策论文seo优化培训机构
  • 网站的个人网盘怎么做手机怎么进入pc端
  • 网站 数据备份网站建设后期
  • 网站开发js路径网站建设 中企动力东莞后台管理
  • 为什么做网站的会弄友情链接wordpress幻灯片插件 汉化
  • 凡客是什么品牌怎么做seo关键词优化
  • 西安做网站必达网络无锡网站建设企业
  • seo做多个网站wordpress free 2017
  • 网站在线解压做交易网站什么开发语言
  • 做网站有生意吗一站式做网站多少钱
  • 农业网站建设模板下载广州十大网站建设