自动驾驶三维重建

大概八成估计是未来的科研方向了

文章目录

    • 自动驾驶中的NeRF
      • [4]CLONeR:
      • Urban Radiance Fields
      • [6]S-NERF
      • Block-NeRF
      • Switch-NeRF
      • SceneRF
      • Behind the Scenes
    • 大规模与自动驾驶场景重建:3D高斯
      • VastGaussian
      • Periodic Vibration Gaussian(复旦大学)
      • DrivingGaussian

自动驾驶中的NeRF

在这里插入图片描述
自动驾驶领域的NeRF方法,大部分是在做自动驾驶场景里的环境重建,对大规模无边界场景的重建
自动驾驶和Nerf的交集目前停留在深度估计和环境重建上面
想要做城市级别的场景重建,要用到多个MLP,在重建的过程中可以用雷达作为监督,但实际上雷达能够直接提供空间网格的占用信息,用这一点搭建基于体素的混合隐式场景表达是个很好的思路
未来的思路:要让Nerf和占用网格结合在一起,这样才能真正进入自动驾驶的核心系统中
在这里插入图片描述

[2] Plenoxels: Radiance Fields without Neural Networks, CVPR 2022,arXiv:2112.05131
[3] Grid-Centric Traffic Scenario Perception for Autonomous Driving: A Comprehensive Review, 2023, arXiv:2303.01212
[4] CLONeR: Camera-Lidar Fusion for Occupancy Grid-aided Neural Representations, 2022, arxiv 2209.01194
[5] Urban Radiance Fields, CVPR 2022, arXiv:2111.14643
[6] S-NeRF: Neural Radiance Fields for Street, ICLR 2023, arXiv:2303.00749
[7] Block-NeRF: Scalable Large Scene Neural View Synthesis, CVPR 2022, arXiv:2202.05263
[8] Switch-NeRF: Learning Scene Decomposition with Mixture of experts for Large-sacle Neural Radiance Fields, ICLR 2023, https://openreview.net/pdf?id=PQ2zoIZqvm
[9] SceneRF: Self-Supervised Monocular 3D Scene Reconstruction with Radiance Fields, 2023, arXiv:2212.02501
[10] Behind the Scenes: Density Fields for Single View Reconstruction, 2023, arXiv:2301.07668

[4]CLONeR:

使用占用网格,与自动驾驶联系紧密
在室外的无边界场景里面,NeRF的采样射线并不知道自己该在哪儿终止,于是用占用网格来作为辅助,让NeRF在被占据的(存在场景几何的地方采样),这相较于原版NeRF粗糙的均匀采样会更好

缺点:用两个MLP+一个占用网格地图表示一个大场景,NeRF那边已经有体素里储存特征向量,这样的混合场景表达方法来做类似的事情
改进点:让占用网格储存特征向量,这样在保留新视角合成能力的同时,还能实现地图扩展,不受MLP限制

在这里插入图片描述

Urban Radiance Fields

实现了对城市级场景的重建
解决:采集的图像里光照条件会不一致,作者对图像的曝光进行隐式的编码,再用神经网络将它转化为一个颜色仿射变换,让图像能够有一致的外观
对于无边界的采样,采用圆拱形结构来建模天空
在训练的时候用了一个语义分割,把天空在图像中的位置给mask出来
对画面里动态的人或者车,也用语义模型mask掉
用一个MLP来存储大型的室外场景,显然MLP容量有限,在一系列的场景数据到来的时候,网络会更倾向于学到后面的数据,或者渲染出这些场景混在一起的样子(遗忘问题)
解决问题:1.用多个MLP 2.不用MLP换成点云体素之类的表达方式
在这里插入图片描述

[6]S-NERF

在这里插入图片描述

