位置: IT常识 - 正文

BEV(Bird’s-eye-view)三部曲之二:方法详解

编辑:rootadmin
BEV(Bird’s-eye-view)三部曲之二:方法详解 一、IntrodutionWhy BEV高度信息在自动驾驶中并不重要,BEV视角可以表达自动驾驶需要的大部分信息.BEV空间可以大致看作3D空间.BEV representation有利于多模态的融合可解释性强,有助于对每一种传感器模态调试模型扩展其它新的模态很方便BEV representation有助于下游的prediction和planning任务BEV语义分割依赖于朝向不同的多摄像头,比SALM只朝一个方向获取语义更丰富;通知在ego运动速度慢的时候也能work.在纯视觉系统(无雷达或激光雷达)中,几乎必须在BEV中执行感知任务,因为传感器融合时没有其它3D观测可用于视图转换

推荐整理分享BEV(Bird’s-eye-view)三部曲之二:方法详解,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

BEV的难点视角变换。为了得到BEV representation,算法需要利用先验的几何信息,包括相机的内参和外参(可能有噪声)soft priors:路面布局的信息库common sense:车在BEV视角下不会overlap.数据获取与标注。人手工标注使用一些人造的数据单目的相机获取图像上从3D到2D的映射图像,但是从2D提升到3D本身就是个ill-posed problem(解不唯一).分类法监督/indirect supervision3D目标检测/扫图/预测/语义分割输入: 单张图像/多张图像/仅雷达/图像+雷达/其它传感器融合任务拓展

一些较新的数据集,例如(Lyft, Nuscenes, Argoverse),提供了

3D检测框HD mapego在每个时间戳时在HD map的位置 BEV的语义分割分为静态(道路布局)语义分割和动态实例分割,因此可以基于ego定位的结果,将静态的map映射到ego坐标系视角变换的主要方法逆透视变换(IPM, Inverse Perspective Mapping),例如Cam2BEV。假设地面上平的,一般只用在车道线检测或free space检测。Lift-splat。例如Lift, Splat, Shoot;BEV-Seg;CaDDN;FIERY。先估计深度信息,将图像提升到类似于3D点云,再splat得到BEV视角特征MLP。使用MLP直接对变换矩阵进行预测,例如VPN,HDMapNetTransformer。基于attention的transformer来建模视角的变换,最近论文比较多。二、仅摄像头X语义分割VPN (IROS 2020)

paper,github , 无速度汇报

输入:多模态,主要是多视角的图像

输出:语义分割 VPN (Cross-view Semantic Segmentation for Sensing Surroundings)几乎是第一个探索BEV语义分割的任务。

VPN 对每个模态的每个输入经encoder得到的feature map,经过不同的MLP回归从原始view到BEV视角的映射矩阵R_i(View transformer)。当然,不足之处是也忽略了feature点与点之间的位置关系。

使用人造的数据和对抗损失来训练。

View transformer:输入(原视角)与输出(BEV视角)尺寸相同。(实际上是没必要的)

Cam2BEV (ITSC 2020)

A Sim2Real Deep Learning Approach for the Transformation of Images from Multiple Vehicle-Mounted Cameras to a Semantically Segmented Image in Bird’s Eye View

paper,github,无速度汇报

输入:4个摄像头

输出:语义分割 Cam2BEV 使用一个space trasnformer module with IPM(Inverse Perspective Mapping)来将原视角的feature映射到BEV空间。

主干网络借鉴了uNet的思想

对ground truth做预处理,来生成被遮挡的部分为一类。

Spatial Transformer Module

Localisation Network-局部网络,由输入特征图回归变换矩阵Parameterised Sampling Grid-参数化网格采样,得到输出特征图的坐标点对应的输入特征图的坐标点的位置Differentiable Image Sampling-差分图像采样,利用插值方式来计算出对应点的灰度值

直接用四个相机的语义分割结果作为输入,类别有road, sidewalk, person, car, truck, bus, bike, obstacle, vegetation.

MonoLayout(WACV 2020)

