注意力机制海洋场景图像理解算法

2022-05-19 13:30文莉莉
计算机工程与应用 2022年10期
关键词:分词注意力卷积

邬 满,文莉莉,孙 苗

1.广西壮族自治区海洋研究院 信息科,南宁 530022 2.自然资源部海洋信息技术创新中心,天津 300171 3.广西大学 电气工程学院,南宁530007 4.广西壮族自治区药用植物园 信息产业办,南宁 530023

随着我国经济社会的高速发展,沿海地区对于海洋资源的开发力度持续加大,我国海洋管理面临着越来越严峻的挑战,但是受开发理念、开发方式、监管困难及利益驱动等多方面的影响,我国沿海违规开发(偷填、超填、闲置)、随意围垦种养殖、破坏红树林等生态环境、盗采海砂、非法挖矿采石、垃圾偷排与倾倒等行为,使海洋资源与生态环境受到严重破坏[1]。因此,加强海洋资源监测、海域利用现状调查、海洋工程批后监管,对重点区域进行常态化动态监测显得尤为必要。

无人机遥感监测具有机动灵活、高分辨率、成本低、风险小等特点,弥补了卫星遥感监测的不足,已成为重要的测绘与监测工具,广泛应用于国土、海洋、规划、农业、灾害、资源、环境、公安等多个领域[2]。然而,随着无人机技术的迅速发展,无人机获取遥感图像的规模呈暴发式增长,仅仅依靠人工来对这些海量的无人机图片进行整理、分类、审查与标注,工作量将非常巨大,效率也十分低下,难以满足对我国辽阔海域的动态监管工作[3]。因此,采用人工智能技术实现对日常海域监管中的海量无人机图像进行图像翻译与智能审查,自动生成图片审查报告,将极大地提高监管效率,节约大量的人力和时间成本,为有效地保护海洋资源和环境提供有力的技术保障,促进海洋经济健康可持续发展。

图像翻译的主要目的是对给定的图片输出文本描述内容,例如图像的主体、主体之间的关系、图像的情景等信息[4]。图像文本描述最早在2010年提出。近年来关于图像翻译的研究越来越多,其中比较经典的有监督模型包括Pix2Pix、BicycleGAN等,无监督模型包括CycleGAN、MUNIT、StarGAN、DRIT等[5]。由于这些模型无论是针对多领域翻译还是单领域翻译都是将目标域图像的风格、属性整体迁移到源域图像上,虽然这些方法可以很好地解决风格统一或者内容相关的图像翻译问题,但对于有大量复杂目标且目标与背景之间的风格差异非常大的复杂结构图像翻译来说是很困难的[6]。常用的图像翻译方法主要分为三类:基于生成式的描述方法、基于检索式的描述方法和基于深度学习的描述方法。本文主要探讨基于深度学习的描述方法[7]。

基于深度学习的描述方法一般采用卷积神经网络(convolutional neural networks,CNN)对图像特征进行编码,采用循环神经网络(recurrent neural networks,RNN)提取图像特征并逐步生成文本描述[8]。2014年百度提出的m-RNN模型首次提出用CNN编码图像特征,用RNN生成描述文本[9]。该模型也成为众多基于深度学习获取图像描述任务的基准模型。2018年Zhang等人提出一种基于文本使用注意力机制的方法,采用tdgLSTM方法对单词嵌入取平均,与图像特征编码融合后作为注意力机制的输入并产生文本描述[10]。近年来,国内研究人员也越来越关注图像翻译技术的研究:2018年周治平提出一种结合自适应注意力机制和残差连接的长短时记忆网络(long short-term memory,LSTM)的图像翻译模型[11];2019年朱欣鑫提出一种基于堆叠注意力机制和多级监督的图像描述算法[12];同年,常智提出一种基于多模态融合的图像描述方法,采用一种时序卷积结构提取语句特征,将句子特征融合进每个RNN时间片,从而增强RNN对历史单词的长距离相关性建模[13]。

然而,由于自然资源监测应用场景复杂,监测目标有着多样化、多尺度、时空关联的复杂特征,描述比较困难,图像翻译技术在国土、海洋、测绘等自然资源领域的应用还处在探索阶段。因此,探索利用人工智能技术,自动对海量的自然资源监测图像进行筛选与标注,对提高自然资源的综合监管能力和效率有着至关重要的作用。

