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

网上接单网站新农村建设专题网站

网上接单网站,新农村建设专题网站,个人博客网站建设业务,北京网站模板建站1 前言 #x1f525; 优质竞赛项目系列#xff0c;今天要分享的是 基于深度学的图像修复 图像补全 该项目较为新颖#xff0c;适合作为竞赛课题方向#xff0c;学长非常推荐#xff01; #x1f9ff; 更多资料, 项目分享#xff1a; https://gitee.com/dancheng-se…1 前言 优质竞赛项目系列今天要分享的是 基于深度学的图像修复 图像补全 该项目较为新颖适合作为竞赛课题方向学长非常推荐 更多资料, 项目分享 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.hkea.cn/news/14312633/

相关文章:

  • 网站死链怎么解决山东城乡建设厅网站首页
  • 做seo网站空间郑州专业做网站多少钱
  • PHP网站开发技术期末作品音乐网站开发需求文档模板
  • 上海定制建设网站图片式网站利于做优化吗
  • 网站建设需注意点天津设计院排名
  • 陕西省建设工程施工许可证查询网站wordpress 修改数据库
  • 那曲网站建设php网页编辑器
  • 小红网站建设自媒体发稿
  • 嘉兴装修公司做网站网站关键词放哪
  • 铜川建设网站随州网站建站
  • 网站建设价格优 秀乐云seo上海近期大事件
  • 建一个网站怎么赚钱适合女孩子学的计算机类专业
  • 网络公司 给 客户网站备案网络服务器机柜厂家
  • 公司建站费用做一款游戏app需要多少钱
  • 西安北郊做网站公司免费手机网站制作方法
  • 婚纱手机网站关键字排名查询工具
  • 林业网站建设方案网站建设经典教材
  • 品牌网站有哪些内容房地产网站 模板
  • 找网络公司做网站需要注意的木疙瘩h5制作教程
  • 网站关键词推广企业国内免费视频素材网站有哪些
  • 介绍化工项目建设和招聘的网站网站维护经费
  • 哪里可以接网站开发项目做酒店网站建设方案书
  • 网站制作设计收费标准2023最新永久地域网名
  • wap手机网站wordpress导入主题
  • 找it工作有什么好的招聘网站nginx wordpress 伪静态
  • 做微信表情的微信官方网站网上商城系统代码
  • 电子商务网站开发的基本要求wordpress H1 title
  • 在excel中怎么做邮箱网站怎样建设旅游网站
  • 镇江网站设计开发公司电话点击器原理
  • 易尔通网站建设用python做网站的步骤