基于Faster R-CNN 的贺兰山岩画目标检测研究

2023-01-31 08:12贾大勇李春树
宁夏工程技术 2022年4期
关键词:偏移量贺兰山岩画

贾大勇,李春树,吴 严

(宁夏大学物理与电子电气工程学院,宁夏银川 750021)

岩画作为一种非物质文化遗产,代表了古代人类对自然的向往。人们以石器、铁器为工具,将自然界的景物刻在岩石上,表达了对大自然的敬畏之心。我国的贺兰山岩画是岩画宝库中的瑰宝,但由于其长时间暴露在空气中,受到风和雨水的侵蚀,表面早已破败不堪,给岩画的识别与保护工作带来了巨大的挑战,同时也对相关工作人员的工作能力提出了更高的要求。传统的人工检测、记录耗时耗力,不仅效率低,而且不利于深入开展岩画保护工作。基于此,本文提出将双阶段目标检测算法Faster R-CNN应用于贺兰山岩画检测识别中[1]。计算机视觉的引入可大大提高岩画检测的效率,同时减少人工成本的消耗,对岩画的保护和发掘工作具有十分重要的现实意义。

本次实验对图像中的人和物有较高的检测精度要求,因此本文选用Faster R-CNN 作为目标检测算法。为了使Faster R-CNN 算法在特征提取阶段能够通过卷积神经网络(convolutional neural networks,CNN)获得更多的特征语义信息,同时减少由于数据量过小而出现的过拟合现象,本文对所用的数据集进行以下操作。首先,针对贺兰山岩画中图腾和动物前景与背景区分度较低,动物与人面像形态、大小不一和部分物体轮廓不完整等现象,运用数据增强技术,对岩画数据集进行扩充。数据增强是指对岩画进行批量反转、扩张、压缩、旋转和归一化等处理,该技术能够丰富贺兰山岩画数据集的语义信息,提升数据集图像的表达能力,避免在训练数据集的过程中出现过拟合现象。然后,本文又通过图像标注软件LabelImg 对岩画中出现的人或物分门别类地进行标注,将数据增强后的贺兰山岩画数据集送入Faster R-CNN 网络中进行训练。数据增强能够充分利用算法中特征金字塔网络(feature pyramid networks,FPN)不同层的优势[2],使图像的浅层语义信息和深层语义信息进一步融合,从而得到语义信息更加丰富的特征提取层,进而提高模型的检测精度,提升目标检测网络的性能。

1 Faster R-CNN 目标检测算法

2014 年R.Grishick 等提出了R-CNN 深度学习算法,并将其应用于目标检测领域。该算法采用选择性搜索(selective search,SS)算法和CNN,对输入图像进行特征提取,并借助CNN 强大的特征提取能力,大大提升了SS 算法在图像分类上的精度[2-3]。目前,目标检测算法主要分为单阶段和双阶段2 种类型。Faster R-CNN 为双阶段目标检测算法,其主要优点是检测精度高,然而相较于单阶段目标检测算法,Faster R-CNN 在检测速度上略显不足。较为经典的单阶段目标检测算法有SSD(single shot multibox detector)算法、YOLO(you only look once)算法等[4],该类算法在小目标物体检测中表现优异,只需对输入图像进行1 次处理,就能同时解决目标候选框的定位与回归问题。贺兰山岩画前景与背景的区分度较低,整体目标较大且多为单个目标,对检测精度要求较高,因此本文选用双阶段目标检测算法。Faster R-CNN 目标检测流程分为3 个部分:①由特征提取网络提取输入图像的特征层;②通过区域候选网络(region proposal network,RPN)获得感兴趣区域;③对感兴趣区域进行分类与回归操作。

1.1 Faster R-CNN 算法原理

Faster R-CNN 算法是R-CNN 算法的延伸与扩展。R-CNN 网络架构中使用的SS 算法在运行中不仅耗时较多,而且对计算机CPU 和GPU 的占用率较高,限制了深度学习的发展。Faster R-CNN 在R-CNN的基础上创新性地提出用RPN 代替SS 算法,生成建议框[5-7]。RPN 通过CNN 共享特征层,极大地缩短了计算时间,提高了计算效率,提升了算法的检测速率。Faster R-CNN 的算法流程图如图1 所示。

