版权说明:未经同意,禁止转载。(更新时间:2020-11-17) | 个人笔记,仅供参考。
关键词:为线稿(插画)添加简易光照效果
目录
1. 基本信息
论文标题:Learning to Shadow Hand-drawn Sketches
基于深度学习方法,为手绘线稿添加“平涂式阴影”(一种简易的光照效果,即:赛璐璐风格2D动画的阴影效果)
发表会议:IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 2020 (Oral) (CCF A类会议)
研究领域:计算机图形学,重光照(Relighting),图像翻译(Image translation),生成式对抗网络(GAN)
作者:Qingyuan Zheng, Zhuoru Li, Adam Bargteil
论文链接:(1)arXiv (2)CVF Open Access
项目主页:链接
在线演示:见项目主页,包含官方/非官方在线演示。(对于官方演示,需要点击右侧说明下方的“开始”按钮后,才会开始加载模型。)如果无法运行或模型文件加载太慢,请下载代码后本地部署运行。
论文演示视频:B站
代码:
(1)qyzdao/ShadeSketch,包含训练好的模型、训练代码、数据集。
(2)演示系统代码:qyzdao/ShadeSketch/tree/gh-pages
→→论文简介:(1)论文笔记-知乎专栏 ,(2)论文简介-知乎专栏,(3)论文笔记-博客园
2. 问题概述
“厚涂式光照效果”包含大量颜色渐变、镜面反射和阴影效果,非常类似于3D模型的渲染结果。而“平涂式阴影”是其简化版本,仅在底色层的基础上叠加一层单色阴影。“平涂式阴影”常见于“赛璐璐风格的2D动画”(Cel Animation)中。这是因为流畅的动画一般需要达到每秒约24帧,其中每一帧的绘制工作都需要耗费大量时间。使用“平涂式阴影”代替“厚涂式光照效果”,能在保留光照效果的同时,节省大量人力成本。
问题:“平涂式阴影”需要根据物体的3D模型进行生成和绘制 [ref-1]。(当然,对于胸有成竹的专业画家而言,不需要3D模型。)那么,在没有对应3D模型的情况下,算法如何为平面线稿自动添加“平涂式阴影”?
3. 生成阴影效果示例
(1)光照方向编号说明:光照方向编号方法如下图立方体所示,靠右边的编号1~3表示3个平面,靠左边的编号1~8表示每个平面上具体的8个位置。光照方向的编码格式为“xy0”,其中x取1~8,y取1~3,0用于占位无意义。
(2)静态阴影效果:
(3)光源移动效果:
(4)为连续动画帧添加阴影效果:
4. 应用:结合阴影和底色图层
问题:如何为自动上色结果(由Style2Paints/PaintsChainer等软件生成)添加“平涂式阴影效果”?
操作步骤如下:
(1)使用ShadeSketch为线稿添加阴影。
(2)使用PhotoShop / Paint.Net(免费)/GIMP(免费)等图像编辑软件打开Style2Paints生成的上色结果,其所在图层记为“上色图层”。
(3)在上色图层之上,新建一个图层(阴影图层),在该图层中导入添加ShadeSketch生成的阴影结果。
(4)将阴影图层的“图层混合”属性设为“正片叠底”(Multiply,也译为“相乘”)。
“正片叠底”的计算公式为,对于R、G、B每个颜色通道:
其中:RGB颜色值∈[0,255],∈[0,1]。
(5)(可选)选中阴影图层,PS菜单-图像-调整-亮度/对比度,调节阴影图层的“亮度”,以调整阴影的强度。
(光照方向为810)
基于数学算法的论文:
(1)会议版本:
论文标题:2D Shading for Cel Animation
用于赛璐璐动画的2D阴影半自动生成算法(基于数学算法)
发表会议:Proceedings of the Joint Symposium on Computational Aesthetics and Sketch-Based Interfaces and Modeling and Non-Photorealistic Animation and Rendering. 2018
研究领域:计算机图形学,赛璐璐风格动画(Cel Animation),基于图像的渲染(Image-based rendering)
作者:Matis Hudon, Rafael Pagés, Mairéad Grogan, Jan Ondřej, Aljoša Smolić
论文链接:(1)ResearchGate(2)ACM | 项目主页:链接 | 代码:暂未公布
(2)期刊改进版本:
论文标题:2DToonShade: A stroke based toon shading system
发表期刊:Computers & Graphics: X (2019) (已更名为:Graphics and Visual Computing)
论文链接:(1)ResearchGate(2)Elsevier
(Original drawing by Matis Hudon, used under CC BY.)
概述:论文提出了一个半自动的2D阴影(平涂式阴影)生成算法。用户设置好光源的位置和方向之后,再逐个选出待添加阴影的封闭区域。(只需选出大致区域,如脸部,不需要指出阴影的精确位置。)然后算法根据与光源的距离和夹角,自动在这些区域的适当位置添加适当大小的阴影。(与上文深度学习方法的区别在于,该算法无法自动确定需添加阴影的区域。)当更改光源位置时,所有阴影的位置和大小会随之改变。另外,对于连续的动画帧,当完成第一帧的阴影添加之后,算法能自动为后续的帧添加阴影。
相关论文:
论文标题:Blur Algorithms for Cartoon Animation
用于卡通动画的模糊算法(能够为“平涂式阴影”添加模糊效果,使过渡更加自然)(基于数学算法)
发表会议:SIGGRAPH Asia 2018 Posters
作者:Marc Salvati, Kota Ito (来自著名动画公司OLM Digital, Inc.)
论文链接:ACM
最后,感谢作者开源了相关代码、模型、数据集。作者禁止将其用于商业/盈利目的,请尊重版权!
参考资料:
[ref-1] 绘画教程-手把手教你画阴影-知乎专栏