百度视觉团队斩获 ECCV Google AI 目标检测竞赛冠军,获奖方案全解读 | ECCV 2018

简介: 从整体方案框架来看,可分为 Fast R-CNN 和 Faster R-CNN 两种不同的训练模式。

雷锋网(公众号:雷锋网) AI 科技评论消息,近日,百度视觉团队在 Google AI Open Images-Object Detection Track 目标检测任务中斩获第一,并受邀在计算机视觉顶级学术会议 ECCV 2018 上进行分享。

Google AI Open Images-Object Detection Track 由 Google AI Research 举办,今年共吸引全球 450 多支队伍参赛。

大赛采用 Google 今年 5 月份发布的 Open Images V4 数据集作为训练数据集,包含超过 170 万的图片数据,500 个类别以及超过 1200 万物体框,数据没有完全精细标注,属于弱监督任务,框选类别数目不均衡且有非常广泛的类别分布,这更符合实际情况,也意味着参加竞赛的团队需要考虑到类别的分布,而不能统一对所有类别做处理,因此更具挑战性。

这项赛事有助于复杂模型的研究,同时对评估不同检测模型的性能有积极的促进作用。下图为 Open Image V4 与 MS COCO 和 ImageNet 检测任务数据对比情况,可以看到 Open Image V4 数据规模远远大于 MS COCO 和 ImageNet。

TB18JN0XFzqK1RjSZFCXXbbxVXa.jpg

Open Image V4 与 MS COCO及ImageNet 检测数据对比情况

以下为百度视觉团队技术方案解读:

与传统的检测数据集合相比,该赛事除了数据规模大、更真实之外,还存在一系列的挑战。具体来说,主要集中在以下三个方面:

数据分布不均衡:最少的类别框选只有 14 个,而最多的类别框选超过了 140w,数据分布严重不均衡。

TB17d82XQvoK1RjSZPfXXXPKFXa.jpg

类别框数量分布

漏标框:很多图片存在只标注主体类别,其他小物体或者非目标物体没有标注出来。

TB15TB2XQzoK1RjSZFlXXai4VXa.png

漏标注图片举例

尺度变化大:大部分物体框只占整个图片的 0.1 以下,而有些框选却占了整个图片区域。如图所示,Open Image V4 集合存在更多的小物体,参赛者也会在检测数据中遇到更大的挑战。

TB10kCgXNYaK1RjSZFnXXa80pXa.png

框尺度大小分布对比

解决方案

在比赛过程中,百度视觉团队采用了不同复杂度、不同框架网络进行模型的训练,并对这些模型进行融合。从整体方案框架来看,可分为 Fast R-CNN 和 Faster R-CNN 两种不同的训练模式。Fast R-CNN 版本是百度视觉团队研发的一套 PaddlePaddle 版本,在此基础上 Faster R-CNN 加入了 FPN、Deformable、Cascade 等最新的检测算法,模型性能实现了大幅度的提升。

TB1kcd0XMTqK1RjSZPhXXXfOFXa.png

整体方案框架流程图

网络为 ResNet-101 的 Fast R-CNN,模型收敛后可以达到 0.481,在测试阶段加入 Soft NMS 以及 Multi-Scale Testing 策略,可以达到 0.508。百度也尝试了其他网络(dpn98,Inception-v4,Se-ResNext101),并把不同网络的检测算法融合到一起,最终 mAP 可以达到 0.546。在 Proposal 采样阶段,百度在不同位置进行不同尺度的候选框生成,然后对这些框选进行分类以及调整他们的位置。

Faster R-CNN: 采用这种框架可以达到略高于 Fast R-CNN 的效果,mAP 为 0.495。在测试阶段使用 Soft NMS 以及 Multi-Scale Testing 策略后,性能达到 0.525。

Deformable Convolutional Networks:使用 Soft NMS 以及 Multi-Scale Testing 策略前后,性能分别达到 0.528 及 0.559。

Deformable Cascade R-CNN : 使用 Soft NMS 以及 Multi-Scale Testing 策略前后,性能分别可以达到 0.581 和 0.590.

在 Fast R-CNN 框架下,百度视觉团队采用了不同的网络进行训练,而在 Faster R-CNN 框架下只使用了 ResNet101 这种网络进行训练。在训练过程中,百度视觉团队还通过不同的策略有效解决了各种技术问题。详情如下:

动态采样

Google Open Images V4 数据集大概有 170w 图片,1220w 框选,500 个类别信息。最大的类别框选超过了 140w,最小的类别只有 14 个框选,如果简单使用所有的图片及框选,需要几十天才能进行模型训练,而且很难训练出来一个无偏的模型。因此,需要在训练过程中进行动态采样,如果样本数量多则减少采样概率,而样本数量少则增加采样概率。百度视觉团队分别进行全集数据训练、固定框选子集训练、动态采样模型训练三种策略进行。

全集数据训练:按照主办方提供数据进行训练,mAP 达到 0.50。

固定框选子集训练:线下固定对每个类别最多选择 1000 个框,mAP 达到 0.53。

动态采样模型训练:对每个 GPU、每个 Epoch 采用线上动态采样,每次采集的数据都不同,轮数达到一定数目后,整个全集的数据都能参与整体训练。最后 mAp 达到 0.56。

TB1.ldZXSzqK1RjSZPxXXc4tVXa.jpg

动态采样策略

FPN

基于训练数据集的分析,百度视觉团队发现其中 500 个类别的尺度有很大的差异。因此他们将 FPN 引入到检测模型中,即利用多尺度多层次金字塔结构构建特征金字塔网络。在实验中,百度视觉团队以 ResNet101 作为骨干网络,在不同阶段的最后一层添加了自顶向下的侧连接。自顶向下的过程是向上采样进行的,水平连接是将上采样的结果与自底向上生成的相同大小的 feature map 合并。融合后,对每个融合结果进行 3*3 卷积以消除上采样的混叠效应。值得注意的是,FPN 应该嵌入到 RPN 网络中,以生成不同的尺度特征并整合为 RPN 网络的输入。最终,引入 FPN 后的 mAP 可达到 0.528。

