软件学报  2018, Vol. 29 Issue (4): 1071-1084   PDF    
基于创意序列学习的艺术风格学习与绘制系统
谢宁1,2, 赵婷婷3, 杨阳1,2, 魏琴4, Heng Tao SHEN1,2     
1. 电子科技大学 未来媒体研究中心, 四川 成都 611731;
2. 电子科技大学 计算机科学与工程学院, 四川 成都 611731;
3. 天津科技大学 计算机科学与信息工程学院, 天津 300457;
4. 贵州省公共大数据重点实验室(贵州大学), 贵州 贵阳 550025
摘要: 在众多传统艺术绘画形式中,笔触是被现代计算机绘画工具(GIMP、Photoshop和Painter)普遍采用的形式之一.创新性地提出了服务于非真实感渲染AI辅助艺术创作系统(A4).系统能够实现自动生成特定艺术家风格的笔触效果.该系统在强化学习框架下,主要进行以下研究工作:(1)提出基于PGPE的正则化策略学习方法以提高风格学习过程的稳定性;(2)利用IRL(inverse reinforcement learning)算法实现了艺术风格行为的模型化及其数字化保护方法.实验结果表明,所提方法行之有效地实现了针对具体个性风格的照片水墨画艺术风格转化.
关键词: 多媒体信息处理     序列数据分析     图像风格化     基于笔触的合成     逆向强化学习     策略探索    
Creative Sequential Data Learning Method for Artistic Stylisation and Rendering System
XIE Ning1,2, ZHAO Ting-Ting3, YANG Yang1,2, WEI Qin4, Heng Tao SHEN1,2     
1. Center for Future Media, University of Electronic Science and Technology of China, Chengdu 611731, China;
2. School of Computer Science and Engineering, University of Electronic Science and Technology of China, Chengdu 611731, China;
3. School of Computer Science and Information Engineering, Tianjin University of Science and Technology, Tianjin 300457, China;
4. Guizhou Provincial Key Laboratory of Public Big Data(Guizhou University), Guiyang 550025, China
Foundation item: National Natural Science Foundation of China (61602088, 61572108, 61632007); Fundamental Research Funds for the Central Universities (ZYGX2016J212, ZYGX2014Z007, ZYGX2015J055); National Basic Research Program of China (973) (2015CB856000)
Abstract: Among various traditional art forms, brush stroke drawing is one of the widely used styles in modern computer graphic tools such as GIMP, Photoshop and Painter. In this paper, an AI-aided art authoring (A4) system of non-photorealistic rendering is developed that allows users to automatically generate brush stroke paintings in a specific artist's style. Within the reinforcement learning framework of brush stroke generation, the first contribution in this paper is the application of regularized policy gradient method, which is more suitable for the stroke generation task. The other contribution is to learn artists' drawing styles from video-captured stroke data by inverse reinforcement learning. Experiments demonstrate that the presented system can successfully learn artists' styles and render pictures with consistent and smooth brush strokes.
Key words: multimedia information processing     sequential data analysis     image artistic stylization     stroke-based rendering     IRL (inverse reinforcement learning)     policy search    

近年来, 全球文化创意产业的飞速发展使得艺术风格化(artistic stylisation)日趋得到重视.艺术风格化主要是利用数学理论和计算机模拟的方法来模拟绘画工具及艺术创作行为, 在影视特效、动漫创作、游戏研发等很多数字媒体领域都得到了重要的应用.作为新兴的交叉学科, 艺术风格化是多媒体数据处理的重要组成部分, 已成为多媒体信息处理、计算机图形学、计算机视觉、模式识别、人工智能、机器学习等共同关注的热点问题之一[1].随着数字绘画与设计的推进, 艺术风格化技术作为数字笔刷引擎核心, 被广泛应用于创意工具软件(如Adobe Photoshop、Corel Painter、Celsys Retas Studio等)当中.然而, 由于创意软件的无纸化与工程化步伐不断加快, 现有技术逐渐不能满足需求, 存在艺术风格表现弱、自动化程度低、人机交互差等缺陷.因此, 近年来艺术风格化被视为智能控制问题.研究者们试图利用人工智能与机器学习算法学习现有艺术家(作品)的风格, 并用于自动绘制新的内容作品[2, 3](如图 1所示).

Fig. 1 Automatic artistic rendering 图 1 自动艺术风格化绘制

现存方法由于存在人工干预特征选择和模型参数调整等局限, 使得系统学习效率低, 效果不理想以及艺术风格统一度薄弱等.艺术风格化无论在理论上还是在技术上都有一系列的问题有待于发展和完善.在创意行为方面的序列化多媒体数据的学习成为了解决智能数字艺术问题的主要途径之一.特别是如何从大规模复杂创意行为数据中挖掘行为(风格)模式, 并将其引入智能艺术绘制成为了当前一大挑战.

本文从记录创意行为的多媒体数据的采集入手, 深入探讨其中特征提取、层次结构化特征学习与智能绘制决策机制这3个方面, 对智能艺术绘制进行系统、深入、广泛的研究, 旨在设计和开发出新的面向艺术风格化的具有学习能力的智能体(agent)学习与决策过程框架.针对行为数据精确采集与风格特征冗余问题.风格统一度量与全局表达问题, 创意行为动态策略优化问题的解决具有重大的理论意义.同时, 还可以为基于智能体的系统对于复杂环境自适应能力的提高提供新的解决思路, 为智能艺术绘制技术应用的进一步推广奠定扎实的理论和技术基础.

本文的主要贡献有如下4点:

(1) 提出面向数字绘画的复杂多媒体数据采集与特征提取算法;

(2) 提出基于逆向强化学习的创意行为模型;

(3) 提出基于PGPE(policy gradient with parameter based exploration with optimal baseline)的正则化策略学习方法以提高风格学习过程的稳定性;

(4) 开发了一套具有学习能力的互联网艺术风格化渲染系统.

本文第1节对艺术风格化方法进行总结.第2节对本文提出的方法进行总体阐述.第3节集中介绍所提出的艺术序列数据采集硬件设计与软件开发.第4节介绍基于Policy Learning的艺术风格学习算法.第5节对用于艺术风格描述的反馈报酬函数构建进行阐述.第6节介绍具有学习能力的个性艺术风格化渲染系统A4(ai-aided art authoring)的实现方法.最后总结全文, 并对未来值得关注的研究方向进行初步探讨.

