亚马逊云科技 AI For Good-2022 优秀方案开源分享—锤形态小炮

Amazon SageMaker
0
0
{"value":"在刚刚结束的【亚马逊云科技 AI For Good-2022 遥感光学影像目标检测挑战赛】中,来自西安交通大学软件学院的锤形态小炮团队斩获第3名。本次赛事聚焦遥感光学目标检测,存在图像尺寸大、目标角度各异等诸多难点,挑战难度高。为此,锤形态小炮团队为我们分享了他们在比赛中采用的算法策略与开发体验。\n\n#### **01 团队介绍**\n\n在亚马逊云科技 AI For Good-2022 遥感光学影像目标检测挑战赛中,来自西安交通大学的锤形态小炮团队斩获第3名的优异成绩。该团队的选手宋晨明平时的研究兴趣就是面向遥感图像的语义分割和目标检测,亚马逊云科技 AI For Good-2022 遥感光学影像目标检测比赛和他的研究兴趣十分吻合。\n\n\n\n本次赛事聚焦遥感光学目标检测,存在图像尺寸大、目标角度各异等诸多难点,挑战难度高。锤形态小炮团队为我们分享了他们在比赛中采用的算法策略与开发体验。\n\n![1.png](https://dev-media.amazoncloud.cn/f14fe578372646d1b89657d0f94a6db2_1.png)\n\n#### **02 算法策略**\n\n**解决思路**:本次比赛的主题的遥感光学图像的目标检测,对这些卫星拍摄到的图像执行目标检测任务,这里的边界框是具有旋转角度问题的,这个也是后面需要重点解决的问题。\n\n我们首先对数据进行了分析,本次的数据集一共包含18个类别,左图是数据集的样本数量分布,从这里可以看到数据集存在一定样本不均衡的问题,右侧是遥感目标的面积分布,从这里可以看出这里的目标尺度变化较大,比如油罐类目标相对较小,对于机场类目标来说就相对比较大一些。\n\n我们对数据进行综合分析,认为本次比赛数据存在的难点在于,原始图片的像素值比较大,目标的尺度变化比较大,场景相对复杂,已经存在旋转角,和常规的目标检测不同。\n\n由于本次比赛有些图片像素值过大,有的图片的长宽可以达到3000-4000,这种图片是不能直接输入网络的,计算量过大,所以我们采用了切图的策略。\n\n**数据处理**:我们将图片分割为1024的大小,分割之间的间隔设置为200, 后续的方案中我们采用了多尺度和重采样来提升数据的泛化性,并且我们发现200的切图策略会导致有一些物体从中间被分割从而舍弃,所以我们扩大的分割的gap,设置为了500。\n\n![2.png](https://dev-media.amazoncloud.cn/276fca9310b0403fab0cac3d80bc90e6_2.png)\n\n![3.png](https://dev-media.amazoncloud.cn/d5d683cdd7b748fea223eb8866339926_3.png)\n\n本次赛事中,锤形态小炮堆团队使用了 Amazon Sagemaker 功能进行训练。\n\n\n基线方案选择的是 rotated fcos,fcos 算法由19年提出,是一个 anchor-free 的目标检测算法,anchor 会映入大量需要优化的超参数,比如 anchor 的比例,anchor 的大小以及 anchor 的数量等等,anchor-free 的方法可以减少我们在 anchor 设计上所花费的时间。\n\n\n我们把基线方案分为四个部分,第一个部分是数据集部分,第二个部分是主干网络部分,负责特征提取,第三个部分是 fpn 部分,第四个部分是头部部分,头部部分的损失比较需要值得关注的是在传统的水平框目标检测的回归任务不同的是,这里除了要计算两个点的位置之外,还需要计算边界框的旋转角度,这里的损失函数呢也使用的事 riou loss,也就是带旋转的 iouloss,分类部分还是使用交叉熵损失函数。\n\n\n\n整体的改进如下所示:\n\n![4.png](https://dev-media.amazoncloud.cn/5b76ff77fe6743fca77a11e838409013_4.png)\n\n主干特征提取网络呢,我们从原先的 resnet50,修改为了 swin transformer,选择 swin transformer 的原因是,swin 通过滑动窗口的子注意力机制有着强大的特征提取能力,并且他是多尺度的,可以很好对接了后面的 fpn 层中,实际上他也确实带带了了很大的 提升,大概有3个百分点的提升。\n\n\n\n网络的neck部分,通过前面对数据的分析可以知道,遥感图像一般都比较小,并且遥感图像的目标是旋转的,针对旋转这个问题,DCN,可变性卷积可以提取到更多的形态信息,形态信息的引入可以一定程度上提升遥感目标检测的精度,\n\n\n\n所以我们按照 pafpn 的设计,从这里的 res2 入手,通过级联的 dcn 模块来提取目标的形态信息并和fpn的特征进行融合。融合之后加入了 deeplab 中的空洞卷积模块,在不对特征图进行下采样的前提下,增大网络的感受野。\n\n\n\n头部部分没有做过多的设计,只是将分类的分支从原先的交叉熵损失函数修改为了 focal loss,focal loss 有两个参数,首先负责样本不均衡的参数我们设计成了1,伽马我们设置成了2,方便我们使用难样本挖掘的策略来帮助模型更快的收敛。\n\n\n\n下面是一些可视化的结果图:\n\n![5.png](https://dev-media.amazoncloud.cn/47e76847900c417bb53db78235868151_5.png)\n\n#### **03 开发体验**\n\n\n本次赛事中,锤形态小炮堆团队使用了 Amazon Sagemaker studio 功能进行训练。\n\n\n\n**锤形态小炮团队**:Amazon Sagemaker 界面人性化;资源比较充足,有不错的GPU和CPU资源,还有多种镜像可以选择。有很多入门的案例,包括分类,检测的基本实验demo,很好用;使用起来界面比较舒适,jupyterlab开发比较方便。\n\n在比赛训练时,我们使用了 Sagemaker 的 studio 来进行的训练:\n\n![6.png](https://dev-media.amazoncloud.cn/ee65e1d5c40e44379339ed43902f240a_6.png)\n\n训练的过程如下:\n\n![7.png](https://dev-media.amazoncloud.cn/9bd41ada7b10401dae45de9bd18022f7_7.png)\n\n最后是我们对本次比赛的不足和改进的总结\n\n**创新点:**\n\n①采用了合理的数据增强方案;\n\n②主干网络修改为特征提取能力更强的 SwinTransformer;\n\n③针对遥感数据提出了特色 FAM 模块;\n\n④采用了难样本挖掘策略。\n\n**不足:**\n\n①对数据的处理,可以采用 mixup、mosaic 数据增强;\n\n②主干网络选取,加入卷积等先验知识;\n\n③Neck 部分的计算量过大;\n\n④损失部分多考虑旋转角的回归。","render":"<p>在刚刚结束的【亚马逊云科技 AI For Good-2022 遥感光学影像目标检测挑战赛】中,来自西安交通大学软件学院的锤形态小炮团队斩获第3名。本次赛事聚焦遥感光学目标检测,存在图像尺寸大、目标角度各异等诸多难点,挑战难度高。为此,锤形态小炮团队为我们分享了他们在比赛中采用的算法策略与开发体验。</p>\n<h4><a id=\\"01__2\\"></a><strong>01 团队介绍</strong></h4>\\n<p>在亚马逊云科技 AI For Good-2022 遥感光学影像目标检测挑战赛中,来自西安交通大学的锤形态小炮团队斩获第3名的优异成绩。该团队的选手宋晨明平时的研究兴趣就是面向遥感图像的语义分割和目标检测,亚马逊云科技 AI For Good-2022 遥感光学影像目标检测比赛和他的研究兴趣十分吻合。</p>\n<p>本次赛事聚焦遥感光学目标检测,存在图像尺寸大、目标角度各异等诸多难点,挑战难度高。锤形态小炮团队为我们分享了他们在比赛中采用的算法策略与开发体验。</p>\n<p><img src=\\"https://dev-media.amazoncloud.cn/f14fe578372646d1b89657d0f94a6db2_1.png\\" alt=\\"1.png\\" /></p>\n<h4><a id=\\"02__12\\"></a><strong>02 算法策略</strong></h4>\\n<p><strong>解决思路</strong>:本次比赛的主题的遥感光学图像的目标检测,对这些卫星拍摄到的图像执行目标检测任务,这里的边界框是具有旋转角度问题的,这个也是后面需要重点解决的问题。</p>\\n<p>我们首先对数据进行了分析,本次的数据集一共包含18个类别,左图是数据集的样本数量分布,从这里可以看到数据集存在一定样本不均衡的问题,右侧是遥感目标的面积分布,从这里可以看出这里的目标尺度变化较大,比如油罐类目标相对较小,对于机场类目标来说就相对比较大一些。</p>\n<p>我们对数据进行综合分析,认为本次比赛数据存在的难点在于,原始图片的像素值比较大,目标的尺度变化比较大,场景相对复杂,已经存在旋转角,和常规的目标检测不同。</p>\n<p>由于本次比赛有些图片像素值过大,有的图片的长宽可以达到3000-4000,这种图片是不能直接输入网络的,计算量过大,所以我们采用了切图的策略。</p>\n<p><strong>数据处理</strong>:我们将图片分割为1024的大小,分割之间的间隔设置为200, 后续的方案中我们采用了多尺度和重采样来提升数据的泛化性,并且我们发现200的切图策略会导致有一些物体从中间被分割从而舍弃,所以我们扩大的分割的gap,设置为了500。</p>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/276fca9310b0403fab0cac3d80bc90e6_2.png\\" alt=\\"2.png\\" /></p>\n<p><img src=\\"https://dev-media.amazoncloud.cn/d5d683cdd7b748fea223eb8866339926_3.png\\" alt=\\"3.png\\" /></p>\n<p>本次赛事中,锤形态小炮堆团队使用了 Amazon Sagemaker 功能进行训练。</p>\n<p>基线方案选择的是 rotated fcos,fcos 算法由19年提出,是一个 anchor-free 的目标检测算法,anchor 会映入大量需要优化的超参数,比如 anchor 的比例,anchor 的大小以及 anchor 的数量等等,anchor-free 的方法可以减少我们在 anchor 设计上所花费的时间。</p>\n<p>我们把基线方案分为四个部分,第一个部分是数据集部分,第二个部分是主干网络部分,负责特征提取,第三个部分是 fpn 部分,第四个部分是头部部分,头部部分的损失比较需要值得关注的是在传统的水平框目标检测的回归任务不同的是,这里除了要计算两个点的位置之外,还需要计算边界框的旋转角度,这里的损失函数呢也使用的事 riou loss,也就是带旋转的 iouloss,分类部分还是使用交叉熵损失函数。</p>\n<p>整体的改进如下所示:</p>\n<p><img src=\\"https://dev-media.amazoncloud.cn/5b76ff77fe6743fca77a11e838409013_4.png\\" alt=\\"4.png\\" /></p>\n<p>主干特征提取网络呢,我们从原先的 resnet50,修改为了 swin transformer,选择 swin transformer 的原因是,swin 通过滑动窗口的子注意力机制有着强大的特征提取能力,并且他是多尺度的,可以很好对接了后面的 fpn 层中,实际上他也确实带带了了很大的 提升,大概有3个百分点的提升。</p>\n<p>网络的neck部分,通过前面对数据的分析可以知道,遥感图像一般都比较小,并且遥感图像的目标是旋转的,针对旋转这个问题,DCN,可变性卷积可以提取到更多的形态信息,形态信息的引入可以一定程度上提升遥感目标检测的精度,</p>\n<p>所以我们按照 pafpn 的设计,从这里的 res2 入手,通过级联的 dcn 模块来提取目标的形态信息并和fpn的特征进行融合。融合之后加入了 deeplab 中的空洞卷积模块,在不对特征图进行下采样的前提下,增大网络的感受野。</p>\n<p>头部部分没有做过多的设计,只是将分类的分支从原先的交叉熵损失函数修改为了 focal loss,focal loss 有两个参数,首先负责样本不均衡的参数我们设计成了1,伽马我们设置成了2,方便我们使用难样本挖掘的策略来帮助模型更快的收敛。</p>\n<p>下面是一些可视化的结果图:</p>\n<p><img src=\\"https://dev-media.amazoncloud.cn/47e76847900c417bb53db78235868151_5.png\\" alt=\\"5.png\\" /></p>\n<h4><a id=\\"03__62\\"></a><strong>03 开发体验</strong></h4>\\n<p>本次赛事中,锤形态小炮堆团队使用了 Amazon Sagemaker studio 功能进行训练。</p>\n<p><strong>锤形态小炮团队</strong>:Amazon Sagemaker 界面人性化;资源比较充足,有不错的GPU和CPU资源,还有多种镜像可以选择。有很多入门的案例,包括分类,检测的基本实验demo,很好用;使用起来界面比较舒适,jupyterlab开发比较方便。</p>\\n<p>在比赛训练时,我们使用了 Sagemaker 的 studio 来进行的训练:</p>\n<p><img src=\\"https://dev-media.amazoncloud.cn/ee65e1d5c40e44379339ed43902f240a_6.png\\" alt=\\"6.png\\" /></p>\n<p>训练的过程如下:</p>\n<p><img src=\\"https://dev-media.amazoncloud.cn/9bd41ada7b10401dae45de9bd18022f7_7.png\\" alt=\\"7.png\\" /></p>\n<p>最后是我们对本次比赛的不足和改进的总结</p>\n<p><strong>创新点:</strong></p>\\n<p>①采用了合理的数据增强方案;</p>\n<p>②主干网络修改为特征提取能力更强的 SwinTransformer;</p>\n<p>③针对遥感数据提出了特色 FAM 模块;</p>\n<p>④采用了难样本挖掘策略。</p>\n<p><strong>不足:</strong></p>\\n<p>①对数据的处理,可以采用 mixup、mosaic 数据增强;</p>\n<p>②主干网络选取,加入卷积等先验知识;</p>\n<p>③Neck 部分的计算量过大;</p>\n<p>④损失部分多考虑旋转角的回归。</p>\n"}
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