为了解决上述问题,本文提出基于LSTM的复杂海洋场景图像翻译方法。主要贡献如下:

(1)提出一种基于注意力机制、面向海域监管的复杂海洋场景图像有效特征提取方法。复杂场景图像中常存在多义和不确定的事物、隐式和显式的信息,尤其是目标多尺度、对象多样化、风格差异大的复杂海洋场景图像,如何充分结合图像特征和行业先验知识,有效进行复杂图像关注点与有效特征的提取,是复杂海洋场景图像翻译中待解决的关键问题和难点。

(2)提出一种基于改进LSTM的复杂海洋场景图像翻译算法。海域监管应用场景复杂,监测目标有着多样化、多尺度、时空关联的复杂特征,自动生成合适的文本描述与中文分词比较困难,这既需要复杂的中文分词规则与深度学习模型,还需要专业的海洋管理行业知识和丰富的海洋管理行业经验。因此,如何将人工智能技术与海洋管理知识充分结合,构建面向海域监管的复杂海洋场景图像翻译方法,对实现我国辽阔海域的高效、大范围、智能化监管有着至关重要的作用。

(3)以准确率、时间消耗和内存消耗作为评价指标对提出的算法在公共数据集上进行了大量实验,对算法的有效性和优越性进行了分析。

1 相关技术

1.1 视觉注意力机制

视觉注意力机制是一种模拟人脑注意力机制的算法,能够快速扫描图像并忽略无用信息,获取图像的关键区域信息,即注意力焦点,然后针对焦点区域进行细节提取与处理[14]。这种方法可以快速、有效地提取复杂图像的关键特征,因此被广泛应用于图像识别领域,如自动驾驶。按注意力的可微性来分,注意力机制可以分为强注意力和软注意力[15]。强注意力是更加关注点,每个点都有可能延伸出注意力,它是一个随机的预测过程,不可微,用0或1表示哪些点被注意哪些不被注意[16]。软注意力更关注区域或通道,其最重要的特点是可微,用0~1之间的数值来表示每个区域的被关注程度,可用于描述[0,1]间连续分布的问题[17]。可微分使得它可以通过神经网络计算出梯度,并且注意力的权重可以利用前向传播和后向反馈学习来得到。因此,它常来解决目标分类问题,经常用到的视觉注意力机制网络有SENet、SKNet、CBAM等[18]。

大多数的注意力机制均是基于Encoder-Decoder框架,它是一个广泛应用于文本处理、图像识别、语音识别等各个领域的通用框架[19]。通过对Encoder和Decoder的各种不同组合,可以得到CNN、RNN、LSTM等不同的网络模型[20]。用x表示输入,y表示输出,h是Encoder阶段的转换函数,H是Decoder阶段的转换函数,W表示权重,c表示不同的注意力集中程度,即分配的概率大小,c i是由h1,h2,…,h n与Wti加权求和所得,则Encoder-Decoder框架可以表示如图1所示。

图1 引入注意力机制的Encoder-Decoder框架Fig.1 Encoder-Decoder framework with attention mechanism

1.2 LSTM网络模型

循环神经网络(RNN)常用来解决一个事件序列的预测问题,它具有一定的状态记忆功能[21]。但当时间较长、状态依赖关系较复杂时,由于RNN在时间上共用权重,导致网络权重更新缓慢,会出现梯度爆炸或梯度消失问题[22]。因此,需要增加一个存储单位来存储记忆,解决长期依赖问题,这就是长短时记忆模型(LSTM),它是RNN的一个变形[23]。LSTM的核心是细胞状态,也是整个模型的记忆空间[24]。目前改进的LSTM有三个门:input gate、forget gate、output gate[25]。其中,input gate负责记忆现在的状态信息,forget gate负责忘记过去某些状态信息,output gate输出最终结果[26]。forget gate可以控制是否忘记之前的存储信息,因此可以解决梯度爆炸问题。LSTM每个节点共有四个输入和一个输出,四个输入包括输入部分Z、输入门Zi、输出门Zo、遗忘门Z f。Zi、Zo、Z f三个门一般使用sigmoid函数作为激活函数,激活之后使值在0到1之间,便于控制门的开关,Z i能控制输入Z走多远,Z f负责刷新或重置记忆单元的值,Zo控制最后的结果能否被输出。三个门的逻辑控制如下:

