目标检测是计算机视觉领域中的核心任务。Open Images Dataset V5(OIDV5)是目前规模最大的目标检测公开数据集[1]。基于飞桨(PaddlePaddle)的PaddleDetection目标检测模型库[2],百度研发了大规模图像目标检测模型MSF-DET (Multi-Strategy Fused Detection framework),是Google举办的Open Images Dataset V5 (OIDV5) 2019目标检测比赛中的最好单模型,并且在计算机视觉领域的顶级学术会议ICCV 2019上进行技术分享。

近日,飞桨开源了比赛中使用的MSF-DET,助力大规模图像目标检测算法的研究探索和落地应用。

Google AI Open Images 2019比赛地址:

https://www.kaggle.com/c/open-images-2019-object-detection/

GitHub地址:

https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/OIDV5_BASELINE_MODEL.md

技术报告论文地址:

https://arxiv.org/pdf/1911.07171.pdf

01

比赛介绍

Google AI Open Images 2019是Google在2019年举办的大规模目标检测比赛,数据集为Open Images Dataset V5数据集(OIDV5)。OIDV5训练集包含170万张图像,覆盖500个类别,有超过1400万个标注的检测框,是目前已知的最大的目标检测开源数据集,检测图像和标注边框示例图如下图所示。

OIDV5的类别不均衡的现象比较严重[3],有些类别,如Clothing, Flower等,包含上百万个标注边框,而像Hair Dryer等类别仅包含上百个标注边框。不同类别的标注框数量如下图所示,这也造成了模型训练难以收敛的问题。

02

MSF-DET模型结构

该模型融合了当前较优的目标检测方法,包括Cascade RCNN[4], Feature Pyramid Networks[5], Deformable ConvNets V2[6],Non-local Networks[7],以ResNet200-vd[8]作为骨干网络, 模型结构如下。

ResNet由于其结构简洁、性能很好而被广泛应用于许多深度学习任务中;同时它也有很多变体,下图展示了ResNet的vb、vc和vd结构[9],其中,vd结构在分类和检测等任务上具有更优的性能,在比赛中,团队使用ResNet200-vd作为模型的骨干网络。

Cascade RCNN可以帮助检测器获得更加精确的检测结果。其结构如下所示[4],通过逐渐提升预测框和标注边框的匹配交并比,并不断修正检测框的位置和得分。标准的Cascade RCNN结构只预测前景框和背景框的偏移量,团队在比赛中做了修改,对每个类别都单独预测了一个偏移量。

Feature Pyramid Network解决了目标检测中的多尺度问题,通过将不同等级的特征图进行融合,大大提升了小物体检测的性能,主要结构图如下所示[5]。

Deformable ConvNets V2解决了卷积神经网络在几何变换建模能力有限的缺点。在Deformable ConvNets V1中,卷积核的采样位置不是固定的,而是通过网络学习空间采样的位置,卷积示意图如下;在V2中,除了加了更多的可变形卷积外,还增加了每个采样点的权重的学习,这使得网络在卷积采样时,有更大的自由度[6]。

Non-local Networks引入non-local block,结构如下[7],它基于自注意力机制,使得网络可以获得全局特征图信息,大大提升了网络的全局表征能力,在分类、检测、分割和姿态估计上面都有更优的性能。

此外,在模型训练过程中,团队引入了多尺度训练、动态采样等训练技巧;在计算预测边框的损失函数时,使用Libra loss[10]替代传统的Smooth L1 loss,用于平衡不同难度的预测框之间的损失函数;由于OIDV5和Objects365数据集[11]大约有189个公共类,因此使用Object365数据集对OIDV5数据集进行扩充;在预测时,使用SoftNMS进行后处理[12],保证更多的检测框可以被召回。基于飞桨,该模型在8卡V100(32G)机器上训练之后,最终该单模型(多尺度预测)的得分为0.6492/0.6182。模型的检测效果如下。

为验证模型的泛化性能,基于完全相同的模型结构,DSF-NET在COCO2017[13]和Objects365数据集上也做了实验,最终在各自的验证集上的单模型单尺度mAP如下表。

