基于深度学习的遥感图像微小目标检测方法研究
2022-10-27商俊燕
商俊燕
(常州工业职业技术学院 信息工程学院,江苏 常州 213164)
0 引言
遥感技术为人们快速、全面了解地表覆盖变化提供了技术支持,在高分辨率遥感技术不断发展的大背景下,大量高品质遥感图像的采集越来越方便。遥感图像是利用遥感技术生成的远距离图像,可以对目标进行有效的处理[1]。目标检测是遥感图像处理的基础任务之一,通过对遥感图像的分析可以分辨出水体、植被等目标,同时遥感影像可以识别更小的目标,如具体的树木、人、交通标志、足球场标志线等等,因此遥感图像目标检测已经成为当前研究的热点问题。遥感设备拍摄图像时由于设备距离目标较远,包含的地面范围大,受到分辨率的限制,待检测目标可能以微小形式显示在遥感图像中,这些检测目标具有尺度小、特征弱等特点,为图像目标的检测工作带来较大难度。
为了精准地检测到遥感图像中的微小目标,提出遥感图像微小目标检测方法。欧巧凤[2]等人提出了基于深度学习的车检图像多目标检测与识别方法。应用轻量级神经网络YOLOv3检测并识别车辆图像中的细小目标,再利用多任务级联卷积神经网络定位图像中的关键点,利用关键点坐标对其进行校正,最后以卷积神经网络分类车牌底色,最终实现字符识别。该方法提高了检测与识别精度,但是响应时间较长,检测与识别效率较低。杜泽星[3]等人提出了基于半监督学习的遥感飞机图像检测方法。应用深度卷积生成式对抗网络,提取待检测目标的边缘特征信息以及深度语义特征,再以生成式对抗网络设计目标检测的网络模型,进而实现对遥感图像的检测。该方法具有更快的收敛速度,在训练时需要的标记样本较少,但是存在准确率较低和重复率较高的问题。
为解决上述存在的问题,本文基于深度学习对遥感图像微小目标检测方法进行研究。深度学习是传统机器学习领域中的一个新兴领域,其本质是基于前向结构神经网络的多层感知器,主要用于模拟输入数据的过程,并由此得到更高层次的语义特性[4]。深度学习多层结构能够从多个层面上抽象并结合底层特征,从而使其能够更好地理解更复杂的函数关系。在不同的图像处理领域中,深度学习可以很好地提取出图像的本质特性,而在深部神经网络中,它的推广性能也得到了进一步的提高[5]。将深度学习算法应用到遥感图像微小目标的检测工作中,以期能够提升微小目标的检测精度性能。
1 遥感图像微小目标检测方法设计
遥感图像微小目标的检测思路是:判别当前遥感图像是否包含指定目标,如果存在,则获取目标的数量和位置信息,若不存在则退出,进行下一张遥感图像的检测处理。在深度学习算法的支持下,优化方法的检测过程如图1所示。
图1 遥感图像微小目标检测流程图
最终输出的检测内容包括遥感图像中微小目标的数量、位置等。
1.1 实时采集遥感图像样本
根据地面物体的光学特性,利用无人机以及相机装置,分别在静止或运动遥感平台上进行遥感成像[6]。在遥感图像开始采集之前,需要利用公式(1)对相机内部参数进行标定。
(1)
公式(1)中,变量F为采集遥感图像画幅大小,fx为采集相机的焦距,最终的计算结果α为相机的水平视角参数。将标定好的相机安装到无人机设备上,按照既定路线航行后得出实时遥感图像的采集结果。
1.2 遥感初始图像预处理
1.2.1 遥感图像几何校正
在获取图像过程中,因设备自身原因以及外部信号干扰等因素,导致获取的遥感图像存在畸变现象,影响图像目标的检测结果,因此有必要对初始图像进行校正处理[7]。几何校正的基本原则是利用选定的一套地面控制点,通过空间坐标转换,得到修正空间的象素值,从而达到几何校正的目的。具体的校正过程可以表示为式(2):
(2)
式(2)中,u、v、x和y分别为几何校正处理前后图像空间中像元的行和列,p(·)和q(·)对应的是几何校正的坐标变换函数[8]。按照上述流程,将初始采集遥感图像中的所有坐标数据代入到公式(2)中,得出的结果即为图像的几何校正处理结果。
1.2.2 遥感图像灰度化转换
遥感图像的颜色不会影响微小目标的检测结果,但会大大增加检测过程中计算量,因此需要将彩色图像处理为灰度图像,从而提高图像目标检测效率[9]。假设fR(x,y)、fG(x,y)和fB(x,y)为初始遥感图像f(x,y)中任意像素的3个颜色分量,通过加权平均得到图像的灰度转换结果为式(3):
G(x,y)=
0.3fR(x,y)+0.59fG(x,y)+0.11fB(x,y)
(3)
按照上述方式,通过对图像中多个像素点的处理,实现遥感图像的灰度化转换。
1.2.3 遥感图像噪声抑制
从遥感图像采集的基本原理及传播过程中可以看出,在这些客观条件下,都会对影像造成很大的干扰。在不过滤的情况下,图像的处理效率将受到影响。遥感影像中存在着大量的噪声,其中有条形噪声和随机噪声[10]。条带噪音是一种周期性的噪音,滤除的方法主要是空域滤波,滤波过程可以表示为式(4):
(4)
式(4)中,w(x,y)为空域模板的响应值,T表示的是设定的非负阈值。此外,受到遥感图像采集设备的影响,初始遥感图像会存在少量的随机噪声,噪声类型为加性噪声,可使用中值滤波方法,能够很好地去除噪声,同时不会对图像本身造成影响,最大程度地保留遥感图像中的微小目标[11]。
1.2.4 遥感图像去雾处理
天气对图片质量的影响很大,若图像采集环境水汽较多,采集的图像就会出现多雾的情况,此时需要根据暗通道原理进行图像去雾处理[12]。对于遥感图像f(x,y),其暗通道可以表示为式(5):
fdark(x)=miny∈Ω(x)(minfg(y))
(5)
在式(5)中,Ω(x)为包含像素x的一个窗口,参数g为用于表示遥感图像的灰度情况的灰度系数。根据雾的生成原理可以得出去雾处理过程如式(6)所示:
(6)
式(6)中,λ为大气中的均折透率,A为大气成分系数[13]。与传统去雾方法相比,暗通道去雾方法生成的色彩噪声干扰较少、由此得到的视觉效果较好、生成图像的细节部分信息较为多样。
1.2.5 遥感图像增强
选择图像的自适应对比度增强方式得出图像增强处理结果,如式(7)所示:
fenhance(i,j)=M(i,j)+G(f(i,j)-M(i,j))
(7)
式(7)中,M(i,j)为图像的全局均值。对于深度学习模型而言,目标特征越明显可以获得越好的学习效果。
1.2.6 遥感图像前景目标分割
合理的背景描述模型能够为目标提取提供有效的依据,构建背景模型,通过计算遥感图像与背景模型之间的差异值,判断任意一个坐标是否属于运动前景[14]。如果背景模型与得到的运动前景像素之间的差值高于已设定的阈值,那么便判断该像素属于前景图像,否则为背景部分。
1.3 选择遥感图像检测微小目标
利用遥感图像中背景不变的特征建立背景模型如式(8)所示:
Bt(x,y)=(1-γ)Bt(x,y)+γG(x,y)
(8)
式(8)中,Bt(x,y)为t时刻遥感图像中背景帧中(x,y)位置的像素值,G(x,y)的具体取值可通过公式(3)计算得出,而参数γ为背景像素的移动速率,由采集遥感图像无人机的航行速度决定,该参数取值越大说明背景更新越快[15]。在遥感图像微小检测目标的选择过程中,只需判断当前遥感图像中任意像素点与图像背景的像素值是否一致,若像素值一致则说明该像素点属于图像背景,无法作为微小检测目标,若像素值与背景不一致,则确定该位置属于前景图像。但还需要判断该点是否满足微小目标的尺寸条件,从而确定该像素点是否可以作为遥感图像中微小目标的检测点。
1.4 利用深度学习算法提取遥感图像特征
在此次遥感图像特征的提取工作中,以深度卷积神经网络来实现深度学习算法,深度卷积神经网络的基本结构如图2所示。
图2 深度卷积神经网络结构图
由图2,在输入层中,深度卷积神经网络会把输入的影像转码为立体矩阵的形式[16],以矩阵的长宽比来表示影像的长度和宽度,由于输入的初始遥感图像为灰色图像,因此设置深度为1。卷积神经网络是利用不同的网络结构,从输入层到最终的全连通层,从而达到对目标特性的转移[17]。卷积层是图像局部特征提取环节的主要工作环境,卷积层的每一个结点都只是上层的一个局部,记为感知场,感知场的大小决定着每一次处理的局部面积[18]。卷积层采用不同尺寸的卷积对输入的图像进行了详细的分析,使其能够更好地提取出更高级的抽象特征,并能更好地表示出对象的特性。在卷积运算中,卷积核在输入的局部特征区域上进行矩阵的乘法运算,计算出偏移量,然后根据所设置的步长量,使其在图像上来回滑动。一般情况下,在完成卷积运算后,节点的矩阵深度将会得到进一步的提高。在不改变矩阵深度的情况下,采用了对矩阵进行降维的方法。池化层运算可以减少图像的解析度[19]。利用池化层,使上一次全连接层中的结点数目得到了进一步减少,从而降低了总的网络参数值。通常将池处理分成平均池和最大池。卷积和池化操作的基本原理如图3所示。
图3 卷积和池化操作原理图
卷积层的卷积处理过程可以表示为式(9):
(9)
在式(9)中,D、W和H分别为网络层输出的通道总数,卷积核的长度与宽度,ql(x+i,y+j,dl-1)表示的是l层输入的dl-1通道对应坐标(x+i,y+j)的像素值,d和dl-1表示的是网络层的输入和输出通道,wl(i,j,d,dl-1)为通道卷积核的权重值。在卷积神经网络中,以激活函数来构建以卷积神经网络为基础的非线性模型,该工作一般用于卷积层和池化层以后,保留了学习到的特征,去除了相关的信息。此次构建的深度卷积神经网络中选择Sigmoid作为激励函数,其表达式如式(10)所示:
(10)
式(10)中,e为趋于无穷大时的极限值。在卷积神经网络终端通常会有一个或两个完整的连接层次来判定和输出。在对图像进行卷积和池化处理后,在进入卷积层之前,图像的特征就会转化为更高的抽象意义。在特征抽取完毕后,全连通层集成了先前层次的一些类型信息,最后一层完全连通层向输出层输入信息,并通过输出端实现结果的分类和输出[20]。在实际的特征提取过程中,将采集并预处理完成的遥感图像作为输入项直接导入到深度卷积网络的输入层中,网络按照图4所示的流程进行训练迭代,最终输出图像特征的提取结果。
图4 训练流程图
在网络训练过程中需要实时更新权重参数和偏置参数。最终遥感图像边缘轮廓特征的提取结果可以表示为式(11):
(11)
公式(11)中,Mi(Ci)和Mu(Ci)分别为遥感特征耗散函数和光线吸收量,Simage为初始遥感图像面积。同理利用深度卷积神经网络能够得出其他类型的特征,在经过规范化处理与融合处理之后,输出得到最终的综合特征的提取结果。
1.5 实现遥感图像微小目标检测
根据选择的遥感图像微小检测目标的形状、轮廓以及遥感图像采集高度,设置微小目标的特征向量,以此作为微小目标的检测比对标准。利用公式(12)计算深度学习算法提取图像特征与设置特征之间的匹配度。
(12)
公式(12)中,χtotal和χset分别为提取的综合图像特征和设置比对特征,若计算得出的匹配度高于阈值simχ,则认为当前目标即为待检测的遥感图像微小目标,直接进入目标定位程序,否则需要进行下一个目标点的判定,直到遥感图像中所有微小目标检测完成为止。除了遥感图像中微小目标的数量外,还需要确定各个目标的位置坐标,最终以可视化的方式输出遥感图像微小目标的检测结果。
2 检测性能测试实验分析
以测试优化设计的基于深度学习的遥感图像微小目标检测方法的检测性能为目的,设计测试实验。为保证实验结果的可信度,此次实验设置多个微小检测目标,采用多组实验取平均值的方式,避免偶然事件对实验结果产生的影响。最终通过与传统目标检测方法的对比,体现出优化设计方法的性能优势。
2.1 构建遥感图像实验数据集
根据数据来源可以将实验使用的遥感图像样本分为两个部分,第一部分图像样本来源于UCM、WHU-RS19、NWPU45等数据集,用来专门存储以飞机、舰船为主要内容的遥感图像。另一部分图像样本采用实时拍摄采集的方式获取,为目标检测训练提供充足样本。初始准备的遥感图像尺寸差异较大、背景复杂,图像背景相似性较高,且每个图像的形状尺寸也不同,图像包含了大量的非目标信息,且细节结构较为复杂。为了降低遥感图像微小目标检测程序的工作量,将初始遥感图像尺寸调整为1 024×1 024,以0.25的概率随机增加图像亮度。准备的实验数据集中一共包含8 000张遥感图像,所用到的数据样本在进入检测程序前都要经过人为的标记,而人工标记则是将遥感图像中的特定地点及分类标示出来,标记包含遥感图像名称、检测目标数量、检测目标位置坐标等。将标记完成的遥感图像缩小100倍作为测试数据,以达到微小目标的尺寸需求,并将测试图像与标记信息一一对应,标记信息即为验证检测性能的对比数据。
2.2 选择遥感图像检测目标
根据遥感图像的拍摄内容,针对不同的测试样本设置不同的检测目标。本次实验采用的检测目标,主要包含了飞机、车辆、舰船和桥梁。
2.3 配置深度学习算法运行参数
由于优化设计的遥感图像微小目标检测方法应用了深度学习算法,为保证该算法的正常运行,需要对相关参数进行配置。深度卷积神经网络结构中32×64尺寸的卷积核数量设置为822个,64×64以及64×128尺寸的卷积核设置数量分别为2 754和2 408,而128×128的卷积核数量共852个。设定深度学习算法训练的最大迭代数是1 000次,设置初始的学习率是0.005,该参数的数值会随着重复次数的增加而降低,在300次重复的情况下,学习率下降到0.001,而在600次重复的情况下,学习率下降到0.000 1。该方法通过随机梯度法来更新加权。为加快训练速度,本文提出了一种批量训练方法,以48次随机抽取48个遥感图像样本进行训练。
2.4 描述目标检测实验过程
选择交叉训练的方式进行训练和验证,提高泛化能力的同时避免产生实验误差。安装CPU AMD Athlon64 X2 4 000+ AM2的计算机作为遥感图像微小目标检测方法的运行与测试设备,为了给测试样本提供充足的存储空间,上位机连接一个8.2 TB的硬盘。采用编程工具将优化设计的基于深度学习的遥感图像微小目标检测方法转换成计算机可以直接读取并运行的程序代码,经过软件调整保证检测正常运行的情况下,随机选择实验样本,将其代入到检测程序中,得出微小目标检测结果。桥梁目标和舰船目标的检测结果如图5所示。
图5 遥感图像中微小目标的检测结果
从图5中可以直观地看出,输出的检测界面中显示了遥感图像中微小目标的数量和位置坐标。按照上述流程可以得出所有遥感图像样本中的目标检测结果。
2.5 设置检测性能量化测试指标与实验对比项
此次实验分别从检测精度性能和检测方法运行性能两个方面进行测试,其中检测性能可以细分成目标数量检测和目标位置检测两个部分。设置查准率和查全率作为目标数量检测性能的测试指标,查准率描述了检测目标数量与实际目标数量的比值,查全率反映的是检测结果中正确目标数量的占比,上述两个指标的数值结果可表示为式(13):
(13)
公式(13)中,Ncorrect、Nout和Nset分别为检测结果中微小目标的正确数量、实际输出目标数量以及遥感图像中设置的目标数量,计算得出查准率ηaccuracy和查全率ηrecall的值越高,证明对应方法的检测性能越优。而目标位置检测性能设置的量化测试指标为位置检测误差,其数值结果如式(14)所示:
(14)
式(14)中,(xactual,i,yactual,i)和(xtesting,i,ytesting,i)分别为微小目标点i的实际坐标和检测坐标,参数n表示微小目标点的数量。由于优化设计的检测方法可能出现漏检的情况,因此在位置检测误差的测试过程中只考虑检测结果中的目标点。计算得出指标εposition取值越大,证明对应方法的检测性能越差。另外,设置检测响应时间作为检测方法运行性能的衡量指标,该指标关系到深度学习算法在实际应用中的可实现性和处理效率,其测试结果在调取上位机后台运行数据后,能够直接获得。
为了体现出优化设计检测方法的性能优势,本实验设置了两个对比方法作为对照组。分别为以仿射不变离散哈希理论为基础的遥感图像目标检测方法,简称为传统方法1;和以半监督学习为基础的遥感图像目标检测方法,简称传统方法2。利用相同的编程工具得出运行程序,处理相同的遥感图像样本,最大程度地保证实验变量的唯一性。
2.6 性能测试结果分析
2.6.1 检测精度性能测试结果
通过多组实验数据的统计与处理,最终得到的检测精度性能的测试数据结果,具体如表1所示。
表1 遥感图像微小目标检测精度性能测试数据表
将表1中的计算结果代入到公式(13)中,可以得出传统目标检测方法查准率和查全率指标的平均值分别为92.35%和86.74%,而优化设计目标检测方法的平均查准率为98.65%,平均查全率为97.48%,均高于设置的对比方法,由此证明优化设计方法在目标数量检测方面的具有更高优势。提取检测输出结果中的坐标数据和目标的实际位置坐标,通过公式(14)的计算,得出目标位置检测误差的测试结果,如图6所示。
图6 遥感图像微小目标位置检测误差测试对比结果
从图6中可以看出,基于深度学习的遥感图像微小目标检测方法的位置检测误差始终低于对比方法,由此证明优化设计方法的检测精度性能更优。
2.6.2 检测方法运行性能测试结果
通过上位机后台运行数据的读取,得出两种目标检测方法响应时间的测试对比结果,如表2所示。
通过平均值计算,可以得出优化设计方法与实验对比方法的平均响应时间分别为3 830 ms和6 270 ms,由此证明优化设计检测方法的响应速度更快,运行性能更优。
3 结束语
目标检测是一种利用物体的几何特性和统计特性来进行图像分割的方法,由于目标检测具有快速定位目标的特点,因此被广泛地应用于导航、远程监测等诸多领域中。遥感技术以及遥感图像的出现,扩大了目标检测的维度,同时也为目标检测工作带来巨大的难度与挑战。通过深度学习算法的应用,在保证检测速度的同时,极大地提高了对于遥感图像中微小目标的检测精度,说明本文提出的方法可以在实际应用中发挥一定的作用。然而由于深度学习算法需要经过多次迭代并产生大量的迭代数据,因此优化设计的目标检测方法需要占用较大内存空间,针对这个问题还需要在今后的研究工作中进一步优化。