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

实战营销型网站建设四川建筑人才招聘网

实战营销型网站建设,四川建筑人才招聘网,全网营销整合营销,专门做孕婴用品的网站文章目录 1 前言1 课题背景2 GAN(生成对抗网络)2.1 简介2.2 基本原理 3 DeOldify 框架4 First Order Motion Model5 最后 1 前言 #x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升#xff0c;传统的毕设题目缺少创新和亮点#xff0c;往往达不到毕业答辩的要… 文章目录 1 前言1 课题背景2 GAN(生成对抗网络)2.1 简介2.2 基本原理 3 DeOldify 框架4 First Order Motion Model5 最后 1 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升传统的毕设题目缺少创新和亮点往往达不到毕业答辩的要求这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设学长分享优质毕业设计项目今天要分享的是 基于生成对抗网络的照片上色动态算法设计与实现 学长这里给一个题目综合评分(每项满分5分) 难度系数3分工作量3分创新点4分 1 课题背景 随着科技的发展现在已经没有朋友会再去买胶卷拍照片了。不过对于很多70、80后来说他们家中还保存着大量之前拍摄的胶卷和老照片。这些老照片是一个时代的记忆记录着我们生活中的点点滴滴。不过时代发展了这些老照片的保存和浏览也应该与时俱进。在本期文章中我们就介绍如何将这些老照片转化为数字照片更方便大家在电脑或者手机上浏览、保存和回忆。 本项目中我们利用生成对抗网络-GAN和图像动作驱动-First Order Motion Model来给老照片上色并使它动起来。 2 GAN(生成对抗网络) 2.1 简介 **GANsGenerative adversarial networks对抗式生成网络**可以把这三个单词拆分理解。 Generative生成式模型Adversarial采取对抗的策略Networks网络不一定是深度学习 模型通过框架中(至少)两个模块生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。原始 GAN 理论中并不要求 G 和 D 都是神经网络只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为 G 和 D 。 2.2 基本原理 这里介绍的是原生的GAN算法虽然有一些不足但提供了一种生成对抗性的新思路。放心我这篇博文不会堆一大堆公式只会提供一种理解思路。 理解GAN的两大护法G和D生成对抗网络GAN由2个重要的部分构成 生成器(Generator)通过机器生成数据大部分情况下是图像负责凭空捏造数据出来目的是“骗过”判别器判别器(Discriminator)判断这张图像是真实的还是机器生成的负责判断数据是不是真数据目的是找出生成器做的“假数据” 这样可以简单的看作是两个网络的博弈过程。在最原始的GAN论文里面G和D都是两个多层感知机网络。首先注意一点GAN操作的数据不一定非得是图像数据不过为了更方便解释用图像数据为例解释以下GAN tensorflow实现 import tensorflow as tfdef load_dataset(mnist_size, mnist_batch_size, cifar_size, cifar_batch_size,): load mnist and cifar10 dataset to shuffle.Args:mnist_size: mnist dataset size.mnist_batch_size: every train dataset of mnist.cifar_size: cifar10 dataset size.cifar_batch_size: every train dataset of cifar10.Returns:mnist dataset, cifar10 dataset# load mnist data(mnist_train_images, mnist_train_labels), (_, _) tf.keras.datasets.mnist.load_data()# load cifar10 data(cifar_train_images, cifar_train_labels), (_, _) tf.keras.datasets.cifar10.load_data()mnist_train_images mnist_train_images.reshape(mnist_train_images.shape[0], 28, 28, 1).astype(float32)mnist_train_images (mnist_train_images - 127.5) / 127.5 # Normalize the images to [-1, 1]cifar_train_images cifar_train_images.reshape(cifar_train_images.shape[0], 32, 32, 3).astype(float32)cifar_train_images (cifar_train_images - 127.5) / 127.5 # Normalize the images to [-1, 1]# Batch and shuffle the datamnist_train_dataset tf.data.Dataset.from_tensor_slices(mnist_train_images)mnist_train_dataset mnist_train_dataset.shuffle(mnist_size).batch(mnist_batch_size)cifar_train_dataset tf.data.Dataset.from_tensor_slices(cifar_train_images)cifar_train_dataset cifar_train_dataset.shuffle(cifar_size).batch(cifar_batch_size)return mnist_train_dataset, cifar_train_dataset3 DeOldify 框架 本项目中用到的上色就用到了DeOldify 框架DeOldify 创建的目的是为了给黑白照片上色但让人惊艳的是它除了能处理图片外也可以处理视频 DeOldify 的核心网络框架是 GAN 对比以前上色技术有以下几个特点 1老照片中的伪影在上色过程中会被消除2老照片的人脸部位来说处理后皮肤会变得更光滑3呈现更详细、真实的渲染效果 实现过程 准备好权重文件 相关代码 #部分代码 def deoldify(self,img,render_factor35):风格化# 转换通道img cv2.cvtColor(img, cv2.COLOR_BGR2RGB)pil_img Image.fromarray(img)# 渲染彩图color_img self.deoldify_model.filter(pil_img, pil_img, render_factorrender_factor,post_processTrue)color_img np.asarray(color_img)color_img cv2.cvtColor(color_img, cv2.COLOR_RGB2BGR)# 转为numpy图print(deoldify 转换成功)return np.asarray(color_img) 实现效果 4 First Order Motion Model First Order Motion model的任务是image animation给定一张源图片给定一个驱动视频生成一段视频其中主角是源图片动作是驱动视频中的动作源图像通常包含一个主体驱动视频包含一系列动作。 通俗来说First Order Motion能够将给定的驱动视频中的人物A的动作迁移至给定的源图片中的人物B身上生成全新的以人物B的脸演绎人物A的表情的视频。 以人脸表情迁移为例给定一个源人物给定一个驱动视频可以生成一个视频其中主体是源人物视频中源人物的表情是由驱动视频中的表情所确定的。通常情况下我们需要对源人物进行人脸关键点标注、进行表情迁移的模型训练。 基本框架 first-order 的算法框架如下图所示主要包括三个部分的网络keyporint detector 检测图像中的关键点以及每个关键点对应的jaccobian矩阵dense motion network 基于前面的结果生成最终的transform map 以及occulation map使用transform map 和 occulation map 对编码后的source feature 做变换和mask处理再decoder 生成出最终的结果。 本项目相关代码 def FOM_video(self,driving_video,source_image,result_video):# 读取图片source_image imageio.imread(source_image)# 读取视频reader imageio.get_reader(driving_video)fps reader.get_meta_data()[fps]driving_video []try:for im in reader:driving_video.append(im)except RuntimeError:passreader.close()# 预处理source_image resize(source_image, (255, 255))[..., :3]driving_video [resize(frame, (255, 255))[..., :3] for frame in driving_video]# 推理predictions self.make_animation(source_image, driving_video, self.fom_generator, self.fom_kp_detector, relativeTrue, adapt_movement_scaleTrue, cpuTrue)# 保存imageio.mimsave(result_video, [img_as_ubyte(frame) for frame in predictions], fpsfps)driving_video ./images/test2.mp4 source_image ./images/out2.jpg result_video ./putput/result.mp4 # 图像动起来 gan.FOM_video(driving_video, source_image,result_video)运行如下命令实现表情动作迁移。其中各参数的具体使用说明如下 driving_video: 驱动视频视频中人物的表情动作作为待迁移的对象。本项目中驱动视频路径为 “work/driving_video.MOV”大家可以上传自己准备的视频更换 driving_video 参数对应的路径;source_image: 原始图片视频中人物的表情动作将迁移到该原始图片中的人物上。这里原始图片路径使用 “work/image.jpeg”大家可以使用自己准备的图片更换 source_image 参数对应的路径;relative: 指示程序中使用视频和图片中人物关键点的相对坐标还是绝对坐标建议使用相对坐标若使用绝对坐标会导致迁移后人物扭曲变形;adapt_scale: 根据关键点凸包自适应运动尺度;ratio: 针对多人脸将框出来的人脸贴回原图时的区域占宽高的比例默认为0.4范围为【0.40.5】 命令运行成功后会在ouput文件夹生成名为result.mp4的视频文件该文件即为动作迁移后的视频。 实现效果 若使用绝对坐标会导致迁移后人物扭曲变形; adapt_scale: 根据关键点凸包自适应运动尺度;ratio: 针对多人脸将框出来的人脸贴回原图时的区域占宽高的比例默认为0.4范围为【0.40.5】 命令运行成功后会在ouput文件夹生成名为result.mp4的视频文件该文件即为动作迁移后的视频。 实现效果 5 最后
http://www.dnsts.com.cn/news/215677.html

