#CLIP系列模型如何补短板再升级

CLIP(Contrastive Language–Image Pre-training)模型自推出以来,在图像-文本跨模态理解和生成领域取得了显著成果。然而,经典模型CLIP还是存在许多短板,对此,学界对CLIP模型的改造与增强还在持续进行中,希望通过改造CLIP模型架构、添加某些模块来弥补CLIP的能力短板,不断提升其在跨模态、少样本任务中的泛化性能与适用性。具体如下:

  • 细化CLIP的视觉识别颗粒度
  • 即提升其识别图像中细微差异和局部特征的能力,可以在视觉编码器部分引入更精细的特征提取机制。
  • 可以采用多尺度特征融合策略,通过并行处理不同尺度的图像输入,并将多尺度特征进行有效融合,以捕捉图像中的多层次信息。
  • 还可以引入注意力机制,使模型能够自动聚焦于图像中的关键区域或特征点。
  • 结合弱监督学习或自监督学习方法,利用图像中的自然标注(如颜色、纹理等)或自生成标签(如聚类结果)来指导特征学习,也是提升视觉识别颗粒度的有效途径。
  • 延长CLIP处理的文本长度并细化CLIP提取的文本信息
  • 可以通过增加网络层数或采用更复杂的网络结构(如Transformer)来扩展文本编码器的容量,以支持更长的文本输入。
  • 可以引入文本分段或分层处理机制,将长文本划分为多个子序列或段落,并分别进行编码和表示学习,最后再将各部分的表示进行有效融合。
  • 为了细化文本信息的提取,可以设计更精细的文本表示学习方法,如基于词嵌入的向量表示、基于句法结构的图表示或基于语义角色的框架表示等。
  • 对CLIP的图像文本输入做数据增强
  • 对于图像数据增强,可以采用旋转、缩放、裁剪、翻转、颜色变换等传统方法,以及基于生成模型的对抗性样本生成等高级方法。
  • 对于文本数据增强,则可以采用同义词替换、回译、随机删除、句子重组等方法来生成多样化的文本样本,或生成伪字幕改善输入数据的质量。
  • 其他方法如, 通过文本到图像的扩散模型生成反馈来实现CLIP的自监督学习、增强模块以提升CLIP在某一少样本分类任务上的泛化能力等,还有的方法将CLIP输入扩展到视频……

本期推送再次盘点了CLIP模型架构还能如何改造,让我们一起来看看吧!

GroupViT: 从文本监督中实现语义分割

https://arxiv.org/abs/2202.11094

文章介绍了一个名为GroupViT(Grouping Vision Transformer)的模型,它是为了实现仅通过文本监督进行语义分割的任务而设计的。GroupViT通过一个分层的Transformer架构进行视觉概念的逐步分组,从较小的图像片段合并成较大的任意形状的语义段。GroupViT首先将输入图像划分为多个不重叠的小patch,并将每个patch线性投影到潜在空间,形成输入的image token。在每个分组阶段,image token和group token通过Transformer层进行信息传播,通过自注意力机制(self-attention)聚合全局信息。每个分组阶段的末尾都有一个grouping block,负责将相似的image token合并为更大的语义段(segment)。Grouping block通过计算group token和segment token之间的相似性矩阵来实现合并。在Grouping Block中,使用Gumbel-Softmax操作和直通技巧(straight through trick)来进行硬分配,使得segment tokens能够明确地分配给不同的group tokens。为了训练GroupViT执行分层分组,模型采用了特别设计的对比损失函数,包括原始的图像-文本对比损失和多标签对比损失

相对于CLIP,GroupViT引入了分组机制,允许模型自动地将图像区域分组为语义段,而CLIP是一个基于对比学习的模型,主要用于图像和文本的联合表示学习,并没有显式的分组机制。GroupViT还采用了分层的Transformer架构,能够处理任意形状的图像段,而CLIP通常处理的是固定大小的图像patch。此外,GroupViT特有的Grouping Block模块,用于将图像tokens合并为更大的语义段。最后,GroupViT使用了多标签对比损失,通过从文本中提取名词并使用句子模板生成额外的文本标签,增强了模型对视觉分组的学习能力。

FFF:在对比性预训练中修复有缺陷的基础产生的视觉语言模型

https://arxiv.org/abs/2405.10286

文章提出了一种改进的对比性预训练方法,称为FFF(Fixing Flawed Foundations),旨在通过解决现有视觉-语言模型训练中的两个关键问题来增强模型性能:错误分配的负对(false negative pairs)和低质量及多样性不足的字幕(captions)

  • 在对比学习中,通常假设每个样本只有一个正对(positive pair),但实际中,由于图像和/或字幕在语义上的相似性,一些负对(negative pairs)可能被错误地标记。这导致训练过程和模型质量受限。为了解决这个问题,文章提出了一种基于图像-文本、图像-图像和文本-文本相似性的算法,用于发现并纠正这些错误分配的负对,并挖掘新的真正例(true positives)。
  • 现有的网络收集的数据集往往包含质量低下、描述简短或不相关的字幕,这不利于训练。文章通过使用最先进的图像字幕技术生成伪字幕(pseudo-captions),作为给定图像的新真正例,从而提高字幕的质量和描述性。为了进一步提升训练数据的多样性,文章提出了批量文本增强策略。在同一个批次中,为每个训练图像生成多个伪字幕(例如,通过束搜索选择的五个字幕),这样可以有效增加字幕的多样性
  • 由于上述方法导致每个图像的正对数量可能不同,文章提出使用sigmoid loss作为训练损失函数。这种损失函数允许每个样本的正对数量动态变化,且对挖掘过程中的潜在错误具有鲁棒性。

文章展示了FFF方法在图像识别(在11个数据集上平均提高了约6%)和图像检索(在Flickr30k上提高了约19%,在MSCOCO上提高了约15%)方面的显著性能提升。总之,FFF方法通过解决负对分配错误和提升字幕质量与多样性,显著提高了视觉-语言模型的预训练效果,并通过使用sigmoid loss作为训练损失函数,有效地利用了多个正对进行训练。

DreamLIP:带有长字幕的语言图像预训练

https://arxiv.org/abs/2403.17007

文章提出的DreamLIP模型实现了从长标题中动态采样子标题,并与图像的局部区域进行细粒度对齐

  • DreamLIP首先使用预训练的多模态大型语言模型(MLLM)为30M图像重新生成详细的描述性长标题,这些长标题比现有的数据集更丰富、更详尽。进而从长标题中动态采样子标题(subcaptions),以构建多个正对(positive pairs)。每个子标题可能描述图像的一个部分,例如一个物体或者场景的一个方面。引入分组损失来匹配每个子标题的文本嵌入与相应的局部图像块。这种损失函数在自我监督的方式下工作,意味着它不需要外部标注来指导子标题和图像块之间的对齐。
  • 采用多正对对比学习框架(Multi-Positive Contrastive Learning),将文本嵌入与图像嵌入进行对齐,使得来自同一图像的多个子标题能够与图像的不同部分形成正对。通过分组损失实现细粒度对齐,确保每个子标题的文本特征与图像中相应的局部特征精确匹配,从而提高模型对图像细节的理解。将多正对对比损失和细粒度对齐损失结合起来,形成DreamLIP的整体训练目标函数,通过这个函数来优化模型。

在多种下游任务上进行实验,包括图像-文本检索、语义分割等,证明了DreamLIP模型相较于现有方法在细粒度表示能力上的一致优越性。通过这种方法,DreamLIP能够充分利用长标题中的信息,提高模型对图像内容的理解和表示能力,尤其是在零样本学习的场景下,展现出了强大的性能。

DIVA:扩散反馈帮助 CLIP 看得更清楚

https://arxiv.org/abs/2407.20171