图1 Faster R-CNN 算法流程图

1.2 特征提取网络

Faster R-CNN 可以和多种类型的特征提取网络结合,例如:ResNet,VGG,DenseNet,DetNet 等系列。ResNet 系列为深度特征提取网络,其最大的特点是具有残差式网络结构[8]。在实际应用中,人们为了解决复杂的工程问题,往往会加深网络的层数,但是随着深度的增加,在特征提取网络中会出现梯度爆炸或梯度消失的情况,而ResNet 的残差式网络结构可以很好地解决上述问题。这种结构可以将上一层的输入x 直接与多层之后的输出F(x)叠加,即特征层最终的输出H(x)由输入线性叠加而成。这种特殊的输出方式可以解决由梯度爆炸或梯度消失导致的学习效率下降、精准度无法提高等现象。残差神经网络的结构如图2 所示。基于使用者的需求,ResNet可以提供卷积层数不同的版本[9],常用的有ResNet-50 和ResNet-101,本文采用ResNet-101 特征提取网络,其各卷积层的结构参数见表1。

表1 ResNet-101 各卷积层结构参数表

图2 残差神经网络结构图

1.3 RPN

RPN 是Faster R-CNN 的核心组成部分,其作用是筛选出候选区域中有效的感兴趣区域,对提取到的特征层进行初步筛选,为后续的分类与回归打下基础。RPN 利用1 个3×3 的卷积核对特征层进行卷积处理,并且在卷积核的中心生成长宽比不同的1 组锚框(Anchor)[10],每组锚框分为3 种比例(1∶1,2∶1,1∶2),其原理图如图3 所示。

图3 锚框原理图

RPN 之后连接的是2 个并行结构的全连接层,其中1 个负责分类,1 个负责回归。分类层负责计算感兴趣区域中出现目标是前景或背景的概率,即判断预测框内是否包含物体。回归层则负责计算预测框与真实框的4 个顶点坐标的偏移量,以此来调试RPN 的权重值。RPN 结构示意图如图4 所示,图中N 表示特征层的维度。

图4 RPN 结构示意图

1.4 损失函数

目标检测的任务是预测物体所属类别、物体所处位置的中心坐标(x,y)以及预测框的宽(w)和高(h)。损失函数的作用是计算预测值与真实值之间的差值,即判断预测框中出现的物体属于前景还是背景;计算预测框与真实框之间的偏移量,并以此作为预测精准度的度量手段。

首先,RPN 对特征层里的候选区域进行初步筛选,大致给出目标属于前景或背景的概率。其次,以交并比MIoU作为评价指标,其定义式为

式中:P 表示预测框的面积;G 表示真实框的面积。交并比示意图如图5 所示。图5 中P 与G 的重合面积为预测框与真实框的交集,相交的面积越大,说明预测的准确性越高。当MIoU小于0.4 时,预测框被划分为负样本;当MIoU大于0.7 时,预测框被划分为正样本;当MIoU为0.4~0.7 时,样本则不予考虑。

图5 交并比示意图

偏移量的定义是基于预测框与真实框的差值。真实框的中心坐标为(x,y),宽为w,高为h;预测框中心坐标的初值为(xa,ya),宽为wa,高为ha[11]。预测框偏移量的计算公式为

式中:水平方向上的偏移量tx和ty利用宽和高进行归一化;竖直方向上的偏移量th和tw利用对数进行处理。对数操作限制了偏移量的值,使训练过程中的预测框逐步接近真实框,可提高预测精度。

预测框中被检测目标的类别和偏移量由RPN后半段的全连接层计算得到,之后利用公式(3)将其作用在对应预测框上,就可以得到预测框与标记框的水平差值tx*和ty*以及垂直差值th*和tw*[11]。预测框的最终坐标为(x*,y*),宽为w*,高为h*,计算公式为

1.5 RPN 的损失函数

RPN 是多任务的网络模型,其损失函数由2 部分组成,分别为目标分类任务和边界框回归任务。本文通过RPN 得到预测值,再通过损失函数得到预测值与真实值的差,其定义式为

