BEV

反前视角映射IPM(Inverse perspective mapping)

该方式的先验是所有的生成的像素点都是在地平面上,摄像头的之间的精确的内/外参数一致.但是,实际应用中,IPM对外参精度要求较高,需要进行实时在线校准.

BEV IPM OD(IV 2019)的思路便是通过IMU数据实现外参的在线校准,从而得到更加精确的IPM图片,同时基于此进行物体检测,demo效果如下:yotube.

正交特征变换(orthographic feature transform, OFT)

实现了将前视视角特征转化为正交BEV视角.前视视角特征基于ResNet-18提取.通过对image-based特征进行叠加得到voxel-based特征(类似于CT图片重构中反向映射过程)。voxel-based特征通过在竖直方向上的投影生成正交于地平面的特征.最后,采用类似ResNet的topdown网络实现BEV map层面上的物体检测.

OFT的想法简单而有效.虽然其反向映射的过程可以通过一些启发式的方式实现voxel-based特征更合理的初始化来优化反向映射的方式.如图片中一个比较大的2d检测框不可能映射到非常远的物体.另外该算法依然依赖于精准的外参,该精准外参通常很难在线得到。

BirdGAN(IROS 2019)

文章使用了GAN实现了BEV的转换.该方法取得了比较好的结果,但是按照文章所说,其到BEV空间的转换在前视距离10-15m内的效果较好,所以应用范围有限.

伪雷达(pseudo-lidar)

其思路为通过图片预测深度信息,从而产生点云信息,这也得益于近期在单目深度估计上一些进展(其本身也是一个自动驾驶的热门话题).以往基于RGBD图片数据的处理通常是将depth维作为第四channel作为输入,网络采用常规网络只不过在第一层输入上进行调整。

MLF(multi-layer fusion)
        是首先将预测深度拓展到3D空间的工作之一.算法利用预测得到的深度信息(以MonoDepth参数作为固定网络参数)将RGB图的逐个pixel映射会3D空间,之后生成的点云数据会与图像特征融合用以回归3D检测框.
        

Pseudo-lidar(CVPR2019)受启发于MLF,并采用了一种更直接的验证方式:直接采用当前性能最佳的基于Lidar数据的SOTA 3d检测算法.作者的观点是数据的呈现方式是重要的,卷积网络不生效的原因是对深度图来说,即使是相隔很近的像素点,其在3D空间中的深度差距也会比较大.作者后续还提出了Pseudo-lidar++.其主要的提升点在于算法能够基于线束更小的低成本lidar数据生成的pseudo-lidar数据.基于摄像图图片生成稠密的3D点云数据,并基于点云数据进行深度预测在自动驾驶领域有较强的实用潜力.

        后续基于pseudo-lidar算法主要是基于原始算法的优化.Pseudo-Lidar Color(CVPR 2019)融合了深度信息和RGB信息,直接利用concatenation将(x,y,z)转化为(x,y,z,r,g,b)或者采用attention-based的方式选择性地传入RGB信息.文章同时采用了一种简单而高效的点云分割方式,主要借鉴于Frustum PointNet(CVPR 2018)并采用其视锥中的平均深度.Pseudo-Lidar end2end(ICCV 2019)提出pseudar-lidar的瓶颈在于两个方面:因为深度估计误差引起的匹配误差(local misalignment)以及深度数据在物体边缘突变引起的lidar数据的长尾(long tail)现象.该文章采用了语义分割的mask而不是Frustum PointNet中的box,并且引入2D/3D框的一致性损失.

ForeSeE也提出了相似的观点,并且提出在深度估计任务中并不是所有的像素信息都是同等重要的.该算法没有采用直接可用的深度估计模型,而是各自训练了两个深度估计模型,分别预测前景和背景的深度信息,并且在infer的过程中选择性地融合深度图.

RefinedMPL探讨了pseudo-lidar中的点云密度引起的问题.文章指出pseudo-lidar的点云密度远高于64线真实lidar得到的点云数据密度.尤其是更多的背景点云数据反而会引起的更多的误报(false positives)同时也增大了计算量.所以,文章中提出了用于点云数据的结构稀疏化的两个步骤:首先定义得到前景点,然后进行稀疏化处理.前景点通过两种方式得到:其一为监督学习,其二为非监督学习.其中监督学习方式通过训练一个2D的检测器,并使用2D检测器得到的2D bbox的mask作为前景点的mask来去除背景点.非监督方式使用的是LoG(Laplacian of Gaussian)特征用以关键点检测同时采用最近邻算法(k=2)得到点作为前景点.最后得到的前景点被划分到固定的深度区域(depth bins)进行均匀稀疏化.RefinedMPL指出即使只用10%的点,3D物体的检测性能依然没有变差,甚至略优于原始的baseline.同时论文指出pseudo-lidar与真实lidar的性能差距在于其不准确的深度估计.