Deformable Convolution Networks

百度视觉团队采用可变形卷积神经网络增强了 CNNs 的建模能力。可变形卷积网络的思想是在不需要额外监督的情况下,通过对目标任务的学习,在空间采样点上增加额外的偏移量模块。同时将可变形卷积网络应用于以 ResNet101 作为骨架网络的 Faster R-CNN 架构,并在 ResNet101 的 res5a、5b、5c 层之后应用可变形卷积层,并将 ROI Pooling 层改进为可变形位置敏感 ROI Pooling 层。可变形卷积网络的 mAP 性能为 0.552。

Cascade R-CNN

比赛中,百度视觉团队使用级联的 R-CNN 来训练检测模型。除训练基本模型外,还使用包含五个尺度特征金字塔网络(FPN)和 3 个尺度 anchors 的 RPN 网络。此外,他们还训练了一个针对全类模型中表现最差的150类的小类模型,并对这 150 类的模型分别进行评估。得出的结论是,500 类模型的 mAP 为 0.477,而用 150 类单模型训练结果替换 500 类的后 150 类的结果,模型的 mAP 提升为 0.498。使用以上方法进行训练的单尺度模型的性能为 0.573。

Testing Tricks

在后处理阶段,百度视觉团队使用了 Soft NMS 和多尺度测试的方法。用 Soft NMS 的方法代替 NMS 后,在不同模型上有 0.5-1.3 点的改进,而 Multi-Scale Testing 在不同模型上则有 0.6-2 个点的提升。

模型融合

对于每个模型,百度视觉团队在 NMS 后预测边界框。来自不同模型的预测框则使用一个改进版的 NMS 进行合并,具体如下:

给每个模型一个 0~1 之间的标量权重。所有的权重总和为 1;

从每个模型得到边界框的置信分数乘以它对应的权重;

合并从所有模型得到的预测框并使用 NMS,除此之外百度采用不同模型的分数叠加的方式代替只保留最高分模型,在这个步骤中 IOU 阈值为 0.5。

TB1XkN1XHrpK1RjSZTEXXcWAVXa.jpg TB1nr0ZXSzqK1RjSZPcXXbTepXa.jpg

(完)

雷锋网版权文章,未经授权禁止转载。详情见转载须知。

目录
相关文章
|
22天前
|
人工智能 编解码 安全
[译][AI OpenAI-doc] 视觉
学习如何使用 GPT-4 来理解图像。具有视觉功能的 GPT-4 Turbo 允许模型接收图像并回答与之相关的问题。了解图像上传、处理、成本计算、模型限制等详细信息。
|
2月前
|
人工智能 自然语言处理 API
Google Gemma 模型服务:开放的生成式 AI 模型服务
Google Gemma 模型服务:开放的生成式 AI 模型服务
117 4
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
揭秘Google Gemini:AI界的多模态革命者与ChatGPT-4的较量
揭秘Google Gemini:AI界的多模态革命者与ChatGPT-4的较量
|
2天前
|
人工智能 Windows
LabVIEW将视觉生成器AI用作OPC服务器
LabVIEW将视觉生成器AI用作OPC服务器
12 2
|
8天前
|
人工智能 自动驾驶 安全
破壁人AI百度:科技公司反内卷的典型样本
互联网整个行业都在陷入被动且尴尬的局面。去年开始流行的“内卷”一词,恰如其分的描述了互联网的现状,比如抖音开始做外卖,微信强推视频号,一直硝烟弥漫的电商市场,更是激战在社区团购上。
21 3
|
18天前
|
人工智能 自动驾驶 安全
破壁人AI百度:科技公司反内卷的典型样本
破壁人AI百度:科技公司反内卷的典型样本
24 0
|
1月前
|
人工智能 编解码 安全
揭秘AI幻觉:GPT-4V存在视觉编码漏洞,清华联合NUS提出LLaVA-UHD
【4月更文挑战第14天】清华大学与新加坡国立大学团队针对大型多模态模型(LMMs)在处理高分辨率图像时的局限,提出新模型LLaVA-UHD。该模型通过图像模块化、压缩和空间模式组织策略,有效提升了处理任意比例和高分辨率图像的能力。实验显示,LLaVA-UHD在9个基准测试中超越现有模型,且在TextVQA任务上准确率提升6.4%,同时训练时间更短。然而,模型训练成本高、泛化能力待优化是未来需解决的问题。
33 8
揭秘AI幻觉:GPT-4V存在视觉编码漏洞,清华联合NUS提出LLaVA-UHD
|
2月前
|
人工智能
破壁人AI百度:科技公司反内卷的典型样本
请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 false class MyQueue: def __init__(self): self.stack_in=[] self.stack_out=[] def push(
13 3
|
2月前
|
人工智能 编解码 数据安全/隐私保护
才发现百度自带的AI图片助手这么好用,去水印、画质优化、AI扩图、涂抹消除等功能一应俱全!
才发现百度自带的AI图片助手这么好用,去水印、画质优化、AI扩图、涂抹消除等功能一应俱全!
240 0
|
2月前
|
人工智能 自然语言处理 负载均衡
这款 AI 网关项目简直太棒了,轻松接入OpenAI、LLama2、Google Gem)ini等 100 多种大语言模型!
这款 AI 网关项目简直太棒了,轻松接入OpenAI、LLama2、Google Gem)ini等 100 多种大语言模型!