0引言针对遥感图像的目标定位和参数提取在农林调查、城区测量、海洋监测及军事侦察等方面(孟繁烁,2012;隋雪莲等,2019)都有着广泛的应用,是重要的研究问题之一。油罐作为圆形特征的代表性人造目标,在军事和民用方面均起着重要作用(Xu等,2014)。浮动顶油罐的顶盖位置随着储油量的变化而上下浮动,随着储油量的变化,其遥感图像中会呈现出不同的圆形阴影和多个圆形区域分布。在具体应用中,由于油罐目标是固定目标,且遥感图像具有对应像素的地理信息,故油罐可依赖位置信息进行检测,因此,本文研究的油罐定位和参数提取关注在获得油罐切片之后,如何确定图像中的罐顶圆心位置、阳光投射在浮动顶上的圆弧所在的圆心位置及油罐半径(如图 1所示),这对于反演油罐结构(于圣涛,2019)和获知储油量信息(张金芳等,2017)有着重要意义,是计算机视觉的精确定位问题。然而浮动顶油罐遥感图像的圆形分布及交叠特征与光照、云量、卫星观测与成像条件、背景环境、侧壁遮挡等诸多因素相关,因此,面对浮动顶油罐的定位和参数提取问题,应当探索一种适合于此类圆形结构目标的定位和参数提取方法。 图1 油罐图像中的圆形结构 Circular structure in oil tank imageFig 1((a) original image; (b) top of oil tank and circle of circular arc on floating roof of oil tank) 针对圆心定位和参数提取问题的方法主要分为两类,一类是传统参数化特征提取方法,包括基于Hough变换(Duda和Hart,1972)的方法和基于模板匹配(Shin等,2007)的方法(吴晓东等,2015),韩现伟等人(2011)通过利用梯度的方向信息和降低参数空间维数的方法改进了Hough变换,再结合图搜索方法作用于油罐(蔡肖芋和眭海刚,2015),张维胜等人(2006)利用改进的随机Hough变换(randomized Hough transform,RHT)、改进的Canny算法和模板匹配算法来处理油罐目标;另一类是近年迅速发展的基于深度学习(Hinton等,2006)的方法,将原始数据通过非线性模型转变为抽象的高层表达,以发现数据的分布式特征表示(LeCun等,2015;孙志军等,2012),LeCun等人(1989)提出了卷积神经网络(convolutional neural network,CNN),Krizhevsky等人(2012)构建的深度CNN模型在ImageNet比赛中取得佳绩,引发工业界和学术界的广泛关注,He等人(2015)提出的ResNet在ILSVRC(ImageNet Large Scale Visual Recognition Challenge)竞赛上获得图像检测、图像分类和图像定位3项冠军,首次超过人类识别的精度(王颖洁等,2019)。针对遥感图像油罐目标的定位和参数提取问题,两类方法各有优势与缺点,传统参数化特征提取方法有效利用了圆周特征,但具有不可学习性,参数适用性差,需要依靠经验或先验知识来不断手动调节参数,自动化程度低;深度学习方法是端到端的方法,然而在面对油罐这类圆形结构目标时,无法充分挖掘数据特有模式,需要较大的感受野,因而需要通过级联多层网络的方式来增大感受野,这导致其参数量和运算量大增。基于此,本文旨在有效利用先验特征的同时,加入已有数据的学习特征,降低计算量,提高精度和效率,提出一种二者结合的方法。本文讨论了CNN方法的感受野覆盖问题,利用快速径向对称变换(fast radial symmetry transform,FRST)(Loy和Zelinsky,2003)将圆周特征实现空间区域聚集,构建了一种FRST和CNN相结合的方法,能够高效聚合空间特征,提高网络的精度和效率。基于SkySat卫星(龚燃,2016)数据进行了验证实验,结果表明,相比于普通CNN,该方法能有效提升油罐目标定位和参数提取的精度,并具有良好的稳定性。1本文方法1.1基于CNN的油罐目标定位与参数提取方法CNN作为一种带卷积的有监督的深度前馈神经网络结构,因其在计算机视觉领域的出色表现而得到广泛关注和应用,是深度学习的代表算法之一。面对油罐目标的定位与参数提取,CNN能够预测半径信息并得到精确的圆心定位,然而它的缺点也较为明显:1) 油罐这类圆形结构目标,其主要特征在圆周,而不在圆内(如图 1所示),然而目前神经网络需要遍历所有像素,这就导致其不必要的运算量增加,降低了处理效率;2) 由于感受野的限制,CNN通过级联多层网络的方式来逐渐增大感受野,聚合空间特征,因此,目标尺寸越大,需要的网络结构越深,这导致其参数量和运算量都较大;3) 对训练样本的丰富度及数量较为依赖,而这个问题在传统参数化特征提取算法中不需要考虑。1.2基于FRST的油罐目标定位方法1.2.1FRST原理FRST是一种利用局部径向对称来突出场景中感兴趣点的变换方法,其灵感来自于广义对称变换(Reisfeld等,1995)的结果,效果接近于Sela和Levine(1997)的工作和圆形Hough变换(Kimme等,1975)。但不同在于,FRST确定的是每个像素对其周围像素对称性的贡献,而不是局部邻域对中心像素的贡献。FRST可对一个或多个半径$n$∈${\mathit{\boldsymbol{N}}}$进行计算,其中${\mathit{\boldsymbol{N}}}$为待检测的径向对称特征的半径集。半径为$n$时的变换值表示对距离每个点为$n$处的梯度的径向对称性的贡献。首先定义正影响像素和负影响像素:对于像素$p$,正影响像素定义为沿梯度向量${\mathit{\boldsymbol{g}}}$($p$)所指方向,且距$p$距离为$n$的像素,其坐标计算式为 1 $\boldsymbol{p}_{+v e}(p)=p+ {round}\left(\frac{\boldsymbol{g}(p)}{\|\boldsymbol{g}(p)\|} n\right)$ 负影响像素定义为沿梯度向量${\mathit{\boldsymbol{g}}}$($p$)所指相反方向,且距$p$距离为$n$的像素,其坐标计算式为 2 $\boldsymbol{p}_{-v e}(p)=p-{round}\left(\frac{\boldsymbol{g}(p)}{\|\boldsymbol{g}(p)\|} n\right)$ 式中,$round$表示将元素数值四舍五入为整数。正影响像素和负影响像素如图 2所示(Loy和Zelinsky,2003)。 图2 正影响像素与负影响像素示意图 Schematic map of the positively-affected pixel and the negatively-affected pixelFig 2对于每个半径$n$∈${\mathit{\boldsymbol{N}}}$,通过检查每个点$p$处的梯度${\mathit{\boldsymbol{g}}}$,可形成一幅方向投影图${\mathit{\boldsymbol{O}}}_n$和幅度投影图${\mathit{\boldsymbol{M}}}_n$:对于每对影响像素,方向投影图${\mathit{\boldsymbol{O}}}$$_n$和幅度投影图${\mathit{\boldsymbol{M}}}_n$中对应的点${\mathit{\boldsymbol{p}}}_{+ve}$分别递增1和${\mathit{\boldsymbol{g}}}$($p$),而对应的点${\mathit{\boldsymbol{p}}}_{-ve}$分别递减1和${\mathit{\boldsymbol{g}}}$($p$) (两种投影图初始值皆设为零),即 3 $\begin{array}{c}\boldsymbol{O}_{n}\left(\boldsymbol{p}_{+v e}(p)\right)=\boldsymbol{O}_{n}\left(\boldsymbol{p}_{+v e}(p)\right)+1 \end{array}$ 4 $\boldsymbol{O}_{n}\left(\boldsymbol{p}_{-t e}(p)\right)=\boldsymbol{O}_{n}\left(\boldsymbol{p}_{-v e}(p)\right)-1 $ 5 $\boldsymbol{M}_{n}\left(\boldsymbol{p}_{+v e}(p)\right)=\boldsymbol{M}_{n}\left(\boldsymbol{p}_{+t e}(p)\right)+\|\boldsymbol{g}(p)\| $ 6 $\boldsymbol{M}_{n}\left(\boldsymbol{p}_{-t e}(p)\right)=\boldsymbol{M}_{n}\left(\boldsymbol{p}_{-t e}(p)\right)-\|\boldsymbol{g}(p)\|$ 半径$n$处的径向对称性贡献定义为 7 $\boldsymbol{S}_{n}=\boldsymbol{F}_{n} * \boldsymbol{A}_{n}$ 式中 8 $F_{n}(p)=\frac{M_{n}(p)}{k_{n}}\left(\frac{\left|\widetilde{O}_{n}(p)\right|}{k_{n}}\right)^{\alpha}$ 9 $\widetilde{O}_{n}(p)=\left\{\begin{array}{ll}O_{n}(p) & O_{n}(p) k_{n} \\k_{n} & \text { 其他 }\end{array}\right.$ ${\mathit{\boldsymbol{A}}}_{n}$是一个2维高斯核函数,$α$为径向严格度参数,$k_{n}$是一个归一化因子,可实现在不同半径下对${\mathit{\boldsymbol{M}}}_{n}$和${\mathit{\boldsymbol{O}}}_{n}$的标准化。整个变换定义为所有半径$n$∈${\mathit{\boldsymbol{N}}}$上对称性贡献的平均值,即 10 $\mathit{\boldsymbol{S}} = \frac{1}{{|\mathit{\boldsymbol{N}}|}}\sum\limits_{n \in \mathit{\boldsymbol{N}}} {{\mathit{\boldsymbol{S}}_n}} $ 该变换的完整步骤如图 3所示(Loy和Zelinsky,2003)。 图3 FRST示意图 Schematic diagram of FRSTFig 3FRST应用于人眼的效果如图 4所示。FRST中利用图像梯度定位高度径向对称点的思想,使其十分适合于圆的检测,同时,它无需像CNN遍历整个圆,只需利用圆周及其周边部分像素即可完成变换(如图 5所示,图中右侧数据表示使用不同方法时,所遍历像素中有用像素和冗余像素的比值),因而计算复杂度低,运行速度快。 图4 FRST应用于人眼 FRST method applied to the human eyeFig 4((a) original image; (b) transformed image) 图5 CNN、FRST处理圆形结构目标所需遍历的像素数对比 Comparison of the number of pixels traversed by CNN and FRST to process circular objectsFig 5((a) CNN; (b) FRST) 1.2.2FRST应用于遥感图像油罐目标本文基于分辨率0.8 m的Skysat卫星进行分析和实验。对油罐图像进行FRST特征提取的分析如图 6所示,针对68×68像素的图像进行了不同半径输入的FRST变换,可以看到:1) 变换的效果极大受制于所输入的半径范围,范围越广则效果越差,这导致变换极度依赖半径这一先验知识;2) 油罐浮动顶低于罐壁时,在图像中会呈现出明显较亮和较暗的两个区域(图 6(a)原图),这使得浮动顶边界的像素在变换时有部分正影响像素与负影响像素相互抵消,从而影响方向投影图、幅度投影图的像素值分布(Ok和Başeski,2015),进而影响最终的变换结果;3)最终的对称映射是对所有半径的贡献平均之后产生的,因此,变换的输出中积累了不同的半径信息,只要输入的半径是一个范围而非单个值,就无法计算出投影矩阵在特定位置和特定半径处的像素数,从而无法达到精确定位圆心及确定半径的目的。 图6 运行结果对比 Comparison of resultsFig 6((a) original image; (b) when the radius is 23.5;(c) when the radius range is [20, 27];(d) when the radius range is [1, 34]) 基于以上分析发现,对于遥感图像油罐目标的定位问题,仅利用FRST难以达到较好的精度和较高的自动化水平,值得注意的是,FRST对圆周的变换具备缩小圆心位置范围的能力,且对小半径范围具有良好的变换效果,因此可以考虑将其与其他方法结合,以更好地实现油罐的精确定位。1.3基于FRST的CNN油罐目标定位与参数提取方法1.3.1方法概述FRST无法精确定位圆心及确定半径,能缩小圆心位置范围,实现圆周特征的空间聚合。本文将FRST与CNN结合构建网络参数,提出基于FRST的CNN方法,方法原理如图 7所示。CNN处理圆形结构目标时,为使圆心处的感受野包含圆的特征,必须通过多层堆叠来扩张感受野,效率较低;而FRST能在圆心附近对圆周像素进行累加,聚合效率较高,因此本文将原图像和经FRST处理后的图像以叠加成双通道的方式组合,这将使得圆心处感受野大大扩张。3种方法的计算位置与处理特征位置的对比如表 1所示,卷积运算和FRST分别只有在圆周、圆心处计算时能够处理到圆周处的特征,新方法将它们组合之后,在圆周、圆心处均能处理到圆周处的特征。 图7 CNN、FRST、新方法应用于圆形结构目标的原理图 Schematic diagram of CNN, FRST, and new methods applied to circular objectsFig 7((a) CNN applied to circular objects; (b) FRST applied to circular objects; (c) FRST-based CNN applied to circular objects) 表1 3种方法对比 计算位置 能否处理到圆周处特征 卷积运算 FRST 卷积运算+FRST 圆周 √ × √ 圆心 × √ √ Comparison of three methodsTable 11.3.2方法流程方法流程如图 8所示。 图8 方法流程图 Flow chart of the methodFig 81) 数据集准备。本文利用Skysat卫星数据,Skysat卫星是一颗业务型商业对地观测的亚米分辨率微卫星(龚燃,2016),文中实验数据集是基于0.8 m分辨率SkySat图像制作的1 312幅图像切片,选择油罐半径、罐顶圆心位置及阳光投射到浮动顶上的圆弧对应的圆心位置进行标注,按接近4 ∶ 1的比例分为1 024个训练集样本和288个测试集样本,创建数据集。2) 预处理。采用双线性插值法,将样本图像压缩至统一尺寸。3) 定义CNN。本文设计了两种多层的CNN结构。将第1种网络命名为net_c2(“c”意为convolution),其结构模型如图 9所示,共分为3个部分:输入层、隐藏层及输出层。输入层为所输入的样本数据;隐藏层是网络的关键部分,包含2个卷积层和2个BN(batch normalization)层,其中,卷积层均由一个滤波器层、一个空间采样层和一个非线性层组成,非线性层通过ReLU激活函数来实现,考虑到最大池化对像素点的抽样位置不定,会影响油罐的精确定位,因而未添加池化层,而是通过将2个卷积层的卷积步长(stride)设置为2来实现抽样;输出层为全连接层,设计为一个3层感知器,每层输出特征数分别为120、84、5。样本输入网络之后,通过隐藏层的运算进行特征提取,最后由全连接层完成对相关参数的预测。将第2种网络命名为net_c3,在net_c2的第2个BN层之后再加上1个卷积层和1个BN层,其他不变,其结构模型如图 10所示。 图9 net_c2网络结构模型 Structural model of net_c2 networkFig 9 图10 net_c3网络结构模型 Structural model of net_c3 networkFig 104) 训练网络。选择适用于回归的L1损失函数作为损失函数,即 11 ${L_1}(y,\hat y) = \sum\limits_{i = 0}^m {\left| {{{\hat y}^{(i)}} - {y^{(i)}}} \right|} $ 式中,$y$表示真实值,$ $表示模型的输出。出于收敛速度和精度的考虑,选用适应性矩估计(adaptive moment estimation,Adam)算法来更新网络参数。对训练集样本进行训练,绘制损失曲线,通过观察曲线走势判断训练情况。5) 测试集上测试网络。利用测试集样本进行测试,计算5个参数各自和总的平均损失,绘制以样本为单位的损失曲线。2实验结果和分析2.1实验设计和安排本文设计了4个实验,如表 2所示。 表2 实验具体安排 实验类型 方式 网络结构 对照组1:浅层CNN 仅采用CNN net_c2 对照组2:较深层CNN net_c3 实验组1:基于FRST的浅层CNN 基于FRST的CNN net_c2 实验组2:基于FRST的较深层CNN net_c3 Specific arrangement of experimentTable 22.2实验过程及结果根据1.3.2节中算法进行处理,在随机种子为0和1的条件下各进行一次实验。在训练前的准备中,设置优化器Adam的学习率为0.002 5,一阶矩估计的指数衰减率为0.9,二阶矩估计的指数衰减率为0.99。通过MultiStepLR方法来动态调整学习率,设置epoch=300、epoch=650处为学习率调整点,学习率调整倍数为0.5。在训练过程中,利用训练集的1 024个样本即32个batch进行训练,网络使用GPU实现加速训练,设置迭代次数(epoch)为1 000,绘制损失曲线,通过观察曲线走势判断训练情况。在测试集上测试网络时,利用测试集的288个样本即9个batch进行测试,对测试结果计算5个参数各自和总的平均损失,将样本图像尺寸恢复为压缩前的状态,对样本参数预测值按照相同的压缩比例进行转换,用转换后的结果代表原始尺寸下样本参数的预测值,计算该值与原始样本的真实值之间的损失,绘制以样本为单位的损失曲线。为保证网络运用在测试集上的效果,先将训练过程中每个epoch对应的网络应用在测试集当中,绘制测试集的损失走势图, 如图 11和图 12所示,为保证展示效果,已对纵轴进行了对数化处理,并进行了平滑处理,设置平滑系数为0.95。 图11 随机种子为0的条件下测试集的损失走势图 Loss trend of test set with random seed 0Fig 11 图12 随机种子为1的条件下测试集的损失走势图 Loss trend of test set with random seed 1Fig 12从图 11和图 12中可以看出,在学习率调整点epoch=300、epoch=650之后,损失均仍是下降的,得到该保证之后,将训练好的网络用于测试集的处理,得到对5个参数各自的预测损失,绘制箱线图如图 13和图 14所示,其中的$x$1、$y$1、$x$2、$y$2、$r$依次表示图像中油罐顶部圆心的$x$、$y$坐标,阳光投射到浮动顶上的圆弧对应的圆心的$x$、$y$坐标及油罐半径。 图13 随机种子为0的条件下各参数的预测损失 Prediction loss of each parameter with random seed 0Fig 13 图14 随机种子为1的条件下各参数的预测损失 Prediction loss of each parameter with random seed 1Fig 14将图 13和图 14中的对照组1与实验组1进行对比,对照组2与实验组2进行对比,可以发现,实验组的平均值普遍低于对应的对照组,实验组的四分位间距普遍小于对应的对照组,说明无论处于浅层网络还是较深层网络,基于FRST的CNN始终比仅采用CNN的预测精准度更高,且稳定性更好。4个实验中的5个参数的平均预测误差结果如表 3。 表3 4个实验平均预测误差汇总 随机种子 实验类型 方式 网络结构 平均预测误差/像素 0 对照组1 仅采用CNN net_c2 1.550 9 对照组2 net_c3 1.272 5 实验组1 基于FRST的CNN net_c2 1.297 1 实验组2 net_c3 1.129 8 1 对照组1 仅采用CNN net_c2 1.679 3 对照组2 net_c3 1.408 5 实验组1 基于FRST的CNN net_c2 1.309 6 实验组2 net_c3 1.125 4 Summary of the average prediction error of the four experimentsTable 3 加粗字体为每个随机种子下的最优值。为了衡量基于FRST的CNN方法对于计算效率的影响,现引入参数量(params)和衡量计算量的MAC(multiplication and addition counts)对不同网络进行评估,结果如表 4。根据表 4绘制图 15,图中标注的数据表示在net_c3基础上额外添加的卷积层数。 表4 不同网络的预测误差及计算效率 方式 参数 在net_c3基础上额外添加的卷积层数 0 5 15 参数量 2.357 3.095 4.571 仅采用CNN MAC 30.42 174.9 463.9 预测误差/像素 1.21 1.07 0.95 方式 参数 在net_c3基础上额外添加的卷积层数 0 4 8 参数量 2.357 2.947 3.538 基于FRST的CNN MAC 30.42 146 261.6 预测误差/像素 1.18 0.97 0.91 Prediction error and calculation efficiency of different networksTable 4 图15 不同网络的预测误差及计算效率 Prediction error and calculation efficiency of different networksFig 15结合表 4和图 15可以看到:1) 额外添加层数为0的参数量和计算量相同,但基于FRST的CNN方法的预测误差小于仅基于CNN的方法。2) 基于FRST的CNN方法下添加4层的预测误差与基于CNN的方法下添加15层的预测误差相接近,但后者的参数量是前者的1.6倍,计算量是前者的3.2倍。3) 在两种方法下,参数量和计算量均随着网络层数的增加而增长,但是基于FRST的CNN的方法明显增长得更慢,因此,该方法有效地降低了参数量和计算量,即提升了计算效率。3结论为了提升遥感图像油罐目标定位和参数提取的精准度和稳定性,本文提出了基于FRST的CNN方法。基于SkySat数据库的4个实验结果表明:1) 基于FRST的CNN方法相比普通CNN方法,平均预测误差降低了17.42 %,该方法有效提升了精度。2) 浅层网络中,平均预测误差降低了19.19 %,较深层网络中,平均预测误差降低了15.66 %。说明提出的方法在网络层数增加时仍优于仅采用CNN的方法。本文的主要工作和创新点在于:讨论了FRST和CNN方法各自的优缺点,设计了基于FRST的CNN方法,有别于传统深度学习通过牺牲分辨率或增大模型来扩张感受野的方式,只需要增加一些计算量,即可高效聚合空间特征,有效提升油罐目标定位和参数提取的精度和稳定性,也提升了实际应用中的实时性。本文的不足之处在于:只设计了一种结合方式,在今后的工作中,将继续探索传统参数化特征提取算法与深度学习算法的结合方式。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读