深度学习方法在地图点注记配置中的应用研究 *

2022-07-14 08:38李想李宏伟
出版与印刷 2022年2期
关键词:制图类别卷积

李想 李宏伟

地图以简单、直观的方式呈现地物的名称、位置、分布、联系及变化,是人们学习和生活中不可或缺的工具。注记是地图符号系统的有机组成部分,是地图的重要元素,其作用包括标识对象、表明对象间的关系、指示对象属性等。注记包括名称注记和说明注记,一般用文字和数字表示,不同类别注记的特征(字体、颜色、尺寸等)不同。注记配置是地图制图中的重要步骤,往往耗时较长,自动化地图制图必须要解决地图注记自动配置问题,从而提高制图的效率。

传统的注记配置方法主要有贪婪算法和回溯法,在结合其他优化算法后,形成了基于聚类分组的蚁群算法[1]、遗传算法[2]、模拟退火算法[3]等。优化后的注记配置算法能够较好地解决注记配置问题,但却忽略了不同类别注记的特征不同,导致不同类别注记使用同一字体或颜色,表达上有所欠缺。

随着人工智能技术、认知科学、地图学的不断发展,地图制图的自动化、智能化程度不断提高,地图制图进入了机器智能制图的新发展阶段。2006年,深度学习这一概念由辛顿(Geoffrey Hinton)等[4]提出,此后,其在图像和自然语言处理中得到了广泛应用,并取得了众多突破性成果[5——8]。深度学习通过模仿人脑的机制对数据进行解释,为计算机通过学习地图知识来绘制地图提供了理论基础。将深度学习的方法运用至地图制图中有助于提高计算机的“思维”能力,进而提高计算机制图的智能化水平。为此,学者针对深度学习在地图学领域中的应用开展了研究,从自动勾勒地图特征[9]、自动制图综合[10——11]、地图阅读[12]和地图识别[13——16]等方面,探讨了深度学习方法在地图学研究中的可行性。

在采用传统方法进行注记配置的研究中,已有研究没有充分考虑注记的类别及其特征等影响因素。为了在配置结果中突出注记的类别特征,并同时保证注记配置的效率和质量,本文尝试将深度学习方法引入地图点注记自动配置中,通过获取注记图片的类别及文字信息,实现针对不同类别的地图点注记自动配置。首先采集公开出版的地图集中不同种类的地图点注记图片,制作地图点注记数据集,再通过卷积神经网络对地图点注记图像的字体、尺寸、颜色、间隔等特征进行学习,从而识别地图注记的类别;然后采用基于深度学习的文字识别提取注记文字,根据文字匹配相应的位置信息;最后将深度学习模块与注记配置模块相结合,通过深度学习方法识别地图注记类别和文字,并在地图上自动进行点注记配置。

一、地图点注记数据集获取

本文的地图点注记数据集,获取自星球地图出版社2017——2019年出版的“中国分省系列地图集”中的《河南省地图集》《湖北省地图集》《青海省地图集》《云南省地图集》和《四川省地图集》。这5部地图集全面反映了各省的行政区划、交通、旅游、地形等信息,包含较多内容明确、较为清晰的地图注记。根据实验需要,选取2200张点注记图像作为本文的地图点注记数据集,其中包含地名注记、森林公园注记、自然保护区注记和风景名胜区注记4个类别。各类别的注记示例如图1所示。

图1 4种类别的地图注记示例

由图1可以看出,4种类别的地图注记在表示形式上具有各自的特点。地名注记以蓝色为主色调表示,森林公园注记以绿色为主色调表示,自然保护区注记以紫色为主色调表示,风景名胜区注记以红色为主色调表示。4种类别的注记在字体及背景颜色上存在明显的区别,反映了人类在进行地图制图时对注记信息的表达习惯,而机器可以通过算法训练学习来掌握这些习惯。

