就是GAN-萌新使用PaddlePaddle论文复现初探索之First-Order

先来科普一下

 
 

  • 萌新

自然就是我啦-只看过机器学习入门课程的菜鸟。如果你也是这样,那就可以放心的向下看了
欢迎大家一起交流~~~
 
 

  • PaddlePaddle

国货之光–类似Tensorflow,pytorch的机器学习框架。没听过?不要疑惑,这里有免费Tesla V100显卡可以撸,对于没算力的小白真的香,大可一试,框架一通百通,提升实战能力!!!

传送门>>撸算力请入
 
 

  • “GAN”

人工智能领域内,当下机器学习中热门的深度学习中的艺术家算法鼻祖。
G >> generative 生成! 它可以像人类艺术家一样,创造出新的图片,视频,而不仅仅是分猫狗。
创造才是智能,这一点是最吸引我的地方(✪ω✪)

 
 

First-Order

大佬们在GAN算法的思想下提出的新算法–来自2019NIPS顶会的一篇论文
本次就让我带大家来感受一下大佬的思想吧(σ゚∀゚)σ…:*☆哎哟不错哦
就是GAN-萌新使用PaddlePaddle论文复现初探索之First-Order_第1张图片

GitHub代码传送门

paper原文分享:
链接: https://pan.baidu.com/s/1ie7dLLvOJgBOzIlbowGBCw 提取码: kckg
 
 

论文带读

 

任务与功能–万物皆可动

举个例子:
给一个源图像,给一个驱动视频,就可以让图像动起来啦

就是GAN-萌新使用PaddlePaddle论文复现初探索之First-Order_第2张图片
主要功能:表情迁移,虚拟换衣,动作迁移,虚拟头像等
就是GAN-萌新使用PaddlePaddle论文复现初探索之First-Order_第3张图片
 
 

前置知识

算法知识–生成对抗网络

  • GAN : Generative Adversarial Nets cGAN : Conditional Generative
  • Adversarial Nets Pixel2pixel : Image-to-lmage Translation with
  • Conditional Adversarial Net-works

数学知识–微积分,泰勒展开公式

对于小白,我们今天的任务就是总体感受一下该算法的功能,算法知识没有可以后续补,掌握这些能更好的理解算法,不知道的话有GAN基础认知也可以读,只不过体验有点差/(ㄒoㄒ)/~~

 
 

优势对比

以前的工作:

  • 是为特定领域设计的(人脸,人体轮廓,手势)
  • 需要冗长的语义标签与标签检测器
  • 需要大量的图片对象的先验知识
     
    总结一下,就是设计的模型只能用在特定领域,对于新场景又需要训练新的模型。
    同时对训练所需的数据集数量要求很大,同时需要语义标注,这大大增加了获取数据集的难度。

本算法的优化点:

  • 该模型使用与多个领域
  • 不需要源图片的先验信息和标签信息
  • 相较于Monkey-net 对于无法通过图像扭曲的到的采用image inpainting得到。
    就是GAN-萌新使用PaddlePaddle论文复现初探索之First-Order_第4张图片
    对于第一点:一次训练,就可以在多个相似场景下使用。
    传统算法:以上虚拟试衣场景需要训练7个模型 NO
    本论文算法:只需训练一个模型即可 YES
    对于第二点:First-Order会自己提取信息,降低了对训练集的要求。
    对于第三点:Monkey-net是和First-Order模型相近的一种模型

 
 

实现方法

就是GAN-萌新使用PaddlePaddle论文复现初探索之First-Order_第5张图片

评判标准Metrics

  • L1距离。计算了生成图片和ground-truth的1距离。
    Average Keypoint Distance (AKD)平均关键点距离。
    对于Tai-Chi-HD, VoxCeleb and Nemo数据集,采用了 第三方预训练的关键点检测器来进行评估。
    AKD是通过计算ground truth检测关键点与生成视频的平均距离得到的。
  • Missing Keypoint Rate (MKR)关键点缺失率。
    在Tai-Chi-HD数据集中,姿态估计器为每个关键点返回一个额外的二进制标签,以指示是否成功地检测到关键点。这个度量评估每个生成帧的外观质量。
  • Average Euclidean Distance (AED)平均欧式距离。
    计算了ground truth和生成的帧表示之间的平均欧式距离。
    就是GAN-萌新使用PaddlePaddle论文复现初探索之First-Order_第6张图片
     
     

代码整体把握

代码框架

  • demo.py为测试的入口文件
  • run.py为训练的入口文件 (训练的基础配置 和模型定义)
  • train.py为训练的入口文件 (配置训练/更新策略 )
  • frames_ _dataset.py完成对数据读入的定义
  • generator.py中完成对生成模块中的生成器的定义
  • discriminator.py中完成对生 成模块中判别器的定义
  • keypoint_ detector.py中完成对动作运动估计模 块中的骨骼关键点提取的定义
  • dense_ motion.py将关键点转换为D到S的映射,在生成器种使用
  • model.py是为了将所以与生成器/判别器有关的更新合并到同一个模型中,方便多机训练。
    就是GAN-萌新使用PaddlePaddle论文复现初探索之First-Order_第7张图片
    详细代码可以查看GitHub哦~
     
     

总结

是不是有点晕,正常,我也是晕晕的,哈哈!
本次是对First-Order的初体验,大家只需要知道这个论文能干啥,自己对这个方向感不感兴趣即可,毕竟兴趣是最好的老师。对于小白,没有什么论文是必读不可,关键是我们先选择感兴趣的读下去!!!
 
下次让我们聚焦代码,完成复现吧,下次见~
 
*✧⁺˚⁺ପ(๑・ω・)੭ु⁾⁾ 好好学习天天向上

你可能感兴趣的:(深度学习)