刷新COCO目标检测纪录!谷歌只靠AI扩增数据,就把一个模型变成SOTA,已开源
栗子 发自 凹非寺
量子位 报道 | 公众号 QbitAI
谷歌大脑Quoc Le团队,又训练出了一只地表最强的模型。
这是一个目标检测模型,从前并不是最强大。
但自从团队用机器学习解锁了特别的数据扩增策略,再用自动扩增来的新数据集训练目标检测模型,事情就完全不同了。
注意:目标检测和分类不一样,分类不需要标注边界框,而目标检测需要。
△ 左边是自动扩增数据,右边是成绩提升
模型在COCO目标检测任务上,拿到了50.7 mAP的最高分,刷新从前的纪录。
谷歌的方法,并没有改变模型本身,但有效提升了准确率,+2.3 mAP以上。
团队还强调,AI在COCO数据集里学到的扩增策略,直接迁移到其他数据集上,同样可以提升准确率。
现在,算法已经开源了,AI学到的扩增策略也在里面。
是怎样的扩增策略?
论文写到,这里的数据扩增只涉及了一些简单变换 (Simple Transformations) :
有应用在整张图片上、但不会影响边界框的那种变换,比如从图像分类里借来的颜色变换 (Color Transformations)。
也有不影响整张图片、但改变边界框位置的那种变换,比如图像平移 (Translating) 或剪切 (Shearing) 。
还有只针对边界框里的目标,而进行的变换。
注意,这些变换只用在训练过程中,不会用到测试环节里。
研究人员说,当变换的数量越来越庞大的时候,就很难手动把它们有效组合到一起了。
所以,就要用机器学习,搜索出更适合目标检测任务的组合策略。
思路是这样的:
团队把数据扩增搜索 (Data Augmentation Search) 看做一个离散的优化问题,优化的是模型的泛化表现。
在自家的另一篇论文 (arXiv:1805.09501) 基础上,把重点转移到针对目标检测的扩增策略上。
比起图像分类任务的数据扩增,目标检测的难点在于,要保持边界框和发生形变的图像之间的一致性 (Consistency) 。
而边界框的标注,也为数据扩增提供了一种新的方式:只在边界框里面修改图像。就像上文讲的那样。
另外,团队还探索了在图片发生几何变换 (Geometric Transformations) 的情况下,怎样去改变边界框的位置。
具体方法是这样的:
把扩增策略定义成一组无序的子策略 (Sub-Policy) 。
在训练过程中,每个子策略都会被随机选中,应用到当前的图片里去。
每个子策略里,有N个图片变换,依次在同一张图上进行。
要把这个搜索过程,变成一个离散的优化问题,就要创建一个搜索空间。
空间里面,有5个种策略,每种子策略有2种图像变换运算。
另外,每个运算还和两个超参数相关联,一个是代表应用这个运算的可能性 (Probability) ,二是这个运算的大小 (Magnitude) 。
初步实验之后,团队定下了22种图像变换运算。
学习完成的子策略,成效是这样的:
肉眼可见,成效显著。
一是在COCO目标检测中,以50.7 mAP拔得头筹,(比策略训练前) 提升了2.3 mAP。
二是在PASCAL VOC目标检测中,提升了2.7 mAP。
也就是说,在COCO上训练好的策略,直接搬到其他数据集上也有效。
团队说,这个方法尤其适合在小数据集中避免过拟合。
现在,代码开源了,你也要试试么?
论文传送门:
https://arxiv.org/abs/1906.11172
代码传送门:
https://github.com/tensorflow/tpu/tree/master/models/official/detection
— 完 —
AI社群 | 与优秀的人交流
小程序 | 全类别AI学习教程
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
喜欢就点「在看」吧 !
- 最新开源目标检测与物体识别框架,已刷新COCO单模型算法纪录
- DL开源框架Caffe | 目标检测Faster-rcnn训练自己数据问题整理
- 谷歌开源可视化工具Facets,将用于人+AI协作项目研究——无非就是一个用于特征工程探索的绘图工具集,pandas可以做的
- 百度AI攻城狮,用TensorFlow API训练目标检测模型(浣熊超可爱)
- 基于谷歌开源的Object-Detection API实现视频目标检测(tensorflow+opencv+anaconda3)
- 一个模型库学习所有:谷歌开源模块化深度学习系统Tensor2Tensor
- Faster RCNN 实践篇 - 使用 resnet 做预训练,Kitti 数据集做 fine-tuning,训练一个目标检测模型
- tensorflow object_detection 用自己的数据训练目标检测模型Mobilenet
- 提示错误“没有可访问的表。请确保在 Global.asax 中注册了至少一个数据模型.. ”解决方法
- EasyUI配置当点击一个datagrid的checkbox选中或取消选中记录的时候刷新另一个datagrid数据的方法
- Android 一个对sharedpreferences 数据进行加密的开源库
- Android 实现在Activity中操作刷新另外一个Activity数据列表(①、②广播)
- 一个免费、开源的python证券数据接口包:baostock
- Draco:谷歌开源3D数据压缩工具
- 目标检测中YOLO网络模型的介绍
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(4-3)-- 目标检测
- AI产品经理数据模型设计文档(简版)
- Comma.AI 开源其首次成功无人驾驶的旅行数据
- ADO.NET 实体数据模型 异常-“序列化类型为 XX 的对象时检测到循环引用”
- YOLOv2目标检测_单目标_训练自己数据全过程(自用)