对比语言-图像预训练 (CLIP) 擅长跨领域和模态抽象开放世界表示,已成为各种视觉和多模态任务的基础。然而,最近的研究表明,CLIP存在严重的视觉缺陷,例如几乎无法区分方向、数量、颜色、结构等。这些视觉缺陷也限制了基于 CLIP 构建的多模态大型语言模型 (MLLM) 的感知能力。主要原因可能是用于训练 CLIP 的图像-文本对具有固有的偏见,因为缺乏文本的独特性和图像的多样性。这项工作提出了一种简单的CLIP模型后训练方法,该方法通过自监督扩散过程在很大程度上克服了其视觉缺陷。我们介绍了 DIVA,它使用 DIffusion 模型作为 CLIP 的视觉助手。具体来说,DIVA利用来自文本到图像扩散模型的生成反馈来优化CLIP的表征,仅使用图像(没有相应的文本),从而实现了自监督学习

  • DIVA使用一个预训练的条件扩散模型,该模型能够根据条件生成详细的图像。扩散模型通过一个逐步添加高斯噪声的过程来学习图像的概率分布,这个过程可以逆转,从而从噪声中重建图像。DIVA利用文本到图像扩散模型的生成能力,将CLIP模型编码的视觉特征作为扩散模型的条件输入。这意味着CLIP的视觉特征被用来指导扩散模型生成图像。通过最大化图像似然度,使用扩散损失来优化CLIP模型的表示。具体来说,扩散模型尝试预测每一步中添加的噪声,并通过这种方式来优化CLIP的权重,使其学习到更丰富的视觉细节。
  • DIVA引入了一种视觉密集重述策略(Visual Dense Recap Scheme),通过结合局部区域的视觉特征(patch tokens)和类别标记(class token)来增强条件信息的丰富性,从而提高CLIP模型的优化能力。
  • 尽管进行了优化,DIVA框架仍然保持了CLIP模型原有的零样本(zero-shot)能力,在多种图像分类和检索基准测试中表现出色。

通过在MMVP-VLM基准测试上的实验,DIVA显著提升了CLIP模型在细粒度视觉能力上的表现,并在多模态理解和分割任务上提高了MLLMs和视觉模型的性能。总的来说,DIVA模型通过一个简单而有效的自监督框架,使用扩散模型的生成反馈来优化CLIP的视觉表示,使其在视觉细节的感知上有了显著的提升,同时保留了CLIP的原有优势。

CLIP-FSAR:小样本动作识别的原型调制方法

https://arxiv.org/abs/2303.02982

本文的目标是迁移CLIP强大的多模态知识,以解决由于数据稀缺而导致的原型估计不准确的问题,这是少样本动作识别(Few-shot Action Recognition, FSAR)中一个关键问题。文章提出了一种名为CLIP-FSAR的原型调制框架,该框架由两个关键组件组成:视频-文本对比物镜(Video-text Contrastive Objective)和原型调制(Prototype Modulation)

  • 视频-文本对比物镜的目的是缩小CLIP和少样本视频任务之间的差异。通过对比视频特征和对应的类别文本描述,框架能够学习如何将视频内容与文本描述相匹配。使用CLIP的视觉编码器(Visual Encoder)提取视频帧的特征,同时使用文本编码器(Text Encoder)提取文本描述的特征。然后通过全局平均池化(Global Average Pooling, GAP)和余弦相似度函数来计算视频特征和文本特征之间的匹配概率。最后应用交叉熵损失函数来优化视频-文本匹配概率,使得匹配对的相似度最大化,不匹配对的相似度最小化。
  • 原型调制是为了解决少样本情况下视觉信息不足导致的原型估计不准确问题,原型调制组件利用CLIP中的文本语义先验来优化视觉原型。首先在支持集(Support Set)的视觉特征基础上,将文本特征沿时间维度堆叠,并使用时间Transformer来自适应地融合文本和视觉特征。时间Transformer能够处理支持视频和查询视频的特征,使得融合后的特征在共同的特征空间中进行匹配,以计算查询视频与支持视频之间的距离。采用动态时间规整(Dynamic Time Warping, DTW)或其他时间对齐度量来计算查询视频和支持视频之间的距离,并通过少数样本度量目标(Few-shot Metric Objective)来进行分类。

CLIP-FSAR框架通过这两个组件的协同工作,能够充分利用CLIP模型中的丰富语义信息,生成可靠原型,并在少样本分类任务中实现精确分类。通过视频-文本对比物镜,CLIP-FSAR适应于视频任务,并通过原型调制增强了对视频中动作类别的识别能力。

MA-CLIP:CLIP的多模态自适应用于小样本动作识别

https://arxiv.org/abs/2308.01532

将大规模预训练的视觉模型(如 CLIP)应用于小样本动作识别任务可以提高性能和效率。利用“预训练,微调”范式可以避免从头开始训练网络,这可能既耗时又耗费资源。但是,这种方法有两个缺点。首先,用于小样本动作识别的标记样本有限,因此需要尽量减少可调参数的数量以减轻过拟合,这也会导致微调不足,从而增加资源消耗并可能破坏模型的广义表示。其次,视频的超时域维度挑战了小样本识别的有效时间建模,而预训练的视觉模型通常是图像模型。为了解决这些问题,本文提出了一种名为CLIP多模态适应MA-CLIP, Multimodal Adaptation of CLIP)的新方法。

  • 轻量级适配器(Lightweight Adapters)被添加到CLIP模型中,目的是最小化可学习的参数数量,从而减少过拟合的风险,并允许模型快速适应新任务。适配器的设计允许它们结合视频和文本信息,进行面向任务的时空建模。MA-CLIP利用视频的时空信息和文本的语义信息,通过适配器进行有效的多模态信息融合。这种融合方法可以提高模型对动作类别的识别能力,尤其是在小样本学习场景下。
  • 模型不仅关注视频帧内的空间特征,还关注帧之间的时间关系,这对于理解动作的发展和变化至关重要。面向任务的时空建模(Task-oriented Spatiotemporal Modeling)使得MA-CLIP能够捕捉到动作的本质特征,提高识别的准确性。
  • 文本引导的原型构建模块(TPCM, Text-guided Prototype Construction Module)基于注意力机制设计,用于增强视频原型的表示。通过利用文本描述,TPCM能够更好地理解视频内容,从而提高类别原型的质量,这对于小样本学习中的类别匹配和识别非常关键。

MA-CLIP设计为可以与任何不同的小样本动作识别时间对齐度量(如视频匹配器)一起使用,这增加了模型的通用性和灵活性。由于适配器的轻量级特性和参数数量的减少,MA-CLIP在训练时更加快速和高效,同时降低了训练成本。总的来说,MA-CLIP通过精心设计的适配器和文本引导的原型构建模块,有效地结合了视觉和语言信息,提高了小样本动作识别的性能,同时保持了模型的快速适应性和低训练成本。

APE:并非所有特征都重要:通过自适应先验优化增强CLIP的少样本泛化能力

https://arxiv.org/abs/2304.01195

现有的CLIP少样本泛化方法要么表现出有限的性能,要么存在过多的可学习参数。本文提出了 APE(Adaptive Prior rEfinement),这是一种为CLIP模型的预训练知识进行适应性细化的方法,旨在提高CLIP在下游任务中的性能,特别是在小样本学习场景下。

  • APE通过先验细化模块(Prior Refinement Module)分析下游数据中的类间差异性,目的是将领域特定的知识与CLIP模型中已经提取的缓存模型进行解耦,从而选择最有意义的特征通道。利用两个标准——类间相似度(inter-class similarity)和方差(variance)——来选择最具区分性的特征通道,减少冗余信息并降低缓存大小,以减少内存成本。
  • APE提供了两种模型变体:(1)无需训练的APE(Training-free APE):直接利用细化后的缓存模型进行推理,探索测试图像、细化的缓存模型和文本表示之间的三边亲和性,实现无需训练的稳健识别。(2)需要训练的APE-T:在APE的基础上,增加了一个轻量级的类别残差模块(category-residual module),该模块只需对类别残差进行训练,而不需要对整个缓存模型进行昂贵的微调。这个模块进一步更新细化的缓存模型,并在模态之间共享以确保视觉-语言的对应关系。
  • APE模型探索了测试图像、先验缓存模型和文本表示之间的三边关系,通过这种关系来增强小样本学习的性能。

