实战OpenCV与深度学习

卡通化-看看二次元的你长什么样

2020-07-15  本文已影响0人  冰不语
cartoonize_show_4.jpg

CVPR2020收录了一篇卡通化的文章,Xinrui Wang和Jinze Yu的《Learning to Cartoonize Using White-box Cartoon Representations》。可以把人物或者风景画转换为卡通风格的图片,效果非常惊艳。

相比于之前深度学习为人诟病的“黑盒”学习,文章中提出了生成卡通化图片的“白盒”表示法,将图像分解为三种卡通表示,指导网络优化生成卡通照片,三种表示分别是surface表示、structure表示、texture表示。

cartoonzie_paper_1.jpg

我个人的理解是,图像的三种表示分别是表示图像的低频特征、中频(结构)特征和高频特征,就像是从远处、不远处和近处的视角分别看同一个人的过程:

图像被分解为surface表示、structure表示、texture表示之后,卡通化的任务也就比之前端对端的黑盒式学习明确了很多。作者提出用三个独立的模块分别去学习图像的这三种表示,即三个模块分别提取图像的低频、中频和高频的特征。

cartoonzie_paper_2.jpg

文章提出了一个包含一个生成器G(Generator)和两个判别器Ds(D_surface)和Dt(D_texture)的GAN框架。

过程可以理解为,

将GAN生成器产生的fake_image分别于上述表示结果做损失。其中

总损失由以上各种损失加权,可以通过改变损失函数中每个特征loss的权重来调整卡通化结果的样式。

这样处理之后,对于大部分图片的卡通化处理都非常惊艳。来几张图看看效果吧。


cartoonize_show_4.jpg cartoonize_show_1.jpg cartoonize_show_2.jpg cartoonize_show_3.jpg

想自己试试的小伙伴可以下方链接尝试:
自己试试卡通化吧

上一篇 下一篇

猜你喜欢

热点阅读