1 相关工作

20世纪90年代中期起, 多媒体数据处理及计算机图形学领域出现了一批引人注目的追求具有艺术化效果的、更具表达能力的画面绘制效果的研究工作.研究者们明确提出了不同于传统真实感图形绘制的“非真实感图形”绘制(non-photorealistic rendering, 简称NPR)技术的研究[4], 也有学者把它们称为艺术风格化(artistic stylisation)[5].基于笔触的绘制(stroke-based rendering, 简称SBR)方式是解决艺术绘制问题的有效方法.该类方法由美国计算机科学家Strassmann博士首次提出基于笔触的绘制理论[6].其研究主要基于艺术理念和计算机虚拟绘画工具, 如何仿效艺术家和设计师创作决策行为, 在2D数字画布上自动生成笔触最终完成绘画风格图像.由于其兼容性和参数化实现简便等优点, SBR模型作为数字笔刷引擎核心, 实现于主流商用数字绘画软件当中, 用于动漫制作、游戏美术设计等的工作流程中, 处理线稿生成、基于笔触填色、艺术风格化等操作步骤当中.目前, 解决自动绘制的SBR方法主要分为过程式(procedural)SBR方法(简称PSBR)、启发式(heuristic)SBR方法(简称HSBR)和学习式(learning)SBR方法(简称LSBR)这三大主流算法.PSBR主要是利用面向具体笔刷的简化模型, 通过过程化的程序流程完成指定样式笔触的生成.目前, 主流商用数字创意软件采用此类方法对于特定的绘画工具产生的笔触进行自动绘制.经典的绘画工具的自动笔触绘制形式包括油画、水彩及水墨画等[7-9].然而, 传统的PSBR方法仅针对艺术化、风格化的最基本单元笔触进行基于参数控制的调整, 用户往往要耗费大量时间在手动参数调整的过程中.为此, Litwinowicz等人首次提出了自动绘画的HSBR算法[10].该方法就当前生成的笔触对于源图像的边缘梯度变化进行比较, 从而确定笔触绘制的顺序及相应笔触配置信息.最终达到满足一定风格化标准的整体绘制最优化的目标.Shiraishi和Yamaguchi将风格评价函数进行扩展, 采用基于图像2D统计矩特征来计算笔触的方向和尺寸[11].从而, 对于风格进行更加细致的表达.较早期的方法局限于采用简单的笔触矩形纹理在不同方向和尺寸上的叠加贴图实现绘制[12].Hertzmann提出的改进方案包括两大创新[13].首先, 设计了较为复杂的基于Spline曲线的笔触模型表达.其次, 对于笔触自动布局, 采用多层级多分辨率的策略进行优化.该方法的提高在于能够有针对性地满足用户对于源图像的特征细节的绘制要求.此外, 基于感知计算的HSBR方法被提出用于处理较高层次的画面及场景的构图风格[14].综上所述, HSBR的优势在于能够在大量笔触所构成的高维空间内搜索最优自动笔触布局, 为用户更高层面地实现画面全局控制, 较传统的PSBR方法节省了大量的时间.针对不同的艺术风格, HSBR的开发者需要凭借人为设计风格评价函数.但在实际应用中, 人为地调整风格评价函数过于依赖专家经验, 难以保证客观而准确的度量.

近年来, 艺术风格化被视为智能控制问题.研究者们试图利用人工智能与机器学习算法学习现有艺术家(作品)的风格, 并用于自动绘制新的内容作品.国际人工智能顶级会议IJCAI于2015年就专门针对人工智能与数字艺术交叉研究设立了专题峰会来讨论数字艺术的人工智能算法问题.为此, 基于学习的SBR方法(简称LSBR)应运而生.从数据类型角度, LSBR方法分为面向静态样本数据与面向动态样本数据这两大方向.静态样本数据包括艺术作品的画面元素数据(线条、笔触及纹理等).这些数据可以直接利用数码相机、扫描仪等设备便捷地加以获取, 使得面向静态样本的LSBR方法[15-20]得以迅速发展.随着对样本数据的LSBR方法研究的深入, 研究者们发现动态序列数据能够更全面地记录创意过程(creative process), 能够更准确地表达艺术家的创作决策过程与艺术风格.近年来, 动态数据的学习方法在手写字体识别(hand-writing recognition, 简称HWR)领域取得了很大的突破并得到了广泛应用[21].HWR方法是将具有不同手写风格的有序轨迹数据识别并转化为文字编码的过程.相比于HWR把手写动态数据的风格(style)信息和内容(content)信息进行有效分离从中提取出文字的内容信息, 艺术风格化方法则是将内容以不同的风格加以展示.2011年, 香港城市大学Fu教授受到认知科学的相关研究的启发, 首次对于线描画的创作过程进行动态表示[22].2013年, 微软研究院的Zitnick提出了通过在线学习线条的几何特性来实现实时线描风格化[23].该方法的优势在于无需事先创建字符、文字或者笔划形状库, 仍然可以实时地进行处理.全球对于数字媒体内容的智能处理得到了广泛的关注.

相对于面向简单序列数据的线描风格学习方法, 对复杂笔触动态风格学习的研究发展则相对缓慢.这是由于笔触动态数据所固有的难点和复杂度所致.笔触动态数据需要包含笔刷运动姿态、笔划生成轨迹、颜色及纹理变化、笔画绘制先后顺序及位置关系信息和构图特征分布变化等一系列信息, 记录了创意过程的方方面面[24].从而造成此类序列数据复杂, 不但数据规模大, 维度高, 而且结构多样.因此, 如何从大规模复杂行为序列数据中挖掘行为模式作为风格策略, 并将其引入智能艺术绘制成为了当前一大挑战.隐马尔可夫模型(HMM)是关于时序的概率描述模型, 能够寻找一个事物在一段时间内的变化规律, 并能在特定情况下预测下一变化.由于HMM在多用户动态模式检测上的优势.2009年, Okabe等人在日本东京工业大学提出了基于HMM笔触运笔风格化的框架与实现构架[6], 能够有效地降低输入参数维度.同时, 针对每个时刻预测笔刷的姿态并优化最佳姿态.然而, 该方法并不能自动地选择绘制笔触的动作以实现最佳笔刷姿态生成指定形状笔触绘制的目标.针对艺术绘制中动作与状态的交互过程进行深入探讨, 研究者们提出了基于MDP的动作决策过程模型[23]与策略优化方法[25-28].这一提案得到了业界的广泛认可.