MonoLayout: Amodal scene layout from a single image

paper,github,video,在1080Ti上>32fps,具体见下图

输入:单个摄像头

输出:语义分割,道路和交通参与者

Shared encoder,分两个decoder,一个用来做静态语义分割,一个做动态语义分割

对KITTI数据集使用temporal sensor fusion生成一些weak groundtruth,通过结合2D语义分割结果和位置信息

对抗学习损失,静态分割head的先验数据分布来自公开数据集OpenStreetMap,属于unpaired fashion.

PyrOccNet (CVPR 2020)

Predicting Semantic Map Representations from Images using Pyramid Occupancy Networks

paper,github,video,无测速结果

输入:多个摄像头

输出:语义分割,道路、交通参与者、障碍物

Semantic occupancy grid prediction:与2D图像的语义分割类似,预测micm_i^cmic​,即第c类占据第i个grid的概率

dense transformer module,use of both camera geometry and fully-connected reasoning to map features from the image to the BEV space。这里feature map的size不一定一致了,输入为 H×W×CH\times W \times CH×W×C, 输出为Z×X×CZ\times X \times CZ×X×C。

水平方向的变换只需要用相机的参数即可获得;竖直方向的变换需要更多信息,因为常有很多遮挡、缺少深度信息和路面拓扑的不可知。为了最大化保留水平方向信息,将水平方向保留,拉平竖直和channel维度B,将输入reshape为B×WB\times WB×W, 沿着水平维度做1D卷积,得到维度为Z×W×CZ\times W \times CZ×W×C的输出使用相机的焦距、水平位移等参数, 对输出特征做resampling到BEV维度

Multiscale transformer pyramid

使用Bayesian Filtering融合跨相机和扩时间的信息。

Lift, Splat, Shoot (ECCV 2020,NVIDIA)

Lift, Splat, Shoot: Encoding Images From Arbitrary Camera Rigs by Implicitly Unprojecting to 3D

paper,github,主页, 35 hz on a Titan V

输入:多个摄像头

输出:语义分割,道路和交通参与者

第一篇对每个角度的摄像头作用于不同的CNN,对像素点的深度进行估计,根据深度将感知的图像提升大3D点云,然后使用相机外参(已知)映射到BEV空间,最后使用一个BEV CNN来精修这些预测。

流程

Lift: Latent Depth Distribution:无训练参数地将2D图像(H,W)等深度间距地提升到(D,H,W),神经网络预测该深度的置信度,对生成的feature乘以该深度的概率。

Splat: Pillar Pooling:借鉴pointpillars,得到(C,H,W)的feature,可被CNN处理

Shoot: Motion Planning:为ego预测K条轨迹模板的分布

结果展示(其实是个动画,可以进主页看)

BEV Feature Stitching (RAL/ICRA 2022)BEV(Bird’s-eye-view)三部曲之二:方法详解

Understanding Bird’s-Eye View Semantic HD-Maps Using an Onboard Monocular Camera

paper,github,21FPS on a RTX 2080Ti

输入:单个摄像头的多帧+估计的ego pose

输出:静态/动态目标的分割

输入:N×H×W×3N\times H\times W \times 3N×H×W×3,输出1×H′×W′×C1\times H'\times W' \times C1×H′×W′×C,C为静态目标(HD map)类别+动态目标类别+1个背景类别

object image decoder:仅对当前一帧进行分割;static image decoder 对输入的所以帧分割。两者皆输出heatmap

Temporal Aggregation

Temporal warping: 已知相机的内参和外参(车辆的运动通过vehicles’ odometry pipeline获取,例如vSLAM),将相机平面变换到ego为参照的BEV空间,假设地面上平的symmetric aggregation:the object heatmap, the aggregated static heatmap, and the aggregated image features聚合。

BEV Decoder

GKT(arvix 22.06)

Efficient and Robust 2D-to-BEV Representation Learning via Geometry-guided Kernel Transformer

paper,github待更新,3090 GPU上的72.3 FPS/2080ti GPU上的45.6 FPS输入:多摄像头图像输出:语义分割

