【3D目标检测】SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation
目录
- 前提
- 概述
- 细节
- 网络结构
- 特征提取网络
- 检测头1:关键点检测
- 检测头2:3D参数回归
- 损失函数
前提
需要先了解下CenterNet
【目标检测】Objects as Points
概述
本文是基于单目图像的3D目标检测方法。
【2020】【SMOKE】
研究背景:
以往的3D目标检测方法中都会有一个子网络,通过2D目标检测产生2D候选框,然后通过2D候选框去学习3D信息或者得到伪点云送入基于点云的网络中。而这种基于2D目标检测的方法会存在一些问题,如
- 冗余。因为3D信息+内参矩阵可以直接拿到2D信息。
- 引入噪声。 添加了2D目标检测子网络之后,整个流程就分阶段了,前一阶段会引入持续的噪声,导致后一阶段学习3D特征变得困难。而为了解决这个问题,又有了很多的研究,但不管怎么说,多阶段的方法都会导致性能的降低。
研究的问题:
- 如何在3D目标检测中去除2D目标检测的子网络
- 如何更加有效的编码航向角
- 3D参数回归如何更加有效
提出的方法:
- 将CenterNet拓展到3D目标检测中,通过关键点检测+3D参数回归,一步到位实现边界框的预测。
- 一种精细化的航向角回归方法
- 一种分组参数回归的方法
细节
网络结构
网络结构很简单,就是特征提取网络+检测头(关键点检测+3D参数回归)
特征提取网络
本文用的特征提取网络和CenerNet中的基本相同,都是DLA-34,但也有一些改变,比如使用可变性卷积替换了标准卷积,使用GN替换了BN。
因为GN对batch-size不敏感,并且对于训练噪声更加鲁棒。并且实验发现,虽然准确率没有提高,但是训练的时间大大缩短了。
检测头1:关键点检测
这边和CenterNet中的定义差不多,图像下采样四倍之后得到的特征图上进行关键点预测。区别就是本文的关键点指的是3D边界框的中心点在图像坐标系上的投影。
标签制作:
将3D边界框的中心投影到相机坐标系下,然后下采样得到特征图上的位置,然后使用高斯核处理分布。
检测头2:3D参数回归
回归的8个参数是[δz,δxc,δyc,δh,δw,δl,sinα,cosα][\delta_z,\delta_{x_c},\delta _{y_c},\delta_h,\delta_w,\delta_l,\sin \alpha,\cos \alpha][δz,δxc,δyc,δh,δw,δl,sinα,cosα],其中δz\delta_zδz是深度偏移,δxc,δyc\delta_{x_c},\delta_{y_c}δxc,δyc是下采样过程中的偏移,δh,δw,δl\delta_h,\delta_w,\delta_lδh,δw,δl是尺寸的偏移,sinα,cosα\sin \alpha,\cos \alphasinα,cosα是偏航角的表示。
z的计算:其中μz是预定义的偏移,σz是比例因子\mu_z是预定义的偏移,\sigma_z是比例因子μz是预定义的偏移,σz是比例因子
根据z和相机内参计算相机坐标系下的3D坐标
根据尺寸残差计算真实尺寸,其中h⃗,w⃗,l⃗,\vec{h},\vec{w},\vec{l},h,w,l,表示的是数据集上该类别目标的平均长宽高
航向角回归:没有直接回归航向角,而是通过sinα,cosα\sin \alpha,\cos \alphasinα,cosα计算αx\alpha_xαx,通过αx\alpha_xαx计算αz\alpha_zαz,通过αz\alpha_zαz计算航向角Θ\ThetaΘ,具体过程请看大佬博客单目3D目标检测-SMOKE中的航向角回归分析
有了上述参数就有了边界框,其中RθR_{\theta}Rθ是偏航旋转矩阵
注:
尺寸残差和角度都是处理过的,也就是对模型的输出进行激活,分别是sigmoid函数和L2 正则化
损失函数
关键点检测的损失:
和CenterNet中的一样,就是写成了一个式子(还是CenterNet中的看着舒服)
3D参数回归的损失:
这部分的损失参考了Disentangling monocular 3d object detection
,作者将输出分为三组,按照检测头2:3D参数回归
部分描述的,可以根据输出结果计算得到位置、尺寸以及偏航角,这就是三组数据。然后使用每一组数据+标注数据的参数填充得到检测框的8个角,记作B1^,B2^,B3^\hat{B_1},\hat{B_2},\hat{B_3}B1^,B2^,B3^,分别使用L1损失计算回归损失,他们的损失和就是回归部分的总损失,这样做将每组参数对损失函数的贡献解耦了,让优化器能分别优化每一组参数。
采用的是L1损失
所以总的损失是
【3D目标检测】SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation相关推荐
- 一种新的无监督前景目标检测方法 A New Unsupervised Foreground Object Detection Method
14.一种新的无监督前景目标检测方法 A New Unsupervised Foreground Object Detection Method 摘要:针对基于无监督特征提取的目标检测方法效率不高的问 ...
- 3d目标检测_CVPR 2020 |基用于3D目标检测的层级图网络
论文:A Hierarchical Graph Network for 3D Object Detection on Point Clouds论文地址:https://www.aminer.cn/pu ...
- CVPR2022 3D目标检测(GLENet )增强型3D目标检测网络
图 1:(a) 给定一个不完整 LiDAR 观测的对象,可能存在多个具有不同大小和形状的潜在合理的真实边界框. (b) 当注释来自 2D 图像和部分点时,标签过程中的模糊和不准确是不可避免的.在给定的 ...
- 目标检测--Accurate Single Stage Detector Using Recurrent Rolling Convolution
Accurate Single Stage Detector Using Recurrent Rolling Convolution CVPR 2017 商汤科技关于目标检测的文献 Code: htt ...
- 【论文阅读】【三维目标检测】StarNet: Targeted Computation for Object Detection in Point Clouds
文章目录 StarNet Center selection Featurizing local point clouds After Constructing final predictions fr ...
- 视频目标检测--Flow-Guided Feature Aggregation for Video Object Detection
Flow-Guided Feature Aggregation for Video Object Detection https://arxiv.org/abs/1703.10025 Our fram ...
- 目标检测--Rich feature hierarchies for accurate object detection and semantic segmentation(CVPR 2014)
Rich feature hierarchies for accurate object detection and semantic segmentation 作者: Ross Girshick J ...
- 【2022 小目标检测综述】Towards Large-Scale Small Object Detection: Survey and Benchmarks
Towards Large-Scale Small Object Detection: Survey and Benchmarks 论文简介: 论文动机: 小目标检测方法回顾: 问题定义: 主要挑战: ...
- 显著目标检测论文(三)——Minimum Barrier Salient Object Detection at 80 FPS (2015)
这篇文章最大的亮点就是其实时性, 80 fps. 个人感觉论文的效果还是很惊艳的. 可以先看看论文的效果. 如 Figure 1 所示. 作者使用的机器配置如下: 3.2GHz x 2 CPU 12G ...
最新文章
- Redis中列表list数据类型(增加(在左侧、右侧或指定元素前后插入数据)、获取(获取表内指定范围的元素)、更新(获取指定索引位置的元素值)、删除(删除指定元素、count))
- 为什么 Java 线程没有 Running 状态?一下被问懵!
- cv2.inrange()用法
- 一起学react day1
- 【深度学习】19家机构联合发布,200页大模型Roadmap!
- Leet Code OJ 4. Median of Two Sorted Arrays [Difficulty: Hard]
- 安装mysql数据库要注意的
- word2vec原理_word2vec论文阅读笔记
- 为Kindeditor控件添加图片自动上传功能
- oracle执行计划的概念,SQL语句性能调整之ORACLE的执行计划
- python绘图函数返回_python – Matplotlib返回一个绘图对象
- 【图像处理】MATLAB:空间滤波
- spider_使用随机User-Agent库, 爬取笔趣阁万古天帝章节目录_(fake_useragent)
- adb 命令获取点击位置坐标
- scrapy爬虫-拉勾网(学习交流)
- 百度旋转验证码识别平台接口文档
- UML学习_1_模型
- 具有催眠作用的螺旋图
- 知识点滴 - 我们的太阳系
- STL文件模型体积计算