Fig. 2 Overview of multimedia system for aritisc rendering (A4) 图 2 面向艺术风格化的多媒体数据处理系统A4框架图

综上所述, 结合国内外同行的研究报道与本文研究基础, 尽管近年来, 对于艺术风格化问题的研究已有了一定的研究成果, 但仍存在如下挑战.

(1) 如何有效地采集艺术家创意过程的复杂多媒体数据.目前通常的研究对象主要是已完成的静态绘画作品.由于缺乏对创意过程中行为相关复杂动态数据的有效处理方法, 难以有效地解决对于绘画过程的理解;

(2) 如何识别和学习风格化创作行为特征.目前研究对于风格的制定主要是基于规则的.此类规则多半由软件设计人员来制定, 难以保证风格一致性, 导致结果缺乏真实性, 难以有效地表达艺术风格特点;

(3) 如何设计艺术风格化行为动态决策模型.目前的研究尚未对艺术家创作过程进行有效的分析和理解.然而, 在创作任务过程中对画作的当前状态理解、对绘制动作决策以及下一步操作都直接影响着风格化的最终效果.因此, 要形成对基于创作行为的风格化策略模型还需要更具创新性的理论和方法研究.

2 研究框架

本文提出了针对面向艺术风格化的多媒体数据处理系统A4.其包含离线艺术风格学习阶段和在线自动绘制阶段(如图 1所示).具体来说, 在离线艺术风格学习阶段, 具体包括4个步骤.(1)艺术风格化复杂多媒体数据采集与特征提取算法设计(见第3节).(2)基于策略梯度法的艺术风格学习模型设计(见第4节).(3)针对艺术风格量化评价的反馈报酬函数设计(见第5节).(4)轻量化页端艺术化渲染跨平台系统开发(见第6节).

通过实验, 证明了我们提出的艺术多媒体数据处理A4系统能够实现个性化风格学习与绘制.

3 面向艺术风格序列多媒体数据采集

为了能够学习指定艺术家的创作风格与动态策略, 首要任务是尽可能精确地采集艺术家的真实数据并加以分析, 有别于传统的静态纹理数据合成方法, 本文着眼于创意过程中产生的动态数据.因此, 不同于传统的机器人领域用于模仿学习(imitation learning)的动作捕捉设备[29, 30], 我们全面地收集创意过程中产生的艺术家的动作数据, 笔刷的运动轨迹数据和画作生成变化数据.

(1) 基于视频和动作传感器的多模态绘画动作行为多媒体数据采集设计.针对艺术家的动作捕捉, 结合安装在艺术家腕部及指部的传感器; 同时配合笔刷上的传感器加以操作.对于画作生成过程的捕捉, 采用记录视频形式收集一笔笔的位置, 以及轨迹与颜色等变化过程.在本文中, 我们简化了序列数据捕捉设备原型(如图 3所示).在数据收集阶段, 除了邀请参与者输入基本笔划之外, 还进行整幅画作的绘制(如图 3(c)所示).

Fig. 3 Capuring device for creative process 图 3 创意过程动作捕捉设备

(2) 基于视频的笔刷目标跟踪与特征提取方法.为了能够更加准确地对笔刷运动进行跟踪, 本文提出全新的基于动态笔刷的目标跟踪与笔触姿态特征提取算法.具体地(如图 3(c)所示), 我们将视频拆分成一组帧, 进而分析笔刷运动过程中笔划的生成过程.对于单一帧, 结合基于模型的目标跟踪技术, 检测时, 首先利用PCA算法计算运动中笔刷的主轴信息, 依据此信息来定位计算出画家控制的笔刷运动姿态, 包括运动速度、笔头所指方向和笔触姿态等.

4 基于策略梯度法的艺术风格学习算法

在强化学习当中, 策略梯度法(policy gradient, 简称PG)在诸多复杂系统设计中获得了巨大的成功.然而, PG法依然存在策略梯度估计可靠度不高的问题[31].为了降低梯度估计的方差, 一系列的方法被提了出来, 如:自然梯度法(the natural gradient)[32, 33]、基于参数估计的方法[34, 35]和最优化基线法(the optimal baseline)[35-37].然而, 这些方法都仅在策略更新的过程中实现了稳定化, 而并没有直接对梯度估计的偏差进行处理.因此, 针对其方差进一步的稳定化成为了解决强化学习问题的最大挑战之一.

本文采用直接将策略梯度方差设定为正则项(regularizer)的方法, 由此来显式地针对梯度的方差作进一步的降低.在本文中, 我们将方差正则(variance regularization)引入参数探索(the parameter-based exploration)算法中.选定具有最优基线的PGPE方法[38]作为艺术风格学习的框架.具体地, PGPE采用具有线性结构的确定性策略$ {\mathit{\boldsymbol{\theta }}^{\rm{T}}}\phi (\mathit{\boldsymbol{s}}), $其中, ϕ(s)是一个基函数向量.策略参数θ服从关于超参数ρ的先验分布p(θ|ρ).

预期回报定义为关于hθ的超参数函数$\mathit{\boldsymbol{\rho }}:{\rm{ }}J(\mathit{\boldsymbol{\rho }}): = {E_\mathit{\boldsymbol{\rho }} }\left[{R(h)} \right], $其中, $ {E_\mathit{\boldsymbol{\rho }}}$表示关于$p(h, \mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }}) = p(h|\mathit{\boldsymbol{\theta }})p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }}) $的期望.在PGPE中, 我们对ρ进行优化进而达到最大化J(ρ)的目的, 即:最优超参数ρ*${\mathit{\boldsymbol{\rho }}^ * }: = \arg {\max _\mathit{\boldsymbol{\rho }}}J(\mathit{\boldsymbol{\rho }}) $来获得.梯度方法用于${\mathit{\boldsymbol{\rho }}^ * }:\mathit{\boldsymbol{\rho }} \leftarrow \mathit{\boldsymbol{\rho }}{\rm{ + }}\mathit{\boldsymbol{ }}\varepsilon {\nabla _\mathit{\boldsymbol{\rho }}}J(\mathit{\boldsymbol{\rho }}), $其中, 关于参数ρ的预期回报的梯度表示为