(1)设记忆单元的初始状态为c。

(2)若输入门关闭,即f(Zi)=0,则输入为0;若f(Z i)=1,则输入不变。

(3)若遗忘门开启,即f(Z f)=1,则c直接通过,相当于记忆单元保存了c的值;若f(Z f)=0,则忘记保存的值c。

(4)若输出门开启,即f(Zo)=1,则输出最后结果;否则若f(Zo)=0,则输出也是0。

通过三个门的控制,将LSTM内部分成了三个阶段:记忆阶段、忘记阶段和输出阶段。记忆阶段由输入门控制,根据信息的重要性进行选择性记忆,重要的着重记忆,不重要的则少记;忘记阶段由遗忘门控制,选择性忘记不重要的信息;输出阶段由输出门控制结果是否被输出。如图2所示。

图2 LSTM模型结构图Fig.2 LSTM model structure diagram

设每个神经元的输入用a表示,输出用b表示;wij表示神经元i到j的权重,用I、F、O表示input gate、forget gate、output gate的下标,c表示cell,wcI、wcF、wcO分别表示cell到各个门的权重,S c表示cellc的状态,NI、NH、NO分别表示输入层、隐藏层、输出层神经元个数,f、g、h分别表示控制门、cell的输入输出激活函数,则input gate的推导公式如式(1)、(2):

forget gate的推导公式如式(3)、(4):

由上式可以看出,当前时刻的状态计算依赖于上一时间隐藏层的状态,有递归效应,因此LSTM模型具有较长时间的记忆功能。

2 算法研究

2.1 基于注意力机制的复杂海洋场景图像特征提取

海洋场景图像有着目标多尺度(如塑料瓶、塑料袋等小目标海洋垃圾,以及红树林、养殖池塘等海域利用大目标)、对象多样化(有单纯的个体目标,如渔船;有复杂的集群目标,如蚝排;有不确定的对象,如挖掘机;也有复杂的对象行为分析,如挖掘机施工、采砂船采砂等)、风格差异大(背景可能是海面、滩涂、海堤、码头、树林、围填海施工现场等,且干扰目标多)等复杂特点,如何有效提取图像中的有效特征,对图像描述的准确生成有着至关重要的作用。复杂场景图像中常存在多义和不确定的事物、隐式和显式的信息,如何充分利用图像特征和文本信息的融合特征,有效进行图像关注点的选取是图像描述中仍待解决的关键问题和难点。

海洋场景图像的复杂性体现在:(1)图像内容的复杂性,图像中存在多尺度、多样化的海洋目标及复杂多变的背景。(2)时空关系的复杂性,如多对象之间的位置关系复杂,多张连续图像之间的位置相关联。

海洋场景图像的不确定性体现在:(1)对象的不确定性,如渔船与采砂船外观相近,须结合其他特征来区分(如船运动轨迹上是否存在大量泥沙的痕迹)。(2)行为的不确定性,如在海边发现有挖掘机或货车,不能确定其是否是在进行围填海施工活动,或者渔船在海上作业是否违法须结合禁渔期的时间设定。如图3所示。

图3 复杂海洋场景图像示例Fig.3 Examples of complex ocean scene images

复杂海洋场景图像中常存在多义和不确定的事物、隐式和显式的信息,如何充分结合海洋管理行业知识,有效进行图像关键特征的提取,是实现图像翻译的关键问题之一。图像翻译首先需要从图像中提取特征,这些特征包括图像中的纹理信息、物体信息、场景信息等。彩色图像的实质是数字矩阵,矩阵上每个位置的数字代表这个位置的色彩值。复杂图像特征提取一般使用卷积神经网络。

卷积神经网络的优势在于它通过卷积核的权重共享机制大大减少了神经网络中参数的数量,由此也带来训练速度上的大幅提升[27]。同时由于其卷积核能自动提取区域特征的特殊结构,反而能取得比普通神经网络更好的表现效果。CNN的这种优势在数据量大且区域特征明显的图像类任务上显得更加突出,图像分类、目标检测等任务都基于CNN网络取得了非常好的效果。

