一种基于机场掩膜的遥感图像飞机目标检测方法
文献发布时间:2023-06-19 19:28:50
技术领域
本发明涉及遥感图像目标技术领域,具体涉及一种基于机场掩膜的遥感图像飞机目标检测方法。
背景技术
随着对地观测技术的不断发展,遥感图像的空间、时间和光谱分辨率不断提升,海量的遥感图像对解译技术提出了更高的要求。在遥感解译技术中目标检测一直都是研究的热点,其定义为从大尺寸的遥感图像中对目标的位置进行准确的定位。随着人工智能的兴起,基于卷积神经网络(Convolutional neural network,CNN)的目标检测方法在自然视觉领域取得了显著的成果,因此也被广泛的应用在遥感图像智能解译方向。其根据是否采用锚框(anchor)提取候选目标框一般可以分为两大类:1)anchor-based类,其代表算法是RCNN系列、YOLOV3等;2)anchor-free类,其代表算法是CornerNet、CenterNet等。通常来说,anchor-based类算法可以取得更好的检测精度,但是检测速度相比anchor-free类的算法会更慢。
飞机目标具有非常重要的民用和军事价值,因此飞机目标检测也是众多学者研究的热点。现阶段,获取的遥感图像通常分辨率高、尺寸大,但GPU的显存大小有限制,所以通常采用有重叠的全图滑窗的方法生成固定尺度或多个尺度的切片图像(固定尺度的切片图像大小通常为1024×1024),然后对于一系列的切片图像采用anchor-based或anchor-free的算法进行飞机目标预测。这种方法由于产生的切片图像数量众多,即使选择anchor-free的算法作为检测算法,也会导致处理时间过长,而且全图滑窗的方法在非机场区域也会产生切片图像,模型在这些图像中也会产生虚警。
鉴于上述缺陷,本发明创作者经过长时间的研究和实践终于获得了本发明。
发明内容
为解决上述技术缺陷,本发明提供一种基于机场掩膜的遥感图像飞机目标检测方法。
一种基于机场掩膜的遥感图像飞机目标检测方法,包括以下步骤:
S1:机场栅格掩膜文件生成
根据全球机场的地理坐标集合,下载全球机场的电子地图,利用遥感处理软件在电子地图上进行矢量标绘,并利用遥感处理软件的矢量转栅格功能,将多个机场矢量掩膜文件生成多个栅格掩膜文件;
S2:遥感图像和机场矢量掩膜文件交叠判断
根据待检测的遥感图像的四个角点的投影坐标构建一个四边形,将四边形和步骤S1中多个机场矢量掩膜文件进行交叠判断,若有一个交叠成功则执行步骤S4,否则执行步骤S3;
S3:图像分割生成机场区域掩膜文件
若交叠失败,则将待检测的遥感图像进行图像分割,对分割后的图像的连通区域的形态、面积和孔洞占比进行分析,提取机场区域掩膜文件;
S4:机场区域图像切片生成
根据待检测遥感图像和机场区域掩膜文件,仅在机场区域按照一定重叠比的滑窗生成图像切片,生成图像切片时记录其在原始图像中的坐标偏移值;
S5:图像切片模型推理
采用改进的Cascade-RCNN算法,对图像切片进行推理,得到图像切片中飞机目标的类别、坐标和置信度;
S6:检测框位置还原
步骤S5中图像切片中飞机目标的位置即为检测框的位置,根据步骤S4中图像切片在原始图像中的坐标偏移值,将检测框位置加上坐标偏移值,可以得到原始图像中飞机目标的类别、坐标和置信度;
S7:类间非极大值抑制
将所有飞机目标的检测框按照置信度得分进行排序,并计算所有检测框的面积,然后选择置信度最高的飞机目标对应的检测框,遍历其余的飞机目标检测框,若与当前最高置信度飞机目标检测框的重叠面积大于设置的阈值,则将该检测框删除,一直重复进行,直至标记完所有保留下来的检测框;
S8:飞机目标虚警滤除
采用步骤S1中栅格掩膜文件,对类间非极大值抑制后保留的检测框进行虚警的滤除,只保留机场跑道和停机坪上的飞机目标。
进一步的,步骤S1具体包括以下步骤:
S11:根据搜集整理的全球机场的地理坐标,地理坐标即经纬度坐标,使用电子地图下载软件定位机场区域;
S12:在电子地图下载软件中,框选一个完全包含机场区域的矩形包络,选择合适的分辨率,下载该机场区域的电子地图;
S13:使用遥感处理软件打开机场区域的电子地图,并定义一个标准的投影坐标系,使用遥感处理软件对机场区域进行矢量标注,标注时首先将整个机场区域绘制成第一封闭多边形,然后在该第一封闭多边形的内部分别绘制停机以及非停机区域的第二封闭多边形,并将所有第二封闭多边形赋予不同的编号;
S14:绘制完成后的矢量掩膜文件包括第一封闭多边形和第二封闭多边形的地理坐标以及第二封闭多边形的编号,其中,编号的定义如下:0标识非停机区域,1标识停机区域;
S15:利用遥感处理软件中的矢量转栅格功能,将矢量掩膜文件转为栅格掩膜文件,根据转换完成后栅格掩膜文件中的像素值判断非停机区域与停机区域。
进一步的,步骤S2具体包括以下步骤:
S21:根据待检测的遥感图像四个角点的投影坐标构建一个四边形;
S22:对每一个矢量掩膜文件计算得到投影坐标的最大值和最小值,得到四个角点的坐标值从而构建一个四边形;
S23:判断遥感图像角点坐标构建的四边形与矢量掩膜文件角点坐标构建的四边形是否相交,如果相交,则使用当前掩膜文件,执行步骤S4,如果不相交,则遍历下一个矢量掩膜文件,执行步骤S22;如果所有的矢量掩膜文件都不相交,则执行步骤S3。
进一步的,步骤S3具体包括以下步骤:
S31:将待检测的遥感图像生成一维的统计直方图;
S32:假设遥感图像的灰度级i分为0,1,…,L-1,灰度为i的像素数目为n
最佳阈值k
S33:按照S32得到的最佳阈值生成待检测图像的二值图,并提取联通的区域,通过自适应鉴别算子对候选的联通区域的形态,面积和孔洞占比特征进行分析,精确提取机场区域掩膜文件。
进一步的,步骤S4具体包括以下步骤:
S41:根据待检测遥感图像和机场区域掩膜文件得到机场区域范围的大小,设定滑窗生成的图像切片大小以及滑窗的步长均为预设值;
S42:设置循环变量i、j,设定循环变量i、j的初始值和步长均为预设值,循环变量i遍历待检测遥感图像的宽,循环变量j遍历待检测遥感图像的高;
S43:根据滑窗生成的切片大小、滑窗的步长、循环变量i、j的初始值和步长进行区域裁剪,生成图像切片,生成的图像切片的范围不能超过机场区域的范围;
S44:最后将得到的机场区域的图像切片的像素坐标保存到一个数组中,并记录其在原始图像中的坐标偏移值。
进一步的,步骤S5具体包括以下步骤:
S51:循环步骤S44得到的机场区域的图像切片的像素坐标数组,读取待检测的遥感图像,按照数组中像素坐标的范围在待检测的遥感图像中生成多个图像切片;
S52:将基础的cascade RCNN模型中的主干网络由ResNet50网络替换为SwinTransformer-Tiny,特征融合模块采用特征金字塔FPN,同时在模型训练阶段引入多尺度训练方法形成改进的cascade RCNN模型;
S53:采用改进的cascade RCNN模型对步骤S51中多个图像切片进行推理,得到图像切片中飞机目标的类别,坐标和置信度。
进一步的,步骤S6具体包括以下内容:
将步骤S53中经改进的cascade RCNN模型推理得到的飞机目标的像素坐标加上步骤S44中图像切片在原始图像的坐标偏移值,得到飞机目标在原始图像上的像素坐标、置信度。
进一步的,步骤S7具体包括以下步骤:
S71:根据所有飞机目标的置信度得分进行排序;
S72:标记所有飞机目标检测框,计算所有飞机目标的检测框的面积;
S73:选择置信度最高的飞机目标检测框,分别判断剩余的飞机目标检测框与置信度最高的飞机目标检测框的重叠度IOU是否大于设定的阈值;
S74:若重叠度IOU大于阈值则删除对应的飞机目标,若重叠度IOU小于阈值则保留对应的飞机目标;
S75:重复上述步骤,直到找到所有被保留下来的飞机目标检测框。
进一步的,步骤S8飞机目标虚警滤除具体包括以下步骤:
S81:针对类间非极大值抑制后保留的飞机目标,计算每一个飞机目标的中心像素位置;
S82:将飞机目标的中心像素位置通过投影坐标系转换得到投影坐标;
S83:读取步骤S1生成的栅格掩膜文件,将飞机目标中心像素位置的投影坐标转换至栅格掩膜文件中的像素坐标;
S84:读取栅格掩膜文件中该像素坐标的灰度值,如果灰度值为255,则保留该目标,否则就去除该目标;
S85:重复以上步骤,直到非极大值抑制后的飞机目标全部遍历完成。
与现有技术比较本发明的有益效果在于:
1、本发明使用了矢量掩膜文件和栅格掩膜文件来对待检测的遥感图像进行区域筛选,大幅度缩小了检测算法的搜索范围,提高了检测算法的效率;
2、本发明并不完全依赖于提前标绘的矢量掩膜文件,如果提前标绘的矢量掩膜文件不包含待检测的机场图像,则使用图像分割算法进行机场区域掩膜文件的提取;
3、本发明因为采用掩膜文件提高了检测算法的效率,因此可以使用anchor-based目标检测网络来提高飞机目标的检测精度,本发明对基础的Cascade RCNN算法进行了改进,引入了自注意力机制和更优的特征融合算法,显著提升了算法的精度。
附图说明
图1为本发明一种基于机场掩膜的遥感图像飞机目标智能检测方法流程图;
图2为本发明电子地图上进行矢量标绘示意图;
图3为图2转换后的栅格掩膜文件示意图;
图4为本发明在机场区域滑窗生成图像切片的示意图;
图5为本发明基于swin-transformer的cascade RCNN网络结构图;
图6为图5中Guide anchoring模块的网络结构图;
图7为图5中Cascade head模块的网络结构图;
图8为本发明采用栅格掩膜和改进Cascade RCNN算法的检测结果。
具体实施方式
以下结合附图,对本发明上述的和另外的技术特征和优点作更详细的说明。
本发明目的是解决在大场景遥感图像飞机目标检测识别中,智能检测方法的速度和精度无法取得平衡的问题。
本实施例中,一种基于机场掩膜的遥感图像飞机目标智能检测方法,包括以下步骤:
S1:机场栅格掩膜文件生成
根据全球机场的地理坐标集合,下载全球机场的电子地图,利用遥感处理软件在电子地图上进行矢量标绘,并利用遥感处理软件的矢量转栅格功能,将多个机场矢量掩膜文件生成多个栅格掩膜文件;
S2:遥感图像和机场矢量掩膜文件交叠判断
根据待检测的遥感图像的四个角点的投影坐标构建一个四边形,将四边形和多个机场矢量掩膜文件进行交叠判断,若有一个交叠成功则转到步骤S4,否则执行步骤S3;
S3:图像分割生成机场区域掩膜文件
若交叠失败,则将待检测的遥感图像进行图像分割,对分割后的图像的连通区域的形态、面积和孔洞占比进行分析,精确提取机场区域掩膜文件;
S4:机场区域图像切片生成
根据待检测的遥感图像和机场区域掩膜文件,在机场区域按照一定重叠比的滑窗生成图像切片,生成图像切片时记录其在原始图像中的坐标偏移值;其中,原始图像指的是待检测的遥感图像;
S5:图像切片模型推理
采用改进的Cascade-RCNN算法对图像切片进行推理,得到图像切片中飞机目标的类别、坐标和置信度;
其中,改进的Cascade-RCNN模型是指把基础的cascade RCNN模型中的主干网络由ResNet50网络替换为Swin Transformer-Tiny,特征融合模块采用特征金字塔FPN,特征金字塔FPN如图5所示,同时在模型训练阶段引入多尺度训练方法;
S6:检测框位置还原
步骤S5中图像切片的中飞机目标的位置即为检测框的位置,根据步骤S4中图像切片在原始图像中的坐标偏移值,将检测框位置加上坐标偏移值,可以得到原始图像中飞机目标的类别、坐标和置信度;
S7:类间非极大值抑制
将所有飞机目标的检测框按照置信度得分进行排序,并计算所有检测框的面积,然后选择置信度最高的飞机目标对应的检测框,遍历其余的检测框,若与当前最高置信度的对应的目检测框的重叠面积大于设置的某一阈值,则将该检测框删除,一直重复进行,直至标记完所有保留下来的目检测框;
S8:飞机目标虚警滤除
采用精细的栅格掩膜文件,对类间非极大值抑制后保留的检测框进行虚警的滤除,只保留机场跑道和停机坪上的飞机目标。
在步骤S1中,所述机场栅格掩膜文件生成具体包括以下步骤:
S11:根据搜集整理的全球机场的地理坐标(经纬度坐标),在电子地图下载软件中(例如:localspace)首先定位出机场区域;
S12:在电子地图下载软件中,框选一个完全包含机场区域的矩形包络,选择17级别以上的分辨率,下载该机场区域的电子地图;
S13:使用遥感处理软件(例如:ArcMap)打开机场区域的电子地图,并定义一个标准的投影坐标系,使用遥感处理软件对机场区域进行矢量标注,标注时首先将整个机场区域绘制成第一封闭多边形,然后在该第一封闭多边形的内部将机场区域中的停机区域与非停机区域(例如草坪、停机房)绘制成若干个第二封闭多边形,并将所有的第二封闭多边形赋予不同的编号;
S14:绘制完成后的矢量掩膜文件包括第一封闭多边形和第二封闭多边形的地理坐标以及编号,其中,编号的定义如下:0标识非停机区域,1标识停机区域;
S15:利用遥感处理软件(例如:ArcGIS)中的矢量转栅格功能,将矢量掩膜文件转为二值栅格文件,完成该过程采用的算法为内部点扩散算法或其他能够实现该功能的算法,转换完成后栅格文件中像素值为255的区域表示飞机可能停靠的位置,像素值为0的区域标识飞机不会停靠的位置。
所述步骤S2具体过程如下:
S21:根据待检测的遥感图像四个角点的投影坐标x,y构建一个四边形;
其中,待检测的遥感图像一般指geotiff格式的覆盖大面积区域的遥感图像,其中TIFF图像文件是图像处理常用的格式之一,GEOTIFF作为TIFF的一种扩展,在TIFF格式上定义了一些GeoTag(地理标签),来对各种坐标系统、椭球基准、投影信息等进行定义和存储。
S22:对每一个矢量掩膜文件计算得到投影坐标x,y的最大值和最小值,得到四个顶点的坐标值从而构建四边形{(xmin,ymin),(xmax,ymin),(xmax,ymax),(xmin,ymax)};
S23:判断遥感图像角点坐标构建的四边形与矢量掩膜文件角点坐标构建的四边形是否相交,如果相交,则使用当前掩膜文件,执行步骤S4,如果不相交,则遍历下一个矢量掩膜文件,执行步骤S22,如果所有的矢量掩膜文件都不相交,则执行步骤S3。
在步骤S3中,图像分割生成机场区域掩膜文件包括以下具体步骤:
S31:将待检测的遥感图像生成一维的统计直方图;
S32:假设遥感图像的灰度级分为0,1,…,L-1,灰度为i的像素数目为n
最佳阈值k
S33:按照S32得到的最佳阈值生成待检测图像的二值图,并提取联通的区域,这里联通的区域可能会存在多个,通过自适应鉴别算子对候选的联通区域的形态,面积和孔洞占比特征进行分析,精确提取机场区域掩膜文件。
所述步骤S4具体过程如下:
如图4所示,S41:根据步骤S2或者步骤S3得到机场区域范围为(axmin,aymin)到(axmax,aymax),滑窗生成的切片大小设置为(1024,1024),滑窗的步长设置为800;
S42:设置循环变量i、j,i、j的初始值为0,步长都为1,循环变量i遍历待检测遥感图像的宽,其最大值为ceil((axmax-axmin)/800),循环变量j遍历待检测遥感图像的高,其最大值为ceil((aymax-aymin)/800);
S43:根据滑窗生成的切片大小、滑窗的步长、循环变量i、j的初始值和步长进行区域裁剪,裁剪区域的左上角坐标为(i*800+axmin,j*800+aymin),右下角坐标(i*800+axmin+1024,j*800+aymin+1024),需要注意的是切片右下角坐标需要和(axmax,aymax)进行比较,生成的图像切片的范围不能超过机场区域的范围;
S44:最后将得到的机场区域的图像切片的像素坐标保存到一个数组中,并记录其在原始图像中的坐标偏移值。
在步骤S5中,图像切片模型推理具体包括以下步骤:
S51:循环步骤S4得到的机场范围的图像切片的像素坐标数组,读取待检测的遥感图像,按照数组中像素坐标的范围生成多个图像切片;
S52:改进的cascade RCNN模型是指把基础的cascade RCNN模型中的主干网络由ResNet50网络替换为Swin Transformer-Tiny,特征融合模块采用特征金字塔FPN,同时在模型训练阶段引入多尺度训练方法;
S53:采用改进的cascade RCNN模型对图像切片进行推理,得到每一张图像切片中飞机目标的类别,坐标和置信度。
在步骤S6中,检测框位置还原包括以下步骤:
在步骤S5中图像切片的位置即为检测框的相对位置;将每一张图像切片推理得到的飞机目标的像素坐标加上图像切片在原始图像的左上角像素坐标,得到飞机目标在原始图像上的像素坐标、置信度。
在步骤S7中,类间非极大值抑制包括以下步骤:
S71:根据所有飞机目标的置信度得分进行排序;
S72:标记所有飞机目标检测框,计算所有飞机目标的检测框的面积;
S73:选择置信度最高的飞机目标检测框,分别判断剩余的飞机目标检测框与置信度最高的飞机目标检测框的重叠度IOU是否大于设定的阈值;
S74:若重叠度IOU大于阈值则删除对应的飞机目标,若重叠度IOU小于阈值则保留对应的飞机目标;
S75:重复上述步骤,直到找到所有被保留下来的飞机目标检测框。
在步骤S8中,飞机目标虚警滤除包括以下步骤:
S81:针对类间非极大值抑制后保留的检测框,计算每一个检测框的中心像素位置;
S82:将飞机目标的中心像素位置通过投影坐标系转换得到投影坐标;
S83:读取步骤S1生成的栅格掩膜文件,将中心像素位置的投影坐标转换至栅格掩膜文件中的像素坐标;
S84:读取栅格掩膜文件中该像素坐标的灰度值,如果灰度值为255,则保留该飞机目标;否则就去除该飞机目标;
S85:重复以上步骤,直到非极大值抑制后的飞机目标全部遍历完成。
如图2所示,图2为在下载的电子地图上利用专业遥感软件标注矢量后的结果,
如图3所示,图3为矢量掩膜文件转换为栅格掩膜文件的示意图。
如图4所示,图4为在机场区域滑窗生成图像切片的示意图,本发明使用掩膜文件大幅度缩小了智能目标检测算法的搜索范围,提高了智能目标处理算法的效率。
如图5、图6、图7所示,本发明添加FPN结构并采用引导锚框Guided anchoring用于生成高质量的锚框Anchor,同时为了进一步提升性能,本发明在卷积层backbone中引入Swin Transformer代替传统的CNN模块。
如图8所示,图8为采用栅格掩膜和改进Cascade RCNN算法的检测结果,可以看到停机坪上多个飞机目标被精确检测到,同时在其他区域也没有出现虚警。
本发明提出的一种基于机场掩膜的遥感图像飞机目标智能检测方法,通过积累的矢量掩膜文件或者图像分割算法得到的机场区域掩膜文件,来减少当前预测图像所生成的切片图像的数量,并改进anchor-based类中的基础的Cascade-RCNN作为目标检测算法,从而在遥感图像飞机目标检测的速度和精度上都取得很好的效果。
以上所述仅为本发明的较佳实施例,对本发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在本发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。