在共计2200张实验图像中,包含地名注记图片1000张,森林公园注记、自然保护区注记和风景名胜区注记图片各400张,在4个类别中分别选取80%的图像作为实验的训练集,其余图像作为实验的测试集,另外根据实验需要采集河南省的地图注记图像共70张作为验证集,具体的数量分配见表1。图片采用JPEG格式,设置为RGB模式,图像的像素大小不一,基本为150×100。

表1 注记样本类别及数量

二、神经网络模型构建

1. 选择卷积神经网络模型

卷积神经网络(convolutional neural network ,英文缩写CNN)能够有效解决图像分类问题[17],基于CNN的研究工作显著提高了多个图像数据库的最佳性能,尤其在学习图像的局部及全局结构上表现优异。本文所采用的地图点注记数据集数据量较小,在这种小型数据集的图像处理问题中,为了避免过拟合问题,通常采用在其他大型数据集上训练好的预训练网络模型,但由于该数据集与其他数据集中图像的相似特征较少,需要对其进行单独训练,因此选用参数较少、网络结构简单的CNN作为图像分类的训练模型。采用CNN对地图注记图像进行类别识别时,地图注记图像为CNN的输入层,卷积层对注记图像进行特征提取,池化层对卷积层输出的特征图进行降采样,最后通过全连接层进行预测。

本文设置的CNN模型共11层,包含4个卷积层、4个池化层和3个全连接层,激活函数使用ReLu函数,采用Softmax分类器进行分类。输入层输入的是尺寸统一为100×100×3的图片像素矩阵,前两层卷积层的卷积核尺寸为5×5,第三、四层卷积层的卷积核尺寸为3×3。池化层的尺寸均为2×2,步长为1。全连接层的节点个数分别为1024、512和4,其中第三层的节点个数与输出类别数一致。模型结构如图2所示。

图2 卷积神经网络模型结构示意图

为避免梯度消失问题,提高模型收敛速度,需要寻找合适的神经网络初始化权重,一般设置为接近0的数字,本文将初始权重值设为0.0001,以便使卷积神经网络模型在训练时能迅速收敛。学习率对函数的收敛速度和收敛效果起着决定性作用,为达到更好的学习效果,一般将学习率设置为随着训练进程而衰减的值。经过测试,本文将初始学习率设为0.001,在训练过程中,随着迭代次数的增加,学习率不断减小,直至模型收敛。

2. 插入卷积注意力模块

为进一步提高地图注记图像分类的精度,本文在已有的卷积神经网络模型中加入卷积注意力模块( convolutional block attention module,英文缩写 CBAM)[18]进行注记分类实验。CBAM是一种为CNN设计的注意力模块,机制是使机器仿照人的视觉注意阅读图像,用于神经网络可以使其更加关注重要特征,减少对图像背景信息的学习,从而提高图像分类的精度。CBAM可以无缝集成到任何CNN架构中,添加至CNN的卷积层中,其开销可以忽略不计,并可以与基础CNN一起进行端到端的训练。

CBAM包含通道注意力模块和空间注意力模块,通过对经过卷积的特征图进行通道和空间两个维度的特征优化,以提高网络精度。通道注意力强调输入图像的特征是有意义的,空间注意力强调输入图像哪些部分的特征是有意义的,是对通道注意力的补充。CBAM的输入为经过卷积后的特征图F,将F经过最大池化和平均池化得到的特征相加并通过激活函数获得权重,得到通道注意力图像,将其与输入图像进行像素级别的相乘操作,得到新的特征图F'。空间注意力模块同样采用最大池化和平均池化,对特征图F'在通道维度上进行压缩,经过激活函数得到空间注意力图像,将其与图像F'进行像素级别的相乘操作,最终得到优化后的特征图像。

本文将CBAM设置在第一个卷积层后,在卷积核对输入的注记图像进行特征提取后,CBAM采用最大池化和平均池化的方法对获得的特征图进行两个维度的特征优化,再将特征图像传递给池化层。CBAM的具体工作流程如图3所示。

图3 卷积注意力模块工作流程图

3. 文字识别