卷积网络在图像识别领域已经十分流行,经典网络有AlexNet、VGGNet、GoogLeNet等[28]。GoogLeNet最大的特点就是使用了Inception模块,它的目的是设计一种具有优良局部拓扑结构的网络,即对输入图像并行地执行多个卷积运算或池化操作,并将所有输出结果拼接为一个非常深的特征图。因为1×1、3×3或5×5等不同的卷积运算与池化操作可以获得输入图像的不同信息,并行处理这些运算并结合所有结果将获得更好的图像表征。

通过谷歌发表的论文Inception-v4,Inception-ResNet and the Impact of Residual Connections on Learning中的实验结果来看,Inception-v4和Inception-ResNet v2在分类任务上有着差不多准确度,且明显强于其他结构的分类器[29]。Inception-v4网络,对于Inception块的每个网格大小进行了统一。

Inception-v4可分为六大模块,分别是Stem、Inception-A、B、C、Reduction-A、B,每个模块都有针对性的设计,模型总共76层。Stem(9层):3个3×3卷积堆叠;高效特征图下降策略;非对称分解卷积。Inception-A(3层):标准的Inception module。Reduction-A(3层):采用3个分支,其中卷积核的参数K、l、m、n分别为192、224、256、384。Reduction-B(4层):非对称卷积操作部分,参考Inception-v3。Inception-C(4层):结构参考自Inceptionv3。Inception-v4总共9+3×4+5×7+4×3+3+4+1=76层。

图4是Inception-v4的结构:所有图中没有标记“V”的卷积使用same的填充原则,即其输出网格与输入的尺寸正好匹配。使用“V”标记的卷积使用valid的填充原则,意即每个单元输入块全部包含在前几层中,同时输出激活图(output activation map)的网格尺寸也相应会减少。

图4 Inception-v4结构图Fig.4 Structure diagram of concept-v4

Inception-v4模型可以很好地用于复杂图像特征的提取,如图5所示。将Inception-v4处理后的特征图再输入其他深度学习网络进行迁移学习,可以得到较好的图像分类效果。本文用Inception-v4与VGG16两种模型进行了图像分类对比实验。

图5 Inception-v4图像特征提取Fig.5 Image feature extraction of Inception-v4

2.2 基于LSTM的复杂海洋场景图像描述生成

目前的图像描述生成算法主要是针对人物或动物的场景进行描述,相对比较单一;针对复杂多变的海洋场景图像进行自动描述并生成图像审查文本报告,是一项极具挑战也十分有实用价值的研究工作,可以极大地节省海洋管理工作人员的审图时间,提高其工作效率。

目前使用效果较好的是基于长短时记忆模型(LSTM)的深度学习图像描述生成方法。LSTM模型作为每一步生成文本时使用的编码单元,是文本生成中的基本结构,它是循环神经网络的变种之一。本文将CNN与LSTM结合起来,利用CNN的图像识别能力与LSTM的构句法,将图像数据和相应的描述句子作为输入,建立具备“看图说话”能力的图像翻译模型。具体处理步骤如下(如图6所示)。

图6基于CNN和LSTM的图像描述生成Fig.6 Image description generation based on CNN and LSTM

(1)将图像进行缩放、裁剪、归一化等预处理;

(2)利用Inception-v4网络对图像进行特征提取,得到特征图;

(3)将特征图作为输入,结合对应的图像描述语句,每幅图像对应3句以上描述语句,一起作为输入传入LSTM网络,供其学习,建立图像翻译模型;

(4)对模型进行评价及优化。

图像中文文本描述使用CNN结构提取图像特征。CNN结构采用迁移学习的方法,将在大规模分类任务上训练好参数的网络结构直接迁移到图像描述任务的特征提取层。CNN输出的特征向量作为LSTM解码器单元的输入和注意力机制的关注区域,带有注意力机制的LSTM单元对将要生成的文本描述进行逐字解码。训练过程中开始时固定CNN的参数值,训练LSTM的参数;当损失值稳定后,对CNN和LSTM的参数进行联合训练,使CNN能获取到不同于分类任务的特征参数。针对中文分词存在歧义性的问题,采用基于字的生成。对训练中超参数的选择,采用控制变量对比法。评价机制选择了传统的交叉熵损失函数值和针对机器翻译等问题提出的BLEU等方法。主要技术方法如下:

(1)提取图片中的时间地点信息

无人机拍摄的照片基本都是以JPG格式存储。通过编程提取JPG文件中Exif(exchangeable image file format)数据结构中的经纬度和时间信息,再通过阿里的逆地理编码regeocoding请求或百度地图api,将经纬度转换成对应的地名。

(2)复杂海洋场景描述中文分词

中文与英文描述最大的区别就在于分词处理。英文每个单词就是一个相对独立的单元,用空格分开,程序很好区分;而中文由汉字组成,一个词大多由多个汉字组成,且没有任何标记进行分隔,一般程序较难实现准确的自动分词。因此,需要专门考虑中文的分词问题。目前常用的中文分词方法有基于词典的方法和基于统计的方法。

基于词典的方法主要包括正向最大匹配法、逆向最大匹配法、双向匹配分词法、N-最短路径方法等;其优点是处理速度快,实现也很简单,缺点是对有歧义和未登录的词处理效果较差。基于统计的方法包括隐马尔科夫模型(hidden Markov model,HMM)、条件随机场模型、最大熵模型、N元文法模型N-gram、支持向量机、神经网络和深度学习方法;其优点是可以解决歧义和未登录词的问题,还可以考虑上下文环境、词频等,但建立训练集需要大量的人工标注和整理统计,且速度很慢。在实际使用中经常是将两种方法结合起来,这样既能提高分词速度,又能解决歧义和识别未登录生词的问题。目前中文分词使用最广泛的Jieba分词便是采用这种原理。

Jieba分词工具是目前应用最广、效果最稳定的中文分词工具,比基于深度学习(如LSTM)的分词方法速度要快很多,且效果基本差不多。它是基于统计和词典方法相结合的分词方法,支持自定义词典。其原理主要包括三部分:对于待分词的句子,基于Trie树词典查找所有可能的路径;然后基于动态规划查找概率最大的分词路径,找出基于词频的最大切分组合;对于未登录词,采用了具有汉字成词能力的HMM和Viterbi算法来识别新词。Jieba分词工具使用的算法有Trie树、有向无环图、动态规划、隐马尔科夫及Viterbi(维特比)算法,分词模式支持精确模式、全模式、搜索引擎模式三种。本文采用Jieba分词工具进行复杂海洋场景的中文描述分词,如图7所示。

图7 Jieba分词效果Fig.7 Jieba word segmentation effect

(3)基于LSTM的复杂海洋场景图像翻译

长短时记忆网络能够处理长短不一的序列式数据,比如语言句子。给定一个输入,网络能够给出一个序列输出。图像到文字的问题可以看作是一种机器翻译,在现在的机器翻译模型中,以LSTM为基础的seq2seq模型成为主流。该模型的基本思想是,对于一个数据pair(A,B),因为A和B表达的是同一个意思,所以存在某种隐含状态h,使得A和B都对应到h。于是seq2seq模型就先对A进行编码,得到一个数据表示,再基于这个数据表示去解码,生成目标语言的文字。本文基于此方法建立面向海域监管的复杂海洋场景图像翻译模型,并研究自动生成海域监管报告的方法。如图8、图9所示。

图8 LSTM整体结构图Fig.8 Overall structure of LSTM

图9 基于LSTM的海洋场景图像中文描述生成Fig.9 Generation of Chinese description of ocean scene image based on LSTM

3 实验结果与分析

3.1 数据集

利用91卫图助手高清影像、自己制作的无人机高清影像、无人机航拍照片、外业调查照片及网络图片,针对环境污染(赤潮、海洋垃圾等)、破坏生态(盗采海砂、破坏红树林)、海洋养殖(网箱、蚝排)、围填海施工这四类海洋场景,建立样本图像库与测试图像库。为了扩充数据样本及防止过拟合,本文对每类样本做了数据扩充处理,包括颜色抖动、角度旋转、随机裁剪、加噪声等处理。每类场景图像为3 000张以上,各抽出100张作为测试集,并随机抽出100张作为交叉验证集。

3.2 实验步骤与结果

为了验证本文提出的算法,基于LSTM模型与场景先验信息相结合的方法,实现对复杂海洋场景监测图像的中文描述自动生成。本文实验环境采用百度的Paddle-Paddle深度学习框架,python语言环境。具体步骤如下:

(1)利用各种数据源,建立复杂海域场景样本库。

(2)制作针对复杂海域场景图像的中文描述数据集,每张图片对应5条描述。

(3)使用Inception-v4网络模型抽取图像特征。

(4)使用Jieba分词工具,构建输入序列嵌入,将图像描述的单词转换为其id序列号,制作词汇表和词典。

(5)构建语言模型,设计卷积神经网络(CNN)和长短时记忆网络(LSTM)模型,训练出针对复杂海域场景的中文描述生成模型和海洋目标识别模型。

(6)针对日常海域调查及海域批后监管工作中海量未标注的无人机图片,先解析出JPG文件中Exif数据结构中的经纬度和时间信息,再通过阿里的逆地理编码regeocoding请求或百度地图api,将经纬度转换成对应的地名;再用训练出的模型自动生成图片描述信息,如“挖掘机在施工”“海上有大量蚝排”等;最后将时间、地点、图片描述信息拼接起来作为图片标注信息及文件名,便于图片分类归档及关键信息提取,可用于环境污染、生态环境破坏或违法用海行为的图片筛选及预警,如“XX市XX区XX镇_2020年3月31日_沙滩上有大量垃圾”(环境污染)、“XX市XX区XX镇_2020年1月20日_挖掘机在施工”(非法围填海)、“XX市XX县XX镇_2020年2月12日_船舶在开采海砂”(破坏生态)。

(7)使用putText方法将文字叠加到图像上。如图10所示。

图10 处理效果示例图Fig.10 Processing effect examples

(8)对识别出的海上目标和疑似用海行为,确定其用海类型,并与规划数据、海域使用权属数据进行叠加分析,判断是否为非法用海;对非法用海行为进行自动记录、存证,并生成数据包提供给管理部门和执法部门进行调查处理。

另外,为了对比VGG16与Inception-v4模型的图像特征提取与分类能力,本文从海洋场景样本库随机抽取1 000张图像进行了测试,实验结果表明,Inception-v4的图像分类能力明显要高于VGG16网络模型。如表1所示。

表1 对比测试结果Table 1 Comparative test results

3.3 存在的问题及改进措施

由于海洋场景的复杂性,该模型还存在以下问题:

(1)专有名词的分词问题。比如红树林、养殖网箱、养殖池塘、养殖蚝排等专有名词需进行专门的分词处理,否则会分词失败,比如将红树林分成“红”和“树林”两个词。下一步计划建立专门的海洋专题词库,涵盖海域海岛管理、海洋生物、海洋环境、海洋防灾减灾等多个专题。

(2)最佳语句的选择。一幅海洋场景图像往往含有多个目标及多重含义,得出的参考句也有多种描述,且往往各种描述的概率均较低,造成很难合理选择最佳描述语句,如表2所示。下一步将优化中文描述样本库,研究句子长度对描述准确性的影响,进一步提高描述的准确性。

表2 数据样例Table 2 Data sample

4 总结

受监管手段落后与利益驱动的影响,我国沿海海域违规开发行为屡禁不止,使海洋资源与生态环境受到严重破坏。近年来随着无人机技术在海洋监管中的广泛应用,监管效率有了极大提高,但无人机获取监测图像的规模呈暴发式增长,传统的人工审查方式已越来越难完成对海量图像的审查、标注工作,无法实现对我国辽阔海域的动态监管。因此,本文针对海域监管中的复杂海洋场景(目标多尺度、对象多样化、风格差异大、时空强关联且存在不确定性目标)特点,研究复杂海洋场景图像有效特征的提取方法,以及LSTM模型在海域监管图像翻译中的应用,提出并建立一种基于CNN和LSTM网络的复杂海洋场景图像中文描述生成模型,结合Jieba分词工具,实现了对复杂海洋场景监测图像的自动翻译。经实验验证,本文方法可行,可以解决批量图像的自动标注问题。下一步将从海洋领域专有名词和最佳语句选择方面继续深入研究,进一步提高算法的稳定性和描述的准确性。

猜你喜欢
分词注意力卷积
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
分词在英语教学中的妙用
如何培养一年级学生的注意力
卷积神经网络的分析与设计
结巴分词在词云中的应用
结巴分词在词云中的应用
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
A Beautiful Way Of Looking At Things