三、仅摄像头X语义分割(Tranformers)

PYVA: Projecting Your View Attentively (CVPR 2021)

Projecting Your View Attentively: Monocular Road Scene Layout Estimation via Cross-view Transformation

paper,github,35 FPS

输入:单张摄像头前向图

输出:road layout estimation and vehicle occupancy estimation

a cross-view transformation module:

Cycled View Projection (CVP):使用MLP将前向相机的feature(XXX)映射到BEV视角(X′X'X′),但这种方法太多navie,提出cycled self-supervision scheme将BEV视角的feature(X′X'X′)用MLP映射回前向相机视角(X′′X''X′′),使用L1L_1L1​ loss做自监督训练。Cross-View Transformer (CVT):目的是使的X′X'X′和XXX加强关联,同时利用X′′X''X′′的信息。 K=XXX,Q=X’X’X’,V=X′′X''X′′,但不是用transformer那一套,而是计算X′X'X′和XXX的相关矩阵,根据相关矩阵提取每一行中最大的相关性组成的矩阵W 和 X′′X''X′′最重要的信息TTT

如果将X′′X''X′′和XXX看作同一种特征表达,该方法更类似于cross-attention

损失函数:对抗损失

BEVFormer (CVPR 2022 Workshop)

BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers

paper,github,中文blog,测速V100上,R101-DCN,input size 900X1600,大约2FPS

输入:多视角相机图像

输出:语义分割/3D目标检测

使用Transformer在BEV空间下进行时空信息融合,通过生成显式的BEV特征,用来融合时序信息或者来自其他模态的特征,并且能够同时支撑更多的感知任务

定义BEV queries:BEV queries 每个位于(x, y)位置的query都仅负责表征其对应的小范围区域。BEV queries 通过对spatial space 和 tempoal space 轮番查询从而能够将时空信息聚合在BEV query特征中。最终我们将BEV queries 提取的到的特征视为BEV 特征,该BEV特征能够支持包括3D 目标检测和地图语义分割在内的多种自动驾驶感知任务。

Spatial Cross-Attention:使用了一种基于deformable attention 的稀疏注意力机制时每个BEV query之和部分图像区域进行交互。 对于每个位于(x, y)位置的BEV特征,我们可以计算其对应现实世界的坐标x’,y’。 然后我们将BEV query进行lift 操作,获取在z轴上的多个3D points。 有了3D points, 就能够通过相机内外参获取3D points 在view 平面上的投影点。受到相机参数的限制,每个BEV query 一般只会在1-2个view上有有效的投影点。基于Deformable Attention, 我们以这些投影点作为参考点,在周围进行特征采样,BEV query使用加权的采样特征进行更新,从而完成了spatial 空间的特征聚合。

Temporal Self-Attention:从经典的RNN网络获得启发,我们将BEV 特征视为类似能够传递序列信息的memory。对于当前时刻位于(x, y)出的BEV query, 它表征的物体可能静态或者动态,但是我们知道它表征的物体在上一时刻会出现在(x, y)周围一定范围内,因此我们再次利用deformable attention 来以(x, y)作为参考点进行特征采样

ViT-BEVSeg (arxiv 2205)

ViT-BEVSeg: A Hierarchical Transformer Network for Monocular Birds-Eye-View Segmentation

paper,github待更新,输入:单摄像头输出:语义分割 使用vision transformers (ViT)作为backbone来生成BEV maps

四、3D目标检测等其它任务FIERY (ICCV 2021)

Predicting the Future from Monocular Cameras in Bird’s-Eye View

paper,github,主页输入:6个角度相机图像输出:分割+交通参与者行为预测(十字路口、超车、U-turn)

对交通参与者进行轨迹预测

十字路口:continuing straight, turning left, turning right, changing lane超车,对于静态车U-turn

Pipeline

