我自己的原文哦~ https://blog.51cto.com/whaosoft/12684932
#如何在自动驾驶的视觉感知中检测corner cases?
一篇来自德国大学的论文:“Corner Cases for Visual Perception in Automated Driving: Some Guidance on Detection Approaches“,在arXiv上2021年2月11日出现。
corner cases是自动驾驶中很重要的一个问题,本文讨论视觉感知(不包括雷达和激光雷达)如何检测这些corner cases,即出现的未期望或者未知情况。检测corner case的任务对安全十分关键,检测方法对训练数据的选择自动化非常重要,对大众能否接受自动驾驶技术一事也是如此。该文系统性的分析corner cases出现的层次及其检测方法的类别,将二者联系在一起。
注:上面图显示的是corner cases层次划分【5】。
检测corner cases包括online和offline方法,online情况是可以作为安全监控和警告系统,offline情况是用于实验室开发新的视觉感知算法,选择合适的训练和测试数据。一些不错的工作已经展开,比如障碍物检测【6-7】,新出现的目标【8】。
corner cases 定义为 “there is a non-predictable relevant object/class in a relevant location”【9】。本文分析根据【5】将它们分为以下几个层次:
pixel,
domain,
object,
scene,
scenario。
具体讲,pixel level 原因分成 global 和local outliers两个;domain-level 是domain shifts 造成的;object level则是single-point anomalies 或者 single-point novelties;scene-level 来源也分成两个,collective anomalies和 contextual anomalies,其中contextual anomalies 是指未知位置的已知目标,比如街中心的树,而collective anomalies 是指数目异常的已知目标,比如demo。最高层的复杂情况是scenario-level, 包括risky scenarios、novel scenarios和anomalous scenarios。
下面表格给出corner cases的各层例子:确实是有趣的corner cases。
检测它们的方法分为以下类别【10】:
- feature extraction,
- regression,
- knowledge-based,
- signal model,
- state estimation,
- clustering,
- classification methods。
corner cases detection方法分为下面5个概念:
- reconstruction,
- prediction,
- generative,
- confidence scores,
- feature extraction.
Reconstruction 方法 基本上是autoencoder-type networks;Prediction-based 方法 主要是scenario level,比如GAN;Generative 和 reconstruction-based 方法非常相关联;Feature extraction 方法主要采用 deep neural networks。其中 confidence score 类,进一步又分成 三个子类:
- learned confidence scores
- Bayesian approaches
- post-processing
如下表所示是检测方法和复杂层次之间的联系:
总的来说,可以说由于缺乏包含所有类型corner cases的大规模数据集,以及相关的corner cases检测的open world问题,无监督方法或者仅在正常样本上训练的方法目前看来是最有效获取corner case检测器的方法。依赖于异常训练数据的方法需要更复杂、更专业的训练集,并且冒着集中于样本相关的特定corner cases这种风险,对推理中出现未知corner cases的可能性故意视而不见。
pixel level
在pixel level,只有很少的深度学习方法检测corner cases。但是,对于global outlier而言,检测此类情况时,特征提取方法可提供好的结果,因为是检测影响大部分甚至整个图像的情况。这时候,检测可以被认为是二进制分类问题,并且网络能够为该任务提取足够的特征。可以进行有监督的训练,因为这种类型不会有意外的多样性。然而,由于缺乏带标记的global outlier(例如过度暴露)的自动驾驶数据集,对利用少样本学习或类似技术的方法进行研究可能是有益的。此外,更有兴趣检测多个global outliers,例如,共同检测图像中的过度曝光和曝光不足。在出隧道时,它们甚至可以出现在同一图像中。在以后的工作中考虑联合或多任务学习来研究。
而local outliers仅影响图像的一小部分,如像素坏了。可以在训练数据中模拟这些情况,因此通过监督学习解决。由于具有模拟的可能性,加入另一类,这样通过语义分割方法来处理检测问题。这将导致逐像素标注,给出坏像素的位置。预测性方法(在一个时间跨度)将有利于检测local outliers。可以将,例如,坏像素的预测位置,与实际位置进行比较。理想情况下,实际位置与根据学习的光流进行预测的位置,正好相反。
domain level
要检测domain层的corner cases,不需要使用域适应方法,而是去找到适合domain mismatch的度量。但是,这些措施通常来自域适应方法,并被用作损失函数。通常,这些措施被认为是特征提取方法。虽然训练可能需要来自source domain的正常样本进行监督,但是应该明确排除来自另一个域的数据进行训练。在训练中采用第二个域特定示例的方法存在无法达到第三个域相同性能的危险。还可以考虑将一个数据集视为分布内而将另一个数据集视为分布外(out-of-distribution)的OOD检测方法。这些方法可以从分类扩展到汽车视觉感知,因为它们只需要通过正常样本进行监督训练即可。为了可靠地检测domain level的corner cases,需要使用可靠的domain mismatch度量。
object level
在object level,主要任务是检测未知类别的未知目标。这些是属于新类别的实例,以前在训练中没有见过。在训练过程中提供此类corner cases的示例将使网络推断出仅检测类似的corner cases,这对任务是不利的。object level的corner cases检测属于开放式识别的领域,相关方法通常提供某种类别的confidence scores。理想情况下,对于检测和定位,要求逐像素评分。也存在符合该思想的reconstruction方法和generative方法。然而,reconstruction-based方法往往结果意义不大。
想为输入图像获得语义分割掩码,其中属于未知目标的像素与未知类别标签或高不确定性相关联。考虑到这一衷旨,追求confidence scores和generative检测方法似乎最有成效,并且许多最近出现的方法都符合这种趋势。使用Bayesian置信度得分,求解一个与那些未知目标相关的高不确定性模型。Monte-Carlo dropout 或者deep ensembles的贝叶斯深度学习规模化方法为检测提供了第一步。根据那些single-point anomalies定义的训练中未见实例,可以推测出,有效而可靠的检测方法不能依赖包括corner cases的训练样本。人们不得不诉诸无监督方法,它们只能使用正态样本进行训练。
scene level
在scene level,旨在检测未知数量或位置的已知类。此外,认为未来的工作应该利用实例分割(instance segmentation)来获得分组大小,要计算每个类的实例数量。在这种情况下,需要一个阈值来将集体(collection)定义为异常(anomalous)。可以通过特征提取方法来检测contextual anomalies。但是,在汽车视觉感知,特征提取可能无法捕获整个场景的复杂性。因此,许多现有方法给出confidence scores或reconstruction误差,并区分正常样本和异常样本。建议调查类别先验如何对整个流程产生影响,因为这些先验知识可能有助于发现错位的类别代表。
同样,贝叶斯深度学习得出的置信度得分表明模型的不确定性,因此它们对于异常上下文(unusual context)情况下定位目标可能很有用。scene level的这两种corner cases类型都可以使用常规数据进行监督训练,因为都可以检测到已知类的实例。但是,与object level不同,虽然可能需要视觉感知应用程序的像素级语义分割(semantic segmentation)标签,但另外要求实例级标签告诉目标出现在异常位置,或要求图像级标签告诉目标是否以未知的数量出现。
scenario level
scenario level的corner cases由特定时间段出现的模式所组成,并且单帧可能看起来并不异常。在这里,prediction-based方法的决策取决于预测帧与实际帧之间的比较,从而提供了有益的结果。纯粹的reconstruction方法再一次获得不可靠的corner cases检测分数。可以对prediction方法进行有监督训练,因为它们仅需要正常的训练样本即可在推理过程中检测到corner cases。这对于novel scenarios和anomalous scenarios尤其重要,此时由于数量大以及相应的危险性,无法捕获所有可能性。
此外,包含这些样本实际上可能会损害网络,使其仅检测此类情况。为此,需要定义度量标准来检测这种corner cases。尽管可能仍想知道corner cases在图像的位置,但也需要知道时间点。为此,可以考虑在一定时间段的图像标记。除了对度量进行调查之外,建议使用成本函数给予更高的优先级去检测视野边缘处出现的VRUs(vulnerable road users)。这可以,例如,改善检测从遮挡后面跑到街道的人,因为当帧中仅出现几个人的像素时,已经可以实现检测。这种方法还需要识别由于被遮挡或不在视场范围内而未包括在前一帧的逐帧像素掩码。
#北大王选最新OpenAD
助力自动驾驶迈向开放3D世界
开放世界自动驾驶包括域泛化和开放词汇。领域泛化是指自动驾驶系统在不同场景和传感器参数配置下的能力。开放词汇是指识别训练中没有遇到的各种语义类别的能力。在本文中,我们介绍了OpenAD,这是第一个用于3D目标检测的现实世界开放世界自动驾驶基准。OpenAD建立在与多模态大型语言模型(MLLM)集成的角案例发现和标注管道之上。所提出的管道以统一的格式为五个具有2000个场景的自动驾驶感知数据集标注corner case目标。此外,我们设计评估方法,评估各种2D和3D开放世界和专业模型。此外,我们提出了一种以视觉为中心的3D开放世界目标检测基线,并通过融合通用和专用模型进一步引入了一种集成方法,以解决OpenAD基准现有开放世界方法精度较低的问题。
项目链接:https://github.com/VDIGPKU/OpenAD
总结来说,本文的主要贡献如下:
- 提出了一个开放世界基准,同时评估目标检测器的领域泛化和开放词汇表能力。据我们所知,这是3D开放世界物体检测的第一个现实世界自动驾驶基准。
- 设计了一个与MLLM集成的标注管道,用于自动识别极端情况场景,并为异常目标提供语义标注。
- 提出了一种结合二维开放世界模型的三维开放世界感知基线方法。此外,我们分析了开放世界和专业模式的优缺点,并进一步介绍了一种融合方法来利用这两种优势。
相关工作回顾Benchmark for Open-world Object Detection
2D基准。各种数据集已被用于2D开放词汇表目标检测评估。最常用的是LVIS数据集,它包含1203个类别。
在自动驾驶领域,如表1所示,也提出了许多数据集。其中,CODA是一个用于自动驾驶中二维物体检测的道路拐角案例数据集,包含1500个道路驾驶场景,其中包含34个类别的边界框注释。然而,一些数据集只提供语义分割注释,没有特定的实例,或者将目标注释为异常但缺乏语义标签。此外,从真实世界的驾驶数据中收集的数据集规模较小,而来自CARLA等模拟平台的合成数据缺乏真实性,因此难以进行有效的评估。相比之下,我们的OpenAD提供了来自真实世界数据的大规模2D和3D边界框注释,用于更全面的开放世界目标检测评估。
3D基准。3D开放世界基准测试可分为两类:室内和室外场景。对于室内场景,SUN-RGBD和ScanNet是两个经常用于开放世界评估的真实世界数据集,分别包含约700和21个类别。对于户外或自动驾驶场景,AnoVox是一个合成数据集,包含35个类别的实例掩码,用于开放世界评估。然而,由于模拟资产有限,合成数据的质量和实例多样性不如真实世界的数据。除了AnoVox之外,现有的用于自动驾驶的真实数据3D目标检测数据集只包含少数目标类别,很难用于评估开放世界模型。为了解决这个问题,我们提出了OpenAD,它由真实世界的数据构建而成,包含206个出现在自动驾驶场景中的不同corner-case类别。
2D Open-world Object Detection Methods
为了解决分布外(OOD)或异常检测问题,早期的方法通常采用决策边界、聚类等来发现OOD目标。最近的方法采用文本编码器,即CLIP,将相应类别标签的文本特征与框特征对齐。具体来说,OVR-CNN将图像特征与字幕嵌入对齐。GLIP将目标检测和短语基础统一用于预训练。OWL ViT v2使用预训练的检测器在图像-文本对上生成伪标签,以扩大检测数据用于自训练。YOLO World采用YOLO类型的架构进行开放词汇检测,并取得了良好的效率。然而,所有这些方法在推理过程中都需要预定义的目标类别。
最近,一些开放式方法提出利用自然语言解码器提供语言描述,这使它们能够直接从RoI特征生成类别标签。更具体地说,GenerateU引入了一种语言模型,可以直接从感兴趣的区域生成类标签。DetClipv3引入了一个目标字幕器,用于在推理过程中生成类标签和用于训练的图像级描述。VL-SAM引入了一个无需训练的框架,其中注意力图作为提示。
3D Open-world Object Detection Methods
与2D开放世界目标检测任务相比,由于训练数据集有限和3D环境复杂,3D开放世界目标探测任务更具挑战性。为了缓解这个问题,大多数现有的3D开放世界模型都来自预训练的2D开放世界模型,或者利用丰富的2D训练数据集。
例如,一些室内3D开放世界检测方法,如OV-3DET和INHA,使用预训练的2D目标检测器来引导3D检测器找到新的目标。同样,Coda利用3D box几何先验和2D语义开放词汇先验来生成新类别的伪3D box标签。FM-OV3D利用稳定扩散生成包含OOD目标的数据。至于户外方法,FnP在训练过程中使用区域VLMs和贪婪盒搜索器为新类生成注释。OV-Uni3DETR利用来自其他2D数据集的图像和由开放词汇检测器生成的2D边界框或实例掩码。
然而,这些现有的3D开放词汇检测模型在推理过程中需要预定义的目标类别。为了解决这个问题,我们引入了一种以视觉为中心的开放式3D目标检测方法,该方法可以在推理过程中直接生成无限的类别标签。
OpenAD概览
Baseline Methods of OpenADVision-Centric 3D Open-ended Object Detec- tion
由于现有3D感知数据的规模有限,直接训练基于视觉的3D开放世界感知模型具有挑战性。我们利用具有强大泛化能力的现有2D模型来解决这个问题,并为3D开放世界感知提出了一个以视觉为中心的基线。
如图4所示,最初采用任意现有的二维开放世界目标检测方法来获得二维边界框及其相应的语义标签。同时,缓存由2D模型的图像编码器生成的图像特征图。随后,引入了一个结合了多个特征和一些可训练参数的2D到3D Bbox转换器,将2D box转换为3D box。
具体来说,我们使用现有的深度估计模型,如ZoeDepth、DepthAnything和UniDepth,通过2D框获得裁剪图像的深度图。我们还包括一个可选的分支,该分支利用激光雷达点云和线性拟合函数,通过将点云投影到图像上来细化深度图。同时,为了消除2D边界框内不属于前景目标的区域,我们利用Segment Anything Model(SAM)以2D框为提示对目标进行分割,从而产生分割掩码。之后,我们可以使用像素坐标、深度图和相机参数为分割掩模构建伪点云。我们将伪点云投影到特征图和深度图上,并通过插值将特征分配给每个点。然后,我们采用PointNet来提取伪点云的特征fp。同时,2D边界框内的深度图和特征图沿着通道维度连接,其特征fc是通过卷积和全局池化得到的。最后,我们利用MLP来预测具有fp和fc级联特征的目标的3D边界框。
在此基线中,2D到3D Bbox Converter中只有少数参数是可训练的。因此,培训成本低。此外,在训练过程中,每个3D目标都充当此基线的数据点,从而可以直接构建多域数据集训练。
General and Specialized Models Fusion
在实验中,我们发现现有的开放世界方法或通用模型在处理属于常见类别的目标方面不如闭集方法或专用模型,但它们表现出更强的领域泛化能力和处理极端情况的能力。也就是说,现有的通用和专用模型是相辅相成的。因此,我们利用它们的优势,通过结合两种模型的预测结果,提出了一个融合基线。具体来说,我们将两种模型的置信度得分对齐,并使用双阈值(即IoU和语义相似性)执行非最大抑制(NMS),以过滤重复项。
实验结果
结论
在本文中,我们介绍了OpenAD,这是第一个用于3D目标检测的开放世界自动驾驶基准。OpenAD建立在与多模态大型语言模型集成的角案例发现和注释管道之上。该管道以格式对齐五个自动驾驶感知数据集,并为2000个场景注释角案例目标。此外,我们还设计了评估方法,并分析了现有开放世界感知模型和自动驾驶专业模型的优缺点。此外,为了应对训练3D开放世界模型的挑战,我们提出了一种结合2D开放世界模型进行3D开放世界感知的基线方法。此外,我们引入了一种融合基线方法,以利用开放世界模型和专用模型的优势。
通过对OpenAD进行的评估,我们观察到现有的开放世界模型在域内上下文中仍然不如专门的模型,但它们表现出更强的域泛化和开放词汇能力。值得注意的是,某些模型在域内基准测试上的改进是以牺牲其开放世界能力为代价的,而其他模型则不是这样。这种区别不能仅仅通过测试域内基准来揭示。
我们希望OpenAD可以帮助开发超越专业模型的开放世界感知模型,无论是在同一领域还是跨领域,无论是对于可见还是未知的语义类别。
#小米自动驾驶 C++ 面经
一面基础
- 虚拟内存相关详细讲一下
- 讲讲左值和右值
- 什么时候使用右值
- 完美转发
- 假如 a 是 T 的左值引用,T 是 int&& 类型的,那么 a 实际上是什么
- 讲一下智能指针
- shared_ptr 和 unique_ptr 区别,以及性能对比
- weak_ptr 及其作用
- shared_ptr 是线程安全的吗
- lambda 表达式有哪些捕获类型
- 讲讲多态及实现机制
- 虚基类
- 多继承的时候,虚函数表指针怎么存using std::cin 和 在
- using namespace std 后使用cin有什么区别
- 元编程
项目
- 详细介绍
- MSRA实习项目
- 对交易预测输入和输出需要存储,这个空间消耗大概多大
思考题
一个有环链表,两个速度不一样的指针移动,起始位置也不一定一样,它们一定相遇吗
Coding
数据中最小的k个数
class Solution {
private:
int randInRange(int l, int r) {
srand(time(0));
return rand() % (r - l + 1) + l;
}
int partition(vector<int> &input, int l, int r) {
if (l >= r) return l;
int idx = randInRange(l, r);
swap(input[idx], input[r]);
int large = l - 1;
for (int i = l; i < r; ++ i) {
if (input[i] < input[r])
swap(input[++ large], input[i]);
}
swap(input[++ large], input[r]);
return large;
}
public:
vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
int n = input.size();
int l = 0, r = n - 1;
vector<int> res;
while (l <= r) {
int idx = partition(input, l, r);
if (idx + 1 == k) {
res.assign(input.begin(), input.begin() + k);
return res;
} else if (idx + 1 < k)
l = idx + 1;
else
r = idx - 1;
}
return res;
}
};
二面基础
- 首先介绍了自动驾驶系统涉及的研发方向,问我对哪个感兴趣
- 自我介绍
- 发现性能瓶颈使用过什么方法
- 如何发现死锁
- 在开发时制定什么样的规则可以避免死锁
- 如何调试内存泄露
- 如何调试 core dump
- 虚拟内存介绍
- 每个进程的虚拟内存有多大
- 如果物理内存大于 4G,可以不使用虚拟内存吗(安全性)
- 线程切换要进入内核态吗
- 一个很大的二维数组存在内存中,是按行读取快还是按列读取快(CPU cache,局部性原理)
- map 和 unordered_map区别
- unordered_map 使用什么方法解决 hash 冲突
Coding
LRU,要求自己实现双向链表
#include <bits/stdc++.h>
using namespace std;
struct Node {
int key;
int value;
Node *left;
Node *right;
Node(int k, int v): key(k), value(v) {
left = nullptr;
right = nullptr;
}
Node(int k, int v, Node *l, Node *r): key(k), value(v), left(l), right(r) {}
};
struct BiList {
Node *head;
Node *tail;
BiList() {
head = new Node(0, 0);
tail = head;
}
void insert_front(Node *node) {
auto first = head->right;
node->right = first;
head->right = node;
node->left = head;
if (first) {
first->left = node;
}
if (tail == head)
tail = head->right;
}
pair<int, int> erase_end() {
if (tail == head)
return {-1, -1};
Node *tmp = tail;
tmp->left->right = nullptr;
tail = tmp->left;
int key = tmp->key, val = tmp->value;
delete tmp;
return {key, val};
}
void erase(Node *node) {
if (node == tail)
tail = node->left;
auto left = node->left;
auto right = node->right;
left->right = right;
if (right)
right->left = left;
delete node;
}
Node *first() {
return head->right;
}
~BiList() {
Node *ptr = head;
while (ptr) {
Node *tmp = ptr->right;
delete ptr;
ptr = tmp;
}
}
};
class LRUcache {
private:
int cap;
BiList *lst;
unordered_map<int, Node*> mp;
public:
LRUcache(int k): cap(k) {
lst = new BiList();
}
void set(int key, int value) {
if (mp.find(key) == mp.end()) {
if (mp.size() == cap) { //evict
auto p = lst->erase_end();
int rm_key = p.first;
mp.erase(rm_key);
}
} else {
auto node = mp[key];
lst->erase(node);
}
lst->insert_front(new Node(key, value));
mp[key] = lst->first();
}
int get(int key) {
if (mp.find(key) == mp.end())
return -1;
auto node = mp[key];
int value = node->value;
lst->erase(node);
lst->insert_front(new Node(key, value));
mp[key] = lst->first();
return value;
}
~LRUcache() {
delete lst;
}
};
int main() {
int n, k;
cin >> n >> k;
LRUcache cache(k);
vector<int> res;
for (int i = 0; i < n; ++ i) {
int opt;
cin >> opt;
if (opt == 1) {
int x, y;
cin >> x >> y;
cache.set(x, y);
} else {
int x;
cin >> x;
res.push_back(cache.get(x));
}
}
for (int num : res)
cout << num << " ";
return 0;
}
总结
LRU 出现频率真的好高。。
#图森未来(TuSimple)自动驾驶论文总结
2015年,图森未来(TuSimple)成立,专注卡车无人驾驶研发,一直是中自动驾驶明星企业、处于第一梯队。2021年4月15日,上市纳斯达克上市,成为全球第一个自动驾驶上市企业,因为完善的技术体系和成熟的解决方案,在美国运营的无人卡车运营业务遭到美国政府制裁,也是第一家被美国制裁的自动驾驶企业,2024年1月17日,被迫从纳斯达克退市。
本文总结了2017-2024年图森未来(TuSimple)对外发布的64篇自动驾驶论文,涵盖了感知、融合、预测、规划、高性能计算、机器学习、SLAM、定位等领域,可以作为学习、研发的参考资料,也是对图森未来(TuSimple)自动驾驶技术体系的梳理和回顾。
2024年论文
Topo2D
题目:Enhancing 3D Lane Detection and Topology Reasoning with 2D Lane Priors
名称:利用二维车道先验增强三维车道检测和拓扑推理
论文:https://arxiv.org/abs/2406.03105
代码:
单位:北航、图森未来
出版:
LiDARFormer
题目:LiDARFormer: A Unified Transformer-based Multi-task Network for LiDAR Perception
名称:LiDARFormer:基于统一变压器的LiDAR感知多任务网络
论文:https://ieeexplore.ieee.org/document/10610374
代码:
单位:图森未来、佛罗里达大学
出版:ICRA-2024
LiMGT-MP
题目:Multi-Granular Transformer for Motion Prediction with LiDAR
名称:激光雷达运动预测的多粒度变换
论文:https://ieeexplore.ieee.org/document/10610704
代码:
单位:ICRA-2024
出版:图森未来
CDLDC-AD
题目:Framework and experiment for a constraints-defined longitudinal dynamics control for autonomous driving in traffic
名称:交通中自动驾驶约束定义纵向动力学控制的框架和实验
论文:https://ieeexplore.ieee.org/document/10666520
代码:
单位:图森未来
出版:CCTA-2024
LPFormer
题目:LPFormer: LiDAR Pose Estimation Transformer with Multi-Task Network
名称:LPFormer:具有多任务网络的LiDAR姿态估计变换器
论文:https://ieeexplore.ieee.org/document/10611405
代码:
单位:图森未来
出版:ICRA-2024
GM-PPDA
题目:Learnable Graph Matching: A Practical Paradigm for Data Association
名称:可学习图匹配:数据关联的实用范式
论文:https://ieeexplore.ieee.org/document/10423205
代码:
单位:中国科学院大学、图森未来
出版:2024
FSS-3DOD
题目:Fully Sparse Fusion for 3D Object Detection
名称:三维目标检测的全稀疏融合
论文:https://ieeexplore.ieee.org/document/10506794
代码:
单位:中国科学院大学、图森未来
出版:2024
SST
题目:FSD V2: Improving Fully Sparse 3D Object Detection with Virtual Voxels
名称:FSD V2:使用虚拟体素改进完全稀疏的3D对象检测
论文:https://ieeexplore.ieee.org/document/10758248
代码:https://github.com/tusen-ai/SST
单位:中国科学院大学、图森未来
出版:2024
VMPFF-3DOD
题目:Frame Fusion with Vehicle Motion Prediction for 3D Object Detection
名称:基于帧融合与车辆运动预测的三维目标检测
论文:https://ieeexplore.ieee.org/document/10610204
代码:
单位:上海交大、图森未来
出版:ICRA-2024
LightningNeRF
题目:Lightning NeRF: Efficient Hybrid Scene Representation for Autonomous Driving
名称:Lightning NeRF:用于自动驾驶的高效混合场景表示
论文:https://ieeexplore.ieee.org/document/10611130
代码:https://github.com/VISION-SJTU/Lightning-NeRF
单位:上海交大、图森未来
出版:ICRA-2024
PEBO-SLAM
题目:PEBO-SLAM: Observer Design for Visual Inertial SLAM With Convergence Guarantees
名称:PEBO-SLAM:具有收敛保证的视觉惯性SLAM观测器设计
论文:https://ieeexplore.ieee.org/document/10691386
代码:
单位:蒙特利尔理工学院、图森未来
出版:2024
BBTS-SCS
题目:Barrier-Based Test Synthesis for Safety-Critical Systems Subject to Timed Reach-Avoid Specifications
名称:基于屏障的安全关键系统测试综合,符合定时到达避免规范
论文:https://ieeexplore.ieee.org/document/10766673
代码:
单位:加州理工学院、图森未来
出版:2024
2023年论文
MPC-LDC
题目:A Practical MPC Method for Autonomous Driving Longitudinal Dynamic Control's Real-World Challenges
名称:一种实用的MPC方法,用于应对自动驾驶纵向动态控制的现实挑战
论文:https://ieeexplore.ieee.org/document/10422395
代码:
单位:图森未来
出版:ITSC-2023
GPM-USCA
题目:Gaussian Process Model of Uncertainty in Safety-Critical Autonomous Driving
名称:安全关键型自动驾驶中的不确定性高斯过程模型
论文:https://ieeexplore.ieee.org/document/10422367
代码:
单位:图森未来
出版:ITSC-2023
Anchor3DLane
题目:Anchor3DLane: Learning to Regress 3D Anchors for Monocular 3D Lane Detection
名称:Anchor3DLane:学习回归3D锚点以进行单目3D车道检测
论文:https://ieeexplore.ieee.org/document/10204837
代码:https://github.com/tusenai/Anchor3DLane
单位:中国科学院大学、图森未来
出版:CVPR-2023
SS3DOD
题目:Super Sparse 3D Object Detection
名称:超稀疏三维目标检测
论文:https://ieeexplore.ieee.org/document/10153690
代码:
单位:中国科学院大学、图森未来
出版:2023
2D3DDet-Query
题目:Object as Query: Lifting any 2D Object Detector to 3D Detection
名称:物体作为查询:将任何二维物体探测器提升到三维探测
论文:https://ieeexplore.ieee.org/document/10377886
代码:https://github.com/tusen-ai/MV2D
单位:北航、图森未来
出版:ICCV-2023
MonoEdge
题目:MonoEdge: Monocular 3D Object Detection Using Local Perspectives
名称:MonoEdge:使用局部视角的单目3D物体检测
论文:https://ieeexplore.ieee.org/document/10030978
代码:
单位:密歇根大学、图森未来
出版:WACV-2023
Li3DOD-SHP
题目:Once Detected, Never Lost: Surpassing Human Performance in Offline LiDAR based 3D Object Detection
名称:一旦检测到,永不丢失:在基于离线LiDAR的3D目标检测中超越人类表现
论文:https://ieeexplore.ieee.org/document/10376534
代码:https://github.com/tusen-ai/SST
单位:中国科学院大学、武汉大学、图森未来
出版:ICCV-2023
SCD-NDUTDSA
题目:Secure Control Design for Networked Control Systems With Nonlinear Dynamics Under Time-Delay-Switch Attacks
名称:时延切换攻击下非线性动力学网络控制系统的安全控制设计
论文:https://ieeexplore.ieee.org/document/9720959
代码:
单位:田纳西技术大学、图森未来
出版:2023
FeatureNeRF
题目:FeatureNeRF: Learning Generalizable NeRFs by Distilling Foundation Models
名称:FeatureNRF:通过提取基础模型来学习可泛化的NeRF
论文:https://ieeexplore.ieee.org/document/10378558
代码:
单位:加州大学圣地亚哥分校、图森未来
出版:ICCV-2023
3DVOD-LOCGO
题目:3D Video Object Detection with Learnable Object-Centric Global Optimization
名称:基于可学习对象中心全局优化的3D视频对象检测
论文:https://ieeexplore.ieee.org/document/10204915
代码:https://github.com/jiaweihe1996/BA-Det
单位:中国科学院大学、图森未来
出版:CVPR-2023
2022年论文
TCUDA
题目:TCUDA: A QoS-based GPU Sharing Framework for Autonomous Navigation Systems
名称:TCUDA:一种基于QoS的自主导航系统GPU共享框架
论文:https://ieeexplore.ieee.org/document/9980923
代码:
单位:图森未来
出版:SBAC-PAD-2022
LVIO-SemMap
题目:LiDAR-Aided Visual-Inertial Localization with Semantic Maps
名称:基于语义地图的激光雷达辅助视觉惯性定位
论文:https://ieeexplore.ieee.org/document/9982152
代码:
单位:图森未来
出版:IROS-2022
QueryDet
题目:QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection
名称:QueryDet:用于加速高分辨率小目标检测的级联稀疏查询
论文:https://ieeexplore.ieee.org/document/9879411
代码:https://github.com/ChenhongyiYang/QueryDet=PyTorch
单位:爱丁堡大学、图森未来
出版:CVPR-2022
GIFS
题目:GIFS: Neural Implicit Function for General Shape Representation
名称:GIFS:用于一般形状表示的神经隐函数
论文:https://ieeexplore.ieee.org/document/9879357
代码:https://jianglongye.com/gifs
单位:加州大学圣地亚哥分校、图森未来
出版:CVPR-2022
IOTSR-OA
题目:Online Adaptation for Implicit Object Tracking and Shape Reconstruction in the Wild
名称:隐式对象跟踪和形状重建的在线自适应
论文:https://ieeexplore.ieee.org/document/9817642
代码:https://jianglongye.com/implicit-tracking
单位:加州大学圣地亚哥分校、图森未来
出版:2022
DRAF-HFL
题目:Decentralized Edge Intelligence: A Dynamic Resource Allocation Framework for Hierarchical Federated Learning
名称:去中心化边缘智能:一种用于分层联合学习的动态资源分配框架
论文:https://ieeexplore.ieee.org/document/9479786
代码:
单位:图森未来
出版:2022
ST-SS3DOD
题目:Embracing Single Stride 3D Object Detector with Sparse Transformer
名称:采用稀疏Transformer的单级三维目标探测器
论文:https://ieeexplore.ieee.org/document/9878875
代码:
单位:中国科学院大学
出版:CVPR-2022
UIDE-ARN
题目:Auto-Rectify Network for Unsupervised Indoor Depth Estimation
名称:无监督室内深度估计的自动校正网络
论文:https://ieeexplore.ieee.org/document/9655489
代码:
单位:阿德莱德大学、图森未来
出版:2022
NMCSEMM
题目:An Efficient Solution to Non-Minimal Case Essential Matrix Estimation
名称:非最小情况本质矩阵估计的一种有效解法
论文:https://ieeexplore.ieee.org/document/9655489
代码:
单位:阿德莱德大学、图森未来
出版:2022
2021年论文
AccGPUCom-AVS
题目:Accelerating GPU Message Communication for Autonomous Navigation Systems
名称:加速自主导航系统的GPU消息通信
论文:https://ieeexplore.ieee.org/document/9555974
代码:
单位:图森未来、清华大学
出版:CLUSTER-2021
LiDAR-RCNN
题目:LiDAR R-CNN: An Efficient and Universal 3D Object Detector
名称:LiDAR R-CNN:一种高效通用的3D物体探测器
论文:https://ieeexplore.ieee.org/document/9578688
代码:
单位:图森未来
出版:CVPR-2021
RangeDet
题目:RangeDet: In Defense of Range View for LiDAR-based 3D Object Detection
名称:RangeDet:基于激光雷达的3D目标检测的距离视图防御
论文:https://ieeexplore.ieee.org/document/9711088
代码:https://github.com/TuSimple/RangeDet
单位:中国科学院大学、图森未来
出版:ICCV-2021
MMFL-LiFM
题目:Tightly-Coupled Multi-Sensor Fusion for Localization with LiDAR Feature Maps
名称:基于LiDAR特征图的紧密耦合多传感器融合定位
论文:https://ieeexplore.ieee.org/document/9561547
代码:
单位:图森未来
出版:ICRA-2021
MOT-IGP-DFL
题目:Learnable Graph Matching: Incorporating Graph Partitioning with Deep Feature Learning for Multiple Object Tracking
名称:可学习图匹配:将图分割与深度特征学习相结合,用于多目标跟踪
论文:https://ieeexplore.ieee.org/document/9577747
代码:https://github.com/jiaweihe1996/GMTracker
单位:中国科学院大学、图森未来
出版:CVPR-2021
SSNAS-DSO
题目:You Only Search Once: Single Shot Neural Architecture Search via Direct Sparse Optimization
名称:只需搜索一次:通过直接稀疏优化进行单次神经架构搜索
论文:https://ieeexplore.ieee.org/document/9181469
代码:https://github.com/XinbangZhang/DSO-NAS
单位:中国科学院大学、图森未来
出版:2021
DDAS
题目:Direct Differentiable Augmentation Search
名称:直接微分增广搜索
论文:https://ieeexplore.ieee.org/document/9710479
代码:https://github.com/zxcvfd13502/DDAS_code
单位:苏黎世联邦理工学院、图森未来
出版:ICCV-2021
DRL-AVMPC-Survey
题目:A Survey of Deep Reinforcement Learning Algorithms for Motion Planning and Control of Autonomous Vehicles
名称:自动驾驶汽车运动规划与控制的深度强化学习算法综述
论文:https://ieeexplore.ieee.org/document/9575880
代码:
单位:佐治亚理工学院、图森未来
出版:IV-2021
Hybrid Rotation Averaging
题目:Hybrid Rotation Averaging: A Fast and Robust Rotation Averaging Approach
名称:混合旋转平均:一种快速且稳健的旋转平均方法
论文:https://ieeexplore.ieee.org/document/9577752
代码:
单位:北京大学、图森未来
出版:CVPR-2021
CODSS-IVN
题目:Distributed Slice Selection-Based Computation Offloading for Intelligent Vehicular Networks
名称:基于分布式切片选择的智能车辆网络计算卸载
论文:https://ieeexplore.ieee.org/document/9448419
代码:
单位:燕山大学、图森未来
出版:2021
VTSE-PCS
题目:Model-free Vehicle Tracking and State Estimation in Point Cloud Sequences
名称:点云序列中的无模型车辆跟踪与状态估计
论文:https://ieeexplore.ieee.org/document/9636202
代码:
单位:图森未来
出版:IRSO-2021
2D-3D-LineCoor
题目:Learning to Identify Correct 2D-2D Line Correspondences on Sphere
名称:学习识别球面上正确的2D-2D线对应关系
论文:https://ieeexplore.ieee.org/document/9578657
代码:
单位:港科大、图森未来
出版:CVPR-2021
UFP-SMDDS
题目:Unlocking the Full Potential of Small Data with Diverse Supervision
名称:通过多样化的监管释放小数据的全部潜力
论文:https://ieeexplore.ieee.org/document/9523063
代码:https://github.com/BinahHu/ADE-FewShot
单位:图森未来、加利福尼亚大学圣迭戈分校、丰田
出版:CVPR-2021
2020年论文
ECM-HPHR
题目:A Robotic Communication Middleware Combining High Performance and High Reliability
名称:一种高性能、高可靠性的机器人通信中间件
论文:https://ieeexplore.ieee.org/document/9235068
代码:
单位:图森未来
出版:SBAC-PAD-2020
SPQ-GPU-MPS
题目:Safe Process Quitting for GPU Multi-Process Service (MPS)
名称:GPU多进程服务(MPS)的安全进程退出
论文:https://ieeexplore.ieee.org/document/9355641
代码:
单位:图森未来
出版:ICDC-2021
UST
题目:UST: Unifying Spatio-Temporal Context for Trajectory Prediction in Autonomous Driving
名称:UST:统一时空背景进行自动驾驶轨迹预测
论文:https://ieeexplore.ieee.org/document/9340943
代码:
单位:图森未来
出版:IROS-2020
GGCN-FCPCL
题目:Grid-GCN for Fast and Scalable Point Cloud Learning
名称:用于快速可扩展点云学习的网格GCN
论文:https://ieeexplore.ieee.org/document/9156622
代码:
单位:南加州大学、图森未来
出版:CVPR-2020
DMLO
题目:DMLO: Deep Matching LiDAR Odometry
名称:DMLO:深度匹配激光雷达测距
论文:https://ieeexplore.ieee.org/document/9341206
代码:
单位:图森未来
出版:IROS-2021
LSGMN-SAR
题目:Long-Short Graph Memory Network for Skeleton-based Action Recognition
名称:基于骨架的动作识别长短图记忆网络
论文:https://ieeexplore.ieee.org/document/9093598
代码:
单位:北航、图森未来
出版:WACV-2020
REACP-ICFC
题目:Robust Estimation of Absolute Camera Pose via Intersection Constraint and Flow Consensus
名称:基于交点约束和流共识的绝对相机姿态鲁棒估计
论文:https://ieeexplore.ieee.org/document/9091036
代码:
单位:港中文、图森未来
出版:2020
REACP-MVO
题目:Robust and Efficient Estimation of Absolute Camera Pose for Monocular Visual Odometry
名称:单目视觉测距中绝对相机姿态的稳健高效估计
论文:https://ieeexplore.ieee.org/document/9196814
代码:
单位:港中文、图森未来
出版:IROS-2020
2019年论文
HPLFlowNet
题目:HPLFlowNet: Hierarchical Permutohedral Lattice FlowNet for Scene Flow Estimation on Large-Scale Point Clouds
名称:HPLFlowNet:用于大尺度点云场景流估计的分层立体格子流网络
论文:https://ieeexplore.ieee.org/document/8953607
代码:
单位:斯坦福大学、图森未来
出版:CVPR-2019
SATN-OD
题目:Scale-Aware Trident Networks for Object Detection
名称:用于目标检测的尺度感知三叉戟网络
论文:https://ieeexplore.ieee.org/document/9010716
代码:
单位:中国科学院大学、图森未来
出版:ICCV-2019
SLSA-VOD
题目:Sequence Level Semantics Aggregation for Video Object Detection
名称:视频对象检测的序列级语义聚合
论文:https://ieeexplore.ieee.org/document/9009547
代码:
单位:麦吉尔大学、图森未来
出版:ICCV-2019
CVF-3DHPE
题目:Cross View Fusion for 3D Human Pose Estimation
名称:三维人体姿态估计的交叉视图融合
论文:https://ieeexplore.ieee.org/document/9008809
代码:
单位:中科大、图森未来
出版:CVPR-2019
SFT-PRI
题目:Spectral Feature Transformation for Person Re-Identification
名称:人再识别的光谱特征变换
论文:https://ieeexplore.ieee.org/document/9011035
代码:
单位:中科大、图森未来
出版:ICCV-2019
QGO-EVPE
题目:Quasi-Globally Optimal and Efficient Vanishing Point Estimation in Manhattan World
名称:Manhattan世界的准全局最优高效消失点估计
论文:https://ieeexplore.ieee.org/document/9008387
代码:
单位:港中文、图森未来
出版:ICCV-2019
ARCPE-SE
题目:Line-based Absolute and Relative Camera Pose Estimation in Structured Environments
名称:结构化环境中基于线的绝对和相对相机姿态估计
论文:https://ieeexplore.ieee.org/document/8968444
代码:
单位:港中文、图森未来
出版:IROS-2019
IVIT-CGAN
题目:Image Vegetation Index Through a Cycle Generative Adversarial Network
名称:基于循环生成对抗网络的图像植被指数
论文:https://ieeexplore.ieee.org/document/9025412
代码:
单位:立陶宛高等理工学院、图森未来
出版:CVPRW-2019
2018年论文
UCSS
题目:Understanding Convolution for Semantic Segmentation
名称:理解语义分割的卷积
论文:https://ieeexplore.ieee.org/document/8354267
代码:
单位:卡内基梅隆大学、图森未来
出版:WACV-2018
MSPRI-SDM
题目:Multi-shot Pedestrian Re-identification via Sequential Decision Making
名称:基于序贯决策的多镜头行人再识别
论文:https://ieeexplore.ieee.org/document/8578807
代码:
单位:上海交大、图森未来
出版:CVPR-2018
AFAP-DMTL
题目:Automatic Facial Attractiveness Prediction by Deep Multi-Task Learning
名称:基于深度多任务学习的面部吸引力自动预测
论文:https://ieeexplore.ieee.org/document/8545033
代码:
单位:北航、图森未来
出版:ICPR-2018
2017年论文
FBM-IR
题目:Factorized Bilinear Models for Image Recognition
名称:用于图像识别的因子双线性模型
论文:https://ieeexplore.ieee.org/document/8237491
代码:
单位:北京大学、图森未来
出版:ICCV-2017
SPCMTL-RS
题目:Self-paced cross-modality transfer learning for efficient road segmentation
名称:用于高效道路分割的自定进度跨模态迁移学习
论文:https://ieeexplore.ieee.org/document/7989166
代码:
单位:南加州大学、图森未来
出版:ICRA-2017
#最新单目SLAM系统HI-SLAM2
超越RGB-D方法?推动稠密单目SLAM最新发展!
单目3D重建的基本挑战在于缺乏显式的场景几何测量能力。传统的视觉SLAM方法已经发展了数十年,但通常仅提供稀疏或半稠密的地图表示,这不足以支持详细的场景理解和完整的重建。尽管稠密SLAM方法试图通过逐像素的深度估计来解决这一局限性,但仍容易受到深度噪声的影响,难以实现完整和精确的重建。
近年来,深度学习的进步彻底改变了3D重建的许多关键组件,包括光流、深度估计和法线估计。这些改进通过单目深度网络、多视图立体技术和端到端的神经方法集成到了SLAM系统中。然而,即便有这些进步,当前系统往往因深度估计噪声、泛化能力有限或过高的计算需求而导致重建结果带有伪影。特别是,基于神经隐式场和3D高斯分布的神经SLAM方法显示出了很大的潜力。然而,这些方法通常在渲染质量和几何精度之间进行权衡,导致了不理想的结果。
HI-SLAM2[1]旨在推动稠密单目SLAM在3D场景重建领域的最新进展。,这是一种基于几何感知的高斯分布SLAM系统,仅依靠RGB输入即可实现精确且快速的单目场景重建。我们方法的关键在于结合单目几何先验与基于学习的稠密SLAM以增强几何估计能力,同时利用3D高斯分布(3DGS)作为紧凑的地图表示,进行高效且精确的场景建模。如图2所示,与基于地图的SLAM方法不同,我们采用了一种混合方法,使用基于学习的稠密SLAM生成深度图作为中间表示,既用于初始化场景几何,又用于指导地图优化。这种混合设计将地图训练与跟踪解耦,并在联合优化过程中无缝地重新耦合位姿和地图,从而保证了效率和精度。
对于深度估计,引入了一种基于网格的尺度对齐策略,有效解决了单目深度先验中的尺度失真问题,显著提升了深度估计的准确性。在表面深度渲染中,我们采用了在光线与高斯交点处的无偏深度计算方法,能够更精确地拟合表面。为增强表面重建的效果,尤其是在低纹理区域,我们在3DGS训练中加入了单目法线先验,确保重建表面的连贯性。通过利用关键帧位姿更新对3D高斯单元进行变形,我们实现了高效的在线地图更新,从而提升了映射的速度和灵活性。此外,与需要预定义场景边界的哈希网格方法不同,我们的方法允许地图随着新区域的探索而逐步扩展,无需事先了解场景的大小。
我们通过对包括Replica、ScanNet和ScanNet++在内的合成和真实数据集的大量实验验证了我们的方法。结果表明,与现有的神经SLAM方法相比,我们的方法在重建和渲染质量上均有显著提升,甚至在精度上超越了基于RGB-D的方法。我们的方法特别适合需要快速且可靠的场景重建的实时应用场景,例如深度传感器不适用的情况。
主页链接:https://hi-slam2.github.io/
主要贡献:
提出了一种基于几何感知的高斯SLAM框架,通过高效的在线映射和相机位姿与高斯地图的联合优化,实现了高保真的RGB-only重建。
提出了一个改进的深度估计方法,利用几何先验和优化的尺度对齐来补偿单目先验的失真,从而实现了精确的表面重建。
构建了一个平衡的系统,在合成和真实数据集上均实现了几何与外观重建的卓越性能。
具体方法
系统旨在通过单目RGB输入实现快速而精确的相机跟踪和场景重建。如图3所示,该系统由四个关键组件组成:在线跟踪模块、在线回环闭合模块、连续映射模块和离线优化阶段。在线相机跟踪模块采用基于学习的稠密SLAM前端来估计相机位姿和深度图。通过在线回环闭合模块结合回环检测与高效的位姿图束调整(PGBA),实现全局一致性和实时性能。对于场景表示,我们采用3D高斯分布(3DGS),实现高效的在线地图构建、更新和高质量渲染。离线优化阶段通过完整的优化进一步提升重建质量,包括对高斯地图和相机位姿的联合优化,最终通过TSDF融合渲染深度图生成最终的网格。
在线跟踪
在线跟踪模块建立在基于学习的稠密视觉SLAM方法之上,用于估计关键帧的相机位姿和深度图。通过递归光流网络,该系统能够在低纹理环境和快速运动场景中稳健地进行相机跟踪。
关键帧图构建
通过构建一个关键帧图 来表示关键帧间的协作关系:
- **节点 ()**:表示关键帧,每个关键帧包含其位姿 和估计的深度图 。
- **边 ()**:表示关键帧间的可视性关系,由光流对应确定。
关键帧图的边表示具有足够重叠区域的关键帧对。每条边对应的光流关系通过位姿变换维护一致性,并用于后续优化。
关键帧选择
系统基于输入帧与当前关键帧的光流距离,动态评估是否需要选择新的关键帧:
- 计算输入帧与当前关键帧的平均光流距离。
- 如果光流距离超过预设阈值 ,则选择当前帧作为新关键帧。
- 对选定关键帧,通过预训练网络提取单目深度和法线先验,为后续优化提供初始估计。
系统初始化
系统收集 个关键帧后,执行初始化步骤:
- 在关键帧图上进行全局束调整(Bundle Adjustment, BA)。
- 由于单目系统缺乏绝对尺度信息,将所有关键帧深度的平均值归一化为1。
- 在后续优化中固定第一个和第二个关键帧的位姿,用以稳定系统尺度。
局部束调整
每次新增关键帧后,执行局部束调整(Local BA)以优化当前关键帧及其邻域的位姿和深度图:
- 在关键帧图中为新关键帧添加边,与所有具有足够重叠的邻域关键帧连接。
- 最小化重投影误差以优化关键帧位姿和深度估计,重投影误差定义为:其中:
- :光流预测的目标点。
- :从关键帧 到关键帧 的位姿变换。
- :关键帧 的深度图。
- :光流预测的置信矩阵,用于权重化误差。
深度先验的引入
为了克服低纹理或遮挡区域的深度估计困难,将单目深度先验引入到优化流程中:
- 通过预训练网络生成单目深度先验。
- 使用基于网格的尺度对齐策略校正单目深度的尺度失真:
- 在深度图上定义一个二维尺度网格 ,并通过双线性插值为每个像素计算局部尺度。
- 结合尺度网格后,校正后的深度先验定义为:其中 为尺度插值函数。
- 将校正后的深度先验纳入优化目标,通过以下公式联合优化深度图和尺度网格:
优化方法
优化问题通过阻尼Gauss-Newton方法求解,为了提高效率,使用Schur补将深度变量与尺度变量分离。最终优化流程分两步完成:
- 先解尺度变量。
- 再解深度变量。
通过这种方式,系统能够更稳定地校正单目深度先验的尺度失真,从而提供更准确的深度估计初值。
通过结合基于学习的视觉SLAM和深度先验的尺度对齐,我们的在线跟踪模块不仅提升了位姿和深度估计的精度,还为后续地图优化提供了高质量的初始估计。
在线回环闭合
尽管在线跟踪模块能够稳健地估计相机位姿,但随着时间和距离的增加,测量噪声的累积可能导致位姿漂移。此外,由于单目系统固有的尺度不可观性,可能会引入尺度漂移。为了解决这些问题并提升3D地图的全局一致性,我们设计了在线回环闭合模块,该模块通过结合回环检测与基于Sim(3)的位姿图束调整(Pose Graph Bundle Adjustment, PGBA),纠正位姿和尺度漂移。
回环检测
回环检测与在线跟踪模块并行运行,用于识别潜在的回环闭合:
- 光流距离:对于每个新关键帧,计算其与所有先前关键帧之间的光流距离 。如果 小于预定义阈值 ,则认为两帧具有足够的重叠。
- 方向差异:通过当前估计的位姿,计算两帧间的方向差异,要求其小于阈值 。
- 时间间隔:两帧的时间索引差异必须大于当前局部束调整窗口的最小阈值 。
满足以上条件的关键帧对将被标记为回环候选对,并在关键帧图中添加正向和反向重投影边。
基于Sim(3)的位姿图束调整
一旦识别出回环候选,系统将执行基于Sim(3)的位姿图束调整(PGBA),以实现全局优化。与传统的SE(3)优化相比,Sim(3)优化引入了尺度校正能力,可以有效解决尺度漂移问题。
- 位姿初始化:在每次优化之前,将最新的位姿估计从SE(3)转换为Sim(3),并初始化所有关键帧的尺度为1。
- 相对位姿边:构建位姿图时,通过密集的重投影边计算相对位姿,这些边在局部束调整窗口中已被多次优化,提供了可靠的初始值。
- 优化目标:PGBA的优化目标函数如下:其中:
- :回环闭合边。
- :相对位姿边集。
- :相对位姿的方差矩阵,用于衡量每条边的不确定性。
- 优化过程:优化通过阻尼Gauss-Newton算法求解。为了平衡效率与收敛性,Hessian矩阵采用正则化形式:其中:
- :阻尼因子,用于避免局部最小值。
- :正则化因子,改善数值稳定性。
- 优化后的更新:在PGBA优化完成后,将优化的位姿从Sim(3)还原至SE(3)。深度图根据对应的Sim(3)变换进行尺度调整。同时,利用关键帧位姿更新对3D高斯单元进行变形,保持地图的一致性。
通过结合回环检测和基于Sim(3)的位姿图束调整,在线回环闭合模块能够有效纠正累积的位姿和尺度漂移。该模块的设计兼顾了计算效率与全局一致性,确保了系统在大规模场景中的稳健性能,为后续的场景重建提供了准确的全局位姿和一致的地图表示。
3D 场景表示
采用了3D高斯分布(3DGS)作为我们的场景表示方法,用于建模场景的外观和几何。与NeRF等隐式神经表示不同,3DGS提供了显式表示,使得能够高效地进行在线地图更新和高质量渲染。场景由一组三维各向异性高斯分布 表示,其中每个3D高斯单元定义为:
其中, 表示高斯均值, 表示在世界坐标系下的协方差矩阵。协方差矩阵 被分解为旋转矩阵 和尺度矩阵 ,满足 。每个高斯还具有不透明度 和颜色 等属性。与原始的3DGS [51] 不同,我们通过直接使用RGB值而非球谐函数来简化颜色表示,降低了优化的复杂度。为了处理视角相关的颜色变化,我们在离线优化阶段(第III-D节)采用曝光补偿。
渲染过程
渲染过程中,通过透视变换将这些3D高斯投影到图像平面上:
其中, 表示投影函数, 是关键帧的位姿, 是透视变换的雅可比矩阵, 是关键帧位姿 的旋转矩阵。在对投影后的二维高斯按照深度进行排序后,沿每条从近到远的光线,通过-混合计算像素颜色和深度:
其中, 表示与光线相交的高斯集合, 是第 个高斯的颜色, 是在交点处评估的第 个高斯的不透明度,用于计算像素的透明度。
无偏深度
通过沿光线方向确定实际的光线-高斯交点来计算无偏深度。该深度通过求解光线和平面(由高斯表面定义)的交点方程来计算。由于从同一视点出发,与给定高斯相交的所有光线都共面,因此每个高斯的交点方程只需求解一次。该方法在保持基于splat的光栅化计算效率的同时,显著提高了深度精度。我们在第IV-G节的消融实验中展示了这种无偏深度计算的优势。
地图更新
地图更新过程根据关键帧位姿的更新来调整3D高斯单元,以确保3D地图的全局一致性。此更新既发生在在线的基于Sim(3)的PGBA过程中,也发生在离线的全局束调整(BA)过程中。为了实现对3D场景表示的快速和灵活更新,我们对每个高斯单元的均值、方向和尺度进行变形。具体来说,均值和方向根据前后关键帧之间的相对SE(3)位姿变化进行变换,而尺度则根据Sim(3)位姿表示中的尺度因子进行调整。
每个高斯单元的更新方程为:
其中,、 和 分别表示第 个高斯更新后的均值、方向和尺度。此变换确保了高斯之间的几何关系在适应精化后的关键帧位姿的同时得以保持,维持了3D重建的精度和完整性。
曝光补偿
由于光照变化和视角相关的反射,真实世界的捕获会在不同视图中表现出不同的曝光。这些变化会引入颜色不一致性,显著影响重建质量。遵循 [32], [61],我们通过优化每个关键帧的曝光参数(使用一个 的仿射变换矩阵)来解决这一问题。对于渲染的图像 ,曝光校正公式为:,
其中, 是 的颜色变换矩阵, 是 的偏置向量。在离线优化阶段,我们将这些曝光参数与相机位姿和场景几何一起进行联合优化,详见第III-D节。
地图管理
为了确保新观察到的区域被良好地表示,我们通过将估计的深度图反投影到3D空间,为每个新关键帧添加高斯单元。为了保持地图的紧凑性并防止冗余,我们在初始化新高斯之前,对下采样后的3D位置应用随机下采样,因子为 。为了控制地图的增长,我们实施了修剪策略,移除具有低不透明度的高斯。我们每500次迭代重置不透明度值,并每150次迭代交替进行密集化和修剪,以平衡地图的大小和质量。第IV-H节中提供了关于地图大小演变的详细分析。
优化损失
3DGS表示通过结合光度、几何和正则化损失进行优化。光度损失 衡量曝光补偿后的渲染图像 与观测图像 之间的 L1 差异。深度损失 计算渲染深度 与通过交替的BA和JDSA优化得到的估计深度 之间的 L1 差异:
其中, 表示在线映射期间的局部窗口中的关键帧,或离线优化期间的所有关键帧。为了增强几何监督,我们在优化中引入了法线先验。估计的法线从渲染深度图中计算,使用沿图像平面轴的深度梯度的叉乘。法线损失 定义为余弦嵌入损失:
为了防止过度细长的高斯导致的伪影,我们对3D高斯的尺度应用正则化项:,
其中, 表示第 个高斯的平均尺度,惩罚椭球形的拉伸。最终的损失函数将这些项以适当的权重组合如下:
其中,、、 和 是相应的权重。我们使用Adam优化器来优化高斯参数,对于每个新关键帧执行10次迭代。
离线优化
在在线处理完成后,我们通过三个连续的离线优化阶段进一步提升全局一致性和地图质量:后期关键帧插入、全局束调整(Full BA)以及相机位姿与地图的联合优化。
1. 后期关键帧插入
在在线阶段,由于关键帧选择是基于相邻帧之间的平均光流,而无法全面评估视图覆盖范围,可能导致某些区域的观察不足,尤其是视锥边界附近的区域。离线阶段,通过分析视图覆盖情况,我们在这些区域中插入额外关键帧,以完善场景重建。
- 覆盖不足的检测:我们将每个关键帧的像素投影到其相邻关键帧,并计算落在相邻关键帧视野外的像素百分比。当该百分比超过预设阈值时,我们将该区域标记为观察不足区域。
- 额外关键帧插入:在标记的区域插入新的关键帧,以增强视图覆盖并保留场景边界的细节。
如图5所示,在后退旋转或视角快速切换的场景中,后期插入的关键帧(蓝色标记)显著改善了观察不足的区域。
2. 全局束调整(Full BA)
虽然在线回环闭合模块通过基于Sim(3)的位姿图束调整(PGBA)实现了全局一致性,但PGBA在优化密集对应关系时会引入一定的近似误差。通过全局束调整(Full BA),我们进一步提高系统的精度:
- PGBA的局限:PGBA仅针对回环闭合边计算重投影因子,而忽略了邻近关键帧之间的重投影关系。
- Full BA的改进:Full BA重新计算所有重叠关键帧对的重投影因子,包括邻近帧和回环闭合帧,优化目标为:其中, 包括所有具有足够重叠的关键帧对。
Full BA在全局一致性上提供了更细致的优化,使相机位姿和场景几何更加精确。
3. 联合优化
最终阶段,我们对高斯地图和相机位姿进行联合优化,同时优化关键帧的曝光参数,以提升全局一致性和颜色一致性。
- 联合优化目标:该阶段结合全局束调整的结果,对以下参数进行优化:
- 相机位姿
- 3D高斯单元的几何属性(均值、方向、尺度)
- 曝光补偿参数 和
- 曝光补偿:我们在优化过程中考虑曝光校正,以减小颜色不一致性。渲染图像 的曝光校正公式为:其中, 是 的颜色变换矩阵, 是 的偏置向量。
- 优化过程:与Full BA使用的Gauss-Newton算法不同,联合优化阶段使用Adam优化器[62],以第一阶梯度下降法优化所有关键帧的高斯地图参数和曝光参数。
优化总结
通过三个离线优化阶段,我们的系统能够:
- 完善场景覆盖:通过后期关键帧插入,修复在线阶段可能出现的观察不足区域。
- 提高全局一致性:通过Full BA优化所有关键帧对的重投影关系,细化相机位姿和场景几何。
- 增强重建质量:通过联合优化,进一步提升场景几何的精度、地图的全局一致性和颜色一致性。
该离线优化阶段补充了在线模块的实时能力,使系统能够在保持高效的同时,显著提升最终重建质量。
实验效果
总结一下
HI-SLAM2是一种新颖的单目SLAM系统,通过四个互补模块实现了快速且精确的稠密3D场景重建。在线跟踪模块通过结合深度先验与基于网格的尺度对齐,提升了深度和位姿估计能力;在线回环闭合模块中的并行PGBA纠正了位姿和尺度漂移。我们的映射方法利用3D高斯分布实现了紧凑的场景表示,并在SLAM跟踪期间持续优化。在离线优化中,通过引入曝光补偿和对相机位姿、3DGS地图及曝光参数的联合优化,实现了高保真重建。在具有挑战性的数据集上的大量实验表明,HI-SLAM2在精度和完整性方面超越了现有的最先进方法,同时保持了卓越的运行时性能。本系统在几何和外观重建的权衡方面突破了现有方法的限制,实现了高质量的重建。未来工作将探索该方法在更具挑战性的室外大规模和动态环境中的应用。
#高阶智驾加速落地,数据闭环能力是关键
老牌Tier1智驾18个月落地,探究神速背后的“冰山之下”。
当下,以端到端技术加持的高阶智驾进入落地竞速阶段。
而在这之间,除了算法、体验和安全性等显性因素之外,更为关键的是,那些隐藏在“冰山之下”的能力。
换言之,云基础设施、工具链、数据合规闭环等,这些支撑性模块才是决定自动驾驶技术迭代速度的关键因素。
目前,自动驾驶领域所面临诸多挑战,如数据合规性、大规模数据的存储和运算,以及算力瓶颈等……
这些对于构建自动驾驶技术基础至关重要的问题,目前在公众认知中的普及程度仍然有限。
可以说,在自动驾驶行业的靓丽冰山之下,还诸多底层能力模块支持着上层的算法迭代。构建高效、合规的自动驾驶数据闭环,成为核心的“增长飞轮”。
01.高阶智驾成新战场
行业瓶颈初现
据统计,我国L2级自动驾驶新车的渗透率在2023年已超过50%,这一数据表明自动驾驶技术已步入大规模商业化应用阶段。
与此同时,目前新车的高阶智驾功能也在一定程度上成为了新车选购的重要参考依据。
如何快速的补齐这一方面的能力成为了当下车企和Tier1面前的痛点。
一方面,训练数据作为自动驾驶技术的核心,其质量和数量直接决定了自动驾驶系统的性能。
在这其中,海量数据的采集、存储、处理和分析是算法迭代的基础。
而数据合规则是自动驾驶的“保险”,确保数据安全合规,避免数据泄露和滥用,是技术落地的重要前提。
此外,自动驾驶技术正经历从“轻图”向“无图”的演变,这标志着自动驾驶对地图的依赖程度正在降低。
然而,地图数据仍然在辅助驾驶体验和功能落地中发挥着重要作用。特别是在一些复杂路段,仍然需要地图来增加安全冗余。如何以低成本,更轻、更快、更灵活的利用地图数据,也是行业关注的重要话题。
▲智驾感知示意图
目前主流的智驾玩家中普遍认为,云基础设施、工具链和数据合规体系是构建数据闭环能力的核心要素。
云基础设施提供强大的计算、存储和网络能力,工具链实现数据全流程的自动化处理,数据合规体系保障数据安全合规。
通过建立数据采集网络、构建数据平台、开发工具链和建立数据合规体系,企业可以构建高效、合规的自动驾驶数据闭环,推动自动驾驶技术的快速发展,最终实现安全、可靠、的自动驾驶落地。
为此,各大车企纷纷投入巨资进行数据采集和标注,并通过不断提升训练量来提升自动驾驶系统的质量。
而在这其中,重组算力,深入地图数据的采集这样重复造轮子无疑是费时费力的,并不具备可持续性。
而这也正成为了目前高阶智驾落地的瓶颈所在。
可以说,随着自动驾驶技术的快速发展,满足数据闭环下的提质增效也成为了新的挑战。
02.外资老牌Tier1快速落地
云服务兼顾效率与合规
如何确保自动驾驶数据的安全性和合规性,并实现数据的有效流转和应用,成为了各大车企和自动驾驶公司需要解决的重要问题。
在这其中,博世作为外资老牌Tier1,它们的做法和落地成果给了行业一个积极参考。
而在这中间,博世面临着一系列挑战。
作为一家德国企业,如何保障数据采集、存储、模型训练及仿真回放等全链路数据的合规,满足国内最新监管要求?如何在合规的同时兼顾研发效率?
▲博世与腾讯深化合作签约
博世选择了和腾讯的合作,将数据及部分应用部署至腾讯的自动驾驶专有云。所谓的专有云,是专门为智能驾驶行业定制,能够保障数据全流程满足国家最新的监管要求。
与此同时,专有云的机房与网络独立于公有云,但沿袭了公有云同样的技术路线和架构,也就是说,比公有云有更好的安全性,比私有云有更好的灵活性,从而帮助博世在数据安全和开发效率之间取得平衡。
这是行业首个应用自动驾驶专有云技术的案例。在专有云的加持下,博世仅用18个月就完成了高阶智驾的落地,展现了其强大的研发能力和执行力。
博世认为无图方案是智能驾驶发展的趋势,但需要逐步演进,从两段式端到端到一段式端到端,最终实现基于世界模型的解决方案。
博世智能驾控事业部中国区总裁吴永桥表示:“无图是一个方案的结果,过程用什么样的方案实现有两段式、一段式、世界模型。华为是GOD,它就是一般障碍物识别,感知Perception,现在大部分都是一段式,一个模型实现感知,包括激光雷达、毫米波雷达、摄像头,导航地图信息等,它就直接输出了。”
目前博世正在积极推进无图方案的开发,计划在今年12月批产两段式端到端无图方案,明年年中批产一段式端到端方案,并最终在2026年实现基于世界模型的解决方案。
随着智驾技术的成熟,博世认为中低阶智驾将逐渐成为标准件,主机厂可能会选择与供应商合作,专注于终端用户体验的差异化。
博世作为Tier 1供应商,拥有强大的工程化能力和全球化布局,将在此趋势中占据有利位置。
03.高阶智驾走向“无图+端到端”
图云一体能否成为新思路
在刚刚结束的广州车展上,主流车企及供应商也都把宣传中心放在了端到端智驾的量产落地上。
不难看出随着高阶智驾技术的发展,以及"无图+端到端"的方案逐渐兴起,降本增效并实现量产成为了目前智驾研发企业的主旋律。
这种方案的核心是减少对高精地图的依赖,转而使用导航数据,并将其上云,从而帮助企业降本增效并快速迭代。
以前边所讲的博世为例,通过和腾讯的合作使其实现了高阶智能驾的快速落地,而在这其中,腾讯独有的图云结合或许成为了一个新的趋势。
腾讯的智驾云图是一个行业新尝试,它将自动驾驶地图数据全面云化,实现要素级、最快分钟级的在线更新,并通过多图层形态提供灵活的配置和管理。
▲博世中国高阶智驾解决方案
这种开放的合作模式有助于推动低成本、可量产的全民“端到端+无图”智驾方案的落地。
腾讯拥有图商资质,可以提供完整的数据合规服务,帮助博世平衡开发效率和合规性。
吴永桥强调:“腾讯提供了完整的一套服务,这是我们非常看重的。”
可以说这一点对于博世这样的外资Tier1来说至关重要,因为国家近年来对数据合规的监管越来越严格,腾讯的经验和资源可以帮助博世规避风险,确保开发过程顺利进行。
从博世的选择来看,企业构建自己的“冰山之下”能力时,"图云一体" 的模式可能成为一种行业趋势。
而在这样的量产过程中,双方也可谓是“强强联合”,腾讯智慧出行副总裁刘澍泉表示:“我们双方实际上是1+1大于2的合作,我提供更通用的技术,而博世在它的领域有很精深的理解,我们是一个相互配合的关系。”
总而言之,"无图+端到端" 方案的兴起,以及各类底座企业在云图方案的布局,都表明图云一体模式在自动驾驶领域具有重要的应用价值。它有助于降低企业成本、提高研发效率,并推动高阶智驾技术的普及。
04.结语:自动驾驶冰山之下有乾坤
在自动驾驶行业引人注目的成就背后,实际上隐藏着众多默默无闻的底层技术和企业,它们共同构成了支撑整个行业发展的基石。
与此同时,行业上也开始探讨图云一体的模式是否值得大力推广。
从博世等一些Tier1的表现来看,这可能会成为一种新的行业趋势。