自动驾驶纯视觉3D物体检测算法

在这里插入图片描述
视频链接:https://www.shenlanxueyuan.com/open/course/112

这是Pseudo-LiDAR作者最近做的一个分享报告:《Pseudo-LiDAR:基于相机的3D物体检测算法》。在这份报告里,作者主要介绍了博士期间的研究成果:基于深度学习的深度估计纯视觉3D物体检测算法


1. Background

作者首先介绍了激光雷达用于物体检测存在的问题:价格昂贵,易受天气影响(雨天或雾天)、点云稀疏

在这里插入图片描述在这里插入图片描述

然后介绍了激光雷达和视觉3D物体检测的Pipeline,在KITTI数据集中,LiDAR Pipeline输入为点云和前视图;视觉检测Pipeline中输入立体图像首先生成深度图,然后前视图和深度图一起输入到检测模型中。

在这里插入图片描述在这里插入图片描述

在KITTI数据集上,可以看到视觉检测性能远远低于LiDAR检测性能,有4倍差距还多?

作者因此猜想是什么原因导致检测性能相差这么大:深度估计不准?图像表达形式?
在这里插入图片描述
作者首先进行了深度比较,将生成的伪激光雷达点云与真实点云进行比较,可以看到二者深度基本是一样的,所以深度估计是准确的,不是造成性能相差巨大的原因。

在这里插入图片描述在这里插入图片描述

然后作者做了另外一个实验,在深度图上进行2D卷积操作,可以看到卷积操作之后对应的伪激光雷达点云扩散了,发现这是造成图像3D物体检测性能低的主要原因。
在这里插入图片描述
因此作者提出了伪激光雷达点云3D检测的方法,首先生成伪激光雷达点云,然后再使用点云3D物体检测器进行检测,这里作者没有设计新的检测算法,可以看到检测性能也已经提升了3倍左右。

在这里插入图片描述在这里插入图片描述

2. Pseudo-LiDAR Detection

不难看出,伪点云中,深度估计越准,最终检测性能越高,因此作者提出了新的深度估计方法(改进损失函数),即将之前的Disparity估计问题直接转换成深度估计问题,这一部分估计使用神经网络实现。
在这里插入图片描述
在上面的深度估计方法中,Depth Cost Volume 维度为图像维度+深度维度,作者进一步改进损失函数,将其维度直接转换成激光雷达坐标维度,可以看到检测性能进一步提高(PLUMNet)。

在这里插入图片描述在这里插入图片描述

为了进一步提高检测性能,作者使用了多传感器融合的方法,将伪激光雷达与真实激光雷达相融合。这里作者将64线的激光雷达下采样为4线激光雷达。

在这里插入图片描述在这里插入图片描述

思想是使用4线真实激光雷达去纠正伪激光雷达点云位置,结果如下:可以看到纠正后的点云位置基本都在Bounding box中。

在这里插入图片描述在这里插入图片描述

最终检测结果如下,在Easy难度检测结果上与激光雷达检测结果已经基本相同。

总结一下,在视觉3D检测中,作者提出了四种改进方法:

  • 深度图转换成伪点云,使用点云3D物体检测器进行检测,性能提升了3倍左右;
  • 改进损失函数,将Disparity损失函数改为Depth损失函数,深度估计更准,性能进一步提升;
  • 改进损失函数,将图像维度+深度维度损失函数改为激光雷达坐标维度损失函数,性能再一次提升;
  • 多传感器融合,使用更便宜的真实激光雷达(4线)去纠正伪点云位置,Easy难度检测结果与激光雷达检测结果基本相同。
在这里插入图片描述在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一步步编写操作系统 57 门、调用门与RPL序 2

接上文: 提供了4种门的原因是,它们都有各自的应用环境,但它们都是用来实现从低特权级的代码段转向高特权级的代码段,咱们这里也只讨论有关特权级的功用: 1.调用门 call和jmp指令后接调用门选择子为参数,以…

Coursera自动驾驶课程第15讲:GNSS and INS Sensing for Pose Estimation