使用深度学习方法进行文字识别(optical character recognition ,英文缩写OCR),已有许多研究成果,并被广泛应用于商业用途,如采用CRNN(convolutional recurrent neural network,卷积循环神经网络)[19]、Res-Net(residual network,残差网络)[20]等网络,对场景文字识别的精度可达94.2%,对印刷文字的识别精度高达99%。本文采用密集卷积网络(DenseNet)[21]对地图点注记图像进行文字识别。DenseNet主要是在ResNet的基础上进行改进,其最大的特征是采用密集连接的方式连接所有网络,其每一层的输入都来自前面所有层的输出。这使得DenseNet具有减轻梯度消失、加强特征传递和需要较少参数等优势。

在文字识别中,DenseNet具有预测速度快、中文识别效果更好等优点。本文基于中文OCR工具包cnocr中已经训练好的DenseNet模型对地图点注记图像进行文字识别,该模型对印刷体文字的识别准确率为97%。

三、地图注记配置实验

本文使用从地图集中采集的2200张地图注记图像作为实验数据集,开展注记识别和注记配置实验。首先基于TensorFlow平台,采用CNN和插入CBAM的神经网络开展注记类别识别实验,使网络学习不同类别注记的颜色、字体等特征,然后基于MXNet框架,采用DenseNet开展注记文字识别实验,并且在文字识别中加入字符串相似度计算算法以提高识别精度,最后结合注记类别识别和文字识别的结果定位注记位置并进行注记配置,在遵循注记配置规则的基础上注重突出注记的类别特征,赋予各类别注记不同的颜色及符号特征。

1. 地图点注记分类实验

在进行训练前,先通过函数对数据集图像的尺寸进行调整,如果图像像素小于目标尺寸100×100,则对图像进行固色填充;如果图像大于目标尺寸,则截取图像中心区域使其与目标尺寸大小相等。然后使用CNN开展分类实验,在TensorFlow平台上使用搭建好的CNN对数据集进行训练、测试及验证。通过训练数据集生成模型,再调用生成的模型对地图注记图像进行验证。实验表明,该模型在经过约900次迭代后,分类精度趋于稳定,针对测试集的分类准确度达到98.69%,训练时间为980秒。训练和测试过程的精度准确率变化曲线如图4所示。

图4 CNN准确率变化曲线

然后采用插入CBAM后的CNN模型,在TensorFlow平台上对数据集进行训练、测试及验证。同样,先通过函数对数据集图像的尺寸进行调整,然后通过训练数据集生成模型,再调用生成的模型对地图注记图像进行验证。实验表明,该模型在经过约900次迭代后,分类精度趋于稳定,针对测试集的分类准确度达到99.22%,训练时间为1436秒。训练和测试过程的精度准确率变化曲线如图5所示。

图5 插入CBAM后的CNN准确率变化曲线

由实验可知,在同样的实验环境和实验数据集条件下,加入CBAM后,CNN的分类精度有所提高,但训练所耗费的时间更长。实验结果表明,在使用神经网络进行地图点注记分类时,加入注意力模块可以更有效地提取图像特征,提高识别准确率。因此,本文使用加入CBAM的CNN训练模型对验证集进行分类,针对验证集的70张注记图像,该模型的分类准确率为98.57%,其中河南省省会郑州的分类有误,原因是省会注记与其他地名类别注记的字体、颜色不同,存在较大差异,且训练集中的省会注记图像较少。手动修改错分类别,将分类结果进行记录以便后续使用。

2. 注记文字识别实验

将地图注记图像作为训练好的DenseNet模型的测试集,在MXNet平台上进行验证,其识别精度为72.86%。由于地图注记数据集存在噪声,使用DenseNet模型直接进行预测时精度较低,因此先收集所需的地名及其经纬度,并在识别程序中加入字符串相似度计算算法,将模型预测出的字符串和地名文件中的字符串作对比,选取相似度更高的为预测结果,使得文字识别的结果可以正确匹配地名。加入字符串相似度计算算法后,模型的文字识别准确率显著提高,达到94.29%。

