基于机器学习利用较少样本数据生成卡通图的算法研究

2021-06-04 03:09吴巍
微型电脑应用 2021年5期
关键词:卡通轮廓聚类

吴巍

(中海油能源发展装备技术有限公司, 天津 300452)

0 引言

随着人工智能的兴起,计算机视觉迎来了新的关注度[1-3]。随着机器学习在视觉处理中的应用的不断深入,图像生成已经成为计算机视觉和人工智能领域的一个热门研究课题[4-6]。如何让计算机自主创作一副图像。如何让计算机创作的图像更接近人类画作。这些都是图像创作中的问题。目前现有的方法是通过让计算机学习大量的样本,来模拟人类创作。但由于大量样本的学习势必会耗费更多运算时间[7]。虽然生成性对抗网络(Generative Adversarial Networks,GAN)可以从一组样本中学习,并生成模仿训练样本的新图像[8-9],然而,需要一个大的训练数据集来训练稳定的GAN。此外,生成的图像分辨率通常受到计算资源的限制。为此,本研究探讨了如何通过小样本进行图像创作,这项工作的重点是通过学习一个非常小的数据集来创建卡通图像。该方法的核心主要是基于VGG-16网络以及改进的自组织映射(Self Organizing Maps,SOM)算法——两层同时自组织映射(Simultaneous Two-Level Self Organizing Maps,S2L-SOM)算法。并且该方法无需进行人工手工标注。

1 框架概述

提出的框架如图1所示。

图1 提出的框架流程示意图

该系统以区域边界清晰的卡通图像为输入。

如图1所示,系统分析输入图像的区域,构造了一个区域关系树来描述每个图像中区域的拓扑结构。由于在此没有对训练图像进行人工标注,因此系统没有每个区域的语义信息。例如,系统不知道哪些区域对应于身体区域、头部区域和腿部区域,因此,对所有训练图像进行聚类以将相似区域组合在一起。对于图2中所示的绵羊示例,希望所有身体区域都分组到一个集群中,所有腿部区域都分组到另一个集群中。聚类的目的是根据所构建的树来分离不同的构件,并将构件之间的关系联系起来。该系统利用区域关系树信息和聚类结果,在不需要人工标注信息的情况下,根据训练图像的结构生成新的图像。

2 自主学习过程

在本节中,将解释如何分析输入图像的区域并学习要生成的卡通人物的结构。

2.1 区域分割与区域关系树构建

首先利用统计区域合并(Statistical Region Merging,SRM)[10]将输入的卡通图像分割成不同的区域。然后,设计了一种非循环图表示分割区域之间关系的机制。每个区域被视为区域关系树中的一个节点,如图2所示。

(a) 区域标记

树是通过以下步骤自动生成的。根据分割结果,计算每个区域的邻域个数。选择相邻区域数最多的区域作为根节点。从根节点开始,系统将节点的相邻区域标记为其子节点。广度优先搜索(Breadth First Search,BFS)用于查找每个节点的所有子节点。例如,在图2(a)中,区域9具有最大数量的相邻区域。因此,它被选为根。区域3、4、5、6和8是区域9的相邻区域,因此被视为区域9子区域。在根的所有子区域中,区域8有3个邻居,分别是区域0、1和7。最后,区域0将区域2作为其邻居。通过这种方法,可以构造一棵树来描述卡通图像中各个组件的拓扑结构。构造的树如图2(b)所示。

2.2 区域聚类

系统自动将所有训练数据集的分割区域分为不同的组。为了进行聚类,从每个区域提取特征。以ImageNet[11]为主要特征向量,从VGG-16卷积神经网络中提取第一个全连接层。第一全连接层的维数为4 096。采用主成分分析法将维数降到32。除了VGG-16中的32维特征外,还包括来自区域关系树的以下信息:树中节点的深度、子节点的数量、区域的大小以及区域中心点的Y坐标。

系统没有任何有关群集数量的先验信息。由于不同类型的训练图像所需的簇数目不同,因此使用固定的预定义数目是不可行的。因此,系统需要根据输入的数据自动确定合适的簇数,同时采用S2L-SOM算法估计聚类数。

虽然S2L-SOM算法可以产生聚类结果,但只使用它来估计聚类数。其原因是当特征向量相对复杂,数据量较小时,S2L-SOM聚类结果不够好。根据估计的聚类数,应用K-means++得到聚类结果。然而,S2L-SOM和K-means++每次都会生成不同的聚类结果。为了利用S2L-SOM和K-menas++中的随机性,在此引入了一种利用重复采样的多重尝试方案来增强聚类结果[12]。先进行了若干次试验,然后使用Davies-Bouldin指数(DBI)[13]从试验中选择最佳结果,DBI是评价聚类结果的一个指标。