在过去的时间{1, 2, …,t},将图像的2D输入提升到3D,按照等间距(步长为1m)设置深度的方法,结合相机参数得到深度的概率分布将其投影到BEV视角Temporal model通过3D卷积,学习一个时空状态s_t分两个预测任务:当前状态和未来的状态,均由高斯分布的参数表达。未来预测模型是一个卷积GRU网络,将当前状态 st 和训练中未来分布 F 或当前分布 P 采样的潜代码 ηt 作为输入,进行推理,递归地预测未来状态 (s(t+1,…,s)t+H)。Decoder : 状态被解码为BEV未来实例分割和未来运动(yˆt,…,yˆt+H)。与真实未来标签(yt+1 , …, yt+H )进行比较调整网络参数。y包含centerness, offset, segmentation, and flow. DETR3D (CoRL 2021)

DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries

paper,github,无测速输入:多相机图像输出:3D检测框

将DETR用于3D目标框检测无nms.2D-to-3D Feature Transformation:object queries是类似DETR那样,即先随机生成M个bounding box,类似先生成一堆anchor box(蓝线)然后通过一个子网络,来对query预测一个三维空间中的参考点(实际上就是3D bbox的中心)(绿线)利用相机参数,将这个3D参考点反投影回图像中,找到其在原始图像中对应的位置。(黄线)从图像中的位置出发,找到其在每个layer中对应的特征映射中的部分(红线)利用多头注意力机制,将找出的特征映射部分对queries进行refine(黑色虚线框之后)得到新的queries之后,再通过两个子网络分别预测bounding box和类别PersFormer (ECCV 2022 Oral)

PersFormer: a New Baseline for 3D Laneline Detection

paper,github,输入:单摄像头输出:3D车道线检测

核心Proposed Perspective Transformer:

假设地面上平的,并且相机参数可知(IPM可用)给出前向相机视角中的一个点,使用IPM将映射到BEV空间给定一个BEV空间中的query点(target point),将其映射回前向相机视角,并找到其附近的一些reference points。五、多模态融合HDMapNET( ICRA 2022)

HDMapNet: An Online HD Map Construction and Evaluation Framework

paper,github,主页,知乎输入:多摄像头or/and 雷达输出:HD语义地图分割

主要解决两个问题:道路预测向量化和从相机前视图到鸟瞰图的视角转换。

向量化(Vectorization)是指我们最终得到的地图信息不是图片形式的,而是用点、线、框等几何形状表示的,这种表示在地图的下游任务使用、存储等方面都有巨大优势。HDMapNet的decoder输出3个分支:语义分割semantic segmentation、实例分割instance embedding、方向预测direction prediction。然后通过后处理的手段来将这些信息处理成向量化的道路表达。从相机前视图到鸟瞰图视角转换:参考VPN,直接全连接去学变换矩阵FUTR3D (arxiv 2022.03)paper,无代码输入:相机,激光雷达,相机+激光雷达,相机+雷达输出:3D目标检测

Pipeline每个模态单独通过backbone提取特征MAFS根据query的初始位置,从所有模态在采样和聚合特征decoder基于聚合的特征,精修检测框预测和gt检测框而二部图匹配,计算lossBEVFusion (arxiv 2022.05)

BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird’s-Eye View Representation BEVFusion ranks first on nuScenes among all solutions.

paper,github,video输入: 3d点云+camera融合/或单独输出:3D目标检测/BEV map segmentation. 核心:在BEVrepresentation space里融合多模态的特征表达

核心:对BEV pooling的操作做了加速,从500ms 缩减到 12ms

六、业界Tesla’s Approach

参考:blog1 blog2 video

首先raw image进来;通过rectify layer, 把图片转到virtual camera下通过一个RegNet, 其实是一个ResNet的形式,然后给出不同尺度下的features.通过BiFPN, 把不同尺度下的features, 从上到下,又从下到上,来来回回对不同尺度下的features 做一个融合。双向FPN通过transformer的形式投到BEV视角下,得到一个俯视的feature给到feature queue里面,加入时序信号,video module 实际是对时序信号的一次融合。之后得到一个多camera 融合并加入了时序信号的features最后给到不同的detection head 里面去做检测;ReferenceMonocular Bird’s-Eye-View Semantic Segmentation for Autonomous DrivingMonocular BEV Perception with Transformers in Autonomous Driving一个很全的3D目标检测in AD的综述:github paper 3D Object Detection for Autonomous Driving: A Review and New Outlooks
本文链接地址:https://www.jiuchutong.com/zhishi/295194.html 转载请保留说明!