依分类实验的顺序,在MXNet平台上对70张验证集进行文字识别,在匹配到相应的地名后,读取该地名所对应的位置信息。在识别实验中,个别注记图像由于背景干扰因素较多,识别较为困难,需要采取裁剪图像或消除背景的方法对其进行处理,从而提高识别精度。完成文字识别后,使用Python编程将地名、经度、维度和类别写入同一文件中。

3. 注记配置实验

经过上述实验,根据地图注记图像已获取地图注记的文字、位置和类别信息,可以基于网页、在线工具、制图软件等开展注记配置实验,主要是根据上述信息对点注记进行定位,寻找注记文字最佳放置位置以及为各类注记设置不同的字体、颜色、大小等特征。

加载河南省地图底图后,首先采用文字识别实验中获取的位置信息对注记点符号进行定位,并根据匹配的地名信息加载注记文字,然后根据地图注记分类实验中获取的注记类别,为4类地图注记设置不同的字体、大小、颜色及符号样式等特征。

在直接读取注记位置信息进行注记配置时,注记文字默认放置于点符号东北方向,由此产生了地图注记冲突问题,冲突占比为27.15%。为解决该问题,在放置注记时使用ArcGIS环境下的 Maplex标注引擎,以选择注记理想放置位置,使注记围绕点符号分布,将注记冲突占比降至0%。地图点注记的配置结果如图6所示。

图6 地图点注记配置结果

4. 结果分析

由实验结果可知,采用神经网络能够实现对地图点注记的类别识别和文字识别,并应用至地图注记自动配置中,是一种新的地图注记配置思路。为评价本文方法的有效性,将配置结果与专家系统及其他注记配置方法的注记配置结果进行对比分析,采取压盖、冲突、放置位置等常用的注记质量评价标准对本文方法与专家系统及其他注记配置方法进行评价,结果如下:

(1)与专家系统的配置结果相比,采用本文方法得到的注记配置结果在注记位置分布上表现良好,避免了注记冲突的情况,注记压盖情况更少,注记配置结果较为分散,符合已有的注记配置规则,因此本文的注记配置方法能够用于地图注记自动配置,以提高地图的质量。

(2)与专家系统及其他注记配置方法相比,本文方法考虑了地图注记的类别属性,在注记配置时采用不同的符号和色彩展示了地图注记的类别,突出了各类注记的特点,进一步方便了地图阅读。同时,将区分注记类别与自动化配置相结合,简化了地图注记配置的过程,提高了地图制图的效率。

四、结语

本文利用从公开出版的地图集中获取的地图注记数据集,采用深度学习的方法对地图点注记图像进行类别识别和文字识别,并对地图注记进行位置匹配,结合注记文字和类别信息进行注记样式设置,实现了通过地图注记图像完成不同类别的地图注记自动配置,为地图注记自动配置提供了新的思路。对比已有的地图注记配置方法,本文的方法具有以下优点:用户可以通过注记图像及地名位置信息实现注记的自动配置,简化数据获取过程,从而降低传统制图方法中数据处理的复杂度;将深度学习方法应用于地图注记配置中,可以提高地图制图的自动化、智能化水平,对泛在用户的制图行为起到引导作用,同时提高了用户的制图效率和制图质量;降低了制图难度,制图速度更快,制图选择性更多,能够针对专题进行制图。

随着地图注记数据集的扩大,所包含注记类别的增加,本文的方法将能够更广泛地应用于地图制图中,有效提高地图制图效率。根据地图注记分类的实验结果,可以发现CBAM能够提高地图注记图像分类的精度,当样本集数量扩大时,增加CBAM是否能进一步提高分类精度是后续研究的一个方向。

猜你喜欢
制图类别卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
无声手枪如何消音?
一起去图书馆吧
习近平的战疫日志
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
西夏刻本中小装饰的类别及流变
明天我们将生活在怎样的城市?
工程制图课程教学改革探析