登顶KITTI!Mix-Teaching:适用于单目3D目标检测的半监督方法【清华大学】
点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
作者丨汽车人
来源丨自动驾驶之心
论文标题:Mix-Teaching: A Simple, Unified and Effective Semi-Supervised Learning Framework for Monocular 3D Object Detection
论文链接:https://arxiv.org/pdf/2207.04448.pdf
论文代码:https://github.com/yanglei18/Mix-Teaching
1摘要
单目3D目标检测是自动驾驶必不可少的感知任务。然而,对大规模有标签数据的高度依赖使得模型优化过程成本高昂且耗时。为了减少对人工标注的过度依赖,我们提出了Mix-Teaching,这是一种有效的半监督学习框架,可以在训练阶段同时使用标注和无标注的图像。Mix-Teaching首先通过自我学习训练为无标签图像生成伪标签。然后通过将实例级图像块粘贴到空白背景或有标签图像中,在具有更密集和更精确标签的混合图像上训练学生模型。这是第一个打破图像级别限制,将来自多帧的高质量伪标签放入一张图像中进行半监督训练的方法。此外,由于分类置信度和定位质量之间的不一致,仅使用基于置信度的标准很难从大量带噪声的预测结果中得到高质量的伪标签。为此,我们进一步引入了一个基于不确定性的过滤器,以帮助为上述混合操作选择可靠的伪框。据我们所知,这是第一个用于单目3D目标检测的统一半监督学习框架。Mix-Teaching在KITTI 数据集上的各种标签比率下,都能提高MonoFlex 和 GUPNet的性能。例如,当仅使用10%的有标签数据时,我们的方法在验证集上相对于GUPNet基线实现了大约+6.34%AP@0.7的提升。此外,利用完整有标签训练集和KITTI额外的48K原始图像,它可以进一步提高MonoFlex在AP@0.7上的汽车检测提升+4.65%,达到18.54%AP@0.7,在KITTI测试排行榜上所有基于单目的方法中排名第一。
2简述
单目3D目标检测是使用单张图像来预测周边目标的类别和3D目标框的任务。单目3D目标检测在自动驾驶及机器人技术中有独特的优势和潜力,成为学术和工业界的研究热点。很多新的目标检测方法取得了较大的精度提高,但却高度依赖有标签数据,人工和时间成本都很高。
现在常用的利用无标签数据的方法分为两种:伪标签和一致性规则。伪标签是通过自学习训练或Mean Teacher方法给无标签数据打上伪标签,然后在做过数据增强(保留原始伪标签)的相同图像上训练学生模型,让学生模型从伪标签数据中学习到信息。一致性规则则是增加一致性loss来约束模型在不同扰动下能够稳定预测,从而提高模型的泛化能力。
单目3D目标检测在KITTI上只有15%AP@0.7左右,而2D及基于激光雷达的3D目标检测指标已经达到或超过了85%~96%AP@0.7。这也就意味着用伪标签方法得到的伪标签本身就不可靠,用了反而会造成负面影响,漏检和误检都会很多。
为了优化这个低召回伪标签的问题,我们提出了Mix-Teaching,一种适用于大部分单目3D目标检测的通用半监督学习框架。
3贡献
Mix-Teaching中,首先通过自我学习训练来预测无标签数据的伪标签。然后将无标签样本分成具有高质量伪标签的图像块集合和不包含目标的背景图像集合。然后,学生模型在混合图像上进行训练,这些混合图像是通过将上述实例图像块粘贴到背景图像或粘贴到到通过强数据增强的有标注图像中而得到的。这样生成的合成图像就都是高质量的伪标签了,避免了一些漏标注的问题。最后,经过多阶段的训练,逐步将信息从有标签数据传递给无标签数据。
由于单目3D目标检测模型精度差,误标注问题严重,针对此问题,作者不再只通过置信度来过滤较差的伪标签,而是提出了一种基于不确定性的过滤器,该方法使用结构相同但参数不同的模型来估计每个目标的不确定性,如果同一目标的预测集的不确定性越高,该集中的预测数越少,它们间的定位误差也就越大。作者利用置信度和不确定性过滤器来过滤那些低质量的噪声伪标签,证实是有效的,而且由于去除这些噪声伪标签只在每个训练阶段的开始,所以效率也不会太低。
本文总结下来主要有三点贡献:
阐述了半监督学习方法在单目3D目标检测应用中的主要困难,并且为什么现有的SSL算法无法处理它们,基于此我们提出了Mix-Teaching。
为了减少模型过拟合噪声伪标签问题,提出了一种基于不确定性的过滤器,可以有效去除噪声伪标签。
KITTI上实验证明了Mix-Teaching框架的有效性,作为SSL用于单目3D目标检测的首次研究,可作为进一步研究的基线框架。
4方法
首先我们的目标是利用无标签和有标签的数据训练得到的模型,性能要优于只用有标签数据训练的模型。训练策略是使用多阶段策略,先用全部有标签数据训练一个教师模型,然后再对无标签数据打伪标签,接着用有标签和伪标签数据训练一个带噪学生模型,这个学生模型将是下一个阶段的教师模型。
Mix-Teaching 框架
Mix-Teaching框架如下图所示。这是一种可以轻松应用于大多数单目 3D 目标检测器的通用方法。我们的混合教学主要由两个阶段组成:面向数据库的伪标签和混合数据的噪声学生模型。
面向数据库的伪标签。将所有的伪标签和纯背景图像收集起来。教师模型前向生成伪标签,再通过基于置信度和基于不确定性的过滤器进行过滤,创建一个由实例级图像块及其相应的高质量伪标签组成的实例图像块数据库。我们从数据中选择所有不包含任何预测结果的纯背景图像并创建背景数据库。
混合数据的噪声学生模型。基于上述两个数据库和有标签图像,创建了包含更密集和具有更精确标签的混合图像,用于半监督训练。对此有两种通用策略:一种方法是将实例图像块数据库中的图像块粘贴到有标签图像上。另一种方法是在来自背景数据库的图像上粘贴实例图像块。在此过程中,实例图像块是基于原图像上的2D框坐标粘贴到目标图像的。避免过度重叠及其它可能的不合理粘贴,作者做了一个边界框碰撞测试,来去除这些无效的粘贴。
为了缓解过拟合噪声伪标签问题,作者使用了一些强数据增强:
边界裁切,在粘贴前,以一定比例(0-0.3)对图像块进行水平或垂直的边界裁切;
颜色填充,在粘贴前,以一定比例(0-0.3)对图像块进行水平或垂直的边界颜色填充;
Mixup,以一个随机比率(0.6-1.0)对前景图像块和背景图像进行加权平均。
数据增强方法可视化如下图所示:
整体的损失函数可以用监督loss和无监督loss表示,并以一个超参数来平衡两者。loss主要包括分类和回归loss,无监督混合图像中再加上纯背景图的loss。
基于不确定性的过滤器
作者发现,如上图所示,分类置信度和候选框定位精度存在巨大的偏差,相当一部分预测结果的分类置信度很高,但与真值的IoU-3D的值很低。这样只用置信度去选择伪标签就会造成引入一些噪声伪标签,给半监督训练带来很大的噪声伪标签过拟合风险。
为了缓解上述问题,我们进一步提出了一种基于不确定性的过滤器,在该过滤器中,我们根据N个模型(同结构不同参数)对同一个目标的预测差异来推断定位不确定性。对于图像上的特定目标,将有M个预测结果。我们主要从两个角度定义定位不确定性:(1)与该目标关联的预测数M;(2) 这些预测框之间的差异。预测数M反映了N个模型中漏检的水平。候选框的差异揭示了模型预测的随机性。
计算不确定性的步骤:
N个模型的所有预测结果都存储在列表B中。
声明三个列表G,H和U,G用于存储框的集合。每个集合代表来自N个模型的特定目标的预测。H中是每个集合中置信度得分最高的框。U保存H中每个框的定位不确定性。
遍历列表B中的所有框,找到属于当前集合C的匹配框。匹配条件定义为在条件 IoU-3D大于thr下与集合C 的初始框bm有较大重叠的框。所有匹配的框将从列表B移至集合C。然后更新当前集合C到列表G。
如果在列表B中仍然有未处理的框,选择在列表B中有最大分数的框bm,移动到列表H。用框bm初始化一个新的C集合,返回执行步骤3。
当B中的所有框都被处理后,用下面的公式计算列表G中框集合C的不确定性。结果被添加到列表U。
不确定性值域为0到1。当值为0时,表示在N个模型(M=N)中不存在漏检,并且所有N个候选框完全一致。当值为1时,表示所有模型都未能检测到该目标。如下图所示,我们可视化了IoU-3D与定位不确定性之间的关系。与分类得分相比,这个不确定性指标可以更好地衡量定位精度。与需要针对特定目标检测器进行相关分支设计的3D置信度或IoU-3D相比,我们的基于不确定性的过滤器是模型无关的,并且可以应用于多种类型的基于图像的3D目标检测器,这才是更通用的半监督学习框架。
5实验结果
KITTI上与MonoFlex、GUPNet的对比:
与KITTI上的其它SOTA方法对比:
小目标上的表现:
一些消融实验:
背景数据集、目标框级别的数据增强、基于不确定性的过滤器都有助于模型效果的提升。对不同置信度阈值和不确定性阈值也做了实验对比。
可视化结果展示
本文仅做学术分享,如有侵权,请联系删文。
3D视觉工坊精品课程官网:3dcver.com
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
14.ROS2从入门到精通:理论与实战
15.国内首个3D缺陷检测教程:理论、源码与实战
16.基于Open3D的点云处理入门与实战教程
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~
登顶KITTI!Mix-Teaching:适用于单目3D目标检测的半监督方法【清华大学】相关推荐
- DD3D:基于预训练的单目3D目标检测
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源丨CV研习社 作者丨元气满满的打工人 文章导读 导读:3D目标检测的主要应用场景就是自动驾驶,虽然 ...
- ICCV2021|单目3D目标检测真的需要伪激光雷达吗?
作者丨agent@知乎 来源丨https://zhuanlan.zhihu.com/p/406918022 编辑丨3D视觉工坊 Paper: arxiv.org/pdf/2108.0641 Code: ...
- Neighbor-Vote:使用邻近距离投票优化单目3D目标检测(ACM MM2021)
名字:Neighbor-Vote: Improving Monocular 3D Object Detection through Neighbor Distance Voting 链接:https: ...
- 首个实时单目3D目标检测算法:RTM3D,代码将开源
o 点击我爱计算机视觉标星,更快获取CVML新技术 基于单目图像的3D目标检测是在输入RGB图像的情况下估计目标的3D包围框,在自动驾驶领域非常有用. 今天来自中科院沈阳自动化所等单位的学者公布论文提 ...
- 【单目3D目标检测】MonoDLE论文精读与代码解析
文章目录 Preface Abstract Contributions Diagnostic Experiments Pipeline Revisiting Center Detection Trai ...
- 【单目3D目标检测】MonoFlex论文精读与代码解析
文章目录 Preface Abstract Contributions Pipeline Problem Definition Decoupled Representations of Objects ...
- 浅述单目3D目标检测
作者丨慕弋云子@知乎 来源丨https://zhuanlan.zhihu.com/p/432135656 编辑丨3D视觉工坊 三维目标检测是一个相对上游.比较基础却又新兴的任务领域.得益于自动驾驶和2 ...
- 【利用MMdetection3D框架进行单目3D目标检测(smoke算法】
利用MMdetection3D框架进行3D目标检测(smoke算法) 1.mmdetection3d 2.mmdetection3d安装 2.1 依赖 3.进行单目3D目标检测 1.mmdetecti ...
- 【单目3D目标检测】FCOS3D + PGD论文解析与代码复现
文章目录 前言 FCOS3D 概述 主要创新点 主要框架结构 回归目标 损失函数 推理过程 2D引导的多层3D预测 2D高斯分布的3D中心度 实验设置 源码复现 PGD 概述 主要创新点 深度估计 主 ...
最新文章
- 访问控制允许原始多个域?
- python程序员月薪智的-在三线城市Python工程师也能拿到月薪20K
- hadoop下实现kmeans算法——一个mapreduce的实现方法
- 华擎b365m itx 黑苹果_迷你ITX小机箱装机实录,黑苹果首选
- python关键字匹配_关于python:在遇到某个关键字后匹配值的正则表达式
- XTU 1250 Super Fast Fourier Transform
- 云小课 | MRS和自建Hadoop相比,有哪些优势?
- 如何设置谷歌浏览器在新窗口中打开搜索链接
- 一张正面人脸照片,3D真人头像毫秒级重建。
- 乐高mindstormsev3_乐高MINDSTORMSEV3软件程序模块开发-2019年精选文档
- UML统一建模语言简介
- torch.nn.Module.named_parameters(prefix=‘‘, recurse=True)
- poi操作Excel给列设置下拉菜单(数据验证)
- GSM/CDMA区别
- “粤省事”春运专区上线 31项服务让回家更便捷
- 微信企业红包php,微信公众号发红包和企业付款实现方法
- 计算机卷死,一位计算机教师死了,警方在床底发现一张纸,上面写着一些特殊的符号,这... #119615-推理漫画-侦探推理-33IQ...
- Windows 安装 Docker
- 百度谷歌一起搜 - 百Google度 - Chrome插件
- 3dsmax-uv展开