$ {\nabla _\mathit{\boldsymbol{\rho }}}J(\mathit{\boldsymbol{\rho }}){\rm{ = }}{E_\mathit{\boldsymbol{\rho }}}\left[{R(h){\nabla _\mathit{\boldsymbol{\rho }}}\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})} \right]. $

实际系统中, 期望由收集来的采样数据进行计算.当前迭代数据设定为$D = \left\{ {\left( {{\mathit{\boldsymbol{\theta }}_n}, {h_n}} \right)} \right\}_{n = 1}^N, $其中, 对于每个序列数据hn服从$ p(h|{\mathit{\boldsymbol{\theta }}_n}).$参数θn服从$p({\mathit{\boldsymbol{\theta }}_n}{\rm{|}}\mathit{\boldsymbol{\rho }}). $具有最优基线形式的PGPE被认为具有非常好的效果.然而, 它仍然存在不稳定性.本文就此提出了更为显式的方法来降低梯度估计中的方差.我们针对如下目标函数进行正则化:

$ \Phi (\mathit{\boldsymbol{\rho }}){\rm{ = }}J(\mathit{\boldsymbol{\rho }})-\lambda V(\mathit{\boldsymbol{\rho }}), $

其中, $ \lambda \ge 0$是正则化参数; V(ρ)是回报的梯度的方差关于$ p(h, \mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})$的方差:

$ V(\mathit{\boldsymbol{\rho }}){\rm{ = }}{\bf Va}{\mathit{\boldsymbol{r}}_\mathit{\boldsymbol{\rho }}}\left[{R(h){\nabla _\mathit{\boldsymbol{\rho }}}\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})} \right]. $

随后, 梯度更新可以表达为

$ \mathit{\boldsymbol{\rho }} \leftarrow \mathit{\boldsymbol{\rho }}{\rm{ + }}\mathit{\boldsymbol{ }}\varepsilon {\nabla _\mathit{\boldsymbol{\rho }}}\Phi (\mathit{\boldsymbol{\rho }}), $

其中, 梯度由如下形式给出:

$ {\nabla _\mathit{\boldsymbol{\rho }}}\Phi (\mathit{\boldsymbol{\rho }}){\rm{ = }}{\nabla _\mathit{\boldsymbol{\rho }}}J(\mathit{\boldsymbol{\rho }})-\lambda {\nabla _\mathit{\boldsymbol{\rho }}}V(\mathit{\boldsymbol{\rho }}). $

针对上述公式, 回报的梯度的方差能够表示为

$ \begin{array}{l} V(\mathit{\boldsymbol{\rho }}){\rm{ = }}{{\bf Var}_{p(h, \mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})}}\left[{R(h){\nabla _\mathit{\boldsymbol{\rho }}}\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})} \right]\\ {\rm{ = }}\sum\limits_{i = 1}^l {{E_\mathit{\boldsymbol{\rho }}}\left[{{{(R(h){\nabla _{{\rho _i}}}\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }}))}^2}} \right]} - {\sum\limits_{i = 1}^l {\left( {{E_\mathit{\boldsymbol{\rho }}}\left[{R(h){\nabla _{{\rho _i}}}\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})} \right]} \right)} ^2}\\ {\rm{ = }}\sum\limits_{i = 1}^l {{E_\mathit{\boldsymbol{\rho }}}\left[{{{(R(h){\nabla _{{\rho _i}}}\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }}))}^2}} \right]} -{\sum\limits_{i = 1}^l {\left( {{\nabla _{{\rho _i}}}J(\mathit{\boldsymbol{\rho }})} \right)} ^2}. \end{array} $

V(ρ)的关于ρ的梯度由如下向量给出:

$ {\nabla _\mathit{\boldsymbol{\rho }}}V(\mathit{\boldsymbol{\rho }}){\rm{ = }}{\left( {{\nabla _{{\rho _1}}}V(\mathit{\boldsymbol{\rho }}), ..., {\nabla _{{\rho _l}}}V(\mathit{\boldsymbol{\rho }})} \right)^T}. $

我们给出第i个方差正则项的梯度:

$ \begin{array}{l} {\nabla _{{\rho _i}}}V(\mathit{\boldsymbol{\rho }}) = {E_{{\rho _i}}}\left[{{{\left( {R(h)} \right)}^2}\left( {{{\left( {{\nabla _{{\rho _i}}}\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})} \right)}^3} + 2{\nabla _{{\rho _i}}}\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})\nabla _{{\rho _i}}^2\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})} \right)} \right]\\ -2{\nabla _{{\rho _i}}}J(\mathit{\boldsymbol{\rho }})\nabla _{{\rho _i}}^2J(\mathit{\boldsymbol{\rho }}), \end{array} $

其中, $ {\nabla _{{\rho _i}}}J(\mathit{\boldsymbol{\rho }})$是期望回报的关ρi的梯度:

$ {\nabla _{{\rho _i}}}J(\mathit{\boldsymbol{\rho }}) = {E_\mathit{\boldsymbol{\rho }}}\left[{{\nabla _{{\rho _i}}}\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})R(h)} \right]. $

同时, $ \nabla _{{\rho _i}}^2J(\mathit{\boldsymbol{\rho }})$是期望回报关于ρi的二阶导形式:

$ \nabla _{{\rho _i}}^2J(\mathit{\boldsymbol{\rho }}) = {E_\mathit{\boldsymbol{\rho }}}\left[{R(h)\left( {{{\left( {{\nabla _{{\rho _i}}}\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})} \right)}^2} + \nabla _{{\rho _i}}^2\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})} \right)} \right]. $

综上所述, 期望值可以由采样数据估计为