APE和APE-T在保持高计算效率的同时,实现了在多个基准测试中的最先进性能,特别是在16次拍摄的ImageNet分类任务中,APE和APE-T分别以少于第二佳方法+1.59%和+1.99%的平均准确率,并且具有×30更少的可学习参数。




#SAM2-Adapter

SAM2无法分割一切?首次让SAM2适应一切!

SAM2-Adapter是一种新型适配方法,旨在充分利用Segment Anything 2(SAM2)模型的高级功能,以应对特定的下游分割任务。

2023年,Meta提出了SAM,在图像分割领域取得了突破的进展。但是,研究人员也发现了SAM在医学图像领域、伪装物体等领域效果不佳,因此,我们在SAM发布后两周提出了SAM-Adapter,它成功地将Segment Anything (SAM) 模型应用于特定的复杂任务中,如伪装物体检测、阴影识别和医学图像分割,展现出完美的表现。SAM-Adapter不仅为科研人员提供了强大的工具,还在学术界和工业界产生了深远的影响,成为处理高难度分割任务的首选方案。随着Segment Anything 2 (SAM2) 的出现,这一升级版的模型在架构和数据训练规模上进行了大幅度的增强,为更复杂的图像分割任务提供了新的可能性。SAM2的发布带来了更强大的基础能力,但也提出了新的挑战:如何将这些增强的功能应用于具体的下游任务中。令人振奋的是,我们在新工作中展示了,SAM-Adapter的微调方法在SAM2上再次取得了成功。通过SAM2-Adapter的引入,研究人员将SAM2的潜力充分释放,在各类复杂任务中继续实现最先进(SOTA)的性能。这一成果不仅延续了SAM-Adapter的影响力,还证明了其方法的通用性和强大效能,推动了图像分割技术的进一步发展。论文和代码均已开源。

单位:魔芯科技、浙大等

项目页面:http://tianrun-chen.github.io/SAM-Adaptor

论文:https://arxiv.org/abs/2408.04579

开源代码(已开源):https://github.com/tianrun-chen/SAM-Adapter-PyTorch

1. 研究背景

在人工智能(AI)的研究领域,基础模型的引入已经显著地重塑了研究的版图,特别是在这些模型经过大规模数据集训练后。最近,Segment Anything(SAM)模型因其在图像分割领域的杰出成就而受到广泛关注。然而,尽管SAM在图像分割任务中表现出色,但先前的研究也指出了它在处理某些复杂低层次结构分割任务时的性能限制。为了应对这些挑战,研究人员在SAM模型发布不久之后,便开发了SAM-Adapter,目的是通过增强SAM的功能来提升其在这些任务上的表现。SAM-Adapter的设计架构在下图中进行了详细展示。

51c自动驾驶~合集16_自动驾驶

随着技术的发展,一个更为强大和通用的模型——Segment Anything 2 (SAM2)应运而生。SAM2在SAM的基础上对网络架构进行了优化,并在更广泛的视觉数据上进行了训练,引起了科研界的广泛关注。这引发了两个关键问题:

1. SAM在下游任务中遇到的挑战是否同样存在于SAM2?

2. 是否能够借鉴SAM-Adapter的成功经验,利用SAM2的先进预训练编码器和解码器,在这些任务中达到新的最前沿(SOTA)水平?

2. SAM2-Adapter

本研究的实验结果对这两个问题都给出了肯定的答案。尽管基础模型的固有局限性仍然存在,例如训练数据无法完全覆盖所有可能的场景,但通过引入SAM2-Adapter,研究者成功地在多个任务中实现了SOTA性能。SAM2-Adapter不仅继承了SAM-Adapter的核心优势,还引入了显著的改进,SAM2-Adapter有效地利用了SAM2的多分辨率和分层特性,实现了更为精确和鲁棒的分割效果。

51c自动驾驶~合集16_自动驾驶_02

SAM2-Adapter 的核心基于SAM2模型的强大图像编码器和掩码解码器组件。具体来说,利用从 SAM2 中预训练的 MAE Hiera 图像编码器,并冻结其权重以保留从大规模数据集预训练中学到的丰富视觉表示。此外,研究团队使用了原始 SAM2 模型的掩码解码器模块,初始化其权重为预训练的 SAM2 参数,然后在训练适配器过程中进行微调。这个方法没有为原始 SAM2 掩码解码器提供任何额外的提示作为输入。

与 SAM-Adapter 的成功方法类似,通过适配器学习并注入任务特定的知识F^i到网络中。这个方法采用提示的概念,这利用了基础模型(如 SAM2)已在大规模数据集上训练的事实。使用适当的提示来引入任务特定的知识可以增强模型在下游任务上的泛化能力,尤其是在标注数据稀缺的情况下。

这个方法旨在保持适配器设计的简单和高效。因此选择使用一个仅由两个 MLP 和一个激活函数组成的适配器。值得注意的是,与 SAM 不同,SAM2 的图像编码器具有四个层次的分层分辨率。因此,本方法初始化了四个不同的适配器,并将四个适配器插入每个阶段的不同层中。

3. 实验验证

在实验中,研究团队选择了两个具有挑战性的低级结构分割任务和一个医学成像任务来评估SAM2-Adapter的性能:伪装物体检测、阴影检测和息肉分割。

3.1 伪目标检测

研究团队首先评估了SAM在伪装物体检测这一具有挑战性的任务中的表现,这项任务的调整在于前景物体通常与视觉上相似的背景图案融合在一起。实验表明,SAM在该任务中表现不佳。如图所示,SAM无法检测到多个隐藏物体。定量结果进一步确认了这一点,表明SAM在所有评估指标上的表现显著低于现有的最先进方法,而SAM2本身的表现最低,无法产生任何有意义的结果。实验结果证明,通过引入SAM2-Adapter,这个方法显著提高了模型的性能。该方法成功识别了隐藏的物体。

51c自动驾驶~合集16_自动驾驶_03

51c自动驾驶~合集16_自动驾驶_04

3.2 阴影检测

研究团队进一步评估了SAM在阴影检测中的表现。SAM2-Adapter的表现与SAM-Adapter一样出色,提供了可比的结果。

51c自动驾驶~合集16_自动驾驶_05

3.2 息肉分割

研究团队还展示了SAM2-Adapter在医学图像分割中的应用,特别是息肉分割。息肉在结肠镜检查过程中被识别并通过息肉切除术移除。准确快速地检测和移除息肉对于预防结直肠癌至关重要。在没有适当提示的情况下,SAM2模型无法产生有意义的结果。SAM2-Adapter解决了这个问题,并且优于原始的SAM-Adapter。根据定量分析和可视化结果,强调了SAM2-Adapter在提高息肉检测准确性和可靠性方面的有效性。

51c自动驾驶~合集16_自动驾驶_06

51c自动驾驶~合集16_自动驾驶_07

4. 总结与展望