相关文章:

  • 个人网站建设网站排名优化专门做网络营销的公司
  • 番禺网站建设哪家强wordpress 产品页 如何关联
  • 域名备案怎么关闭网站怎么一键打开wordpress
  • 网站项目建设申请汇报大纲php快速建网站
  • 青岛seo网站关键词优化社交网站设计
  • 商业中心 网站建设顺风顺水的公司名字
  • 商城微网站如何做郑州第一附属医院不孕不育科
  • 电商网站 解决方案广州有做网站的公司吗
  • 做网站怎样上传文件上海网站备案人工服务器
  • 建购物的网站需要多少钱做百度收录的网站
  • 公司做网站怎么做wordpress精美网站
  • 做网站销售门窗怎么做注册城乡规划师难考吗
  • 广告优化师是做什么的沈阳网络seo公司
  • 知名企业网站例子五金加工厂怎么做网站
  • 直播软件下载网站商标设计logo免费软件
  • 垂直电商网站有哪些成都自助建站软件
  • 温州建设工程网站网页在线代理
  • 网站开发客户的思路总结网站用户粘度
  • 网站建设业务好做吗网站建设中 切片指什么
  • 学校网站建设方案模板个人可以做彩票网站吗
  • 备案号 查询 网站网站数据统计怎么做
  • 手机网站 php西宁服务
  • 宝安品牌网站制作晋江规划建设局网站
  • 10大设计师网站长尾关键词挖掘网站
  • 旅游最好的网站建设有哪些html5制作的网站
  • 做网站的哪个好网上服装商城网站建设方案策划
  • 烟台建设集团 招聘信息网站网站开发与应用论文百度文库
  • 做网页课件的网站wordpress可以做淘宝客
  • 做网站具体流程步骤企业查名
  • 中国建设银行手机银行下载官方网站东西湖区网站建设公司