$ {\nabla _{{\rho _i}}}\hat \Phi (\mathit{\boldsymbol{\rho }}) = {\nabla _{{\rho _i}}}\hat J(\mathit{\boldsymbol{\rho }})-\lambda {\nabla _{{\rho _i}}}\hat V(\mathit{\boldsymbol{\rho }}), $

其中,

$ \begin{array}{c} {\nabla _{{\rho _i}}}\hat V(\mathit{\boldsymbol{\rho }}){\rm{ = }}\frac{1}{N}\sum\limits_{n = 1}^N {\left[{{{\left( {R({h_n})} \right)}^2}\left( {{{\left( {{\nabla _{{\rho _i}}}\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})} \right)}^3} + 2{\nabla _{{\rho _i}}}\log~p({\mathit{\boldsymbol{\theta }}_n}|\mathit{\boldsymbol{\rho }})\nabla _{{\rho _i}}^2\log~p({\mathit{\boldsymbol{\theta }}_n}|\mathit{\boldsymbol{\rho }})} \right)} \right]} \\ - 2{\nabla _{{\rho _i}}}\hat J(\mathit{\boldsymbol{\rho }})\nabla _{{\rho _i}}^2\hat J(\mathit{\boldsymbol{\rho }}), \\ {\nabla _{{\rho _i}}}\hat J(\mathit{\boldsymbol{\rho }}){\rm{ = }}\frac{1}{N}\sum\limits_{n = 1}^N {R({h_n})} {\nabla _{{\rho _i}}}\log~p({\mathit{\boldsymbol{\theta }}_n}|\mathit{\boldsymbol{\rho }}), \\ \nabla _{{\rho _i}}^2\hat J(\mathit{\boldsymbol{\rho }}) = \frac{1}{N}\sum\limits_{n = 1}^N {R({h_n})} \left[{{{\left( {{\nabla _{{\rho _i}}}\log~p({\mathit{\boldsymbol{\theta }}_n}|\mathit{\boldsymbol{\rho }})} \right)}^2} + \nabla _{{\rho _i}}^2\log~p({\mathit{\boldsymbol{\theta }}_n}|\mathit{\boldsymbol{\rho }})} \right]. \end{array} $

值得注意的是, $ \log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }})$关于$ {\eta _i}$${\tau _i} $的二阶导数可以表达为

$ \begin{array}{c} \nabla _{{\eta _i}}^2\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }}){\rm{ = }}-\frac{1}{{\tau _i^2}}, \\ \nabla _{{\tau _i}}^2\log~p(\mathit{\boldsymbol{\theta }}|\mathit{\boldsymbol{\rho }}){\rm{ = }}\frac{{\tau _i^2-3{{({\theta _i}-{\eta _i})}^2}}}{{\tau _i^4}}. \end{array} $

在实际系统中, 我们更进一步地从上述梯度估计算子R(hn)中计算出最优基线$\hat b.$这部分内容将具体在实验部分进行阐述.

5 针对艺术风格量化评价的反馈报酬函数设计

传统的艺术风格绘制方法集中在对画作本身的分析与风格特点的表达上, 主要针对艺术多媒体数据提取静态特征.然而, 由于静态特征存在平面化、局部化和非连续化的约束, 以至于难以保证风格化的全局一致性.同时, 由于专家数据有限, 广泛用于自动控制、手写字(书法)生成的基于监督学习(supervised learning)的行为克隆(behavioral cloning)方法[36, 39]直接学习动态策略, 难以解决针对有限数目的复杂专家数据的局部最优问题.因此, 我们研究基于逆向强化学习(inverse reinforcement learning, 简称为IRL)[28]的基于结构化特征的反馈评价函数构建方法.其对于风格化一致性度量是有效和合理的.具体地, 本文认定动态行为是画家个性化绘画风格的重要反映.风格化评价函数是人为设计的.难以达到以手工调整报酬评价函数的参数来设定特定艺术家风格的目的.因此, 本文采用逆向强化学习(IRL)的算法求解报酬评价函数.不同于已有IRL算法[40-43], 在假定已知专家主观设计给定的反馈特征(reward features)的条件下, 仅对这些特征组合求解报酬函数的参数进行计算.

本文将状态特征与其结构化组合权重两者都作为我们求解的目标.反馈结构化特征Φ由状态特征$ {\bf \hat s}$构建而来, $ {\bf \Phi }{\rm{ = }}g({\bf x}, {\bf Z}, {\bf U};{\bf \hat s}), $其中, xM维的二进制标记符, 表征向量是否参与某一反馈特征构建中; ZU代表先验知识, Z具体标记某些原子特征参与反馈结构化特征, U表示针对反馈特征, 某一对状态的原子特征同时出现的概率分布.

结构化组织的反馈式度量的报酬函数R