在重建自动驾驶场景的背景同时,也重建了路上移动的车辆
同样是用相机和雷达两种传感器,把背景和车辆分开建模
对于背景,S-NeRF用了一个半径参数来确定地图边界,然后把地图的内容归一化到这个边界里面
对于车辆,为了得到车辆的Nerf模型,S-NeRF先用一个3D目标检测得到车辆的bounding box,然后把和目标车辆相关的视角,变换到以车辆为中心的坐标系下,这样对于一辆车可以得到2到6张照片
为了得到更好的效果,S-NERF先用一个现有方法从这几个视角的图像和雷达点云里去生成粗糙的mesh,从中渲染出一个稠密的深度图来做监督,背景已经用语义分割模型去除掉了
S-NeRF还设计了一些深度补全的方法来从含有噪声的稀疏的雷达点云获得稠密的高质量的深度图
缺点:单个MLP对大型场景的拟合能力
在这里插入图片描述

Block-NeRF

把场景分解成多个单独的NeRF分开训练,从而让建模能够扩展到任意大的场景,允许每个场景的Block单独更新
虚线黄圈是每个NeRF的可见半径,针对target view的目标位置,如果它处于某个NeRF的可见半径内,那就去渲染一张RGB图,并根据距离预测一个能见度,如果能见度太低就会被舍弃,最后根据能见度和渲染的RGB,把所有可见的NeRF得到的图像融合成为target view的RGB图

在这里插入图片描述和原本NeRF的区别:左下角加上了曝光和外观编码,这样让MLP去学到输入图像的光照条件,从而让建模过程不受光照变化的影响
在这里插入图片描述
缺点:对NeRF本身没有多少改进,仍然会收到NeRF重建缺陷的制约,比如需要很多训练数据,不能实时,还需要手工设置这些MLP的位置,不能自适应调整去扩展

Switch-NeRF

实现了一个端到端的用基于学习的场景分解方法的大规模场景NeRF重建
在这里插入图片描述
对于Switch-NeRF来说,MoE是这样实现的:
从左下角生成了一个3d采样点,把这个采样点的位置进行编码得到PE(x),PE(x)的值经过一个门控网络得知它应该被送往专家2去重建
因为专家2是负责这个PE(x)位置重建的,就是一个MLP
专家2的输出结果再接一个head去预测得到RGB和体密度
也就是对于大规模场景的重建,Switch-NeRF把地图划分为很多个MLP来储存,为了把这些MLP组织起来,搭建了这个MoE系统,让每个专家负责一个MLP,通过训练过程学习该怎么给各个专家分配任务,同时也培养了每个专家的重建能力,最终协作实现重建
在这里插入图片描述

SceneRF

借助NeRF来实现单目重建的方法,具有新视角合成和新深度合成

在这里插入图片描述
从输入图像里面提取特征体积,划定重建范围,然后在这个范围内沿着一条假想的路径去生成多个新视角,对每个新视角合成一个新深度,用这些深度去估计一个三位重建的结果,从而去和ground truth求loss来优化
作者设计了一个概率射线采样策略,把沿着每条射线的连续密度通过MLP转换为一个一维高斯混合,通过学习能够让这些高斯混合的比较大的值接近真实的表面位置,这样就能显著减少采样点
这里的监督就来自NeRF对颜色和深度的预测,作者实现每条线仅用64个点,就能完成100米射线上的采样
NeRF的渲染是被设定在一定体积内的,也就是场景里面的特征体积,为了跳出这个限定的特征体积,作者提出了带有球形解码器的U-Net用来放大视场,生成原图像视场之外的图像和深度
具有一定的泛化能力

Behind the Scenes

从输入的图像里去预测一个隐式密度场来描述当前视角下的平截头体范围内的体密度分布,这个密度场里不储存颜色信息,在渲染新视角时,像素的颜色是从输入图像里变换过来的
这篇论文的工作:在生成隐式密度场的编解码器上
在这里插入图片描述

大规模与自动驾驶场景重建:3D高斯

3D高斯工作的辛苦整理 github仓库
近期工作有:
VastGaussian:用来重建大规模场景
Street Gaussian :建模动态的城市场景
DrivingGaussian:重建动态的自动驾驶场景
Periodic Vibration Gaussian:动态城市场景重建和实时渲染
都是基于3D GS的大规模室外场景重建方法,后3篇是针对自动驾驶场景做的重建(动态内容)
在这里插入图片描述

VastGaussian

