如何实现遥感图像等超大尺寸图像快速识别

描述

一般情况下,遥感目标检测中,遥感图像的图片尺寸都会很大,且图像中元素极为复杂,近期开赛的亚马逊云科技【AI For Good - 2022 遥感光学影像目标检测挑战赛】也不例外,动辄超过10000 x 10000的卫星遥感图像让许多选手感到头疼。同时遥感影像中目标尺寸差别大、小而密集、角度各异也导致常见的CV框架难以实现快速精准的目标识别。所以,如何实现遥感图像等超大尺寸图像快速识别?

 

目前比较成熟的卫星图像识别算法并不少,但大多依托于强大的计算资源,为了用有限的计算资源实现大尺寸图像识别,我们找到了一个可行的开源框架,给大尺寸图像识别提供了不错的思路。

YOLT 是一个基于YOLO v2的卫星图像识别开源算法,核心思路是:

1. 通过图片裁切和图像网络重构解决图像尺寸问题;

2. 通过“上采样”提升小而聚集的目标的检测精度;

3. 通过将不同尺寸模型融合,提升整体检测精度。

YOLT项目地址:GitHub - avanetten/yolt: You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery

YOLO是经典的图像识别算法,YOLT在YOLO的基础上针对卫星图像特有的问题提出了特定的解决思路。详细思路参见论文「You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery」(GitHub项目中附有论文链接)。

遥感图像

▲左侧为常见问题,右侧为解决办法

1. 针对物体尺寸不规则、方向多样的问题,YOLT对卫星图像数据进行尺寸变换与旋转等数据增强的处理。

2. 针对目标尺寸过小并聚集的问题,YOLT框架主要采用3种方式进行处理:

(1) 修改图像网络结构,将YOLO v2框架中的stride由32改为16,有利于检测出大小在32 x 32以下的目标

(2) 对图像进行上采样,完成图片的“解压缩”操作,即把原先的图片放大,以便检测小而密集的物体

(3) 将不同尺寸的检测模型进行融合,即Ensemble操作,由于不同目标的尺寸差异可能较大,如海港与船只、机场与飞机,Ensemble操作能够提升大尺寸差异下的识别精度。

针对卫星图像尺寸过大的问题,YOLT采用切块的方式,将原始图像切割成小块后输入模型进行训练,并结合2-(3)进行模型融合。

遥感图像

▲ YOLT的网络结构,输出特征尺寸多为26 x 26,可以提升检测精度

 

应用实例

从下面的检测实例中,我们可以看到YOLT是如何工作的:

 

首先,开发团队将一张卫星图片调整至416 x 416大小(如上左),发现无法检测出车辆目标;而从原图中切割出416 x 416的区域(称其为Chips)则可以实现部分车辆目标的检测。

 

顺着这个思路,开发团队采用划窗方式将原始图像切割为许多chips,并使相邻chips之间有一定重合(如上图),以确保图像检测的完整性。再利用NMS算法将重复检测过滤,最后将各块的检测结果进行融合,即可得出最后的结果。

 

▲ 检测实例:采用YOLT v4识别机场中的飞机

YOLT的思路不止可以应用于卫星图像识别,同样可以在目标尺寸小且密集的其他类图像识别问题中发挥作用。

对本次亚马逊【AI For Good - 2022 遥感光学影像目标检测挑战赛】的选手而言,YOLT的解决思路能够帮助大家越过图片尺寸过大的第一道坎。

原文标题:如何实现超大尺寸图像快速识别

文章出处:【微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。  

      审核编辑:彭静
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分