(更新时间:2020-03-11)
本文属于:动漫线稿自动上色-系列论文解读
目录
1. 基本信息
论文标题:LazyBrush: Flexible Painting Tool for Hand-drawn Cartoons
LazyBrush:一种灵活的上色工具,用于手绘卡通画上色(兼容:漫画、线稿、素描、动画)
论文链接:(1) CVUT (2) Wiley Online Library
研究领域:计算机图形学,基于颜色提示的线稿上色,交互式图像分割(Interactive Image Segmentation),图论(Graph Theory)中的“图割问题”(Graph Cut)
作者:Daniel Sýkora, John Dingliana, Steven Collins - Trinity College Dublin
发表会议:Eurographics 2009 (CCF B类会议)
被引次数:81次(截止2020.03)
代码与模型:
(1)官方代码:仅有商业闭源实现,见项目主页
(2)非官方复现:
a. kosua20/LazyBrush-implementation,Matlab实现,高质量教学演示项目,含法语说明文档
b. furaga/LazyBrushSharp,C#实现
研究意义:
1. 算法已集成到商业绘画软件TVPaint,以及开源软件Krita中。
2. 基于传统分割方法,由此带来诸多优势:
(1)算法鲁棒性(泛化能力)、上色成功率远高于深度学习方法;
(2)计算量小,上色速度快于深度神经网络;
(3)硬件要求低:适合在单机CPU上运行,无需拥有大显存的服务器级GPU加速;
(4)使用基于图论的Segmentation方法,无需训练数据集,也无需训练过程。
3. 算法的泛化能力很强(Flexible),同时兼容多种类型的手绘卡通作品上色,包括:漫画、铅笔线稿、钢笔线稿、素描,以及连续动画帧的快速上色。
2. 论文整体思路概述
论文整体分为两个部分:第一部分是算法需求描述,提出了理想中的完美上色算法应满足的特性。第二部分是问题建模与算法设计。
本文把上色问题建模为一个“最优化问题”,通过定义一个“能量函数”(Energy function,类似于损失函数)来形式化地定义“线稿上色问题”。当能量函数的值达到最小时,就实现了最优的上色效果。
为了求解这一最优化问题,需要将“能量函数”转化为一个等价的“multiway cut problem”(属于“图论”中“Graph Cut问题”的一种)。然后提出一种基于“最大流/最小费用”(max-flow/min-cut)的算法进行求解。
本文对线稿上色问题的求解思路,主要借鉴了“交互式图像分割问题”(Interactive Image Segmentation,俗称“抠图”)中,基于Graph Cut的分割方法,且对其进行了修改以适合于手绘动漫上色。要了解基于Graph Cut方法的交互式图像分割,可参阅zouxy09的这篇博文。