3 创造新图像

聚集区域是要为图像创建选择的候选组件。但是,分割的区域通常在轮廓上有凹陷的部分,如图3所示。

图3 确定轮廓上需要修补的凹陷部分

系统将首先尝试执行对称轮廓补全。凹陷部分的端点根据水平或垂直对称轴进行镜像操作。对称轮廓完成过程旨在找到一个水平或垂直对称部分,其端点与凹陷部分的镜像端点大致相同,如图4所示。

图4 对称轮廓填补示例

如果可以找到对称部分,则将其水平或垂直翻转。然后,使用翻转段来修补凹陷部分。翻转部分的端点将调整到凹陷部分的位置,并对该段执行插值以符合调整。如果无法应用对称轮廓完成,则系统使用简单的凸完成来修复轮廓,如图5所示。

图5 凸完成修复示例

创建新图像如图6所示。

图6 创造一个新图像

包括以下步骤。首先,从训练图像中随机选择区域关系树作为参考拓扑。对于树中的每个节点,系统随机选择与节点位于同一集群中的一个区域。根据参考拓扑将这些选定区域放在一起,重新组合新图像,如图6(a)所示。执行基于文献[14]的优化以将组件协调到所创建图像中的优化尺寸和位置。为了在生成的图像上产生更多的变化,在区域上使用移动最小二乘进行刚性变形,选择多尺度曲率上具有局部极值的轮廓点作为刚性变形的控制点。用随机位移放置控制点以创建变形区域,如图6(b)所示。

4 实验

在本节中,将演示区域关系树构建、聚类和图像创建的结果。不同类型卡通人物构建的区域关系树示例,如图7所示。

图7 区域关键树的构建

系统不需要知道输入卡通图像类型的先验知识。根据输入图像的结构自动建立拓扑结构。

以卡通羊为例,描绘了S2L-SOM迭代次数对簇估计数的影响,如图8所示。

图8 S2L-SOM迭代次数与簇之间关系

从图8中可知,当迭代次数大于1 000次时,估计的集群数量为5的百分比达到40%,在随后的多次试验方案中,聚类结果将足够稳定。迭代次数越大,结果变化越小,但计算复杂度越高。因此,S2L-SOM的迭代次数被选择为1 000,如图9所示。

(a) 原始输入图像

图9(b)比较了使用不同特征和聚类方法的聚类结果。图9(b)显示了使用传统等高线距离直方图作为每个区域形状特征的聚类结果。从这可以看到,一些区域没有被分组到所需的集群中。并且还可以从图9(c)中观察到,与使用重复采样的S2L-SOM加K-means++相比,使用S2L-SOM聚类算法会导致更多的错误。从图9(d)中,可以看到从CNN和所提出的区域关系树中提取的特征将产生更好的聚类结果。此外,通过采用多个试验方案,利用DBI进行试验选择,聚类结果更加准确和稳定。

比较了由本研究提出的框架和GAN为每种卡通人物使用50个输入图像生成的卡通图像,如图10所示。

(b) GAN网络生成的图像结果

图10(a)由提出的框架生成,图10(b)由GAN生成。可以观察到,由于训练集较小,GAN产生的图像不令人满意。然而,该方法可以自动学习不同类型卡通人物的拓扑结构,并在训练数据相同的情况下生成像样的图像,同时,该方法生成的图像分辨率也大大提高,在这里的实验中,该方法生成500×500大小的图像,GAN生成128×128大小的图像。

5 总结

本研究提出了一种以非常小的数据集自动生成卡通图像的有效框架,提出了一种无需人工标注的区域关系图自动学习算法。同时,设计了一种无聚类数先验知识的改进聚类方法。该框架具有计算时间短、数据集小、硬件资源少等优点。用户可以收集少量的训练数据,使用该系统生成质量和种类都不错的新图像。与基于生成性对抗网络的方法相比,该框架能够在有限的资源下生成更好的卡通图像。

猜你喜欢
卡通轮廓聚类
OPENCV轮廓识别研究与实践
基于实时轮廓误差估算的数控系统轮廓控制
基于K-means聚类的车-地无线通信场强研究
高速公路主动发光轮廓标应用方案设计探讨
基于高斯混合聚类的阵列干涉SAR三维成像
鸡鸣狗盗皮皮猪卡通
基于Spark平台的K-means聚类算法改进及并行化实现
基于改进的遗传算法的模糊聚类算法
趣味的卡通穿上身
找不同