在上一讲《Coursera自动驾驶课程第14讲:Linear and Nonlinear Kalman Filters》 我们学习了卡尔曼滤波相关知识,包括:线性卡尔曼滤波(KF)、扩展卡尔曼滤波(EKF)、误差卡尔曼滤波(ES-…

详解车道线检测数据集和模型 VIL-100: A New Dataset and A Baseline Model for Video Instance Lane Detection

本文介绍一个新的车道线数据集 VIL-100 和检测模型 MMA-Net,论文已收录于 ICCV2021,重点是理解本文提出的 LGMA 模块,用于聚合局部和全局记忆特征。 论文链接:https://arxiv.org/abs/2108.08482 项目链接:https://gi…

七天入门图像分割(1):图像分割综述

最近在研究自动驾驶视觉语义地图构建,因为要使用到语义分割技术,趁此机会学习了百度飞桨的图像分割课程,课程蛮好的,收获也蛮大的。 课程地址:https://aistudio.baidu.com/aistudio/course/introduce/1767 1. 课程简要…

一步步编写操作系统 59 cpu的IO特权级1

在保护模式下,处理器中的“阶级”不仅体现在数据和代码的访问,还体现在指令中。 一方面将指令分级的原因是,有些指令的执行对计算机有着严重的影响,它们只有在0特权级下被执行,因此被称为特权指令(Privile…

重读经典:《ImageNet Classification with Deep Convolutional Neural Networks》

9年后重读深度学习奠基作之一:AlexNet【下】【论文精读】这两天偶然间在B站看了李沐博士对AlexNet论文的重新解读,收获满满。AlexNet是当今深度学习浪潮奠基作之一,发表在2012年。在视频中,李沐博士主要是分享了他的三步法快速读论…

一步步编写操作系统 60 cpu的IO特权级2 什么是驱动程序

用户程序可以在由操作系统加载时通过指定整个eflags设置,操作系统如何设置自己的IOPL呢,即使内核IOPL为0也得写进去eflags寄存器中才生效。可惜的是,没有直接读写eflags寄存器的指令,不过可以通过将栈中数据弹出到eflags寄存器中来…

详解惯性导航论文 RINS-W: Robust Inertial Navigation System on Wheels

本文介绍一篇惯性导航定位论文 RINS-W,论文发表于 IROS2019。在本论文中作者提出了仅使用一个IMU进行长时间惯性导航的方法。方法主要包括两个部分: 检测器使用循环神经网络来检测IMU的运动状况,如零速或零横向滑移;使用Invarian…

一步步编写操作系统 61 任务状态段 TSS

I/O位图是位于TSS中的,它可以存在也可以不存在,它只是用来设置对某些特定端口的访问,没有它的话便默认为禁止访问所有端口。正是由于它可有可用,所以TSS的段界限TSS limit(即实际大小-1)并不固定。当TSS中不…

重读经典:《Deep Residual Learning for Image Recognition》

ResNet论文逐段精读【论文精读】这是李沐博士论文精读的第二篇论文,这次精读的论文是ResNet。ResNet 是 CVPR2016 的最佳论文,目前谷歌学术显示其被引用数已经达到了90000。 ResNet论文链接为:https://arxiv.org/abs/1512.03385。 1.第一遍 …

【CodeForces - 1131F 】Asya And Kittens(并查集,思维)

题干: Asya loves animals very much. Recently, she purchased nn kittens, enumerated them from 11 and nn and then put them into the cage. The cage consists of one row of nncells, enumerated with integers from 11 to nn from left to right. Adjacent…

详解道路标记数据集 CeyMo: See More on Roads -- A Novel Benchmark Dataset for Road Marking Detection

本文介绍一个新的道路标记检测数据集,论文收录于 WACV2022。Ceymo数据集总共包含2887张图片,标注了11类共4706个道路标记实例,图片分辨率为 192010801920\times108019201080。其中,对于每一个道路标记实例,作者采用了三…

动手学无人驾驶(7):车道线检测

最近在研究视觉语义地图,需要进行车道线检测,发现这篇车道线检测论文效果蛮好的 (Ultra Fast Structure-aware Deep Lane Detection)。论文作者在知乎上已经介绍过了:https://zhuanlan.zhihu.com/p/157530787&#xff…

Coursera自动驾驶课程第16讲:LIDAR Sensing

在第15讲《Coursera自动驾驶课程第15讲:GNSS and INS Sensing for Pose Estimation》 我们学习了自动驾驶定位中常用的两种传感器:IMU(惯性测量单元) 和GNSS(全球导航卫星系统)。 本讲我们将学习自动驾驶汽…

DB、ETL、DW、OLAP、DM、BI关系结构图

在此大概用口水话简单叙述一下他们几个概念: (1)DB/Database/数据库——这里一般指的就是OLTP数据库,在线事物数据库,用来支持生产的,比如超市的买卖系统。DB保留的是数据信息的最新状态,只有一…

Tarjan 算法 常用模板

可以求每个点属于第几个强连通分量&#xff1a;https://blog.csdn.net/dellaserss/article/details/8267192 int Tarjan(int u){int v;dfn[u]low[u]Index;stack[Top]u;Instack[u]1;for(int i0;i<G[u].size();i){vG[u][i];if(!dfn[v]){Tarjan(v);low[u]min(low[u],low[v]);}…

【HDU - 5012】Dice(模拟,bfs)

题干&#xff1a; There are 2 special dices on the table. On each face of the dice, a distinct number was written. Consider a 1.a 2,a 3,a 4,a 5,a 6 to be numbers written on top face, bottom face, left face, right face, front face and back face of dice A. S…

重读经典:《Generative Adversarial Nets》

GAN论文逐段精读【论文精读】这是李沐博士论文精读的第五篇论文&#xff0c;这次精读的论文是 GAN。目前谷歌学术显示其被引用数已经达到了37000。GAN 应该是机器学习过去五年上头条次数最多的工作&#xff0c;例如抖音里面生成人物卡通头像&#xff0c;人脸互换以及自动驾驶中…

一步步编写操作系统 62 函数调用约定

由于我们要将c语言和汇编语言结合编程啦&#xff0c;所以一定会存在汇编代码和c代码相互调用的问题&#xff0c;有些事情还是要提前交待给大家的&#xff0c;本节就是要给大家说下函数调用规约中的那些事儿。 函数调用约定是什么&#xff1f; 调用约定&#xff0c;calling co…

重读经典:《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》

ViT论文逐段精读【论文精读】这次李沐博士邀请了亚马逊计算机视觉专家朱毅博士来精读 Vision Transformer&#xff08;ViT&#xff09;&#xff0c;强烈推荐大家去看本次的论文精读视频。朱毅博士讲解的很详细&#xff0c;几乎是逐词逐句地讲解&#xff0c;在讲解时把 ViT 相关…