式中:i 表示所选取Anchor 的索引数;pi表示第i 个Anchor 类别为真实值的概率[12];pi*表示Anchor 类别的预测值(正样本记为1;负样本记为0);Ncls表示分类预测时每个处理批次所有样本的数量,Nreg表示回归预测时每个处理批次Anchor 样本点的数量;平衡因子λ 的作用是对损失函数进行调整;ti表示第i 个Anchor 边界框4 个坐标参数组成的向量,ti*表示第i 个Anchor 所对应真实框4 个坐标参数组成的向量。其中分类损失Lcls使用的是交叉熵损失,其定义式为

回归损失Lreg使用了smoothL1函数[13],其定义式为

2 实验环境与结果分析

2.1 数据集

本文应用场景为贺兰山岩画目标检测。未经扩充的贺兰山岩画数据集中的目标共有4 种类别,分别为人面像89 张、太阳神像102 张、猴面像14 张以及羊像94 张,共计299 张;扩充后的数据集中人面像267 张、太阳神像305 张、猴面像98 张以及羊像282 张,共计952 张。本文使用PASCAL VOC 2007数据集格式,将整体数据集随机划分为训练集、验证集、测试集,分别占整个数据集的70%,20%,10%。部分数据集如图6 所示。

图6 部分贺兰山岩画

2.2 实验环境配置

实验配置参数:CPU(Intel(R)Xeon(R)CPU @2.30 GHz,内存16 G);GPU(NVIDIA-S Tesla K 80,24 G 显存);操作系统Ubuntu 16.04[14];深度学习框架为Pytorch 1.0.0;图形加速器采用CUDA 10.0 和cuDNN 7.6.2;代码运行环境为Python 3.5。

2017 年Facebook 的研究人员提出了Pytorch,其与TensorFlow 深度学习框架相比,更加高效、简洁,故本文选用Pytorch 作为深度学习框架。本次实验在训练过程中采用随机梯度下降法寻找全局最优解。实验一共对数据集训练了120 个周期;实验的初始学习率设置为0.01,衰减速率为0.001;RPN 阶段正、负样本的阈值分别为0.7,0.4。

2.3 实验结果分析

本文使用Faster R-CNN 和ResNet-101,分别对未进行数据增强的贺兰山岩画数据集和数据增强后的贺兰山岩画数据集进行对比实验。训练过程中要保持训练参数一致,并使用相同测试集,对目标检测模型进行对比。数据增强前后的贺兰山岩画损失曲线如图7 所示,实验检测精度见表2。由图7可知,相较于数据增强前,数据增强后网络模型的损失函数曲线更加平缓,收敛更加迅速,曲线波动幅度更小。

表2 数据集数据增强前后的实验检测精度%

图7 数据增强前后的损失曲线

本文选取部分实验结果图,进一步分析检测结果,如图8~图10 所示。由图10 可知,数据增强后的目标预测框更加准确,避免了数据增强前由于猴面像数据量过小而造成的误检现象。因此,当项目数据量较小时,可以利用数据增强技术来完成模型优化,从而在一定程度上提升网络性能。

图8 镜像反转前后人面像检测结果图

图9 镜像和压缩前后羊像检测结果图

图10 光学变换前后猴面像检测结果图

3 结论与讨论

本文基于Faster R-CNN 目标检测算法,将数据增强技术应用于贺兰山岩画检测中,提升了目标检测算法的网络性能,优化了目标检测模型,并且避免了由于数据量较小而引起的过拟合现象,可以更加有效地检测出贺兰山岩画中的目标。

当前阶段,深度学习是机器学习的一种新兴研究方向。在贺兰山岩画的学习样本中,深度学习可以有效地学习到被检测目标的内在规律,能够让机器像人一样具有分析学习的能力,并且其在图像和语音识别技术中也具有较大的优势。深度学习为贺兰山岩画等非物质文化遗产保护工作提出了新的研究方向,同时也提供了广泛的应用前景。

猜你喜欢
偏移量贺兰山岩画
宁夏贺兰山森林生态系统经营技术
基于格网坐标转换法的矢量数据脱密方法研究
印象贺兰山
青藏高原首次发现人面岩画
灵魂只能独行之六
基于AutoLISP的有轨起重机非圆轨道动态仿真
DEM辅助偏移量跟踪技术的山地冰川运动监测研究
搅拌针不同偏移量对6082-T6铝合金接头劳性能的影响
阴山岩画
写实与抽象:金沙江岩画考古认知