第一个基于3D GS的高质量的,并且能够实时渲染的大规模场景重建方法
对标的是Mega-NeRF和Switch-NeRF,属于NeRF时代的大规模场景重建方法
利用分区域的逐步构建辐射场的方法来减少计算压力
用解耦的外观模型来去除光照对建模的影响
在这里插入图片描述
直接在3d gs模型里渲染出来的图,它不考虑光照,所以和GT图像之间是有误差的,即便建模很准确,光照也会造成误差(漂浮的光斑)
解决方法是把模型和光照解耦,模型渲染出来之后的内容用CNN添加光照信息,做外观修正之后就能和GT图像保持一致
这时候求误差就不会受到光照变化的干扰,这样模型就能够专注地去学习几何,以及一个光照比较平均的外观

在这里插入图片描述

Periodic Vibration Gaussian(复旦大学)

自动驾驶下的场景重建,但是多了动态物体和视角的限制
主打的是动态的城市街景重建
对于高斯点来说,均值是它所在的位置,PVG这样的建模能偶控制它的移动,建模它在不同时刻出现在不同的位置
不透明度可以看作是它是否可见,也让它与时间建立关联
PVG思路是让时间参与建模,相当于建模每一时刻的场景,但并不是作用在整个场景上的,并不是每个时刻都建一个模型出来,而是精确地作用在每个高斯点上,作用在表示位置的均值和表示可见性的不透明度上
在这里插入图片描述
前景的动态物体就可以用短生命周期的PVG来建模
静态的背景物体就可以用长生命周期的PVG来表示

具体流程是这样的:
先查询t-▲t时刻的状态,在这个时刻下去计算一个速度v,蓝色箭头就是v的方向
v乘以▲t就是点该移动的距离,用这个v来预测t时刻下的PVG点的位置,拿这个位置来做渲染
把渲染结果和t时刻的GT数据求误差
并不是直接拿t时刻的PVG点来做渲染,而是用▲t之前的点去预测t时刻的状态,再拿预测的t时刻的点做t时刻下的训练的监督,相当于动态过程参与训练,从而对运动有更好的学习效果
在这里插入图片描述

DrivingGaussian

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

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

相关文章

OWASP ZAP之API 请求基础知识

ZAP API 提供对 ZAP 大部分核心功能的访问,例如主动扫描器和蜘蛛。ZAP API 在守护进程模式和桌面模式下默认启用。如果您使用 ZAP 桌面,则可以通过访问以下屏幕来配置 API: Tools -> Options -> API。 ZAP 需要 API 密钥才能通过 REST API 执行特定操作。必须在所有 …

【小程序开发】- 小程序版本迭代指南(版本发布教程)

一,版本号 版本号是小程序版本的标识,通常由一系列数字组成,如 1.0.0、1.1.0 等。版本号的格式通常是 主版本号.次版本号.修订号 主版本号:当小程序有重大更新或不兼容的更改时,主版本号会增加。 次版本号&#xff1a…

电子应用设计方案85:智能 AI门前柜系统设计

智能 AI 门前柜系统设计 一、引言 智能 AI 门前柜系统旨在提供便捷、安全和智能的物品存储与管理解决方案,适用于家庭、公寓或办公场所的入口区域。 二、系统概述 1. 系统目标 - 实现无接触式物品存取,减少交叉感染风险。 - 具备智能识别和分类功能&am…

CG顶会论文阅读|《科技论文写作》硕士课程报告