SAM2-Adapter是一种新型适配方法,旨在充分利用Segment Anything 2(SAM2)模型的高级功能,以应对特定的下游分割任务。基于SAM-Adapter的成功,SAM2-Adapter针对SAM2的多分辨率分层Transformer架构进行了优化,成功克服了SAM的局限性,在伪装物体检测、阴影检测和息肉分割等挑战性任务中实现了新的最先进(SOTA)性能。实验结果表明,SAM2-Adapter不仅保留了其前身的优势,如泛化性和可组合性,还通过与SAM2的高级架构无缝集成进一步增强了这些能力。这使得SAM2-Adapter在各种数据集和任务中设定了新的基准,超越了之前的方法。从SAM到SAM2的持续挑战反映了基础模型在多样化现实场景中的复杂性。尽管如此,SAM2-Adapter有效解决了这些问题,展示了其作为高质量分割工具的潜力,适用于多种应用领域。研究人员和工程师被鼓励采用SAM2结合SAM2-Adapter,以提升分割任务的性能,推动图像分割领域的发展。这项工作不仅扩展了SAM2的能力,还为未来的大规模预训练模型在专门应用中的创新奠定了基础。



#文远知行

文远知行上市基石曝光:博世认购部分,IPO作价50亿美元

50亿美元,这就是国产通用型自动驾驶公司,文远知行刚刚曝光的IPO作价。

据文远知行更新的招股书信息,明确了IPO将增发的股票数量,以及每股价格,公司估值随之曝光。

其中超过91%的公开增发股份,将由百年Tier 1巨头博世认购。

博世之前已经参与了文远知行的融资,并且双方还落地了L2+方案的合作,而现在博世更进一步以基石投资者身份,帮文远冲击纳斯达克。

此外,首次公开募股的同时,文远知行还将开启私募,总计将获得折合人民币超31.5亿元的资金。

文远知行的IPO,已经到了最后100米冲刺。

360亿,文远知行估值曝光

文远知行向美监管机构提交的最新文件显示,文远知行此次IPO将发行6452000股ADS(美国存托股),每份ADS价格为15.5-18.5美元1份ADS相当于3份普通股

即此次增发股份的融资金额为1-1.2亿美元,折合人民币约为7.17-8.56亿元。

此次增发股份后,文件显示文远知行将拥有总共814132531股普通股。

若按最高股价计算,则文远知行的市值将冲上50.2亿美元,折合人民币约为359.83亿元

这个作价,实际与2022年11月D+轮融资后,文远知行投后超50亿美元的估值相比,变化并不大。

或许也是文远知行对于这次上市务实求真的态度,没有追求更高的溢价。

而且此次公开增发的股份,将由Tier 1巨头博世认购绝大部分。

文件显示,博世购买的ADS数量为5882353份,约占增发ADS总数的91.2%

博世与文远知行渊源颇深,既是文远知行的投资者,也是文远知行的高阶智驾合作方

2022年3月,博世和广汽等参与了文远知行的D轮融资,融资金额为4亿美元,当时折合人民币约为25.2亿元

也差不多是这一轮融资,文远知行的估值达到了44亿美元。

两个月后,博世与文远知行达成合作,将联合开发L2+级ADAS,自此文远知行搭上了第一Tier 1的快车,走上了一条令供应商艳羡的道路。

△左二为时任博世中国执行副总裁、现任总裁徐大全博士,右二为文远知行联合创始人兼CTO李岩博士

经过18个月的努力,双方合作方案成功落地,上车奇瑞星纪元ES,可实现高速NOA,包括超车变道、避让施工区域、自动上下匝道等。

51c自动驾驶~合集16_自动驾驶_08

博世此次认购超91%的发行股份,可视为双方合作关系的进一步深化,也说明文远的实力得到了博世的认可。

如此比例的认购,实际也不算多见,全球第一Tier 1帮文远冲刺通用型自动驾驶第一股。

除了增发股份之外,文远知行还表示完成IPO的同时,还会以私募方式,出售价值3.205亿美元(折合人民币约为23亿元)的A类普通股。

相关投资者有Alliance Ventures广汽资本、Beijing Minghong、Kechuangzhixing等。

其中Alliance Venture是雷诺日产三菱联盟旗下的战略风投部门,是文远知行的早期投资者。

曾在2018年领投A轮,后又在2021年参与了C轮融资,此次将认购9700万美元,折合人民币约为6.95亿元的A类普通股。

文远知行和雷诺日产等也有合作关系。

2022年11月,文远知行联合日产在苏州落地了Robotaxi,并亮相当年的进博会。

今年5月,雷诺和文远知行合作的无人小巴在法网提供接驳服务。

广汽也是文远知行过去的投资者,曾在2021年底参与文远知行的战略投资,以及2022年3月的D轮融资,此次将认购2000万美元(折合人民币约为1.43亿元)的A类普通股。

简单计算一下可知,文远知行此次将通过IPO和私募等途径,累计获得约4.4亿美元,折合人民币超31.5亿元的资金。

文远知行在文件对资金的用途做了说明:

  • 约35%用于自动驾驶技术、产品和服务的研发。
  • 约30%用于自动驾驶车队的商业化和运营,拓展市场的营销活动。
  • 约25%用于资本支出,包括购买测试车辆、研发设施和行政支出。
  • 剩余10%用于公司一般用途。

所以,文远知行靠什么撑起了50亿美元的估值,能够收获博世等合作伙伴的青睐?

文远知行靠什么值50亿美元

文远知行成立于2017年,目前在7个国家30座城市开展自动驾驶的研发、测试和运营,是唯一同时拥有中国、美国、阿联酋和新加坡四地自动驾驶牌照的科技企业。

提供L2和L4级自动驾驶产品与服务,不久前向美国证监会提交招股书,冲刺纳斯达克。

在招股书中,文远知行披露了最近三年半的财务指标。

其中2021年的营收为1.38亿元,2022年暴涨至5.28亿元,实现281.7%的同比增长。

2023年营收略有下滑,为4亿元

截止2024年上半年,文远知行营收为1.5亿元,对比2023年同期仍然略有下降。

目前公司尚未实现盈利,三年累计净亏损13.31亿元

从图中可以看到,文远知行的亏损在扩大,这和研发投入逐年增高有关系。

文远知行共有员工2227名,其中约91%都是研发人员。

2021年研发投入为4.43亿元,2022年几乎翻了一番,增长至7.59亿元,2023年继续增长至10.58亿元

今年上半年的研发投入,已达5.17亿元

研发投入远大于营收,对亏损起到了一定影响。

但目前公司的现金储备还比较充足,截止2024年上半年末,文远知行现金及其等价物约为18.28亿元

所以,亏损中的文远知行,有什么技术和业务,撑起了50亿美元的估值?

文远知行的核心平台是WeRide One,基于此打造L2和L4级自动驾驶技术,落地乘用车、Robotaxi、无人小巴和自动驾驶厢货车和无人清扫车。

同时押注两条路线,落地产品范围广,这也是为什么,文远知行被称为通用自动驾驶第一股

从文远知行的营收组成变化来看,文远知行的业务正在发生转变。

招股书显示,文远的营收来源主要分为产品服务两大部分。

2021年的营收中,前者占了大头,带来1.01亿元的营收,占比高达73.5%。而服务则只有0.37亿元的收入,占比26.5%

而到了2023年,公司产品收入为0.54亿元,占比降至13.5%,服务收入增长至3.48亿元,占比升至89.9%。

这表明,文远知行的商业化模式,正在经历转折

从一个运营Robotaxi车队,或给运营商卖车辆硬件的“重资产”模式,走向提供技术、提供后续服务的轻资产模式。

短期内,文远营收会受到博世智驾推广覆盖速度的影响。

但长期来看,博世的方案就是全行业的方案,是可持续产生营收的现金奶牛项目。

文远知行还将坚持L4自动驾驶,其判断2024年和2025年随着Robotaxi的大规模投放,来自服务的收入占比将会进一步提升。

最后,简单介绍一下文远知行的两位主要创始人:

CEO韩旭,伊利诺伊大学香槟分校计算机工程博士,历任密苏里大学的助理教授,密苏里大学博士生导师、终身教授,计算机视觉和机器学习实验室主任。