上一篇:GPT-4 API 接口调用及价格分析(gpio口是什么意思?)

下一篇:CSS3煎制荷包蛋动画特效,优质男士表白必备(如何写煎荷包蛋过程)

  • 教您微博粉丝营销的技巧(微博怎么经营粉丝)

    教您微博粉丝营销的技巧(微博怎么经营粉丝)

  • qq资料卡精选照片怎么关掉(qq资料卡精选照片怎么拼图)

    qq资料卡精选照片怎么关掉(qq资料卡精选照片怎么拼图)

  • 手机显示aboutblank

    手机显示aboutblank

  • 键盘f1到f12失灵(键盘f1到f12变成功能键)

    键盘f1到f12失灵(键盘f1到f12变成功能键)

  • 小米CC9怎么拍照扫描文字(小米cc9怎么拍照片)

    小米CC9怎么拍照扫描文字(小米cc9怎么拍照片)

  • 微信运动会延迟多久(微信运动会延迟更新吗)

    微信运动会延迟多久(微信运动会延迟更新吗)

  • WPS文本中的横线怎么添加上去了(wps文本中的横线怎么弄)

    WPS文本中的横线怎么添加上去了(wps文本中的横线怎么弄)

  • 怎么取消对别人的辅助解封(怎么取消对别人微信运动点赞)

    怎么取消对别人的辅助解封(怎么取消对别人微信运动点赞)

  • 电路板上ant是什么意思(电路板上的a)

    电路板上ant是什么意思(电路板上的a)

  • 天猫赔付红包多久过期(天猫赔付红包多少钱)

    天猫赔付红包多久过期(天猫赔付红包多少钱)

  • 平板电脑能插手机卡吗(平板电脑能插手机卡怎么联网)

    平板电脑能插手机卡吗(平板电脑能插手机卡怎么联网)

  • 晶体管计算机属于第几代计算机(晶体管计算机属于哪一类)

    晶体管计算机属于第几代计算机(晶体管计算机属于哪一类)

  • 微信投诉双封号什么意思(微信号投诉双封号是真的吗)

    微信投诉双封号什么意思(微信号投诉双封号是真的吗)

  • 淘宝助手是干什么用的(淘宝助手是什么)

    淘宝助手是干什么用的(淘宝助手是什么)

  • 腾讯会议开了视频其他人会看得到吗(腾讯会议开了视频)

    腾讯会议开了视频其他人会看得到吗(腾讯会议开了视频)

  • 华为手机怎么群发微信(华为手机怎么群发语音)

    华为手机怎么群发微信(华为手机怎么群发语音)

  • 天猫超市不能代付吗(天猫超市不能代付怎么办)

    天猫超市不能代付吗(天猫超市不能代付怎么办)

  • qq邮箱登录登录格式(qq邮箱登录登录入口手机登录)

    qq邮箱登录登录格式(qq邮箱登录登录入口手机登录)

  • bios时间不对会怎样(bios时间不对会影响开机)

    bios时间不对会怎样(bios时间不对会影响开机)

  • 微信无法使用数据网络(微信无法使用数据流量是怎么回事)

    微信无法使用数据网络(微信无法使用数据流量是怎么回事)

  • 手机电筒开一夜会怎样(手机电筒开一夜会消耗多少电)

    手机电筒开一夜会怎样(手机电筒开一夜会消耗多少电)

  • 格式化sd卡后还能用吗(格式化后sd卡不可用,怎么修复)

    格式化sd卡后还能用吗(格式化后sd卡不可用,怎么修复)

  • 华为曲面屏容易摔碎吗(华为曲面屏容易误触吗)

    华为曲面屏容易摔碎吗(华为曲面屏容易误触吗)

  • 怎样调成win7兼容模式(怎么改win7兼容模式)

    怎样调成win7兼容模式(怎么改win7兼容模式)

  • 手机话费充值记录如何查看(手机话费充值记录如何查看移动)

    手机话费充值记录如何查看(手机话费充值记录如何查看移动)

  • 拼多多评价多久生效(拼多多评价多久会自动消失)

    拼多多评价多久生效(拼多多评价多久会自动消失)

  • 键盘上prtsc是什么意思(键盘上prscrn是哪个键)

    键盘上prtsc是什么意思(键盘上prscrn是哪个键)

  • 苹果原彩显示怎么设置(苹果原彩显示怎么没有了)

    苹果原彩显示怎么设置(苹果原彩显示怎么没有了)

  • 手机短信拦截在哪里设置(手机短信删除后怎么找回记录)

    手机短信拦截在哪里设置(手机短信删除后怎么找回记录)

  • 银行开具的票据怎么查询
  • 横幅属于什么税收大类?
  • 按工程进度支付工程款怎么描述
  • 预估应付账款该怎么冲销
  • 菜场摊位租赁合同
  • 独资企业要交税吗
  • 未达账项有几种情况
  • 4s店收取的金融服务费用
  • 房地产开发公司取名
  • 报销单和付款单的区别
  • 航天金税交499
  • 资产资本化的借款费用如何写分录?
  • 酒店购入食材,怎么做会计分录
  • 股票投资及收益计算公式
  • 正常的成本利润是多少
  • 房屋购买安装电梯可以抵扣吗?
  • 有一个月忘了报税怎么处理
  • 互联网合同要交社保吗
  • 增值税普通发票怎么开
  • 员工被单位罚款须要问单位要收据吗
  • 小规模税务30万免税政策
  • 企业合作开发的研发费怎样加计扣除?
  • 利润负数所得税怎么算
  • 手续费进项可以抵扣吗
  • 营业执照五证合一图片
  • linux sed命令详解
  • 公司收到利息怎么记账
  • 关于销售免税品的规定
  • 不能抵扣的费用
  • php抓取网页指定内容
  • 双系统启动界面
  • php获取useragent
  • 鱼香肉丝的做法的教程
  • 发票加盖发票章可以吗
  • 堡垒封印
  • 委托加工的材料成本包括辅助材料成本吗
  • php对象是什么类型的数据
  • 纳税申报表填写说明
  • 新必应申请使用资格
  • 存货采购成本有余额吗
  • 增值税专用发票和普通发票的区别
  • 销售蔬菜企业怎么做
  • 预缴的企业所得税能抵扣企业所得额嘛
  • sql server中变量声明的命令是什么
  • sqlserver数据库提示授权过期
  • mysql数据损坏修复方法
  • mysql,if
  • 实收资本现金入账怎么办
  • 预收账款年底是不是不能有余额
  • 非独立核算的分公司可以开基本户吗
  • 银行回单nxt
  • 月末库存商品能抵税吗
  • 损益明细表计提企业所得税
  • 供应商退回来的钱应走哪个科目
  • etc电子发票需要勾选吗
  • mysql服务1067进程意外终止
  • sqlserver2000数据库连接不上
  • mysql缓冲区
  • 电脑出现黑屏英文要怎么处理
  • 删除windows.edb
  • ntfs权限设置步骤
  • win7窗口大小怎么设置
  • mac设置在哪里设置
  • python中文分词库
  • androidstudiosdk
  • linux查看内存型号与数量
  • android检测网络差
  • 简述javascript中的函数
  • javascript操作数组的方法
  • arcgis engine+c#实例开发教程
  • 深入理解新发展理念
  • 实用的app都有哪些
  • 英特尔在哪打开
  • javascript ref
  • java dom解析
  • python按行读取文本并输出到excel
  • 收到红字信息表不能直接开具
  • 小程序河南税务局
  • 国税发票真伪查询手机怎么查
  • 个人所得税完税证明怎么开具
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设