文章目录 一、基本信息1.1 论文基本信息1.2 课程基本信息1.3 博文基本信息 二、论文评述(中英双语)2.1 研究问题(Research Problem)2.2 创新点(Innovation/Contribution)2.3 优点(Why this pape…

Deepseek v3 的笔记

基本概述 Deepseek v3是Deepseek发布的旗舰模型,属于607B的混合专家(MoE)模型,其中活跃参数为37B。在当前的模型领域,它堪称最佳的开源模型,性能超越了Llama 3.1 405b、Qwen和Mistral等知名模型。根据基准…

基于单片机的家庭智能垃圾桶(论文+源码)

1系统整体方案设计 本次课题为基于单片机的家庭智能垃圾桶,在此将目标功能设计如下: (1)实现垃圾桶的智能开关盖当检测到有人停留三秒以上自动开启,并当人走后自动关闭开关盖; (2&#xff0…

Niushop商城商业插件_cps联盟_包装转换_视频购物_同城配送_上门预约等插件的安装方法

一.简介 使用Niushop已经多年,积累下很多有用的常识,有人让我评价下这个系统!怎么说呢!系统是好系统因为它开源!且更新也很及时几乎是一周一更新,开发团队也很尽职,在用户群内得到很高的评价&am…

一文讲清楚HTTP常见的请求头和应用

文章目录 一文讲清楚HTTP常见的请求头和应用1. 啥是个HTTP请求头2. 常见的请求头,作用和示例3.协商缓存4.会话状态 一文讲清楚HTTP常见的请求头和应用 1. 啥是个HTTP请求头 一句话,说白了就是限定HTTP传输的一些规则参数,比如Accept&#xf…

vim 的基础使用

目录 一:vim 介绍二:vim 特点三:vim 配置四:vim 使用1、vim 语法格式2、vim 普通模式(1)保存退出(2)光标跳转(3)文本删除(4)文本查找&…

RocketMQ面试题:进阶部分

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

设计模式之桥接设计模式

简介 与适配器模式类似,桥接设计模式也是结构型模式将抽象部分与实现部分分离,使它们都可以独立的变化通俗来说,是通过组合来桥接其它的行为/维度 应用场景举例 传统方式 使用桥接设计模式之后 编码示例 /*** 抽象角色:手机*/ …

个人健康信息系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…

个人交友系统|Java|SSM|JSP|

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…

每天40分玩转Django:Django Celery

Django Celery 一、知识要点概览表 模块知识点掌握程度要求Celery基础配置、任务定义、任务执行深入理解异步任务任务状态、结果存储、错误处理熟练应用周期任务定时任务、Crontab、任务调度熟练应用监控管理Flower、任务监控、性能优化理解应用 二、基础配置实现 1. 安装和…

canvas+fabric实现时间刻度尺+长方形数据展示

前言 我们前面实现了时间刻度尺&#xff0c;现在在时间刻度尺里面画一个长方形&#xff0c;长方形里面有数据展示。 效果 实现 1.先实现时间刻度尺 2.鼠标移动、按下事件监听并画出对应效果 3.在刻度尺里面画对应的长方形数据展示 <template><div><canvas…

网络安全【C10-2024.10.1】-sql注入基础

1、利用宽字节注入实现“库名-表名”的注入过程&#xff0c;写清楚注入步骤&#xff1b; 宽字节概念 1、如果一个字符的大小是一个字节的&#xff0c;称为窄字节&#xff1b; 2、如果一个字符的大小是两个及以上字节的&#xff0c;称为宽字节&#xff1b;像GB2312、GBK、GB1803…

【Domain Generalization(2)】领域泛化在文生图领域的工作之——PromptStyler(ICCV23)

系列文章目录 【Domain Generalization(1)】增量学习/在线学习/持续学习/迁移学习/多任务学习/元学习/领域适应/领域泛化概念理解第一篇大概了解了 DG 的概念&#xff0c;那么接下来将介绍 DG 近年在文生图中的应用/代表性工作。本文介绍的是 PromptStyler: Prompt-driven Sty…

MySQL 08 章——聚合函数

聚合函数是对一组数据进行汇总的函数&#xff0c;输入的是一组数据的集合&#xff0c;输出的是单个值 一、聚合函数介绍 &#xff08;1&#xff09;AVG和SUM函数 举例&#xff1a;只适用于数值类型的字段&#xff08;或变量&#xff09;AVG函数和SUM函数在计算空值时&#x…

HTML——73.button按钮

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>button按钮</title></head><body><!--button按钮&#xff1a;1.button按钮type属性&#xff1a;可以设置三个值&#xff0c;submit/reset/button,含义…

Java 数据库连接 - Sqlite

Java 数据库连接 - Sqlite PS: 1. 连接依赖库&#xff1a;[sqlite-jdbc-xxx.jar](https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc)(根据连接的数据库版本选择) 2. 支持一次连接执行多次sql语句&#xff1b; 3. 仅本地连接&#xff1b;使用说明&#xff1a; publ…