动手学深度学习——8. 人物肖像画

记录一下学习深度学习的一些。本篇记录一下使用 U^2-Net (paper) 生成人物肖像画,还有 APDrawingGAN。

环境:

  • Windows 10
  • 8700K
  • 2070
  • Pytorch 1.7.1

U^2-Net 是一个用于显著目标检测的网络 (Salient Object Detection),至于为什么叫 U^2-Net,看网络结构

checkpoints:

  • GoogleDrive
  • Baidu pan:chgd

肖像生成

使用 U^2-Net 生成肖像很简单,官方提供详细的操作流程,不过有一点小瑕疵的就是,官方在测试的时候别没有禁用梯度,也就是没有在 with torch.no_grad(): 域下进行 forward,占用不少显存,导致一些分辨率稍大的图片,例如 1080P 之类在本机会报错 OOM。同时,demo 的 normalize 与 test 不同,会导致结果稍微差一点,表现明显的就是头发没那么密实,所以我修改了一番。

demo:

input = input/np.max(input)tmpImg[:,:,0] = (input[:,:,2]-0.406)/0.225
tmpImg[:,:,1] = (input[:,:,1]-0.456)/0.224
tmpImg[:,:,2] = (input[:,:,0]-0.485)/0.229

fixed:

img = img / np.max(img)
tmpImg[:, :, 2] = (img[:, :, 0] - 0.406) / 0.225
tmpImg[:, :, 1] = (img[:, :, 1] - 0.456) / 0.224
tmpImg[:, :, 0] = (img[:, :, 2] - 0.485) / 0.229

生成:

python pics_2_portrait.py --ckpt path_to_model --output dir_to_output input_dir

对比结果:

demo test fixed

效果展示:

src dst

可以看到第三张的背景有点瑕疵,可见对于复杂背景的还是难以处理,当然也可能和训练模型的数据有关,作者使用的是 APDrawing dataset,实体较少,就140名不同的艺术家的面部照片,分辨率为 512×512512 \times 512512×512,其余的都是增强得来,即旋转缩放之类。

这个网络不仅可以生成人物的肖像,还可以生成其他生物的,我试了一些狗子的,效果尚可。待有空再试一下用 U^2-Net 训练肖像生成,人像分割和显著物体检测,还有 APDrawingGAN。

视频生成

素描视频生成其实就是将视频的每帧读取出来,按照单张相片进行处理,处理完毕后再写入文件即可。这里的视频读取及写入分别使用了 OpenCV 的 VideoCapture 和 VideoWriter。

python video_2_portrait.py --ckpt path_to_model --output path_to_output_video path_to_video

由于视频素材不好找,而且处理时间过长,没有效果展示了。尝试了一下 16 分钟的 1080P 的 60fps 的视频,处理时间长达8小时。

Code

  • Scripts

动手学深度学习——8. 人物肖像画相关推荐

  1. 「动手学深度学习」在B站火到没谁,加这个免费实操平台,妥妥天花板!

    论 AI 圈活菩萨,非李沐老师莫属. 前有编写「动手学深度学习」,成就圈内入门经典,后又在B站免费讲斯坦福 AI 课,一则艰深硬核讲论文的视频播放量36万,不少课题组从导师到见习本科生都在追番. 如此 ...

  2. 《动手学深度学习》中文第二版预览版发布

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨李沐@知乎 来源丨https://zhuanlan.zhihu ...

  3. 收藏 |《动手学深度学习》中文版PDF

    对于初学者来说,直接阅读英文资料,效率慢,估计读着读着都没有信心读下去了.对于初学者,中文资料是再好不过了.今天小编就来安利一本中文资料--中文版本的<动手学深度学习>. 资料领取: 扫码 ...

  4. 深度学习经典教程:深度学习+动手学深度学习

    作者:[美] Ian,Goodfellow(伊恩·古德费洛),[加] Yoshua,Bengio(约书亚·本吉奥)等 出版社:人民邮电出版社 品牌:异步图书 出版时间:2019-06-01 深度学习经 ...

  5. 资源 | 李沐等人开源中文书《动手学深度学习》预览版上线

    来源:机器之心 本文约2000字,建议阅读10分钟. 本文为大家介绍了一本交互式深度学习书籍. 近日,由 Aston Zhang.李沐等人所著图书<动手学深度学习>放出了在线预览版,以供读 ...

  6. 最新版 | 2020李沐《动手学深度学习》

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 强烈推荐李沐等人的<动手学深度学习>最新版!完整中文版 PDF 终于 在 ...

  7. 动手学深度学习需要这些数学基础知识

    https://www.toutiao.com/a6716993354439066124/ 本附录总结了本书中涉及的有关线性代数.微分和概率的基础知识.为避免赘述本书未涉及的数学背景知识,本节中的少数 ...

  8. 《动手学深度学习》PyTorch版GitHub资源

    之前,偶然间看到过这个PyTorch版<动手学深度学习>,当时留意了一下,后来,着手学习pytorch,发现找不到这个资源了.今天又看到了,赶紧保存下来. <动手学深度学习>P ...

  9. 用PyTorch实现的李沐《动手学深度学习》,登上GitHub热榜,获得700+星

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 李沐老师的<动手学深度学习>是一本入门深度学习的优秀教材,也是各大在线书店的计算机类畅销书. 作为MXNet的作者之一,李沐老 ...

最新文章

  1. HALCON基于形变的模板匹配实现
  2. 结合自己造的轮子实践按需加载
  3. 2.1.1Remove Duplicates from Sorted Arr
  4. 各浏览器CSS兼容问题
  5. [react] 简要描述下你知道的react工作原理是什么?
  6. redis stream学习总结
  7. ORACLE多条件的统计查询(case when)
  8. 【人脸识别】FaceNet详解
  9. Pandas to_string
  10. Visual Assist X Options 常用宏
  11. 原生node写一个静态资源服务器
  12. JSK-129 判断日期是否符合格式【入门】
  13. 几个跨平台移动App开发方案框架比较
  14. 郑义宣就任韩国现代汽车集团会长;爱立信携手中国电信运用爱立信频谱共享技术 | 美通企业日报...
  15. 单片机4*4矩阵键盘的原理
  16. apue第三版P106:ftw程序中使用的path_alloc
  17. Installation Installing SDKMAN
  18. 【论文阅读一】Adaptive Cross-Modal Few-shot Learning
  19. 已达到人类水准语音识别模型的whisper,真的有这么厉害吗?
  20. 一、webpack的全局安装和局部安装以及使用

热门文章

  1. weblogic子节点服务器启动常见错误汇总
  2. 二极管电路的分析方法
  3. HPLC分类及其原理
  4. 对编程相关的某些概念的思考
  5. Lammps 如何计算速度矢量分布?
  6. 华尔街日报创新大奖!
  7. 3——ls-wc-管道符号-alias-路径-touch-通配符
  8. 操作系统 段页式存储管理
  9. cisco packet tracer_sign up(基于临时邮箱/qq邮箱注册并成功在软件中登录)(2021.9实践)(应对Sorry, we can‘t find a NetAcad...)
  10. Cisco思科网络插件Contiv (一) 安装