整体上看,上述思路是更可行的.意味着只需要对前景物体的较为精确估计即可(不需要稠密点云),而这可以通过较为稀疏的深度测量方式得到,如低成本的四线lidars.

        

BEV和Pseudo-Lidar相关推荐

  1. 《A Simple Baseline for BEV Perception Without LiDAR》论文笔记

    参考代码:bev_baseline project page:A Simple Baseline for BEV Perception Without LiDAR 1. 概述 介绍:在这篇文章中提出了 ...

  2. 【论文阅读】3D-CVF: Generating Joint Camera and LiDAR Features Using Cross-View Spatial Feature Fusion for

    一个多模态 (Camera + Lidar) 3D 目标检测 SOTA 方法!论文链接:https://arxiv.org/abs/2004.12636 摘要 本文提出了一种融合摄像机和激光雷达传感器 ...

  3. 最新BEV感知基线 | 你确定需要激光雷达?(卡内基梅隆大学)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨汽车人 来源丨 自动驾驶之心 1提出背景 camera和其他传感器相比成本更低,而激光雷达系统的 ...

  4. 自动驾驶中的BEV感知与建图小记

    作者 | 石桥  编辑 | 汽车人 原文链接:https://zhuanlan.zhihu.com/p/597554089? 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷 ...

  5. 3D-CVF论文解读

    3D-CVF论文解读 1.背景 2.网络架构 2.1 LiDAR pipeline 2.2 RGB Pipeline 2.3 Cross-View Feature Mapping 2.4 Gated ...

  6. 一文尽览 | 基于点云、多模态的3D目标检测算法综述!(Point/Voxel/Point-Voxel)

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心技术交流群 后台回复[ECCV2022]获取ECCV2022所有自动驾驶方向论文! 目前 ...

  7. 最全的整理:毫米波雷达在检测、分割、深度估计等多个方向的近期工作及简要介绍

    前情回顾 在之前,我已经有介绍过毫米波雷达在2D视觉任务上的一些经典网络[自动驾驶中雷达与相机融合的目标检测工作(多模态目标检测)整理 - Naca yu的文章 - 知乎],总结概括而言,其本质上都是 ...

  8. 《自动驾驶感知算法实战专栏(源代码)》专栏概述

    导言 自动驾驶太火?高薪?跃跃欲试,又仅存于想的阶段.动起来,只是看理论,却总也学不会?看不懂,又总没有进度?如果你也有这类问题,那你来看看这个专栏.以实际项目为导向,亲自动手实践,从简单的图像分类. ...

  9. kitti LIDAR点云生成鸟瞰图BEV

    import numpy as np from PIL import Image import matplotlib.pyplot as plt# 点云读取 pointcloud = np.fromf ...

  10. 基于激光雷达点云的3D检测方法汇总(LiDAR only)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨柒柒@知乎 来源丨https://zhuanlan.zhihu.com/p/436452723 ...

最新文章

  1. flask 和 ajax 实例
  2. python怎么用excel-用Python控制Excel实现自动化办公,手把手教你
  3. 你知道Unity IoC Container是如何创建对象的吗?
  4. 第18章 类加载机制与反射
  5. Gluster的搭建和使用
  6. C#中子线程操作主线程中窗体上控件的方法
  7. php获取图像尺寸大小的方法,Javascript从php生成的图像中获取图像大小
  8. Nagios+pnp4nagios+rrdtool 安装配置nagios(一)
  9. POJ 3648 Wedding
  10. 新模型SkipNet在ImageNet分类任务大放光彩!优化损失函数!
  11. 【numpy】使用numpy/pytorch创建数组时的一点疑问
  12. uint32是什么数据类型_C++编程基础: 4. 数据类型
  13. OpenGL基础4:最基础的单元 —— 三角形
  14. Nexus 的下载和部署
  15. 基于pt100的温度测量系统设计 c语言程序 四臂电桥,基于PT100热电阻传感器的温度采集系统设计资料...
  16. 新手小白学JAVA_IDEA修改主题 设置背景图片
  17. 当游戏设计遇上建筑学
  18. 10个有趣且易上手的AI项目(附Python源代码)
  19. flash build 4.6 不能debug 报错 C:\WINDOWS\system32\Macromed\Flash\NPSWF32.dll
  20. winpe装双系统linux_LINUX下安装WINDOWS双系统

热门文章

  1. 粘包问题和struck解决
  2. JavaScript基础及画布
  3. 用计算机弹魂斗罗,魂斗罗30命S弹版电脑版
  4. css实现3D书本翻页动画
  5. r730 raid5 linux 驱动,DELL R720安装REDHAT5.1 RAID驱动问题
  6. 偏微分方程1-常微分方程求解方法回顾
  7. 你想成为一个什么样的人
  8. 安卓手机管理器_安卓如何看撤回的微信
  9. 新浪短网址t.cn如何生成
  10. python将多张图片合并成一张