深度自监督学习(deep self-supervised learning)近来受到了极大关注,很多可用于解决图像和视频的自监督学习方法涌现了出来。不同的数据模态具有截然不同的数据特性,在自监督学习的场景中所引发的技术挑战性也是截然不同。
今天,和大家分享一篇新颖有趣的论文《Deep Self-Supervised Representation Learning for Free-Hand Sketch》。作者针对手绘草图的数据特点,提出了一个可用于手绘草图自监督表示学习的深度学习框架,不仅为手绘草图量身设计了一套自监督学习的借口任务(pretext task),还针对手绘笔画的序列化特性,设计了基于时序卷积网络(temporal/textual convolution network)的特征提取网络。
该论文是第一篇研究手绘草图自监督表示学习的论文。该文中,可用于手绘草图自监督学习的借口任务被首次提出,时序卷积网络也是首次被用于手绘草图的表示学习中。
动机与模型
手绘草图具有抽象程度高、噪声笔画多、手绘风格多等domain-unique的技术挑战,导致了很多为常规图像设计的自监督学习任务不适用于手绘草图。
该论文的主要动机是:选定某种手绘风格(例如,水平扩张,中心收缩),将给定的手绘草图按照选定风格进行变换,然后让神经网络去学会分辨草图是否发生了该种风格变换,希望模型在这个过程中学习到如何抽取手绘草图中的关键特征。模型学会区分某张草图是否发生了某种风格变化的前提是先学会感知草图中的关键信息。
那么给定一张草图,如何按照指定风格进行变换呢?作者在该论文中指出,在实际的手绘场景中,不同的绘画者的手绘风格大致包括水平压缩、中心压缩、垂直压缩、向左压缩、向右压缩(依次如下图第二列到第六列所示)等。
作者并没有使用GAN,而是通过分析手绘草图的特点,巧妙地利用了高阶三角函数的单调性与非线性的性质,使用三角函数来对手绘草图的笔画在横、纵两个方向上进行相互独立的变换,来模拟多种手绘风格,并且保持原图形的拓扑结构不变。如下图所示,不同的三角函数可以在不同的区间里对x施加不同的挤压或者拉伸的效果。
通过横纵两个方向上相互独立的挤压或者拉伸变换,排列组合地可以实现至少二十余种风格变换,例如向上压缩、向下压缩、垂直扩展、垂直压缩、向左压缩、左上压缩、左下压缩、水平向右压缩且垂直压缩等。
该论文所提出的自监督表示学习框架是一个多分支融合的架构,整体上分为两个自监督学习分支,一个分支是基于判定旋转方向(四分类问题),特色在于另一个分支,基于判定是否发生了某种风格转换(二分类问题)。
这两个分支的特征提取网络均可采用常规卷积网络CNN和文本卷积网络TCN相互融合的架构。由于手绘草图不仅可以表示为静态的图片,还可表示为笔画关键点的坐标序列,所以可用文本卷积网络进行学习,首次将TCN引入到手绘数据的特征学习中,也是该论文的主要特色与贡献之一。
并且,基于判定是否发生风格转换的分支是一个灵活的可扩展的分支,引入风格的数量是一个可人为设定的超参数。
主要实验结果
该方法在约400万张手绘草图上进行了验证,在检索和识别两项任务中均取得了较好的实验结果,与基于监督学习的对比方法的性能差距很小。
特别地,在可视化结果中,可以看到:在处理形状上原本是中心对称的一些手绘图形时,相比于基于旋转角度判定的自监督模型,基于手绘风格判定的自监督模型可以更为敏感地去捕获笔画信息。
该论文所提出的一些sketch-specific design给我们带来的主要启示有:
目前,该论文及代码均已公布。
论文地址:
https://arxiv.org/pdf/2002.00867.pdf
代码地址:
https://github.com/zzz1515151/self-supervised_learning_sketch