以上三个数据集的模型均已开源,模型和对应的性能指标可以从这里下载与查看:

https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/OIDV5_BASELINE_MODEL.md

03

飞桨目标检测库介绍

飞桨目标检测库(PaddleDetection)的目的是为工业界和学术界提供丰富、易用的目标检测模型。不仅性能优越、易于部署,而且能够灵活的满足算法研究的需求。主要特性如下:

1. 易部署:

PaddleDetection的模型中使用的核心算子均通过C++或CUDA实现,同时基于PaddlePaddle的高性能推理引擎可以方便地部署在多种硬件平台上。

2. 高灵活度:

PaddleDetection通过模块化设计来解耦各个组件,基于配置文件可以轻松地搭建各种检测模型。

3. 高性能:

基于飞桨框架的高性能内核,在模型训练速度、显存占用上有一定的优势。例如,YOLOv3的训练速度快于其他框架,在Tesla V100 16GB环境下,Mask-RCNN(ResNet50)可以单卡Batch Size可以达到4 (甚至到5)。

飞桨目标检测库github链接如下:

https://github.com/PaddlePaddle/PaddleDetection

04

快速上手

COCO数据集

Objects365数据集和COCO数据集格式相同,在这里主要使用COCO数据集进行介绍

克隆项目

克隆项目并进入项目文件夹。

git clone https://github.com/PaddlePaddle/PaddleDetection.git
cd PaddleDetection

下载数据

运行下载数据的脚本。

python dataset/coco/download_coco.py

下载并解压完成之后,数据目录结构如下:

dataset/coco/

├── annotations

│  ├── instances_train2014.json

│  ├── instances_train2017.json

│  ├── instances_val2014.json

│  ├── instances_val2017.json

|  ...

├── train2017

│  ├── 000000000009.jpg

│  ├── 000000580008.jpg

|  ...

├── val2017

│  ├── 000000000139.jpg

│  ├── 000000000285.jpg

|  ...

模型训练

python -u tools/train.py -c configs/dcn/cascade_rcnn_cls_aware_r200_vd_fpn_dcnv2_nonlocal_softnms.yml -d ./dataset/coco/

注意:该基线模型需要很大的GPU显存,因此在训练时需要保证GPU显存足够(建议显存至少为22G),如果显存大小不够,建议调整训练的最大尺度(默认配置中为1800)。

单张图片预测

首先需要下载COCO的预训练模型并解压。

wget https://paddlemodels.bj.bcebos.com/object_detection/cascade_rcnn_cls_aware_r200_vd_fpn_dcnv2_nonlocal_softnms.tar
tar -xf cascade_rcnn_cls_aware_r200_vd_fpn_dcnv2_nonlocal_softnms.tar

加载模型和配置文件,指定待检测的图像,进行预测。

python -u tools/infer.py -c configs/dcn/cascade_rcnn_cls_aware_r200_vd_fpn_dcnv2_nonlocal_softnms.yml -o weights=./cascade_rcnn_cls_aware_r200_vd_fpn_dcnv2_nonlocal_softnms/--infer_img=./demo/000000570688.jpg

可以在output文件夹中查看检测结果。

模型评估

python -u tools/eval.py -c configs/dcn/cascade_rcnn_cls_aware_r200_vd_fpn_dcnv2_nonlocal_softnms.yml -o weights=./cascade_rcnn_cls_aware_r200_vd_fpn_dcnv2_nonlocal_softnms/-d ./dataset/coco/

OIDV5数据集

OIDV5数据集与COCO格式不同,目前仅支持单张图片预测。

单张图片预测

首先需要下载OIDV5的预训练模型。

wget https://paddlemodels.bj.bcebos.com/object_detection/oidv5_cascade_rcnn_cls_aware_r200_vd_fpn_dcnv2_nonlocal_softnms.tar
tar -xf oidv5_cascade_rcnn_cls_aware_r200_vd_fpn_dcnv2_nonlocal_softnms.tar

加载模型和配置文件,对单张图片进行预测。

