资讯动态

GN-Net解读:Gauss-Newton Loss如何解决跨天气视觉重定位

发布时间:2026/10/14 11:55:54 来源:尧图企业网站定制
前阵子和一个做巡检机器人的朋友聊到视觉定位他提到一个很典型的困扰晴天跑得好好的系统一到阴雨天或者傍晚定位精度就像坐过山车一样往下掉。这个现象其实不是个例而是跨天气视觉重定位领域的老大难问题。我翻论文时正好重新精读了一篇2019年的工作——《GN-Net: The Gauss-Newton Loss for Multi-Weather Relocalization》它提出的思路当时让我印象很深与其在特征空间里绕弯子不如直接把损失函数建立在位姿误差上用Gauss-Newton近似把几何约束灌进特征学习里。这篇笔记会完整拆解论文的动机、方法、实验和我觉得值得深思的局限适合正在做视觉SLAM、视觉定位服务或者特征学习方向的同学参考。1. 天气一换就翻车多天气重定位到底难在哪1.1 视觉重定位任务的基本设定视觉重定位的任务可以概括成一句话给定一张当前时刻的查询图像在一个已经构建好的三维场景地图中求解相机在全局坐标系下的6自由度位姿。它和视觉里程计有本质区别——里程计靠帧间连续性来推算相对运动而重定位是拿单张图像去全局地图里对答案所以它对单帧外观的鲁棒性要求极高。这也是为什么重定位在现代机器人系统里那么关键它是应对累积漂移的最后一道保险。机器人长时间运行后里程计漂移不可避免这时候就需要靠重定位把自己拉回正确的位置上。如果重定位模块在下雨天失灵整个系统的长期自主运行就成了空中楼阁。1.2 外观变化对特征匹配的影响多天气环境下同一地点在不同时间拍摄的图像外观差异可能大到不像同一个地方。雨天的湿路面会产生镜面反射夜晚的车灯和路灯会造成局部过曝阴天的低对比度让墙角和路沿的纹理变得模糊。这种外观漂移对两种主流方案都是严峻考验。传统基于手工特征的方法比如ORB、SIFT这类局部特征在光照变化下检测子不稳定同一个墙角晴天能提取出20个关键点雨天可能就剩2个。基于学习的方法如果只在单一天气下训练网络学到的是晴天的特征分布换到雨天的图像上特征空间的响应会全面退化。这里有个容易被忽略的点多天气的难点不仅在于图像变得不一样更在于不一样的方式没有统一规律。雨天的反射和夜晚的过曝是两种完全不同的图像退化模式简单的全局亮度归一化根本管不过来。1.3 数据增强为什么解决不了问题很多人第一反应是给训练数据加亮度扰动、加高斯噪声、做颜色抖动不就模拟了天气变化吗论文的实验结果恰恰说明这条路走不通。原因也很直接雨天和夜晚带来的图像变化不是简单的像素统计变换而是一种结构性的分布变化。比如湿路面上出现的倒影会导致特征匹配时出现假对应——倒影里的纹理和真实世界的纹理在特征空间里可能很接近但它们在3D空间里根本没有对应的物理点。再比如夜晚的车灯造成的高光区域会让图像局部过曝正常的图像增强手段模拟不出这种传感器饱和效应。所以论文选择直接在数据层面引入多天气场景并且设计相应的训练策略而不是在像素层面做文章。2. 跳出特征空间Gauss-Newton Loss的核心思想2.1 常规损失函数与最终目标之间的鸿沟在GNN-Loss出现之前基于学习的重定位方法大多采用两条技术路线一条是把重定位当作场景分类或检索问题用全局描述子类似NetVLAD的思路做图像级检索另一条是用度量学习比如Triplet Loss在特征空间里拉近同类样本、推开异类样本。但这两类损失都有一个共同的尴尬它们优化的目标和最终任务指标不完全一致。重定位任务的最终指标是位姿误差也就是预测位姿和真值位姿之间的旋转和平移差距。而分类损失和度量损失优化的是特征空间里的距离或分类正确率这个特征空间指标和位姿空间指标之间存在一道鸿沟。举一个直观的例子两个特征向量在欧氏距离上非常接近可能对应的却是两个相距好几米的物理位置反过来某些视角下特征差异很大的两帧图像实际相机位姿可能只差了几厘米。如果一个损失函数不认识几何它就很难告诉网络什么样特征才是对位姿估计真正有用的特征。2.2 重投影误差是更合理的监督信号既然最终目标是位姿准那最直接的监督信号自然是几何误差。给定一个3D点X以及它在图像中的真实观测位置p如果能估计出相机位姿就可以把这个3D点重投影回图像平面计算重投影位置和实际观测位置之间的像素偏差。这个偏差越小说明位姿越准。把这个逻辑倒过来用如果我们用网络提的特征来做匹配匹配结果决定了最终估计出的位姿那理论上就可以把匹配结果对应的重投影误差作为损失来训练网络。这个想法很诱人但实现起来有一个麻烦——从特征匹配到位姿求解的整个过程包含最近邻搜索、RANSAC随机采样、PnP求解等操作这些操作要么不可导要么梯度噪声极大没法直接端到端训练。2.3 Gauss-Newton近似的思路论文的突破口在于虽然完整的特征→位姿过程不可导但我们可以用Gauss-Newton迭代的思路来构造一个可导的代理损失。Gauss-Newton方法本身是求解非线性最小二乘问题的经典算法。它和牛顿法的区别在于牛顿法需要计算目标函数的Hessian矩阵计算成本高且数值不稳定Gauss-Newton用残差的雅可比矩阵来近似Hessian形式是J^T J。这个近似的成立条件是残差比较小目标函数接近二次型——恰好是重投影误差在匹配正确时的情况。论文的巧妙之处在于把网络提取的特征看作Gauss-Newton迭代中的一个中间变量通过展开迭代过程构造出一个既包含几何残差、又保持可导性的损失函数。简单说就是告诉网络你现在生成的特征如果拿来做一个Gauss-Newton迭代步骤应该让位姿误差下降多少。网络在训练中被强制去优化这个目标学出来的特征自然就带有几何一致性。2.4 GNN-Loss如何把位姿误差灌进特征学习具体实现上GNN-Loss会对每个匹配点都计算一个带权重的重投影误差项。权重不是固定的而是由网络预测的匹配置信度决定。高质量匹配贡献更大低质量匹配会被压低权重避免带偏训练方向。这里最值得品味的设计是损失函数的形式不是简单把所有残差加起来而是通过Gauss-Newton近似把残差之间的相关性考虑进去。每个残差并不是独立的它们共享同一个相机位姿参数所以更新特征时需要考虑所有残差联合作用效果。这种联合建模让梯度更新方向比逐点独立的损失更接近真实的位姿空间下降方向。用一句话概括GNN-Loss的本质它把特征好不好的定义从特征空间里干不干净改成了拿去做位姿估计准不准。这个视角转换看起来只是损失函数形式的变化实际效果却是网络学习目标的根本性重构。3. GN-Net整体框架DesNet与动态采样策略3.1 DesNet的结构设计GN-Net中的特征提取网络叫DesNet结构上是一个编码器-解码器架构类似语义分割里常用的U-Net形态。输入是RGB图像如果训练数据里有深度信息也可以把深度图作为一个额外输入通道帮助网络建立几何感知。输出是逐像素的特征向量每个像素对应一个高维描述子。这里有一个工程上的取舍输出特征图的分辨率不需要和原图完全一致。把特征图下采样到原图的1/4或1/8可以显著减少后续特征匹配的计算量同时保留足够的空间精度用于位姿估计。实际训练中特征维度通常会设置在64维到128维之间这个维度要在判别力和计算开销之间取得平衡。我在看这篇论文时特别注意到了一个细节DesNet的瓶颈部分没有采用全局池化而是保留了空间分辨率。这和图像分类网络的设计思路截然不同——重定位任务需要保留像素级的局部对应关系全局池化会把空间信息全部抹掉因此绝不适用。3.2 动态采样策略的具体实现多天气数据集有一个天然的问题数据分布极不平衡。晴天的图像对质量高、匹配容易雨天的图像对匹配率低、训练难度大。如果按均匀分布采样训练样本模型会把大部分容量花在学习好天气上对坏天气的拟合严重不足。论文提出的动态采样策略本质上是一种针对重定位任务的困难样本挖掘。具体做法分几步在每个训练周期开始前用当前的DesNet对每个图像对计算一次特征匹配率把匹配率低的图像对标记为困难样本按照匹配率的倒数或者指数函数构造采样概率分布在构造mini-batch时从这个分布中采样图像对。这种策略的效果有点像教师学生机制——网络自己判断哪些样本对它来说还很难然后集中火力去攻克。实测中动态采样能让雨天、夜晚样本在训练中占的比例从被动边缘化变为主动强化模型在整个天气范围内都表现得更加均衡。3.3 训练流程的完整梳理把整个训练流程串起来看GN-Net的训练逻辑是相当清晰的。每轮训练中先采样一个包含各种天气条件的mini-batch对每个图像对用DesNet提取特征计算特征匹配和GNN-Loss同时利用动态采样策略反馈当前网络的困难样本分布反向传播更新DesNet参数。训练过程中有两个需要注意的细节一是动态采样的概率分布不能更新得太频繁否则训练会变得不稳定论文的实践是每个epoch更新一次二是GNN-Loss中的置信度预测分支要防止过拟合到所有样本都给出低置信度的退化解上需要引入合适的正则化约束。4. 从训练到部署推理pipeline与工程细节4.1 特征检索与位姿求解流程训练好DesNet后推理阶段的流程可以分为四个步骤。第一步用DesNet提取查询图像的特征图第二步在预先构建的特征地图中检索每个像素的最近邻特征得到2D-2D匹配第三步结合特征地图中存储的3D点坐标建立2D-3D对应关系第四步用RANSAC配合EPnP或P3P算法求解相机位姿。这个流程并不复杂但每个环节都有值得打磨的地方。特征检索阶段如果地图特征量很大逐像素找最近邻的计算量是惊人的。实际部署通常需要用GPU矩阵乘法批量计算相似度或者用乘积量化做特征库压缩把检索延迟压到毫秒级。RANSAC阶段由于多天气场景下不可避免地存在误匹配内点阈值和迭代次数需要根据天气情况做自适应调整。我在实践里踩过的坑是固定阈值在晴天表现良好到雨天上误匹配率升高后固定阈值会导致内点集合中包含大量错误匹配反而需要适当降低阈值并增加迭代次数。4.2 工程部署中的几个关键问题第一个问题是深度信息的获取。原始方法设计时假设可以拿到深度图来帮助构建2D-3D对应。但在很多真实机器人平台上只有单目相机没有深度传感器。这种情况下需要依靠场景地图中已有的3D结构或者用多视角三角化来补全。第二个问题是特征地图的更新。长期部署的场景中场景本身会发生细微变化比如临时停放的车、新增的路障。如果特征地图是静态的这些变化会成为重定位的干扰项。一个可行的办法是定期用高置信度的重定位结果反向更新特征地图。第三个问题是计算资源约束。DesNet虽然是卷积网络但在嵌入式平台上跑一次前向推理仍然需要一定的算力。如果机器人本身还要同时跑检测、跟踪、规划等多个模型特征提取的延迟会成为系统瓶颈。量化蒸馏是这里比较实用的加速手段。5. 实验怎么看多天气数据集的评测结果与消融5.1 评测协议与主要结果论文的实验设计覆盖了仿真数据和真实数据两个层面。仿真数据的价值在于可以精确控制天气类型和光照条件生成具有真值位姿的严格对照实验真实数据则用来验证方法在开放场景中的实际泛化能力。从主要结果看GNN-Loss带来的提升在两个维度上都很明显一是位置误差二是旋转误差。在最具挑战性的雨天和夜间场景下采用GNN-Loss训练的模型比采用常规分类损失的基线模型位姿误差有明显下降。更值得注意的是论文报告了在多个天气类别上的误差分布GNN-Loss不只是让雨天变好了而是一并让晴天的性能也维持在较高水平没有出现修炼了困难样本、丢掉了简单样本的跷跷板效应。5.2 消融实验的关键发现消融实验是这篇论文最有信息量的部分。把GNN-Loss替换成普通的分类损失后再训练模型在晴天还能维持基本性能但雨天和夜晚的误差显著升高。这说明GNN-Loss确实把几何约束有效地传递到了特征学习中。去掉动态采样策略后整个模型的平均误差小幅上升但仔细观察会发现雨天和夜晚的误差分布明显恶化。说明动态采样对多天气模型的重要性不只是锦上添花而是确保长尾天气不被淹没的关键组件。还有一个有价值的对比是把GNN-Loss换成简单的重投影误差损失不带Gauss-Newton近似效果也不理想。这说明Gauss-Newton近似中考虑残差联合相关性不是可有可无的修饰它对训练稳定性和最终精度都有实质贡献。6. 局限性与后续方向哪些坑还没有填6.1 方法的局限性GNN-Loss最显著的局限在于对训练数据的要求比较高。每个训练样本都需要精确的位姿真值而且为了覆盖多天气场景数据采集需要在不同天气条件下重复进行。这就带来一个矛盾多天气重定位系统恰恰是那些不容易反复采集数据的复杂环境才最需要而论文方法的训练成本又要求大量带真值的数据。另一个局限是RANSAC求解阶段和网络训练阶段是分离的。训练时用GNN-Loss让特征匹配变好推理时仍然依赖RANSAC的随机采样来找内点这两者之间的衔接并非最优。RANSAC的随机性可能导致同一张图像多次推理的结果有微小差异在一些对位姿稳定性要求极高的场景里这是个隐患。还有一点必须承认对于极端恶劣天气比如暴雨或暴雪视觉传感器本身可能已经失效镜头上全是水珠或积雪任何特征学习方法都无济于事。这类场景需要多传感器融合来解决不能指望纯视觉方案单独扛下来。6.2 值得跟进的研究方向顺着GNN-Loss的思路往后看有一个很自然的演进方向是让特征匹配到姿态估计的全过程都变成可微的取消RANSAC这种离散模块。后来一些工作尝试用可微的加权最小二乘来替代RANSAC把内点选择也纳入端到端训练思路和GNN-Loss一脉相承。另一个值得探索的方向是自监督化。既然多天气数据集的标注成本高那能不能利用时序相邻帧之间的位姿一致性把连续视频序列本身作为监督信号比如让网络学会相邻帧同一位姿对应的特征应该一致通过这种对比约束绕过对真值位姿的依赖。多模态融合也是一个明显的发力点。在多天气场景下IMU不受光照影响毫米波雷达不受雨雾影响把视觉特征和这些模态的特征在同一个几何损失框架下联合优化可能是实现全天候重定位的现实路径。最后再分享一点个人体会把这篇论文反复读了几遍我自己最大的收获其实不在GNN-Loss的具体形式上而在于它提供了一个很关键的视角训练特征网络时不要只盯着特征空间里的距离和分类要时刻记得这个特征最终是要拿去解几何问题的。很多在特征空间里看起来漂亮的约束换到位姿空间里可能毫无意义。我自己后来在设计一些匹配相关的损失函数时都会先问一句这个损失和最终的几何误差到底是怎么关联的如果没有明确答案那这个损失大概率是在自娱自乐。另外想给准备复现这篇工作的同学提个醒多天气数据的构建是决定成败的前置条件。不要指望在纯晴天数据上训练然后靠损失函数硬扛雨天。GNN-Loss解决的是给定多天气训练数据后如何高效地学到跨天气特征的问题而不是没有多天气数据也能凭空泛化的问题。数据采集阶段多下功夫后面的训练和调优才会真正省心。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