基于神经网络的手绘草图的识别与匹配

2021-12-17 00:56杨金凯王国中范涛
智能计算机与应用 2021年6期
关键词:草图卷积准确率

杨金凯,王国中,范涛

(上海工程技术大学 电子电气工程学院,上海 201620)

0 引言

在一些特殊场景下,如军事行动、工程项目的现场临时指挥和调度,人们往往需要当场手绘一张草图,来传达自己的意图。这就要求计算机能够根据绘图者所绘制的草图来匹配标准的符号图,提高绘图的效率和质量。传统的方法都是采用特征空间的相似度进行匹配,来实现草图的匹配。如矢量特征描述法即对线条的描述与刻画、图模型匹配法等,但是实际效果不理想难以实际应用。本文的方法包括2 个部分,第一部分是让卷积神经网络识别草图是什么;第二部分则是根据识别结果匹配标准图,从而实现草图的匹配。

1 卷积神经网络模型

本文提出的基于神经网络的手绘草图的识别与匹配算法在精准度上可以达到98%以上,比传统的特征匹配方法有非常大的提升,并且可以达到实际应用的程度,对于技术的落地应用具有重大意义。

VGGNet 是牛津大学计算机视觉组(Visual Geometry Group)和谷歌一起研发的深度卷积神经网络。VGGNet 研究了卷积神经网络的性能和卷积神经网络深度之间的关系,通过重复使用3×3 卷积核进行卷积以及2×2 的最大池化,组合成深度为16~19 层的卷积神经网络,使得图片分类任务的准确率相较于之前的图片分类方法有很大的提高。不仅如此VGGNet 的强大特征提取能力使得其迁移能力也很强,在迁移到其它图像任务上的泛化能力也很强。

VGGNet 特点是所有的卷积层使用的卷积核和池化层都是3×3 的卷积核与2×2 的最大池化,其性能的提升主要是依赖网络结构的不断加深。VGGNet 的参数量很大,但绝大部分的参数都消耗在了最后面的3 个全连接层,卷积层虽然很深但是消耗的参数却远远少于全连接层。从图1 可以看出网络结构从VGG-A 到VGG-E 的深度都逐渐变深,但总的网络的参数量并没有增加太多。图1 中的网络D 和E 分别是VGGNet-16 和VGGNet-19。

图1 VGGNet 各级别网络结构图Fig.1 VGGNet level network structure diagram

VGGNet 由5 个块卷积组成,每一个块卷积由2-3 个卷积层和一个最大池化层构成,其中最大池化层起着保留图片的主要特征以及图片下采样的作用。每一个块卷积中的卷积层的卷积核数量都是相同的,每个卷积层的激活函数则用的是ReLU 函数来进行非线性变换[1]。卷积块的卷积核数量则是越靠后越多,这是因为随着特征图的缩小,图像的信息会不断减少,因此要通过增加卷积核数量的方法来弥补由于特征图的缩小而带来的信息丢失。在5个卷积块的后面加上2 个全连接层(Fully Connected Layers,FC)用于提取特征图信息。最后再用一个全连接层连接Softmax 来分类。

2 VGGNet 模型的改进

2.1 批量归一化

卷积神经网络学习的实质是学习图像数据分布规律,网络的泛化能力与训练数据和测试数据分布有着密切的关系。一般情况下都是假定训练数据和预测数据有着相同的分布,但是由于数据都是带有噪声的,为了使得噪声数据对整体数据的分布影响减少,通常对所有输入数据进行归一化处理后再进行训练。这样做是有效的,但是是不够的,因为在训练的过程中,由于每层网络的参数不同,会导致该层输入与输出数据的分布不同,也就是说每层网络都会改变数据的分布。另外,由于按批次训练数据,对于每个批次来说,其数据分布也会不同,导致网络在每次训练迭代学习方向都是向着新的批次的数据分布拟合,这大大增加了训练的难度以及过拟合的风险。从网络整体上看,神经网络试图在多个分布中找到相对平均的分布来作为所有分布的一个替代;从每个卷积层上看,因为每次输入到每层网络的数据的分布都不同,所以导致每层网络都在找一个满足所有分布替代分布,神经网络的收敛困难程度就大大增加了。针对上述问题,批量归一化(Batch Normalization)方法则是一个有效的方法,该方法针对每一批数据,在网络的每一层输入之前增加归一化处理(均值为0,标准差为1),使得每次输入到各个网络层的数据都强制在统一的数据分布下(正态分布)[2]。其计算步骤如下:

Step 1将m个训练样本作为一个批次(Batch)输入B={x1,x2,…,xm};

Step 2计算一个批次样本的均值,式(1):

Step 3计算一个批次样本的方差,式(2):

Step 4归一化,式(3):

Step 5尺度变换,式(4):

其中,g是再缩放参数(re-shift parameter),b是再平移参数(re-scale parameter)。

最后将一个批次的数据转换成均值为b方差为g2的正态分布,b、g是需要训练的参数。

2.2 随机失活(dropout)