python -u tools/infer.py -cconfigs/oidv5/cascade_rcnn_cls_aware_r200_vd_fpn_dcnv2_nonlocal_softnms.yml -o weights=./oidv5_cascade_rcnn_cls_aware_r200_vd_fpn_dcnv2_nonlocal_softnms/ --infer_img=./demo/000000570688.jpg

检测结果可以在output文件夹中查看。

想与更多的深度学习开发者交流,请加入飞桨官方QQ群:796771754。

如果您想详细了解更多飞桨PaddlePaddle的相关内容,请参阅以下文档。

官网地址:

https://www.paddlepaddle.org.cn/

项目地址:

PaddleDetection:https://github.com/PaddlePaddle/PaddleDetection

参考文献及项目地址:

[1] https://www.kaggle.com/c/open-images-2019-object-detection/

[2] https://github.com/PaddlePaddle/PaddleDetection

[3] https://storage.googleapis.com/openimages/web/factsfigures.html

[4] Zhaowei Cai and Nuno Vasconcelos.CascadeR-CNN: Delving into High Quality Object Detection. arXiv:1712.00726[cs], Dec. 2017. arXiv: 1712.00726.

[5] Tsung-Yi Lin, Piotr Dolla ́r, Ross B.Girshick, Kaiming He, Bharath Hariharan, and Serge J. Belongie. Feature pyramidnetworks for object detection. CoRR, abs/1612.03144, 2016.

[6] Xizhou Zhu, Han Hu, Stephen Lin, andJifeng Dai. Deformable convnets v2: More deformable, better results. CoRR,abs/1811.11168, 2018.

[7] Xiaolong Wang, Ross B. Girshick,Abhinav Gupta, and Kaiming He. Non-local neural networks. CoRR, abs/1711.07971,2017.

[8] Kaiming He, Xiangyu Zhang, ShaoqingRen, and Jian Sun. Deep residual learning for image recognition. CoRR,abs/1512.03385, 2015.

[9] Tong He, Zhi Zhang, Hang Zhang,Zhongyue Zhang, Junyuan Xie, and Mu Li. Bag of tricks for image classificationwith convolutional neural networks. CoRR, abs/1812.01187, 2018.

[10] Jiangmiao Pang, Kai Chen, JianpingShi, Huajun Feng, Wanli Ouyang, and Dahua Lin. Libra R-CNN: towards balancedlearning for object detection. CoRR, abs/1904.02701, 2019.

[11] Objects365 Dataset.https://www.objects365.org/overview.html.

[12] Navaneeth Bodla, Bharat Singh, RamaChellappa, and Larry S. Davis. Improving object detection with one line ofcode. CoRR, abs/1704.04503, 2017.

[13] COCO - Common Objects in Context.http:// cocodataset.org/