$R({s_t}, {a_t}) = \left\{ \begin{array}{l} 0,& {\rm{ if}}\;\;\;{v_t} = {v_{t - 1}}\\ tG + (1 - t)K, &{\rm{ otherwise}} \end{array} \right., $

其中, $G({s_t}, {a_t}) = {\omega ^T}\Phi ({s_t}, {a_t})$为反馈结构化特征生成函数; ω为参数向量, 满足$\sum\limits_i {{\omega _i}} = 1, {\omega _i} \ge 0, \forall {\phi _i};K$为特征相似度, 矩阵${K_{i, j}} = k({\phi _i}, {\phi _j})$为特征ϕiϕj的相似值, t为参数, 满足$0 < t < 1.$

6 轻量化页端艺术化渲染跨平台系统设计与实现

基于移动互联网的智能应用具有安全性高、方便快捷和智能模型更新能力强等优势.本文结合上述理论研究预期成果, 构建面向移动互联网的自动艺术绘制智能辅助系统.系统允许用户与移动交互界面进行交互, 通过表示绘制意图的自然勾画作为输入, 选择具有某一特定艺术风格的行为决策代理完成自动绘制任务.与现有的智能绘制系统相比, 该系统将在保证实时性的同时, 提供具有真实画家的风格化及逼真的绘画材质效果.

我们提出了页端艺术化渲染平台, 具体包括两大模块.

(1) 基于HTML 5与WebGL的交互前端.数字绘画工具软件正在由传统的PC桌面程序[44]向云端、互联网端进化.本文采用基于HTML 5的WebGL技术能够无需安装插件, 即可实现在浏览器平台的创意作品画面渲染.WebGL是Web版的OpenGL, 支持GPU硬件加速与可编程Shader.我们能够实现将传统桌面数字绘画工具中基于OpenGL的代码快速移植到WebGL, 实现完整Hybrid的移动Web交互前端.本文在开源框架AlloyImage的基础上进行针对具有学习能力的SBR方法扩展(如图 4所示).AlloyImage是一款基于HTML 5的JavaScript图片图像处理库.其拥有简单、快捷的API, 多图层操作.与PS对应的17种图层混合模式, 还有多种基于滤镜的处理效果以及多种组合风格效果, 封装了几种常见的Photoshop效果, 调用起来也比较方便, 并且易于扩展, 本文中的多种效果均由该插件实现.该插件封装好的机器学习处理模块也使得该扩展变得更加方便.

Fig. 4 UI of A4 system 图 4 前端界面设计

(2) 具有大规模数据存储与机器学习功能的后台.本文将大规模序列数据存储与基于强化学习框架部署在服务器端.这样, 既能够提高大规模数据存储的效率与安全性, 又能够保证机器学习算法的效率(具体算法见第3节和第4节).

7 实验分析

在本节中, 我们将对实验结果进行分析.

针对学习方法的实验分析.首先, 通过结果图来阐述本文提出的方差正则化(variance-regularized)的PGPE方法.状态空间是一维连续空间, 初始状态服从标准正态分布, 动作空间也是一维连续的空间, 状态转移函数表示为${s_{t + 1}} = {s_t} + {a_t} + \varepsilon, $其中, $\varepsilon \sim {\cal N}(0, {0.3^2})$是噪声.${\cal N}(\mu, {\sigma ^2})$用于定义高斯分布.报酬函数定义为r=exp(-s2/2-a2/2)+1.我们将包含所提算法在内的4种算法进行对比.

PGPE:朴素的PGPE方法.

PGPEOB:最优基线的PGPE方法.

R-PGPE:只含有本文提出的方差正则项的PGPE方法.

R-PGPEOB:本文提出的最终算法.

参数轨迹. 我们在前面首先对策略参数如何变化进行了探讨.本节通过设定不同的起始位置(均值参数分别为–1.6、–0.8和–0.1), 进而考察3个不同参数更新的轨迹.同时, 参数τ设定为1.对于每次策略迭代过程, 我们收集10个轨迹样本.如图 5(a)所示, 可以看出, 朴素PGPE方法在20次迭代内, 不能将参数更新至最大回报区域内, R-PGPE至少有一条轨迹实现了该目标(如图 5(b)所示), 从而证明了本文提出的方差正则化的有用性.图 5(c)表示PGPEOB能够相对可以信赖地更新方向.但是, 依然存在一定的不稳定性.图 5(d)证明本文提出的R-PGPEOB在4种方法中表现出了最为优异的性能.

Fig. 5 Trajectories of parameter updating in 20 iterations 图 5 20次迭代的参数更新的轨迹

通过图 6可以看出, 本文提出的R-PGPEOB方法能够非常理想地控制最优化过程向着策略更好的趋势运动.

Fig. 6 Average expected returns 图 6 平均期望回报

策略学习的性能分析. 我们将每种方法的结果按照20次运行的平均值加以表示.在每一次运行过程中, 策略参数迭代50次.在每个迭代中, 我们收集2条轨迹数据用于估计目标函数的梯度.结果如下文的图 8所示, 本文提出的R-PGREOB方法在4种比较方法中表现最好.

Fig. 8 Cross-Platform UI of H5 App in A4 图 8 A4系统H5 App跨平台界面

学习算法在A4绘画系统中的表现. 在A4系统中, 我们实际使用并对比了PGREOBR-PGREOB这两种方法.如图 7所示, R-PGREOB能够得到更加稳定的结果.我们将学习获得的策略模块实装入水墨画渲染引擎.

Fig. 7 Comparison of algrithms within A4 图 7 A4系统中学习算法的对比

艺术风格化渲染系统A4通过网页技术加以实现.因此, 能够有效地实现跨平台使用.图 8展示了分别在PC端和iPad端界面的系统演示效果.

下面, 我们分别介绍A4系统的基本功能.

(1) 图片上传功能(如图 9所示).用户上传了一张图片后系统能够自动识别图片比例, 将canvas调整到合适的大小.系统采用了“层(layer)”技术, 因此, 使得修改背景图片后原有的笔画效果仍能够得到保留.利用系统提供的“清除功能”, 能够将所有的笔画和特效清除, 只保留背景图.同样地, 用户再次点击上传按钮, 也可以实现清除笔触和特效, 只保留背景图的效果.

Fig. 9 Image upload 图 9 图片上传功能

(2) 笔触功能(如图 10所示).在系统界面的右下角, 用户可以拖动滑动条来改变笔触大小.图 10展示了不同的笔触图片在20px的笔触大小(为了更清楚地对比)下的效果.左侧为单个笔触大小图片, 可以看到笔触的形状不同.每一个笔画中间部分, 由于速度较快, 程序会采用较为“稀疏”的笔触图片来填充, 形成了类似真实的笔墨效果.图 10右侧子图是将笔触的路径同时画在了画布上用于比较(测试中将路径同时画在画布上).从图中我们可以看到, 笔画开始的部分采样点比较密集, 笔画显得粗实.中间的采样点比较稀疏, 笔画的形状、浓度和透明度都发生了变化, 但是由于做了过渡, 整个笔画也不会有明显的突变, 十分连贯.同样, 图 10还展示了不同颜色下的笔触状态.我们可以看到, 在保持笔触形状的基础上, 程序只对笔触的颜色进行了改动, 最大化地减少了笔触图片的数量, 由于在创建笔触的时候就对图片进行了统一的处理, 因此并不会产生太大的运算量.

Fig. 10 Comparison on stroke and original trajectory 图 10 笔触与原路径点对比

我们还与商用软件Photoshop的滤镜功能进行了对比.本文提出A4系统能够更好地实现水墨画笔触的渲染(如图 11所示); 而Photoshop的滤镜利用掩膜技术, 主要实现了整体画面的调整.

Fig. 11 Comparison with art filter in Photoshop 图 11 A4系统与Photoshop滤镜结果对比

8 结果与展望

本文提出了面向艺术风格化的多媒体数据处理系统, 从而实现了快速、简便地进行个性化基于笔触的计算机绘画效果生成.本文的贡献主要在于艺术风格化复杂多媒体数据采集与特征提取算法设计, 针对艺术风格量化评价的反馈报酬函数设计, 基于PGPE的正则化策略学习方法以提高风格学习过程的稳定性以及轻量化页端艺术化渲染跨平台系统设计与实现.实验结果表明, 本文提出的这套方法可以行之有效地实现针对具体个性风格的照片水墨画风格转化.对于面向移动互联网的自动艺术风格绘制辅助系统, 本文研究不仅具有理论上的创新, 而且还具有实际上的巨大应用价值.

参考文献
[1]
Strothotte T, Schlechtweg S. Non-Photorealistic Computer Graphics:Modeling, Rendering, and Animation. San Francisco: Morgan Kaufmann Publishers, 2002.
[2]
Hertzmann A. A survey of stroke-based rendering. IEEE Computer Graphics and Applications, 2003, 23(4): 70–81. [doi:10.1109/MCG.2003.1210867]
[3]
Hertzmann A. Machine learning for computer graphics: A manifesto and tutorial. In: Proc. of the 11th IEEE Pacific Conf. on Computer Graphics and Applications. 2003. 22-26. [doi: 10.1109/PCCGA.2003.1238242]
[4]
Durand F. An invitation to discuss computer depiction. In: Proc. of the 2nd ACM Int'l Symp. on Non-Photorealistic Animation and Rendering. Annecy, 2002. 111-124. [doi: 10.1145/508530.508550]
[5]
Prince PD. Computer art in the new millennium. IEEE Computer Graphics and Applications, 2000, 20(1): 26–27. [doi:10.1109/38.814542]
[6]
Strassmann S. Hairy brushes. In: Proc. of the 13th ACM SIGGRAPH Conf. 1986. 225-232. [doi: 10.1145/15922.15911]
[7]
Paul H. Paint by numbers: Abstract image representations. In: Proc. of the ACM SIGGRAPH Conf. 1990, 24(4): 207-214. [doi: 10.1145/97880.97902]
[8]
Bousseau A, Kaplan M, Thollot J, François X. Sillion: Interactive watercolor rendering with temporal coherence and abstraction. In: Proc. of the 4th Int'l ACM Symp. on Non-Photorealistic Animation and Rendering (NAPR). Annecy, 2006. 141-149. [doi: 10.1145/1124728.1124751]
[9]
Mi X, Xu J, Tang M, Dong J. The droplet virtual brush for Chinese calligraphic character modeling. In: Proc. of the 6th IEEE Workshop on Applications of Computer Vision (WACV). Orlando, 2002. 330-334. [doi: 10.1109/ACV.2002.1182203]
[10]
Litwinowicz P. Processing images and video for an impressionist effect. In: Proc. of the 24th ACM SIGGRAPH. Los Angeles, 1997. 407-414. [doi: 10.1145/258734.258893]
[11]
Shiraishi M, Yamaguchi Y. An algorithm for automatic painterly rendering based on local source image approximation. In: Proc. of the 1st ACM Int'l Symp. on Non-Photorealistic Animation and Rendering. Annecy, 2000. 53-58. [doi: 10.1145/340916.340923]
[12]
Szirányi T, Tóth Z. Optimization of paintbrush rendering of images by dynamic MCMC methods. In: Proc. of the Energy Minimization Methods in Computer Vision and Pattern Recognition (MMECVPR). Antipolis, 2001. 201-215. [doi: 10.1007/3-540-44745-8_14]
[13]
Hertzmann A. Painterly rendering with curved brush strokes of multiple sizes. In: Proc. of the 25th ACM SIGGRAPH. Orlando, 1998. 453-460. [doi: 10.1145/280814.280951]
[14]
Santella A, DeCarlo D. Visual interest and NPR: An evaluation and manifesto. In: Proc. of the 3rd ACM Int'l Symp. on Non-Photorealistic Animation and Rendering (NPAR). Annecy, 2004. 71-150. [doi: 10.1145/987657.987669]
[15]
Pavlidis T, Wyk C. An automatic beautifier for drawings and illustrations. In: Proc. of the 12th ACM SIGGRAPH. San Francisco, 1985. 225-234. [doi: 10.1145/325165.325240]
[16]
Orbay G, Kara L. Beautification of design sketches using trainable stroke clustering and curve fitting. IEEE Trans. on Visualization and Computer Graphics, 2011, 17(5): 694–708. [doi:10.1109/TVCG.2010.105]
[17]
Hertzmann A, Jacobs CE, Oliver N, Curless B, Salesin D. Image analogies. In: Proc. of the 28th ACM SIGGRAPH. Los Angeles, 2001. 327-340. [doi: 10.1145/383259.383295]
[18]
Lu J, Barnes C, DiVerdi S, Finkelstein A. RealBrush:Painting with examples of physical media. ACM Trans. on Graphics (TOG), 2013, 32(4): 117:1–117:12. [doi:10.1145/2461912.2461998]
[19]
Dong L, Lu S, Jin X. Real-Time image-based chinese ink painting rendering. Multimedia Tools and Applications, 2014, 69(3): 605–620. [doi:10.1007/s11042-012-1126-9]
[20]
Zhao Y, Jin X, Xu Y, Zhao H, Ai M, Zhou K. Parallel style-aware image cloning for artworks. IEEE Trans. on Visualization and Computer Graphics (TVCG), 2015, 21(2): 229–240. [doi:10.1109/TVCG.2014.2355221]
[21]
Nguyen V, Blumenstein M. Techniques for static handwriting trajectory recovery: A survey. In: Proc. of the 9th ACM Int'l Workshop on Document Analysis Systems. Boston, 2010. 463-470. [doi: 10.1145/1815330.1815390]
[22]
Fu H, Zhou S, Liu L, Mitra NJ. Animated construction of line drawings. ACM Trans. on Graphics (TOG), 2011, 30(6): 61–64. [doi:10.1145/2070781.2024167]
[23]
Zitnick C. Handwriting beautification using token means. ACM Trans. on Graphics (TOG), 2013, 32(4): 53:1–53:8. [doi:10.1145/2461912.2461985]
[24]
Xie N, Laga H, Saito S, Nakajima M. IR2s: Interactive real photo to Sumi-e. In: Proc. of the 8th Int'l Symp. on Non-Photorealistic Animation and Rendering (NPAR). Annecy, 2010. [doi: 10.1145/1809939.1809947]
[25]
Xie N, Hachiya H, Sugiyama M. Artist agent: A reinforcement learning approach to automatic stroke generation in oriental ink painting. In: Proc. of the 29th Int'l Conf. on Machine Learning (ICML). Edinburgh, 2012. [doi: 10.1587/transinf.E96.D.1134]
[26]
Xie N, Laga H, Saito S, Nakajima M. Contour-Driven Sumi-e rendering of real photos. Computers & Graphics, 2011, 35(1): 122–134. [doi:10.1016/j.cag.2010.11.017]
[27]
Xie N, Zhao T, Tian F, Zhang X, Sugiyama M. Stroke-Based stylization learning and rendering with inverse reinforcement learning. In: Proc. of the 24th Int'l Conf. on Artificial Intelligence (IJCAI 2015). Buenos Aires, 2015. 2531-2537. http://www.ijcai.org/Abstract/15/359
[28]
Tangkaratt V, Xie N, Sugiyama M. Conditional density estimation with dimensionality reduction via squared-loss conditional entropy minimization. Neural Computation, 2015, 27(1): 228–254. [doi:10.1162/NECO_a_00683]
[29]
Yajima S, Katsura S. Multi-DOF motion reproduction using motion-copying system with velocity constraint. IEEE Trans. on Industrial Electronics, 2014, 61(7): 3765–3775. [doi:10.1109/TIE.2013.2286086]
[30]
Syed U, Bowling M, Schapire R. Apprenticeship learning using linear programming. In: Proc. of the 25th Int'l Conf. on Machine Learning (ICML). Helsinki, 2008. 1032-1039. [doi: 10.1145/1390156.1390286]
[31]
Zhao T, Niu G, Xie N, Yang J, Sugiyama M. Regularized policy gradients: Direct variance reduction in policy gradient estimation. In: Proc. of the 7th Asian Conf. on Machine Learning (ACML 2015), and the JMLR Workshop and Conf. Hong Kong, 2015. 45, 333-348. http://proceedings.mlr.press/v45/Zhao15b.html
[32]
Kakade S. A natural policy gradient. In: Advances in Neural Information Processing Systems (NIPS). 2001. 1531-1538. http://papers.nips.cc/paper/2073-a-natural-policy-gradient
[33]
Peters J, Schaal S. Natural actor-critic. Neurocomputing, 2008, 71(7-9): 1180–1190. [doi:10.1016/j.neucom.2007.11.026]
[34]
Sehnke F, Osendorfer C, Ruckstiess T, Graves A, Peters J, Schmidhuber J. Parameter-Exploring policy gradients. Neural Networks, 2010, 23(4): 551–559. [doi:10.1016/j.neunet.2009.12.004]
[35]
Miyamae A, Nagata Y, Ono I, Kobayashi S. Natural policy gradient methods with parameter-based exploration for control tasks. In: Advances in Neural Information Processing Systems (NIPS), Volume 2. 2010. 437-441. http://papers.nips.cc/paper/3987-natural-policy-gradient-methods-with-parameter-based-exploration-for-control-tasks
[36]
Mueller S, Huebel N, Waibel M, Raffaello D'Andrea. Robotic calligraphy-learning how to write single strokes of Chinese and Japanese characters. In: Proc. of the 2013 IEEE/RSJ Int'l Conf. on Intelligent Robots and Systems (IROS). Tokyo, 2013. 1734-1739. [doi: 10.1109/IROS.2013.6696583]
[37]
Weaver L, Tao N. The optimal reward baseline for gradient-based reinforcement learning. In: Proc. of the 17th Conf. on Uncertainty in Artificial Intelligence. 2001. 538-545. https://dslpitt.org/uai/displayArticleDetails.jsp?mmnu=1&smnu=2&article_id=141&proceeding_id=17
[38]
Zhao T, Hachiya H, Niu G, Sugiyama M. Analysis and improvement of policy gradient estimation. Neural Networks, 2012, 26: 118–129. [doi:10.1016/j.neunet.2011.09.005]
[39]
Sun Y, Qian H, Xu Y. A geometric approach to stroke extraction for the Chinese calligraphy robot. In: Proc. of the 2014 IEEE Int'l Conf. on Robotics and Automation (ICRA). Hong Kong, 2014. 3207-3212. [doi: 10.1109/ICRA.2014.6907320]
[40]
Abbeel P, Ng AY. Apprenticeship learning via inverse reinforcement learning. In: Proc. of the 21st Int'l Conf. on Machine Learning (ICML). New York: ACM, 2004. [doi: 10.1145/1015330.1015430]
[41]
Ng A, Russell S. Algorithms for inverse reinforcement learning. In: Langley P, ed. Proc. of the 17th Int'l Conf. on Machine Learning (ICML). San Francisco: Morgan Kaufmann Publishers, 2000. 663-670.
[42]
Ratliff N, Bagnell J, Zinkevich M. Maximum margin planning. In: Proc. of the 23rd Int'l Conf. on Machine Learning (ICML). New York: ACM, 2006. 729-736. [doi: 10.1145/1143844.1143936]
[43]
Choi J, Kim K. Bayesian nonparametric feature construction for inverse reinforcement learning. In: Proc. of the Int'l Joint Conf. on Artificial Intelligence (IJCAI). Beijing, 2013. 1287-1293. http://www.ijcai.org/Abstract/13/194
[44]
Xie N, Laga H, Saito S, Nakajima M. Contour-Driven brush stroke synthesis. In: Proc. of the ACM SIGGRAPH ASIA 2009 Sketches (SIGGRAPH ASIA 2009). Yokohama, 2009. Article 6. [doi: 10.1145/1667146.1667154]