创业前曾担任百度美研自动驾驶事业部首席科学家。

联合创始人兼CTO李岩,卡内基梅隆大学电气与计算机工程学博士,曾在Facebook和微软担任核心工程师。

相比两位创始人,文远知行也因为脱口秀演员赵晓卉的加盟而出圈。

不过赵晓卉在文远知行,担任的是项目经理,与其演员身份有着明确区隔,也没有对文远做过多的公众宣传。

此前其在综艺节目上曾透露,正在负责无人小巴接驳车的部分功能。

相比赵晓卉之于文远知行,文远知行带给这位“打工人”则价值更大。文远知行不仅给了汽车科班出身赵晓卉业务能力认可,如今也在上市IPO进展中,印证了赵晓卉当初眼光的长远。

毕竟相比李诞的笑果文化和脱口秀行业,自动驾驶确实前途光明多了。

One More Thing

招股书之外,近日文远知行还预告了新动向:10月15日将发布新一代Robotaxi车型。

与马斯克和特斯拉,也就前后脚吧。

实际上,随着自动驾驶技术正在实现的技术和商用运营突破,自动驾驶不论是产品还是资本运作,都来到了新周期。

文远知行IPO,只是浪潮中的浪花一朵,同样在潮尖之上的,还有M公司、P公司…以及刚刚通过港股聆讯的H公司。

一个新的周期,已经来到了公众面前。




#RadarPillars

从4D雷达中进行高效目标检测(速度精度均有优势)

原标题:RadarPillars: Efficient Object Detection from 4D Radar Point Clouds

论文链接:https://arxiv.org/pdf/2408.05020

作者单位:曼海姆应用科学大学

论文思路:

汽车雷达(radar)系统已经发展到不仅提供距离、方位角和多普勒速度,还能提供俯仰数据。这一额外的维度使得4D雷达可以表示为3D点云。因此,现有的用于3D目标检测的深度学习方法,最初是为LiDAR数据开发的,经常被应用于这些雷达点云。然而,这忽略了4D雷达数据的特殊特性,例如极端稀疏性和速度信息的最佳利用。为了弥补这些在现有技术中的不足,本文提出了RadarPillars,一种基于柱状结构的目标检测网络。通过分解径向速度数据,引入PillarAttention进行高效特征提取,并研究层缩放以适应雷达稀疏性,RadarPillars在View-of-Delft数据集上的检测结果显著优于现有技术。重要的是,这在显著减少参数量的同时,实现了超越现有方法的效率,并在边缘设备上实现了实时性能。

论文设计:

在自动驾驶和汽车应用的背景下,雷达作为一种关键的感知技术脱颖而出,使车辆能够检测到周围的物体和障碍物。这一能力对于确保各种自动驾驶功能的安全性和效率至关重要,包括碰撞避免、自适应巡航控制和车道保持辅助。雷达技术的最新进展导致了4D雷达的发展,它结合了三个空间维度以及一个额外的多普勒速度维度。与传统雷达系统不同,4D雷达引入了作为第三维度的俯仰信息。这一增强功能使得雷达数据可以表示为3D点云,类似于LiDAR或深度感应相机生成的点云,从而能够应用之前仅限于这些传感器的深度学习方法。

然而,尽管来自LiDAR检测领域的深度学习技术已经被适配到4D雷达数据上,但它们并没有充分探索或适应其独特特性。与LiDAR数据相比,4D雷达数据显著稀疏。尽管存在这种稀疏性,雷达独特地提供了速度作为特征,这在各种场景中有助于移动物体的检测,例如在LiDAR传统上难以应对的远距离场景中[1]。在View-of-Delft数据集中,平均每次4D雷达扫描仅包含216个点,而相同视野内的LiDAR扫描包含21,344个点[2]。对此,本文提出了RadarPillars,一种专门为4D雷达数据量身定制的新型3D检测网络。通过RadarPillars,本文填补了当前技术中的空白,并在以下几个方面做出了贡献,大幅提升了性能,同时保持了实时能力:

  • 增强速度信息的利用:本文分解径向速度数据,提供额外的特征,从而显著提升网络性能。
  • 适应雷达稀疏性:RadarPillars利用柱状表示法[3]进行高效的实时处理。本文利用4D雷达数据固有的稀疏性,并引入PillarAttention,一种将每个 pillar 作为一个 token 处理的新型自注意层,同时保持效率和实时性能。
  • 针对稀疏雷达数据的扩展:本文展示了雷达数据的稀疏性可能导致检测网络中信息量较少的特征。通过均匀网络,本文不仅提升了性能,还显著减少了参数量,从而提高了运行效率。

图1:RadarPillars在4D雷达上的检测结果示例。汽车用红色标记,行人用绿色标记,骑行者用蓝色标记。点的径向速度由箭头指示。

图2:补偿了4D雷达自车运动的绝对径向速度$ v_r $。随着物体的移动,$ v_r $会根据其相对于传感器的航向角发生变化。由于其航向无法确定,汽车的实际速度$v$仍然未知。然而,$ v_r $可以分解为其$x$和$y$分量,以提供额外的特征。坐标系统和命名法遵循View-of-Delft数据集[2]。

图3:PillarAttention概述。本文利用雷达点云的稀疏性,通过使用掩码从非空 pillars 中收集特征,将空间大小从$H, W$减少到$p$。每个具有$C$通道的柱状特征被视为计算自注意力的一个 token 。本文的PillarAttention封装在一个Transformer层中,前馈网络(FFN)由层归一化(Layer Norm)和两个中间带有GeLU激活的MLP组成。PillarAttention的隐藏维度$E$由层前后的MLP控制。最后,具有$C$通道的柱状特征被散射回其在网格中的原始位置。本文的PillarAttention不使用位置嵌入。

图4:本文提出的方法组合形成RadarPillars,与基准方法PointPillars [3]的比较。在View-of-Delft数据集[2]上,整个雷达区域的一帧目标检测精度结果。帧率是在Nvidia AGX Xavier 32GB上评估的。

图5:权重幅度分析比较不同通道大小的均匀缩放RadarPillars。结果显示,随着网络规模的减小,权重强度增加。本可视化排除了无效权重和异常值。

实验结果:

总结:

本文提出了RadarPillars,利用4D雷达数据进行目标检测的新方法。作为一个仅有 0.27 M 参数和1.99 GFLOPS的轻量级网络,RadarPillars在检测性能方面建立了新的基准,同时实现了实时能力,显著超越了当前的先进技术。本文研究了雷达速度的最佳利用,以为网络提供增强的上下文。此外,本文引入了PillarAttention,这是一种创新的层,将每个 pillar 视为一个 token ,同时确保效率。本文展示了均匀缩放网络在检测性能和实时推理方面的优势。以RadarPillars为基础,本文未来的工作将集中于通过优化主干网络和探索无锚检测头来提升运行时间。另一条研究途径是研究使用仅包含PillarAttention的Transformer层进行端到端的目标检测,或将有前景的LiDAR方法[38], [39]适用于雷达。此外,本文还提出将RadarPillars扩展到其他传感器数据模态的潜力,如深度传感器或LiDAR。

引用:

@ARTICLE{2024arXiv240805020M,
       author = {{Musiat}, Alexander and {Reichardt}, Laurenz and {Schulze}, Michael and {Wasenm{\"u}ller}, Oliver},
        title = "{RadarPillars: Efficient Object Detection from 4D Radar Point Clouds}",
      journal = {arXiv e-prints},
     keywords = {Computer Science - Computer Vision and Pattern Recognition},
         year = 2024,
        month = aug,
          eid = {arXiv:2408.05020},
        pages = {arXiv:2408.05020},
          doi = {10.48550/arXiv.2408.05020},
archivePrefix = {arXiv},
       eprint = {2408.05020},
 primaryClass = {cs.CV},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2024arXiv240805020M},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}




#NTU开源嵌入式平台AirSLAM

高效&鲁棒的点线视觉SLAM系统

vslam的光照挑战

现有的vSLAM系统在面对严苛光照条件时仍然面临两类挑战:

  1. 短期光照挑战:剧烈的光照变化或低光照环境下,特征检测和跟踪经常失败,从而严重影响轨迹估计的质量。它影响了两个时间上相邻帧之间的姿态估计
  2. 长期光照挑战:当视觉地图用于重定位时,光照的变化可能显著降低成功率。它影响了查询帧与已有地图之间的匹配。

现有方法通常只聚焦于上述挑战中的某一个。例如,各种图像增强和图像归一化算法已经被开发出来,以确保鲁棒的跟踪。这些方法主要集中于保持全局或局部亮度的一致性,但它们通常难以处理所有类型的光照挑战。一些系统通过在包含各种光照条件的大型数据集上训练VO或SLAM网络来解决这一问题。然而,它们很难生成适合长期定位的地图。一些方法可以提供光照鲁棒的重定位,但通常需要在良好光照条件下构建地图。

本文介绍的AirSLAM[1]将点和线特征结合起来用于跟踪、建图、优化和重定位。为了在效率和性能之间取得平衡,设计了一个混合系统,采用基于学习的方法进行特征检测和匹配,采用传统的几何方法进行姿态和地图优化。此外,为了提高特征检测的效率,我们开发了一个统一的模型,能够同时检测点和线特征。我们还通过提出一个多阶段的重定位策略来应对长期定位的挑战,该策略能够有效地重用我们的点线地图。

C++源代码链接:https://github.com/sair-lab/AirSLAM

相比前作AirVO[2],AirSLAM是扩展版本,其实质性的改进包括:

  • 设计了一个统一的CNN来检测点和线特征,增强了特征检测在光照挑战环境中的稳定性。此外,我们使用了更高效的LightGlue进行特征匹配。
  • 扩展了系统,使其支持立体数据和立体惯性数据,在提供惯性测量单元(IMU)的情况下提高了系统的可靠性。
  • 集成了回环检测和地图优化,形成了一个完整的vSLAM系统。
  • 设计了一个基于点和线特征的多阶段重定位模块,使得系统能够有效应对长期光照挑战。

系统概述

一个实用的vSLAM系统应具备以下特性:

  • 高效性:系统应在资源受限的平台上具备实时性能。
  • 可扩展性:系统应易于扩展,以适应各种需求和实际应用。
  • 易于部署:系统应易于在真实机器人上部署,并能够实现稳健的定位。

该系统是一个混合系统,如图1所示,因为需要数据驱动方法的鲁棒性和几何方法的精度。它包括三个主要组件:立体视觉里程计(Stereo VO/VIO)、离线地图优化和轻量级重定位。

  1. 立体视觉里程计(Stereo VO/VIO):提出了一种基于点线的视觉里程计,能够处理立体视觉数据和立体惯性数据。
  2. 离线地图优化:实现了几个常用的插件,如回环检测、位姿图优化和全局捆绑调整。系统可以通过添加自定义插件,轻松扩展以实现其他地图处理目的。例如,我们实现了一个插件,用于使用线特征的端点训练场景依赖的交汇点词汇,并在轻量级多阶段重定位中使用。
  3. 轻量级重定位:提出了一种多阶段的重定位方法,提高了效率的同时保持了效果。在第一阶段,使用提出的PLNet检测关键点和线特征,并使用在大型数据集上训练的关键点词汇检索若干候选。在第二阶段,使用场景依赖的交汇点词汇和结构图快速过滤掉大部分错误的候选。在第三阶段,在查询帧和剩余候选之间进行特征匹配,以找到最佳匹配并估计查询帧的位姿。由于第三阶段的特征匹配通常是耗时的,因此第二阶段的过滤过程提高了系统的效率,相较于其他两阶段的重定位系统。

将一些耗时的过程,如回环检测、位姿图优化和全局捆绑调整,转移到离线阶段。这提高了在线建图模块的效率。在许多实际应用中,例如仓库机器人,通常由一个机器人构建地图,然后由其他机器人重用。设计的系统考虑到了这些应用需求。轻量级的映射和地图重用模块可以轻松部署在资源受限的机器人上,而离线优化模块可以在更强大的计算机上运行,用于各种地图操作,如地图编辑和可视化。映射机器人将初始地图上传到计算机,然后计算机将优化后的地图分发给其他机器人,确保无漂移的重定位。

特征检测

动机

基于学习的特征检测方法在光照挑战环境中展现出了比传统方法更稳定的性能。然而,现有的基于点线的视觉里程计(VO/VIO)和SLAM系统通常分别检测关键点和线特征。对于手工设计的方法,由于其效率较高,可以接受这种做法,但对于基于学习的网络来说,同时应用关键点检测和线检测网络,尤其是在立体配置中,会影响资源受限平台上的实时性能。因此需要设计一个能够同时检测关键点和线特征的高效统一模型。

然而,实现一个同时检测关键点和线特征的统一模型是有挑战性的,因为这些任务通常需要不同的真实图像数据集和训练过程。关键点检测模型通常在包含多种图像的大型数据集上训练,并依赖于提升步骤或图像对的对应关系进行训练。对于线特征检测,我们发现线框解析方法比自监督模型提供了更强的几何线索,因为它们能够检测到更长且更完整的线条。

架构设计

如图2所示,当可视化关键点和线特征检测网络的结果时,有两个发现:

  1. 大多数由线特征检测模型检测到的线端点(交点)也被关键点检测模型选为关键点
  2. 关键点检测模型输出的特征图包含了边缘信息。

因此,可以基于预训练的关键点检测模型的骨干网络构建一个线特征检测模型。基于这一假设,设计了PLNet以在一个统一框架中检测关键点和线特征。如图3所示,包括共享的骨干网络、关键点模块和线特征模块。

  • 骨干网络:采用了SuperPoint的设计作为骨干网络,因为它具有良好的效率和效果。它使用了8层卷积层和3层最大池化层。输入是尺寸为𝐻 × 𝑊的灰度图像,输出为𝐻 × 𝑊 × 64、𝐻/2 × 𝑊/2 × 64、𝐻/4 × 𝑊/4 × 128、𝐻/8 × 𝑊/8 × 128的特征图。
  • 关键点模块:同样遵循SuperPoint的设计来构建关键点检测头。它有两个分支:得分分支描述符分支。输入是骨干网络输出的𝐻/8 × 𝑊/8 × 128特征图。得分分支输出尺寸为𝐻/8 × 𝑊/8 × 65的张量,其中65个通道对应一个8×8的网格区域和一个表示没有关键点的垃圾箱。该张量经过softmax处理后再调整尺寸为𝐻 × 𝑊。描述符分支输出尺寸为𝐻/8 × 𝑊/8 × 256的张量,用于插值计算关键点的描述符。
  • 线特征模块:该模块以𝐻/4 × 𝑊/4 × 128的特征图为输入。它由一个类U-Net的CNN和线特征检测头组成。将U-Net进行了修改,使其包含更少的卷积层,从而提高了效率。类U-Net的CNN用于增加感受野,因为检测线条比检测关键点需要更大的感受野。使用EPD LOIAlign处理线特征模块的输出,并最终输出交点和线条。

网络训练

PLNet训练分为两轮。

  1. 在第一轮中,仅训练骨干网络和关键点检测模块,这意味着我们需要训练一个关键点检测网络。
  2. 在第二轮中,固定骨干网络和关键点检测模块,仅在Wireframe数据集上训练线特征检测模块。我们跳过了第一轮的详细内容,因为它们与非常相似,而是介绍线特征检测模块的训练过程。
  • 线编码:采用吸引区域场来编码线段。对于线段l = (x1, x2),其中x1和x2是l的两个端点,p是l的吸引区域中的一个点,使用p和四个参数来编码l:

其中𝑑是p到l的垂线段,𝜃是l与图像Y轴的夹角,𝜃1是p到x1的夹角,𝜃2是p到x2的夹角。

  • 线特征预测:线特征模块输出一个尺寸为𝐻/4 × 𝑊/4 × 4的张量来预测参数,并输出一个热图来预测交点。对于每个通过参数解码的线段,从热图中选择与端点最接近的两个交点,并形成线条提议。然后使用EPD LOIAlign和一个头分类器来决定线条提议是否为真正的线特征。
  • 线特征模块训练:使用𝐿1损失来监督参数的预测,并使用二元交叉熵损失来监督交点热图和头分类器的输出。总损失为它们的和。为了提高线特征检测在光照挑战环境中的鲁棒性,对训练图像进行了七种类型的光度数据增强处理。训练使用ADAM优化器,前35个epoch学习率为4𝑒-4,最后5个epoch学习率为4𝑒-5。

立体视觉里程计

概述

基于点线的立体视觉里程计(Stereo Visual Odometry)如图5所示。它是一个混合VO系统,结合了基于学习的前端和传统优化的后端。对于每对立体图像,首先使用所提出的PLNet提取关键点和线特征。然后使用一个图神经网络(LightGlue)来匹配关键点。同时通过关键点匹配结果关联线特征,并进行线特征匹配。接下来执行初始位姿估计并剔除离群值。基于这些结果,对关键帧的2D特征进行三角测量,并将其插入到地图中。最后,执行局部BA以优化点、线和关键帧的位姿。与此同时,如果可以获取惯性测量单元(IMU)的数据,会使用IMU预积分方法处理这些测量数据,并将其添加到初始位姿估计和局部捆绑调整中。

将基于学习的特征检测和匹配方法应用于立体VO是耗时的。因此,为了提高效率,在系统中使用了以下三种技术:

  1. 对于关键帧,在左右图像上提取特征并执行立体匹配以估计真实尺度。但对于非关键帧,仅处理左图像。此外使用了一些宽松的标准,使得系统中选取的关键帧非常稀疏,因此系统中特征检测和匹配的运行时间和资源消耗接近于单目系统。
  2. 将CNN和GNN的推理代码从Python转换为C++,并使用ONNX和NVIDIA TensorRT进行部署,其中16位浮点运算替代了32位浮点运算。
  3. 设计了一个多线程管道。采用生产者-消费者模型,将系统分为前端线程和后端线程两大部分。前端线程负责特征提取和匹配,而后端线程执行初始位姿估计、关键帧插入和局部捆绑调整。

特征匹配

使用LightGlue来匹配关键点。对于线特征,目前大多数VO和SLAM系统使用LBD算法或跟踪采样点来匹配它们。然而,LBD算法从线的局部带状区域提取描述符,因此在光照变化或视点变化的情况下,线特征检测不稳定。跟踪采样点可以匹配在两个帧中检测到不同长度的线,但目前SLAM系统通常使用光流跟踪采样点,这在光照条件快速或剧烈变化时表现较差。一些基于学习的线特征描述符也被提出,但由于时间复杂度的增加,它们很少在现有SLAM系统中使用。

因此,为了解决效率和效果问题,我们设计了一种快速且鲁棒的线特征匹配方法,以应对光照挑战条件。首先,我们通过距离将关键点与线段关联。假设在图像上检测到𝑀个关键点和𝑁个线段,每个关键点表示为 ,每个线段表示为,其中为线段的参数,而()为端点。首先通过以下公式计算与之间的距离:

如果 且在坐标轴上的投影在线段端点的投影范围内,即或,将认为属于。然后,可以基于这两张图像的点匹配结果匹配线段。对于图像𝑘上的线段和图像上的线段,计算一个得分𝑆𝑚𝑛来表示它们是同一线段的置信度:

其中是属于的点特征和属于的点特征之间的匹配数量。和分别是属于和的点特征数量。然后,如果且,我们将认为和是同一线段。这种耦合特征匹配方法使线段匹配能够共享关键点匹配的鲁棒性能,同时由于不需要另一个线段匹配网络,它具有很高的效率。

3D 特征处理

  1. 3D线段表示:我们使用Plücker坐标【71】来表示三维空间中的线段:

其中v是线段的方向向量,n是由线段和平面确定的法向量。Plücker坐标用于3D线段的三角测量、变换和投影。它是过参数化的,因为它是一个6维向量,而一个3D线段只有四个自由度。在图优化阶段,额外的自由度将增加计算成本并导致系统的数值不稳定。因此,还使用正交表示来表示3D线段:

Plücker坐标和正交表示之间的关系类似于SO(3)和so(3)。通过以下公式可以从Plücker坐标转换为正交表示:

其中Σ3×2是一个对角矩阵,其两个非零项可以通过SO(2)矩阵表示:

在实际操作中,可以通过QR分解简单快速地进行这种转换。

  1. 三角测量:三角测量是从两个或更多2D线特征初始化一个3D线段。使用两种方法对3D线段进行三角测量。第一种方法3D线段的姿态可以通过两个平面计算。为实现这一点,选择两条在两张图像上的线段l1和l2,它们是一个3D线段的两个观测。注意,这两张图像可以来自同一个关键帧的立体图像对,也可以来自两个不同的关键帧。l1和l2可以反投影并构建两个3D平面π1和π2。然后,3D线段可以视为π1和π2的交线。

然而,三角测量一个3D线段比三角测量一个3D点更困难,因为它更容易受到退化运动的影响。因此,如果上述方法失败,还采用第二种线段三角测量方法,利用点来计算3D线段。为了初始化3D线段,选择两个已三角测量的点X1和X2,它们属于该线段并且在图像平面上与该线段的距离最短。然后,可以通过以下公式获得该线段的Plücker坐标:

该方法只需很少的额外计算,因为所选择的3D点在点三角测量阶段已经被三角测量。它非常高效且鲁棒。

  1. 重投影:重投影用于计算重投影误差。我们使用Plücker坐标来进行3D线段的变换和重投影。首先,我们将3D线段从世界坐标系转换到相机坐标系:

其中和分别是相机坐标系和世界坐标系中的3D线段的Plücker坐标。是从世界坐标系到相机坐标系的旋转矩阵,是平移向量。表示向量的反对称矩阵,是从世界坐标系到相机坐标系的3D线段变换矩阵。

然后,可以通过线段投影矩阵将3D线段投影到图像平面:

其中 是图像平面上重投影的2D线段。表示向量的前三行。

关键帧选择

系统中使用的基于学习的数据关联方法能够跟踪具有大基线的两帧。因此,不同于其他VO或SLAM系统中使用的逐帧跟踪策略,只将当前帧与最后一个关键帧匹配。我们认为这种策略可以减少累积的跟踪误差。

因此,关键帧选择对系统至关重要。一方面,希望关键帧稀疏以减少计算资源的消耗。另一方面,关键帧越稀疏,发生跟踪失败的可能性就越大。为了平衡效率和跟踪的鲁棒性,如果满足以下任一条件,则选择该帧为关键帧:

  • 跟踪到的特征数少于。
  • 当前帧与最后一个关键帧之间的跟踪特征的平均视差大于。
  • 跟踪到的特征数少于。

其中𝛼1, 𝛼2和𝑁𝑘𝑓均为预设阈值。𝑁𝑠是检测到的特征数。𝑊和𝐻分别表示输入图像的宽度和高度。

局部图优化

为了提高精度,在插入新关键帧时执行局部捆绑调整。选择最近的个相邻关键帧构建一个局部图,其中地图点、3D线段和关键帧作为顶点,位姿约束作为边。我们使用点约束和线约束,以及如果有IMU数据可用,还会使用IMU约束。相关的误差项定义如下:

  1. 点重投影误差:如果帧𝑖可以观察到3D地图点X𝑝,则重投影误差定义为:

其中, 是帧上的观测值,表示相机投影。

  1. 线重投影误差:如果帧𝑖可以观察到3D线段,则重投影误差定义为:
  2. IMU残差:我们首先按照【69】在帧𝑖和帧𝑗之间预积分IMU测量值:

IMU残差定义为:

成本函数定义为:

使用Levenberg-Marquardt优化器来最小化成本函数。如果点和线的残差过大,在优化过程中它们也会被拒绝为离群值。

初始地图

地图在离线阶段进行了优化。因此,当视觉里程计完成后,关键帧、地图点和3D线段将被保存到磁盘,以便后续优化使用。对于每个关键帧,保存其索引、位姿、关键点、关键点描述符、线特征和交点。2D特征与3D特征之间的对应关系也会被记录下来。为了加快地图的保存、加载和在不同设备之间的传输,以上信息以二进制形式存储,这也使得初始地图比原始数据要小得多。例如,在OIVIO数据集上,我们的初始地图大小仅约为原始数据大小的2%。

地图优化与重用

离线地图优化

这一部分旨在处理由我们的视觉里程计(VO)模块生成的初始地图,并输出可以用于无漂移重定位的优化地图。我们的离线地图优化模块包括以下几个地图处理插件。

  1. 回环检测:与大多数当前的vSLAM系统类似,使用粗到细的流程来检测回环。回环检测依赖于DBoW2来检索候选帧,并使用LightGlue进行特征匹配。在包含35,000张图像的数据库上为PLNet检测到的关键点训练了一个词汇。这些图像从几个大型数据集中选取,包括室内和室外场景。该词汇有4层,每层10个节点,因此包含10,000个词。
  2. 地图融合:回环对观察到的3D特征通常被错误地当作两个不同的特征。因此,目标是融合由回环对观察到的重复点和线特征。对于关键点特征,使用上述回环对之间的特征匹配结果。如果两个匹配的关键点分别关联了两个不同的地图点,将它们视为重复特征,并且只保留一个地图点。2D关键点与3D地图点之间的对应关系以及共视图图中的连接也将更新。
    对于线特征,首先通过2D-3D特征对应关系和2D点线关联来关联3D线段和地图点。然后,检测与同一地图点关联的3D线段对。如果两个3D线段共享超过3个关联的地图点,它们将被视为重复线段,并且只保留一个3D线段。
  3. 全局BA:在融合重复特征后执行全局捆绑调整(GBA)。其残差和成本函数类似,不同之处在于该模块中所有关键帧和特征都将被优化。在优化的初始阶段,由于VO漂移误差,融合特征的重投影误差相对较大,因此我们首先迭代50次而不剔除离群值,以便将变量优化到一个较好的初始位置,然后再进行另外40次带有离群值剔除的迭代。
    我们发现当地图较大时,初始的50次迭代无法将变量优化到令人满意的位置。为了解决这一问题,如果地图包含超过80,000个地图点,将在全局BA之前首先执行位姿图优化(PGO)。在PGO中,仅调整关键帧的位姿,成本函数定义如下:

在线回环检测系统通常在检测到一个新的回环后执行全局捆绑调整,因此当一个场景中包含许多回环时,它们会经历多次重复的全局捆绑调整。相比之下,离线地图优化模块仅在检测到所有回环后才执行全局捆绑调整,这使得与这些系统相比,可以显著减少优化迭代次数。

  1. 场景依赖词汇:训练了一个用于重定位的交点词汇。该词汇建立在地图中的关键帧交点之上,因此具有场景依赖性。与关键点词汇相比,用于训练交点词汇的数据库通常要小得多,因此我们将层数设置为3,每层10个节点。这个交点词汇非常小,只有大约1MB,因为它只包含1,000个词。
  2. 优化地图:保存优化后的地图以供后续地图重用,保存了更多的信息,例如每个关键帧的词袋、全局共视图图以及场景依赖的交点词汇。同时,由于重复地图点和3D线段的融合,3D特征的数量有所减少。因此,优化后的地图占用的内存与初始地图相当。

地图重用

在大多数vSLAM系统中,识别已访问的地方通常需要两个步骤:

  1. 检索𝑁𝑘𝑐个与查询帧相似的关键帧候选
  2. 执行特征匹配并估计相对位姿。

第二步通常是耗时的,因此选择合适的𝑁𝑘𝑐非常重要。较大的𝑁𝑘𝑐会降低系统的效率,而较小的𝑁𝑘𝑐可能会使正确的候选无法被召回。例如,在ORB-SLAM3的回环关闭模块中,只使用DBoW2检索到的最相似的三个关键帧来提高效率。这在两帧之间时间间隔较短且光照条件相对相似的回环对中表现良好。然而,对于具有挑战性的任务,如日/夜重定位问题,检索如此少的候选通常会导致较低的召回率。然而,检索更多候选需要对每个查询帧进行更多次特征匹配和位姿估计,这使得在实时应用中很难实现。

为了解决这个问题,提出了一种高效的多阶段重定位方法,使优化地图可以在不同的光照条件下使用。我们的见解是,如果能够快速过滤掉大多数错误的候选,那么在保持或甚至提高重定位召回率的同时,也可以提高效率。因此,在上述两步流程中添加了另一个步骤。接下来,将详细介绍所提出的多阶段流程。

  1. 第一步:这一步是从地图中检索与查询帧相似的关键帧。对于每个输入的单目图像,使用PLNet检测关键点、交点和线特征。然后,执行一个“粗略候选选择”的流程,但有两个不同之处。第一个不同点是不使用共视图图过滤候选,因为查询帧不在图中。第二个不同点是保留所有候选用于下一步,而不仅仅是三个候选。
  2. 第二步:这一步使用交点和线特征过滤掉大多数在第一步中选定的候选。对于查询帧K𝑞和每个候选帧K𝑏,首先通过交点词汇过滤掉大多数候选。在前面的步骤中,已经检测了K𝑞的交点。接下来,使用DBoW2词袋将这些交点量化为单词,并通过计算直方图的𝜒2距离来选择与K𝑞相似的候选帧。如果𝜒2距离大于0.3 · 𝑆𝑚𝑎𝑥,K𝑏将被过滤掉。在剩余的候选中,如果K𝑞和K𝑏之间共享超过4条线特征,并且这些线特征的端点足够接近,它们将保留。否则,K𝑏将被过滤掉。这一步使得通过接下来耗时的特征匹配和位姿估计进行处理的候选数量大大减少。
  3. 第三步:这一步对第二步中剩余的候选执行特征匹配并估计位姿。首先通过LightGlue将K𝑞和K𝑏的关键点和交点进行匹配。然后,基于上述点匹配结果匹配线特征。最后,通过五点法估计初始相对位姿,并通过迭代最近点算法(ICP)优化它。

通过这种多阶段流程,我们能够提高重定位的召回率和精度,同时保持实时性能。开发板商城 天皓智联 TB上有视觉设备哦 支持AI相关~ 大模型相关也可用 whaosoft aiot自动驾驶也可以哦

实验效果

总结一下

AirSLAM系统是一种高效且光照鲁棒的点线视觉SLAM系统。设计了一个统一的CNN模型来同时检测点和线特征,并提出了一种基于点线特征的多阶段重定位方法。这些创新使得系统能够在短期和长期光照挑战中表现出色,同时保持足够的效率以部署在嵌入式平台上。最终将AirSLAM部署在实际机器人中,显示出其在各种真实场景下的广泛适用性。