百度飞桨开源Open Images Dataset V5目标检测比赛最好单模型MSF-DET相关推荐

  1. 3天初版部署7天快速迭代!百度飞桨携手北京地铁落地AI口罩检测方案

    允中 发自 凹非寺  量子位 报道 | 公众号 QbitAI 百度AI抗疫,又有新方案部署落地.这次,事关企业复工后,持续升级的公共交通防疫战. 近日,针对北京地铁防疫需求,百度与北京地铁合作开展了A ...

  2. 重磅!百度飞桨开源语音基础模型库|中英文语音识别、语音翻译、语音合成、声音分类通通一行代码轻松搞定...

    导读 要说生活里最常见的AI应用场景,语音合成与识别当属大家最为耳熟能详的场景之一了. 寻常到平时地图导航的播报.微信语音转文字.手机语音输入,以及小度智能音箱,都离不开语音技术的加持. 语音技术到底 ...

  3. CCF-百度松果基金闭门研讨会成功举办,百度飞桨提供基金平台支持

    2020年10月23日下午,首届CCF-百度松果基金(以下简称"松果基金")闭门研讨交流会在京举行,作为2020年中国计算机大会的分论坛之一,研讨会受到了业内广泛关注.在会上,20 ...

  4. 2021世界人工智能大会开幕,百度飞桨荣获“SAIL之星”奖项

    点击左上方蓝字关注我们 7月8日,2021世界人工智能大会(WAIC)在上海隆重召开.同期,世界人工智能大会的最高奖项--SAIL奖(Super AI Leader,卓越人工智能引领者奖)揭开帷幕,百 ...

  5. 百度飞桨亮相2019 AIIA,四大领先技术剑指落地引开发者点赞

    深度学习技术能让文化底蕴浓厚的老茶馆换上科技的"新装",也能让原本1周的工作量缩短为1个小时,且效果更佳--这些看似稀奇的事已经随着深度学习技术的发展成熟逐渐普及. 11月1-2日 ...

  6. 国家电网调控人工智能创新大赛开启 百度飞桨提供国产AI平台

    8月10日,由国家电网主办,百度等公司协办的"国家电网调控人工智能创新大赛"正式启动.大赛以"创新驱动.示范引领"为主题,聚焦新型电力系统电网运行需求,通过汇聚 ...

  7. 百度飞桨中国行南京站开启!共研AI赋能产业新模式

    面对未来发展,以人工智能为代表的新一代技术逐渐成为产业转型的核心驱动力之一,人工智能的发展离不开创新和人才.在这一大背景下,百度推出"飞桨中国行"活动,计划走入全国多个 AI 重点 ...

  8. 物流效率提速中,百度飞桨与京东物流激发出时代火花

    点击左上方蓝字关注我们 数字经济的高速发展,给物流产业带来了翻天覆地的变化,以大数据.人工智能等新技术实现的科技赋能对行业的变革作用愈发凸显.9月29日,在AIIA2020人工智能开发者大会百度产业A ...

  9. 又一国赛发布!中国“软件杯”B组百度飞桨赛道开始报名

    比赛介绍 "中国软件杯"大学生软件设计大赛是一项面向中国在校学生的公益性赛事,是2021年全国普通高校大学生竞赛榜单内竞赛.大赛由国家工业和信息化部.教育部.江苏省人民政府共同主办 ...

最新文章

  1. Bootstrap—基础样式定义
  2. Python基础之条件判断
  3. 【总结】机器学习划分数据集的几种方法
  4. Wireshark安装和基本使用
  5. mescroll上拉加载的实现
  6. 【BZOJ1040】【codevs1423】骑士,第一次的基环外向树DP
  7. 细数嵌入式开发与通用系统开发的不同
  8. VMware vSphere “I moved it” or “I copied it” – What’s the difference?
  9. 故宫院长发话了:以后端午中秋等节日也能夜游故宫
  10. 亲测有效 破解 锐捷限制校园网多网卡 win10用校内网在虚拟机里开win7
  11. 选项卡切换 内容也跟着变 微信小程序
  12. idea创建vue模板
  13. kvm使用virsh iface-bridge ens33 br0命令建立桥接网卡br0报错error:Failed to start bridge interface br0
  14. ArduPilot 开发环境安装
  15. SQL Server 2005数据库教程
  16. 内置函数 匿名函数 eval exec execute compile sorted map filter等常见函数 repr chr ord...
  17. LFI(本地文件包含)、RFI(远程文件包含)、PHP封装协议(伪协议)安全问题学习
  18. 如何快速找到自己想要的资源?
  19. 前端面试合集,20k+已经是妥妥的了
  20. 2021-2027全球及中国WiFi热点软件行业研究及十四五规划分析报告

热门文章

  1. 北京市2021年高考适应性测试成绩查询,2021年新高考适应性考试成绩怎么查?八省联考成绩可以保留吗?...
  2. java程序样例_一个完整的java程序示例
  3. php封装图片上传,PHP文件上传封装
  4. linux内核安装教程,Linux内核5.9的最重要功能及安装方法
  5. mysql5.6开启memcache_php – 使用MYsql 5.6 Memcache
  6. oracle绑定值的结尾,Oracle Sql字符串多余空格处理方法小记
  7. matlab改变矩阵的元素,Matlab中元素不变情况下改变矩阵形态——reshape()
  8. windows安装TortoiseGit
  9. android动态壁纸提取,[图]大神已提取出一加8T的动态壁纸:Android 8.0+设备均可使用...
  10. 以太网实习_从最初有从事IT的想法,到现在实习两个月的感受