如果训练样本太少,或者网络模型太复杂(参数多),训练出来的模型往往会产生过拟合的现象。在训练神经网络时的过拟合的问题是经常出现的,而过拟合具体表现在:在训练数据上,网络模型的损失值很小,预测的准确率较高;在测试数据上,损失值很大,预测的准确率较低。为了解决过拟合问题,需要使得神经网络中的神经元在训练时不全都工作,即在模型的全连接层加入dropout 层[3]。其工作过程如下:

(1)随机(临时)删掉网络中一定数量的隐藏神经元,输入输出神经元保持不变。如图2(右)所示;

图2 标准的神经网络(左)和 应用Dropout 后的神经网络(右)Fig.2 The standard neural network(left)and the post-Dropout neural network(right)

(2)固定修改后的网络,让一个批次的训练数据输入到网络训练,对没删除的神经元参数进行梯度下降更新;

(3)恢复被删除的神经元,重复(1)(2)操作;

(4)不断重复这一过程,直至网络模型收敛。

Dropout 的过程就是在前向传播时,让某个神经元的激活值以一定的概率p 停止工作,这样可以明显地减少过拟合现象,使模型泛化性更强,因为其不会太依赖某些局部的特征。

2.3 特征融合

神经网络提取特征越是靠前的特征其浅层次的细节特征(颜色、纹理等特征)就越丰富,越靠后的特征其深层次的语义信息就越丰富。依据这个特点,可以将深层次的语义特征和浅层次的细节特征融合到一起。这样融合在一起的信息会减少原图的信息丢失,使得图像特征在表达图像时更准确。本文提出采用浅层特征下采样的方式,将浅层特征跟深层特征融合到一起,网络结构如图3 所示。

图3 网络结构图Fig.3 Network structure diagram

3 算法流程

在手绘标识草图送入神经网络的某一层进行处理之前,对手绘标识草图做归一化。按照训练样本的批量进行处理,先减掉这批样本的均值,除以标准差,然后进行缩放和平移,缩放和平移参数由训练得到。预测时使用训练时确定的这些值来计算。手绘标识草图经过神经网络进行分类处理得到图片所属类别,根据所属类别匹配标准的标识图,从而完成手绘草图的匹配任务,流程图如图4 所示。

图4 算法流程图Fig.4 Algorithm flow chart

4 实验及结果分析

4.1 实验平台

实验是在PC 机上完成的,配置为Windows10系统,CPU为英特尔Xeon(至 强)W-2123 @3.60 GHz四核,GPU为Nvidia GeForce GTX 2080Ti,内存为12 G。

4.2 实验数据

实验使用的数据是徒手绘制的7 054 张符号图,包括67 种不同的符号。每一种符号手绘图在250 张左右,大小为64×64×3。为了保证数据的平衡,在实验中分别取67 个手绘符号草图数据的80%作为训练集,20%作为测试集。部分数据集展示如图5 所示。

图5 部分数据集展示图Fig.5 The partial data set

4.3 评价标准

4.3.1 准确率(Accuracy)

准确率是分类匹配问题中最为原始的评价指标。准确率是预测正确的结果占总样本的百分比,公式(1)如下:

其中:

真正例(True Positive,TP):被模型预测为正的正样本;

假正例(False Positive,FP):被模型预测为正的负样本;

假负例(False Negative,FN):被模型预测为负的正样本;

真负例(True Negative,TN):被模型预测为负的负样本;

样本总数=TP+TN+FP+FN

正样本数=TP+FN

负样本数=TN+FP

4.3.2 精确率(Precision)

精准率又叫查准率,是针对预测结果而言的,是在所有被预测为正的样本中实际为正的样本的概率,其公式(6)如下:

精准率和准确率是完全不同的两个概念,精准率代表对正样本结果中的预测准确程度,而准确率则代表整体的预测准确程度,既包括正样本,也包括负样本。

4.3.3 召回率(Recall)

召回率(Recall)又叫查全率,是在实际为正的样本中被预测为正样本的概率,公式(7)如下:

本次实验采用准确率来做为模型的评判标准。

4.4 实验结果

为了验证本文的算法有效性,徒手绘数据集上使用准确率进行了评估,结果见表1。

表1 不同方法在本数据集上的准确率的比较Tab.1 Compare the accuracy of different algorithms in this data set

由实验结果可知本方法在准确率方面表现的很优秀,精准度很高,完全可以用于实时的匹配,比传统的直接用特征搜索的方式更具有使用价值。

5 结束语

将VGG 算法应用到手写图像的匹配中,取得了非常不错的效果。本方法采用的改进后的VGG 进行特征融合的语义提取,根据语义进行手写图像的匹配。实验表明在数据集很小的情况下,经过细致的训练,匹配准确度高达98%以上,综合表现十分优秀。此外本方法是两阶段方法,通过手写图像的语义信息进行匹配,并不是直接利用特征匹配,因此本方法只能用于特定场景下的手写图像的匹配,寻找一个可以通用的手写图像的匹配仍有很大的研究空间。

猜你喜欢
草图卷积准确率
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
草图家具
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
基于深度卷积网络与空洞卷积融合的人群计数
不能承受的生命之轻
卷积神经网络概述