• 发文
  • 评论
  • 微博
  • 空间
  • 微信

CVPR2020|深兰科技挑战复杂场景,获雾天条件目标检测挑战赛冠军

AI世界 2020-07-02 11:09 发文

      在6月刚结束的国际计算机视觉顶会CVPR2020上,深兰科技DeepBlueAI团队大放异彩,获得了四冠四亚四季的不俗成绩。冠军团队表示:由于之前数据集多数在可视条件好且图片清晰的情况下展开,因此真实场景下情况各异的复杂场景,将是今后主要面对的问题和研究方向。这在此次CVPR上也得到了相应的验证。

      在日常城市监控中,即使是政府采用的商业化摄像机在恶劣的天气条件下也显得脆弱,因此迫切需要研究在何种程度上可以应对这种具有挑战性的视觉条件,UG2+挑战赛恰好就针对了这类问题。

      深兰科技夺冠的“挑战赛雾天条件下的(半)监督目标检测任务”,其方案不仅可在恶劣天气环境或光照条件较差的情况下进行监控,还可用于智能熊猫公交车、扫路机的安全监控、室外环境感知、辅助驾驶等,为城市管理添加了一双“AI眼”。

01UG²+介绍

      在许多新兴的AI应用领域,如无人机、自动/辅助驾驶、搜索和救援机器人、环境监测、安全监视、运输和检查,都依赖于计算机视觉的室外环境感知与理解。这类系统涉及任务比较广泛,对于目标任务,包含检测、识别、分割、跟踪和解析。

      虽然这些任务在固定的环境和条件下取得了一定的成果,但是如果在没有条件限制的环境中(如移动平台、恶劣天气、光照条件差等),视觉感知和理解算法的性能将受到很大的影响,因此主办方根据不同的环境条件,举办了相应的挑战赛。

      UG2+PrizeChallenge是CVPR会议下的一个Workshop,继第一届(CVPR’18)和第二届(CVPR’19)的成功举办,主办方在CVPR2020开展了第三届UG2+PrizeChallenge,该挑战赛包含以下两个赛道:

1.TrackIObjectDetectionInPoorVisibilityEnvironments

2.TrackIIFlatcamForFaces:Enhancement,Reconstruction,AndVerification

其中赛道1又分为三个子任务:

1.(Semi-)SupervisedObjectDetectioninHazeConditions

2.(Semi-)SupervisedFaceDetectioninLowLightConditions

3.SeaLifeDetectionintheUnderwaterCondition

02赛题介绍

      Sub-Track1:(Semi-)SupervisedObjectDetectioninHazeConditions主办方提供了一组交通监控中采集的雾天图像,总计4332张图片,并将图中的汽车、巴士、自行车、摩托车、行人这几个类别进行了标注,总计41113个标注框。

      评测指标:类似于MSCOCO数据集的评估方案,评测将使用APIOU=0.50进行评估。

03赛题特点&主要工作

在这次挑战赛中,主要的难点包含以下几个方面:

1.可视条件差、图像模糊

      可视条件差是这个赛道核心问题,雾天收集的数据特点就是能见度低,图像模糊,远处的物体不容易被检测与识别,容易造成大量的目标漏检、误检,从而导致mAP效果下降。

2.图片数量少,数据分布不平衡

      总共只有4000多张带标注的图片,增加了训练难度,再加上数据分布的不均衡,很难划分一个具有代表性的验证集,很可能导致模型不具有泛化能力,在新的测试集上表现会不如预期。

检测器

我们先通过常规检测所累积的经验构造出一个baseline:

Baseline=Backbone+DCN[1]+FPN[2]+CascadeRCNN[3]

      这套pipeline,也是去年冠军团队所使用的方法,在这里我们沿用这套算法,以此为基础进行改进。

      通过观察实验结果发现,模型误检情况远多于漏检,经常出现一个目标有多个检测结果,并且这些检测结果之间无法使用nms去除。归纳为两方面原因。

1.模型自身能力不足,回归分类能力差,导致大量误检;

2.负样本不足,由于样本个数限制,模型会在一些模棱两可的地方检测出置信度较高的结果,无法通过阈值去处理这些误检结果。

根据目前结果做了一下几个方面的改进:

1.DoubleHeads[6]

      当需要提升模型能力时,有2个比较简单高效的方法,一是使用更强的backbone,二是提高RCNN中分类检测head的能力,通过实验比对,我们最终使用了doublehead的结构(如下图所示)。

▲DoubleHeads

      Doublehead采用分而治之的思想,将原始head解耦为2个独立的分支,针对不同的需求设计head结构,通过对比实验可发现:使用FC-head做分类,Conv-head做回归,可以得到最好的效果。

      因为分类更多地需要语义信息,所以使用全连接层。而坐标框回归需要更多的空间信息,因此使用卷积层。当然这种方法会增加计算量。在平衡速度和准确率的情况下,最终我们选择了3个残差2个Non-local共5个模块。

2.FFA-Net

      期初根据赛题的描述和对数据的分析,我们团队首先对图片进行去雾处理,然后再进行检测。因为现在有许多比较成熟的去雾算法,这些算法也不会更改物体的位置,所以标注完全不用更改。抱着这个想法我们开始进行对比实验,来验证去雾算法的有效性。

      首先使用了何恺明比较经典的暗通道先验去雾算法,但根据前两轮的得分,以及可视化结果我们放弃了这个方法。

      之后我们又在Faster-rcnn相对较小的模型上测试了基于深度学习的去雾算法,GCANet、FFANet,用相应去雾算法的输出当做Faster-rcnn的输入。

▲FFA-Net处理训练集结果

对比结果如下表所示:

      根据结果来看GCANet所处理的结果得分较差,但FFANet和原数据集得分比较类似,虽然没得到相应的提升,但却是一个很好的数据增强方法,因为类似这种图像模糊的数据集上,像素级别的数据增强在此数据集上很容易导致图片原始结构的破坏,从而导致AP效果下降。

      现在我们得到一个切实可行的数据增强方式,所以将FFA-Net的处理结果与原始图像合并作为新的训练集进行训练。

3.Augmentation

      因为图片总体数量较少,并且有较严重的数据不平衡情况,所以合理的数据增强方式会比增加模型复杂度之类的方法更为直接有效。

实验细节:

1.我们将Cascadercnn+DCN+FPN作为我们的baseline

2.将原有head改为Doublehead

3.将FFA-Net处理过的数据集与原数据集合并训练

4.Augmentation

5.Testingtricks

实验结果(本地验证集)

      由于最终结果以docker形式提交,为了保证模型效果,并没有采用多模型或者多尺度融合。因为融合使用soft_nms,很多框并不会去掉只是变为低分结果。尤其在这个数据集上,模型误检较多,多模型或多尺度融合后会引入更多的误检框,很可能导致得分会变得很低。

参考文献

[1]DaiJ,QiH,XiongY,etal.DeformableConvolutionalNetworks[J].2017.

[2]LinTY,Dollár,Piotr,GirshickR,etal.FeaturePyramidNetworksforObjectDetection[J].2016.

[3]CaiZ,VasconcelosN.CascadeR-CNN:DelvingintoHighQualityObjectDetection[J].2017.

[4]SongG,LiuY,WangX.RevisitingtheSiblingHeadinObjectDetector[J].2020.

[5]Qin,X.,Wang,Z.,Bai,Y.,Xie,X.,&Jia,H.(2020).FFA-Net:FeatureFusionAttentionNetworkforSingleImageDehazing.ArXiv,abs/1911.07559.

[6]Wu,Y.,Chen,Y.,Yuan,L.,Liu,Z.,Wang,L.,Li,H.,&Fu,Y.(2019).RethinkingClassificationandLocalizationinR-CNN.ArXiv,abs/1904.06493.

声明:本文为OFweek维科号作者发布,不代表OFweek维科号立场。如有侵权或其他问题,请及时联系我们举报。
2
评论

评论

    相关阅读

    暂无数据

    AI世界

    人工智能、服务民生,致力于人工智...

    举报文章问题

    ×
    • 营销广告
    • 重复、旧闻
    • 格式问题
    • 低俗
    • 标题夸张
    • 与事实不符
    • 疑似抄袭
    • 我有话要说
    确定 取消

    举报评论问题

    ×
    • 淫秽色情
    • 营销广告
    • 恶意攻击谩骂
    • 我要吐槽
    确定 取消

    用户登录×

    请输入用户名/手机/邮箱

    请输入密码