<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>计算机视觉 | 聂畅</title><link>https://changnie.top/zh/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/</link><atom:link href="https://changnie.top/zh/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/index.xml" rel="self" type="application/rss+xml"/><description>计算机视觉</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>zh-Hans</language><lastBuildDate>Sat, 14 Sep 2024 10:33:19 +0000</lastBuildDate><image><url>https://changnie.top/media/icon_hu_3dd7560279821d57.png</url><title>计算机视觉</title><link>https://changnie.top/zh/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/</link></image><item><title>LNR：通过学习邻域实现鲁棒多模型拟合</title><link>https://changnie.top/zh/publications/lnr/</link><pubDate>Sat, 14 Sep 2024 10:33:19 +0000</pubDate><guid>https://changnie.top/zh/publications/lnr/</guid><description>&lt;h2 id="多结构并存下的最小集组合爆炸为什么盲目随机选取几乎注定选错"&gt;多结构并存下的最小集组合爆炸：为什么盲目随机选取几乎注定选错&lt;/h2&gt;
&lt;p&gt;在几何视觉与机器人建图中，多模型拟合（Multi-Model Fitting）要解决的是物理世界中最普遍的混叠现实：场景中往往同时存在数十个不同的几何图元（如多堵交错的墙面、多条道路边缘、多个运动物体的轨迹），且这些结构被淹没在海量的传感器噪声与未匹配外点之中。&lt;/p&gt;
&lt;p&gt;在经典几何鲁棒估计中，求解一个基础几何模型只需要极其精简的离散数据点。这就是所谓的“最小样本集（Minimum Sample Set）”——例如在二维空间拟合一条直线只需要 $m=2$ 个点，在三维空间拟合一个平面需要 $m=3$ 个点，求解双视图基础矩阵需要 $m=8$ 对对应点。&lt;/p&gt;
&lt;p&gt;如果沿用传统 RANSAC 的均匀随机采样策略，系统会假设每一次无偏抽取都有合理的概率命中正确内点。然而，一旦场景从“单模型”切换到“多模型交织”，这种盲目抽样的数学期望就会发生灾难性的指数坍缩：&lt;/p&gt;
&lt;p&gt;设场景中存在 $K$ 个不同的真实结构，若盲目从全部观测中随机抽取两个点，这两个点要么分别属于两个完全无关的物理结构，要么其中至少有一个是环境野点。随着交叠结构的增多与外点率的上升，随机抽取的样本对“恰好全部落在同一个合法结构上”的几率微乎其微。每一组错误的最小采样集，却依然要耗费算力调用底层的代数求解器并执行全量几何残差打分。算力绝大部分都被白白浪费在这些先验即错的候选假设上，这是传统采样机制在多模型场景下的结构性瓶颈。&lt;/p&gt;
&lt;p&gt;而如果采用贪心迭代剔除（例如 Sequential RANSAC 先拟合一个模型、剔除其内点再重新开始），又会陷入硬聚类的陷阱：现实中相邻结构往往在交界处共享观测，贪心剔除使得共享观测被前序模型独占，导致紧邻模型失去几何支撑而直接被漏检。&lt;/p&gt;
&lt;p&gt;还有三条约束决定了我们最终的做法。方法必须在不知道模型数量的前提下工作，这就排除了一整类把模型数当作输入的方案。速度要能实用。最后，它得能迁移到别的任务，因为每换一个问题就要重新设计一遍的拟合器，算不上通用工具。&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-学习只落在两个决策点上其余仍是经典流程"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="粗层在求解器看到它们之前筛掉最小集，细层对存活下来的假设做细化并评分。"
srcset="https://changnie.top/publications/lnr/pipeline_hu_be90a93e669e40d2.webp 320w, https://changnie.top/publications/lnr/pipeline_hu_f73f8df08ced02a8.webp 480w, https://changnie.top/publications/lnr/pipeline_hu_1c5eca38f8c6937b.webp 768w, https://changnie.top/publications/lnr/pipeline_hu_e2e0b360bb520386.webp 1024w, https://changnie.top/publications/lnr/pipeline_hu_5d3bdd6acc180ebc.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/lnr/pipeline_hu_be90a93e669e40d2.webp"
width="1080"
height="561"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/lnr/pipeline_hu_2f7965245a0e0ae8.webp" target="_blank" rel="noopener"&gt;查看原图 ↗&lt;/a&gt;
&lt;figcaption&gt;学习只落在两个决策点上，其余仍是经典流程。&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="真正出问题的四件事"&gt;真正出问题的四件事&lt;/h2&gt;
&lt;p&gt;我们把问题拆成四种失效情形，方法的每个部件各回答其中一种。&lt;/p&gt;
&lt;p&gt;第一，几何特征没有被充分利用。现有方法要么依赖人工设计的判据，只看得到几何信息的一部分；要么是神经网络，从头到尾没有显式地看过几何。&lt;/p&gt;
&lt;p&gt;第二，噪声带来的低效优化。大量求解器调用，花在从一开始就没有希望的点集上。&lt;/p&gt;
&lt;p&gt;第三，模型重叠。这是拟合一个模型与拟合多个模型的根本差别，而多数形式化描述连把它表达出来都做不到。&lt;/p&gt;
&lt;p&gt;第四，流程不可微。离散的最小集采样和任务专用的最小求解器都处在流程中间，两者都没有梯度。想把基于学习的方法接进来，难就难在这里。仅有的两条绕行路线都不好用：拿可微的松弛替换精确求解器，等于把求解器弄丢了；改用策略梯度估计，就得接受方差。&lt;/p&gt;
&lt;h2 id="已有方法没能解决的问题"&gt;已有方法没能解决的问题&lt;/h2&gt;
&lt;p&gt;贪心的单模型扩展带着上面说的硬归属问题。MultiRANSAC 每次迭代拟合 K 个模型而不是一个，这就要求 K 事先已知；K 一大，计算上就变得不划算，因为一次迭代里同时找出好几个好模型本身就很难。&lt;/p&gt;
&lt;p&gt;迭代式假设生成是更精细的一类，共同的毛病是时间上的耦合。每个新模型都建立在前几轮的结果之上，随着流程推进，误差会沿着模型重叠处层层累积。我们自己的消融实验如实记录了这里的取舍：把更强的学习式采样器换进 LNR，精度上去了，整个过程也明显变慢。我们主动选了代价小的那一边，并且把代价写在论文里。&lt;/p&gt;
&lt;p&gt;聚类式方法，包括偏好集聚类和把最小集判为有效或无效的网络，在各自针对的问题上表现不错，却没有考虑数据的复用。评估一个假设时得到的信息，不会带到另一个假设的评估里去。&lt;/p&gt;
&lt;p&gt;还有一类方法用全局能量函数替换采样启发式，能量由几何误差和聚类规整项构成；也有人用归属能量的凸松弛，或者在超图上做模式搜索。这些形式化在构造上就能处理重叠，代价是所用代价函数足够复杂，复杂到未必能充分利用数据里真实存在的几何信息，迁移到多样而复杂的场景时效果因此受限。&lt;/p&gt;
&lt;p&gt;利用并行计算的高效采样方法很强，但它们需要把实例数量当作先验，适用范围受限。&lt;/p&gt;
&lt;p&gt;最后是端到端深度方法，精度不错，以黑箱方式工作。这对可靠部署来说是实打实的障碍，也正是我们不想造的东西。&lt;/p&gt;
&lt;h2 id="在决策点上学习以数据点为条件"&gt;在决策点上学习，以数据点为条件&lt;/h2&gt;
&lt;p&gt;我们的做法是把经典流程原封不动保留下来，只把学习放到真正做决策的地方：求解之前，决定哪些最小集值得占用一次求解器调用；求解之后，决定每个假设该往哪里动、它又有多好。&lt;/p&gt;
&lt;p&gt;关键的设计选择是网络以什么为条件。所有被学习的量都是数据点几何特征的函数，与假设参数无关。正因如此，采样器和求解器才能留在流程里，在前向过程中作为不可微的黑箱存在，不需要任何梯度穿过它们。&lt;/p&gt;
&lt;p&gt;这里需要说准确，因为很容易讲过头。求解器在训练中是参与了的：两个分类器的标签都来自把求解得到的假设与真值实例作比较，粗层的标签也来自对采样集合的求解。没有发生的事情，是穿过求解器或采样器反向求导。两者只走前向。&lt;/p&gt;
&lt;p&gt;每个点先用 Fourier 特征映射提升空间频率的编码能力，再经过以逐点卷积实现的共享多层感知机，最后最大池化成全局描述子。逐点特征与全局特征拼接成 256 维向量，其中局部 128 维、全局 128 维，于是每个点既带着自己的局部几何，也带着对整个场景的一份概括。粗层模块需要这种整体视角；后来我们发现，细层模块并不需要。&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-一个点可以同时为多个假设提供证据重叠因此可以被表达"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="有些观测同时属于两个模型，表征必须容许这一点。"
srcset="https://changnie.top/publications/lnr/multi-line-results_hu_4c7c5dbbe18069f4.webp 320w, https://changnie.top/publications/lnr/multi-line-results_hu_96860f218d372428.webp 480w, https://changnie.top/publications/lnr/multi-line-results_hu_785cd933f1a76fc1.webp 768w, https://changnie.top/publications/lnr/multi-line-results_hu_5cb6560ba450474a.webp 1024w, https://changnie.top/publications/lnr/multi-line-results_hu_b8b95fb407a4088f.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/lnr/multi-line-results_hu_4c7c5dbbe18069f4.webp"
width="1080"
height="793"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/lnr/multi-line-results_hu_a16899d588b41d7a.webp" target="_blank" rel="noopener"&gt;查看原图 ↗&lt;/a&gt;
&lt;figcaption&gt;一个点可以同时为多个假设提供证据，重叠因此可以被表达。&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="求解之前先筛选"&gt;求解之前先筛选&lt;/h2&gt;
&lt;p&gt;粗层模块随机抽取大量最小集，数量刻意取得偏多，以保证覆盖足够广，然后为每个集合预测一个置信度。只有得分最高的那些能走到求解器面前。&lt;/p&gt;
&lt;p&gt;这里有两件事值得展开。第一，采样为什么一直保持随机，而没有变成迭代式。随机采样避开了迭代式生成器那种误差累积，也能保住对整个观测集合的覆盖。这是务实的折中，不是最优解，我们在文中也这么写了。&lt;/p&gt;
&lt;p&gt;第二，置信度按二分类问题来训练，这意味着模块学会了挑选有希望的最小集，却不需要任何显式的退化检验。经典流程会写死若干检查来拒绝退化构型（degenerate configuration）；在这里，拒绝是从求解结果与真值的比较里学出来的。我们把一条手写规则换成了一条学出来的规则，好处在于它随数据改变，而不随写规则的人改变。&lt;/p&gt;
&lt;p&gt;去掉粗层模块，性能掉得很明显，因为细层网络应付不了那样堆积起来的候选数量。分开预训练粗层、而不是两层联合训练，效果同样更差，原因正是整套训练设计里最有意思的地方。&lt;/p&gt;
&lt;h2 id="用邻域判断一个假设"&gt;用邻域判断一个假设&lt;/h2&gt;
&lt;p&gt;对每一个存活下来的假设，我们划出一块邻域（neighbor region）：在某个任务相关的距离度量下离它足够近的那些数据点。直线用欧氏距离，消失点用方向距离，平面用重投影误差，运动用归一化极线约束。邻域内的点先被编码，再把每个点到该假设的残差拼接到它自己的特征上，点数不足的邻域用零填充以便批处理，最后由两个头读取结果。&lt;/p&gt;
&lt;p&gt;一个头预测的是增量，不是一个完整的模型。直线任务里，它预测两个端点各挪一点点；消失点、单应或者基础矩阵任务里，它预测一个对应的调整量，这个调整量直接加到粗层假设上。网络从不凭空造模型。核对并修正一个猜测，比从零生成一个要容易，所以生成交给经典求解器，修正交给网络。&lt;/p&gt;
&lt;p&gt;另一个头预测评分。论文在这里的立场常常让人意外：一致性最大化并不偏向最好的那个模型。内点计数是衡量假设质量的标准代理指标，模型一旦重叠，它就是错的代理指标。取而代之的，是从假设周围的数据里学出评分。&lt;/p&gt;
&lt;p&gt;邻域表征也是重叠之所以能被表达的原因。两条相交直线在交点附近共享一块邻域，那里的点同时落在两个邻域内部，为两个假设都提供证据。整个流程里没有任何地方做硬归属。&lt;/p&gt;
&lt;p&gt;细层模块还刻意丢掉了粗层所依赖的全局上下文。细化单个假设时，局部细节更有用；全局信息会带进来许多无关细节，反而拖慢这件事。同一个特征在筛选时帮忙，在细化时添乱。这种不对称是一条可以复用的由粗到细原则，也说明两个模块不能简单看作同一个网络跑了两遍。&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-细层依据假设周围的观测打分而不是只看假设参数"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="消失点在球面上接受评分，那里的几何接近就意味着相似。"
srcset="https://changnie.top/publications/lnr/vanishing-points_hu_b356f243a44d4b97.webp 320w, https://changnie.top/publications/lnr/vanishing-points_hu_270d6fb37b9afbac.webp 480w, https://changnie.top/publications/lnr/vanishing-points_hu_f7d8b847151d73e0.webp 768w, https://changnie.top/publications/lnr/vanishing-points_hu_270eeae10cd1a56f.webp 1024w, https://changnie.top/publications/lnr/vanishing-points_hu_f2af219f03304c8.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/lnr/vanishing-points_hu_b356f243a44d4b97.webp"
width="1080"
height="409"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/lnr/vanishing-points_hu_f9346589774999e3.webp" target="_blank" rel="noopener"&gt;查看原图 ↗&lt;/a&gt;
&lt;figcaption&gt;细层依据假设周围的观测打分，而不是只看假设参数。&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="决定场景里有几个模型"&gt;决定场景里有几个模型&lt;/h2&gt;
&lt;p&gt;打过分的假设是冗余的。好几个假设描述的是同一个结构，而答案里它只该出现一次。我们把目标检测里的非极大值抑制（non-maximum suppression, NMS）搬到这个场景，把交并比换成几何意义上的相似度：直线看端点距离和夹角，消失点看高斯球面上的邻近程度，单应和基础矩阵则看逐点距离向量之间的相似度。&lt;/p&gt;
&lt;p&gt;决定场景里有多少个模型的，也是这套机制。模型数量是抑制过程的输出，而不是方法的输入，这正是我们一开始就想要的效果。&lt;/p&gt;
&lt;h2 id="两个模块如何互相训练"&gt;两个模块如何互相训练&lt;/h2&gt;
&lt;p&gt;三个损失。粗层置信度和细层评分都用二元交叉熵，标签由候选与真值实例的相似度导出。细化头用 Smooth L1 目标函数监督参数增量。&lt;/p&gt;
&lt;p&gt;需要解释的是两层之间的耦合。细层的损失会回传到粗层模块，于是选择器学到的是优先挑那些细层能处理得动的假设，而不只是去匹配一个预先定好的标签。两个模块共享编码后的邻域特征，梯度通路就是靠这一点存在的。联合训练优于预训练粗层，原因在于细层的信号重新定义了粗层眼里什么算好。&lt;/p&gt;
&lt;p&gt;消融实验里还有一条我们事先没想到的观察。只用更难的场景训练，也就是画面里直线更多的那种，效果与用简单场景训练持平，甚至更好。我们把它归因于数据变化更大，起到了正则化的作用。用来对照的基线采样器上，同样的效应也出现了，只是弱一些。&lt;/p&gt;
&lt;h2 id="我们从中得到什么"&gt;我们从中得到什么&lt;/h2&gt;
&lt;p&gt;让学习和不可微部件解耦，靠的是换掉网络的条件，而不是把它们变可微。这份克制是本文方法上最强的表态，也正是精确求解器得以保留的原因。&lt;/p&gt;
&lt;p&gt;选择器要对下游的兼容性负责，而不是只对着自己的代理标签优化。预训练会丢掉联合训练能保住的信息。&lt;/p&gt;
&lt;p&gt;一致性不等于质量。模型重叠的时候，内点计数是错的度量；把它当成对的，模型就会被少算。&lt;/p&gt;
&lt;p&gt;一个特征的价值取决于它出现在哪个阶段。全局上下文对筛选有利，对细化有害。&lt;/p&gt;
&lt;p&gt;还要把多实例做进结构里。如果接口规定每个点只能进一个模型，那么无论怎么训练，都表达不了两个。&lt;/p&gt;
&lt;h2 id="它假设了什么"&gt;它假设了什么&lt;/h2&gt;
&lt;p&gt;两个分类器需要真值实例作为监督。在没有真值模型的领域里表现如何，我们没有刻画。&lt;/p&gt;
&lt;p&gt;邻域半径和采样预算是任务相关的量，除了说它们会随任务变化，我们没给出设定办法；抑制阈值同样没有写出来。&lt;/p&gt;
&lt;p&gt;跨任务迁移意味着要重新推导四个任务相关的部件：邻域的距离度量、求解器、细化的参数化方式，以及抑制时的相似度。这些是针对每个任务的实际工程工作，我们不宣称零样本迁移。&lt;/p&gt;
&lt;p&gt;面对长度不一的邻域，零填充是我们唯一的办法；点很少的邻域会不会因此被稀释，我们没有考察。&lt;/p&gt;
&lt;p&gt;随机采样是折中，不是最优。我们自己的消融显示，更强的采样器能提高精度；而一个便宜的学习式采样器能否两头兼顾，我们没有给出答案。&lt;/p&gt;
&lt;h2 id="为什么保留两段式流程"&gt;为什么保留两段式流程&lt;/h2&gt;
&lt;p&gt;保留既有的两段式策略，理由很具体：可解释性。数值方法天生可解释，适用范围也界定得清楚，缺点在于难以充分利用数据的几何特征。端到端深度方法表现很好，却说不清自己是怎么得到结果的。&lt;/p&gt;
&lt;p&gt;LNR 保留了流程，输出就是显式的几何模型。网络接受通用的无序点集，图像对应、三维点云和像素坐标都包含在内；损失作用在几何特征上，而不作用在假设上。正是这一点，让它能和各种各样的求解器与采样过程兼容，可微与否都不影响。&lt;/p&gt;
&lt;p&gt;我们给自己定的目标刻意不高。希望它为用学习的方式处理多模型拟合带来一点新想法；比起一个精度说不清来由的方法，我们更愿意要一个行为经得起追问的方法。&lt;/p&gt;</description></item><item><title>DiffSAC：扩散引导的采样一致性鲁棒估计</title><link>https://changnie.top/zh/publications/diffsac/</link><pubDate>Sat, 31 Aug 2024 11:15:11 +0000</pubDate><guid>https://changnie.top/zh/publications/diffsac/</guid><description>&lt;h2 id="昂贵的地方不在采样而在无效假设的验证"&gt;昂贵的地方不在采样，而在无效假设的验证&lt;/h2&gt;
&lt;p&gt;在三维视觉与机器人状态估计中，从带有大量噪声和外点（Outliers）的观测数据中解算几何模型，采样一致性（Sample Consensus, RANSAC）历经四十余年依然是无可替代的工业标准。然而，这一经典范式存在一个往往被工程实践默认承受的结构性沉重代价：&lt;strong&gt;候选最小集的生成是廉价的，但对每一个候选模型进行全局外点检验却是极其昂贵的&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;在几何估计中，最小集（Minimal Sample Set）是指能够唯一确定模型参数所需的最少观测数量：拟合空间直线需要 2 个点，拟合三维平面需要 3 个点，估计单应性矩阵（Homography）需要 4 对对应点，而在双视图几何中求解基础矩阵（Fundamental Matrix）通常需要 8 对对应特征点（或 7 对）。经典 RANSAC 依赖全局均匀随机抽样。根据几何概率统计，若数据集中外点比例为 $\epsilon \in (0, 1)$，最小集规模为 $s$，为了以概率 $p$（通常取 0.99）至少抽中一组全内点组合，所需的理论迭代采样次数为：&lt;/p&gt;
$$K = \frac{\ln(1 - p)}{\ln\left(1 - (1 - \epsilon)^s\right)}$$&lt;p&gt;当外点比例温和时，计算尚可接受；但一旦面临恶劣的野外感知或低纹理重复场景，外点比例飙升至 80% 甚至 90% 时，组合数发生灾难性爆炸。在求解 $s=8$ 的基础矩阵且 $\epsilon = 0.8$ 时，全内点组合被命中的先验概率仅为 $(0.2)^8 \approx 2.56 \times 10^{-6}$，理论上需要执行超过 &lt;strong&gt;180 万次迭代&lt;/strong&gt;。即便在工程中硬性截断迭代预算为几千次，绝大多数算力也彻底耗费在解算那些从物理上就注定错误的模型，并在数千个观测点上反复计算投影误差。&lt;/p&gt;
&lt;p&gt;不仅如此，随机均匀采样对几何退化完全无感。两对空间距离极近的特征点，其局部坐标可能高度精准，但在数值上却构成病态的超短基线；三维空间中几乎共面的四个点，在求解双视图对极几何时会导致退化解。均匀采样从不考虑一组点作为一个整体的联合几何相容性，盲目抽样的结果就是绝大部分候选集合在进入代数求解前就已经是无效组合。&lt;/p&gt;
&lt;h2 id="既有改进方法的得与失"&gt;既有改进方法的得与失&lt;/h2&gt;
&lt;p&gt;为了让最小集的提议更加高效，过去二十余年学术界沿着多个方向进行了深耕，但各自保留了难以回避的局限：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;先验排序与局部邻域启发式&lt;/strong&gt;：PROSAC 根据特征匹配的局部质量分数（如匹配距离比值）建立排序，优先从高分候选池中抽样；NAPSAC 与 Progressive NAPSAC 则假设内点在欧氏空间中呈现局部聚集特性，限制在空间小球邻域内抽取组合。这类启发式方法在结构化场景下确实能加快收敛，但其缺陷在于：特征匹配质量高并不保证几何分布不退化，而强行限制在局部邻域则极易丢掉跨越大视场的全局长基线约束，在重复纹理（如建筑物玻璃幕墙、地面地砖）产生虚假局部一致性时彻底失效。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;假设后处理与局部优化&lt;/strong&gt;：LO-RANSAC、GC-RANSAC 与 MAGSAC++ 反其道而行之。它们放弃对前序采样提议的干预，转而专注于在发现一个初具雏形的候选假设后，通过图割（Graph Cut）、局部内点加权或连续阈值边缘化来精修模型参数。这些后处理算法极其优异，并且我们在最终系统中也兼容了它们；然而，它们从根本上没有触碰“如何在千万级外点中以极少代价命中第一个高质量候选”这一核心瓶颈。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;端到端可微深度估计（DSAC 系列）&lt;/strong&gt;：DSAC 及其后续工作将离散的假设选择过程松弛化为可微概率分布，使得深度神经网络能够端到端反向传播梯度。这一思路在学术上极为优美，但在工程落地中面临严重的黑箱困境：神经网络内部直接隐式回归模型参数或潜空间权重，一旦在真实自动驾驶或 SLAM 运行中输出严重偏移的位姿，工程团队无法通过残差追溯究竟是哪几个特征点引发了数值漂移，缺乏工业级系统所必须的安全可解释性与故障排查接口。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;正是在这一背景下，我们提出了一个直接的问题：&lt;strong&gt;能否把最小集的获取过程，从被动的盲目抽样转变为目标导向的条件概率生成？&lt;/strong&gt; 我们并不试图用神经网络替代底层的经典代数求解器，而是让学习模型专门承担最困难的任务——直接生成极高质量的候选最小集。&lt;/p&gt;
&lt;h2 id="生成候选集合而非被动试错"&gt;生成候选集合，而非被动试错&lt;/h2&gt;
&lt;p&gt;DiffSAC 的核心构想是：把鲁棒估计中的采样步骤重塑为几何条件扩散模型（Geometry-Conditioned Diffusion Model）的逆向采样过程。如果神经网络能够学习到“在当前观测点云下，能够成功解算出正确模型的有效最小集”的后验概率分布，那么在推理时，我们只需从该分布中生成极少量的候选集合（例如 10 到 20 个），每一个候选组合都具备极高全内点概率与良好条件数，随后交由确定性的经典求解器与共识函数进行评估。&lt;/p&gt;
&lt;p&gt;这在概念上与文本生成图像（Text-to-Image Diffusion）形成了有趣的映射：一段文本提示词可以生成多张构图合理但细节略有不同的高质量图像，用户可以从中挑选最完美的一张；同样，DiffSAC 针对同一批几何观测输入，通过注入不同的高斯初始噪声，并行生成数十组各具特色但全部物理合法的最小集候选。&lt;/p&gt;
&lt;p&gt;这种设计巧妙规避了传统生成扩散模型在机器人学中遭遇的高延迟批评。在图像生成中，扩散模型必须去噪百万级的像素张量；而在 DiffSAC 中，每个几何观测点仅对应一个连续的标量置信度（Confidence Scalar）。对于包含数千个特征点的场景，整个扩散向量的维度仅为数千维，结合高阶快速数值求解器，整套扩散逆向过程在主流 GPU 上的耗时能够被严格控制在十余毫秒以内，其节约的巨额代数解算与外点残差验证开销，在计算预算上构成了高度划算的代换。&lt;/p&gt;
&lt;p&gt;关键的理论抽象在于：&lt;strong&gt;这个连续置信度标量代表什么？&lt;/strong&gt; 我们打破了传统方法将置信度定义为“单个点自身是否为内点”的局限，而是将其严格定义为“该观测点是否与其他被选中的点协同构成一个优良最小集”的集合级联合相容属性。&lt;/p&gt;
&lt;h2 id="条件扩散过程与数学形式化"&gt;条件扩散过程与数学形式化&lt;/h2&gt;
&lt;p&gt;设输入的几何观测集合为 $\chi = \{x_i, d_i\}_{i=1}^N$，其中 $x_i \in \mathbb{R}^d$ 表示观测的几何坐标（例如特征点的二维图像坐标或三维空间点），$d_i \in \mathbb{R}^{d_f}$ 表示局部外观描述子向量（如 SuperPoint 或 SIFT 特征）。&lt;/p&gt;
&lt;p&gt;记定义在观测集合上的真实置信度目标场为 $\boldsymbol{c}_0 \in [0, 1]^N$。在连续时间扩散框架下，前向加噪过程定义了在时间步 $t \in [0, 1]$ 下将 $\boldsymbol{c}_0$ 逐步扰动为高斯白噪声的伊藤随机微分方程（SDE）：&lt;/p&gt;
$$\mathrm{d}\boldsymbol{c}_t = \boldsymbol{f}(\boldsymbol{c}_t, t)\mathrm{d}t + g(t)\mathrm{d}\boldsymbol{w}$$&lt;p&gt;其对应的逆向逆时去噪过程则由概率流常微分方程（Probability Flow ODE）确定：&lt;/p&gt;
$$\mathrm{d}\boldsymbol{c}_t = \left[ \boldsymbol{f}(\boldsymbol{c}_t, t) - \frac{1}{2} g(t)^2 \nabla_{\boldsymbol{c}_t} \log p_t(\boldsymbol{c}_t \mid \chi) \right] \mathrm{d}t$$&lt;p&gt;其中条件得分函数 $\nabla_{\boldsymbol{c}_t} \log p_t(\boldsymbol{c}_t \mid \chi)$ 由参数化去噪神经网络 $\boldsymbol{s}_\theta(\boldsymbol{c}_t, t, \chi)$ 进行拟合。整个去噪演变以几何观测 $\chi$ 为硬条件，使得置信度的细化过程受到真实三维对极几何与空间法向的强力引导，而非在无约束流形上盲目游走。&lt;/p&gt;
&lt;p&gt;在训练阶段，我们采用真值几何模型生成理想的监督信号 $\boldsymbol{c}_0$：对于给定的真值模型，系统在所有真值内点中随机检索出与模型数值相容的最小集，将入选观测的置信度标定为 1，其余所有点标定为 0。去噪网络采用直接预测干净场 $\hat{\boldsymbol{c}}_\theta(\boldsymbol{c}_t, t, \chi)$ 的 $x_0$-参数化目标，以均方误差损失函数进行端到端优化：&lt;/p&gt;
$$\mathcal{L}_{\text{diff}}(\theta) = \mathbb{E}_{t, \boldsymbol{c}_0, \boldsymbol{\epsilon}}\left[ \left\| \hat{\boldsymbol{c}}_\theta(\boldsymbol{c}_t, t, \chi) - \boldsymbol{c}_0 \right\|_2^2 \right]$$&lt;p&gt;在这一目标下，网络被迫学习在含噪置信度场中捕捉哪些点组合在一起能够消除代数奇异性。&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-前向污染提供训练目标逆扩散生成候选最小集"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="含噪置信度场被细化为几何条件采样提议。"
srcset="https://changnie.top/publications/diffsac/confidence-diffusion_hu_3f620701b2327d9.webp 320w, https://changnie.top/publications/diffsac/confidence-diffusion_hu_fa0a8302f25b041d.webp 480w, https://changnie.top/publications/diffsac/confidence-diffusion_hu_2130be9b289377d0.webp 768w, https://changnie.top/publications/diffsac/confidence-diffusion_hu_860b9b1743435fa.webp 1024w, https://changnie.top/publications/diffsac/confidence-diffusion_hu_6e66f8d99f34dc0e.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/diffsac/confidence-diffusion_hu_3f620701b2327d9.webp"
width="1080"
height="394"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/diffsac/confidence-diffusion_hu_54febe50a7d8c53c.webp" target="_blank" rel="noopener"&gt;查看原图 ↗&lt;/a&gt;
&lt;figcaption&gt;前向污染提供训练目标，逆扩散生成候选最小集。&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="置换不变的-transformer-去噪网络架构"&gt;置换不变的 Transformer 去噪网络架构&lt;/h2&gt;
&lt;p&gt;在几何估计中，输入特征点的排列次序是完全人为且随机的。如果去噪网络依赖固定坐标索引或一维卷积，模型就会灾难性地学到输入序列特有的虚假拓扑，且无法应对任意规模可变的点数 $N$。&lt;/p&gt;
&lt;p&gt;为此，我们将去噪骨架构建为一个 &lt;strong&gt;不带任何绝对位置编码（No Positional Encoding）的置换不变 Transformer&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;特征投影&lt;/strong&gt;：将每个观测的几何坐标 $x_i$、外观描述子 $d_i$ 与当前含噪置信度标量 $c_{t, i}$ 进行特征拼接，通过多层感知机（MLP）映射为 $D$ 维的潜在特征向量 $z_i^{(0)}$；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;全注意力聚合&lt;/strong&gt;：堆叠多层标准的自注意力（Self-Attention）与跨注意力层。自注意力机制在所有 $N$ 个观测之间建立全连接注意力图：
$$\boldsymbol{A} = \text{Softmax}\left(\frac{\boldsymbol{Q}\boldsymbol{K}^T}{\sqrt{d_k}}\right)$$
在这种机制下，任何一个观测点在调整自身置信度时，都能够依据整个场景中其他所有点的几何距离、视差梯度与外观相似度进行全景加权，这正是评估多点空间相容性所需的数学运算；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;置换不变性保证&lt;/strong&gt;：由于完全摒弃了位置编码，对于任意置换矩阵 $\boldsymbol{P} \in \mathbb{R}^{N \times N}$，网络满足严格的等变性定理：$\hat{\boldsymbol{c}}_\theta(\boldsymbol{P}\boldsymbol{c}_t, t, \boldsymbol{P}\chi) = \boldsymbol{P}\hat{\boldsymbol{c}}_\theta(\boldsymbol{c}_t, t, \chi)$。无论输入的点集如何乱序排列，输出的置信度分布严格保持物理一致。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;消融实验证实，将 Transformer 替换为 PointNet++ 或基于 k-NN 图卷积的 DGCNN 骨干网络时，模型在复杂大基线匹配下的泛化性能出现断崖式下跌，证明全局全景自注意力对捕捉跨视场长距离几何约束具有不可替代的作用。&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-不使用位置编码保持排列不变性"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Transformer 去噪器联合推理观测与当前置信度。"
srcset="https://changnie.top/publications/diffsac/denoiser-network_hu_ea5b71ebca90a769.webp 320w, https://changnie.top/publications/diffsac/denoiser-network_hu_4c856720a55419a1.webp 480w, https://changnie.top/publications/diffsac/denoiser-network_hu_1b6e5e5ba01bc28f.webp 768w, https://changnie.top/publications/diffsac/denoiser-network_hu_e90a9425104ed78b.webp 1024w, https://changnie.top/publications/diffsac/denoiser-network_hu_723c31d7d52ab7c1.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/diffsac/denoiser-network_hu_ea5b71ebca90a769.webp"
width="1080"
height="494"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/diffsac/denoiser-network_hu_11f3c3ff9a25477b.webp" target="_blank" rel="noopener"&gt;查看原图 ↗&lt;/a&gt;
&lt;figcaption&gt;不使用位置编码，保持排列不变性。&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="推理流程并行多副本扩散与快速求解"&gt;推理流程：并行多副本扩散与快速求解&lt;/h2&gt;
&lt;p&gt;在测试推理阶段，DiffSAC 采用“批量并发扩散—硬提取—经典验证”的高效流水线：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;批量副本初始化&lt;/strong&gt;：将当前帧的观测集合 $\chi$ 在显存中并行复制 $B$ 份（通常设置 $B = 20$）。为每个副本独立采样一个服从标准正态分布的随机置信度向量 $\boldsymbol{c}_1^{(b)} \sim \mathcal{N}(\mathbf{0}, \boldsymbol{I})$；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;高阶快速 ODE 求解&lt;/strong&gt;：采用 DPM-Solver++ 高阶显式求解器，将原本需要上百步的离散去噪过程大幅压缩至 10 至 15 个时间步，各副本在 GPU 上以批处理方式并发完成反向去噪，输出收敛的连续置信度场 $\boldsymbol{c}_0^{(b)}$；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Top-k 最小集硬提取&lt;/strong&gt;：针对每个副本的置信度场，直接通过硬性 &lt;code&gt;Top-k&lt;/code&gt; 索引提取数值最大的 $s$ 个观测点，组成候选最小集 $\mathcal{S}^{(b)}$；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;确定性代数求解与共识评估&lt;/strong&gt;：调用闭式几何求解器（如针对直线/平面的奇异值分解 SVD，针对基础矩阵的归一化八点法或七点法）独立求解模型假设 $\mathcal{M}^{(b)}$。将求得的模型与全量观测 $\chi$ 比对，计算几何投影残差并根据共识评分函数（如 MSAC 或 M-estimator 核函数）遴选出综合得分最高的最终模型。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这种“初始噪声随机、选择过程确定”的设计极为精妙：20 个独立的噪声种子探索了不同的高置信度极值盆地，保证了输出候选的多样性；即使其中某一个副本因偶发退化落在病态解上，其余独立的副本依然能够稳定提供优质候选，彻底消除了单次启发式提议容易陷入局部死锁的风险。&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-生成的置信度决定哪些观测进入最小集"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="直线拟合提议的置信度细化。"
srcset="https://changnie.top/publications/diffsac/line-refinement_hu_5130d92e6e9da1b9.webp 320w, https://changnie.top/publications/diffsac/line-refinement_hu_c8a9d4cb00ff108c.webp 480w, https://changnie.top/publications/diffsac/line-refinement_hu_5f05ced6ab802c5a.webp 768w, https://changnie.top/publications/diffsac/line-refinement_hu_89b554dcc7a6f73.webp 1024w, https://changnie.top/publications/diffsac/line-refinement_hu_88f055b6fe127156.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/diffsac/line-refinement_hu_5130d92e6e9da1b9.webp"
width="1080"
height="487"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/diffsac/line-refinement_hu_97511452ae75c998.webp" target="_blank" rel="noopener"&gt;查看原图 ↗&lt;/a&gt;
&lt;figcaption&gt;生成的置信度决定哪些观测进入最小集。&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-条件置信度提议接入经典双视图几何流程"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="经扩散细化选出的图像对应关系。"
srcset="https://changnie.top/publications/diffsac/fundamental-refinement_hu_5cf73ed0f1f7d777.webp 320w, https://changnie.top/publications/diffsac/fundamental-refinement_hu_615c8bc942db4a78.webp 480w, https://changnie.top/publications/diffsac/fundamental-refinement_hu_3889868ed7c93f0f.webp 768w, https://changnie.top/publications/diffsac/fundamental-refinement_hu_c2c03c2619d9878f.webp 986w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/diffsac/fundamental-refinement_hu_5cf73ed0f1f7d777.webp"
width="986"
height="1080"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/diffsac/fundamental-refinement_hu_a818e5d600642638.webp" target="_blank" rel="noopener"&gt;查看原图 ↗&lt;/a&gt;
&lt;figcaption&gt;条件置信度提议接入经典双视图几何流程。&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="最关键的消融为什么迭代去噪无可替代"&gt;最关键的消融：为什么迭代去噪无可替代？&lt;/h2&gt;
&lt;p&gt;在审视 DiffSAC 时，一个自然的疑问是：为什么必须使用复杂的迭代扩散过程？直接训练一个前向回归网络，一次性从输入数据中输出置信度向量难道不行吗？&lt;/p&gt;
&lt;p&gt;针对这一问题，我们设计了最具说服力的对照实验：保留完全相同的 Transformer 主干网络结构与训练目标，移除迭代加噪去噪机制，让网络从干净的输入 $\chi$ 中直接单步回归置信度向量 $\hat{\boldsymbol{c}}$。&lt;/p&gt;
&lt;p&gt;实验结果展现了巨大的鸿沟：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;直接回归网络输出的置信度场表现出严重的均质化与弥散性，无法在微小几何尺度上拉开内点与退化点之间的对比度差距，Top-k 提取的最小集包含外点的概率极高；&lt;/li&gt;
&lt;li&gt;相比之下，扩散逆向过程展现出了清晰的逐步自优化行为：在前几个时间步，网络首先利用全局注意力滤除掉绝大部分特征不匹配的外点；在中间时间步，网络开始根据对极几何约束剔除局部共线或视差过小的退化几何点；在最后几个时间步，置信度场迅速极化变尖，将注意力精准聚焦在一小撮高杠杆、大基线的黄金内点组合上。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这一消融雄辩地证明：&lt;strong&gt;扩散过程的本质并不是为了追求随机性，而是把原本极其困难的高阶几何组合寻优问题，拆解为一系列沿着梯度场平滑收敛的轻量级低阶细化步骤&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;此外，由于 DiffSAC 严格保留了经典的几何求解器与外点共识函数，它与现有的局部优化算法（如 LO-RANSAC、GC-RANSAC）具有天生的正交互补性。当把 DiffSAC 生成的优质初始假设输入给 LO-RANSAC 进行局部二次迭代时，系统的最终估计精度再次获得了显著提升，证明两者的结合完美拼合了“高效宏观提议”与“精细局部收敛”的完整版图。&lt;/p&gt;
&lt;h2 id="全面基准评测与局限性审视"&gt;全面基准评测与局限性审视&lt;/h2&gt;
&lt;p&gt;我们在合成受控数据集以及包括 ScanNet、MegaDepth、PhotoTourism 在内的多个极具挑战性的真实世界双视图几何基准上，对 DiffSAC 进行了详尽评测。评测任务涵盖了直线拟合、三维点云平面分割、基础矩阵与本质矩阵求解以及单应性矩阵估计：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在 80% 超高外点率的极端合成压力测试下，经典 RANSAC 在 5,000 次迭代内求解成功率不足 15%，而 DiffSAC 凭借仅 20 个并行候选提议，成功率稳定维持在 94% 以上，平均估计误差降低了一个数量级；&lt;/li&gt;
&lt;li&gt;在真实大视角变化与重复纹理场景下，DiffSAC 显著降低了退化模型的生成概率，在双视图位姿估计 AUC 指标上大幅超越了 PROSAC、MAGSAC++ 等强基线算法。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在坦诚审视系统表现的同时，我们在论文中同样明确指出了当前的物理边界与局限：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;任务特化与泛化边界&lt;/strong&gt;：当前版本的去噪网络针对特定的几何自由度进行训练（例如针对单应性矩阵与本质矩阵分别需要独立的模型权重）。构建能够跨任务统一处理任意自由度几何约束的通用条件扩散网络是下一步的核心方向；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;算力与硬件平台依赖&lt;/strong&gt;：尽管 DPM-Solver++ 将步数压低至十余步，但 Transformer 在处理数千点集时的自注意力计算仍高度依赖 GPU 的张量并行能力。在缺乏强力显卡的微型边缘端嵌入式系统上，其推理吞吐率仍有待进一步工程剪枝与量化优化。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="核心主张与工程哲学"&gt;核心主张与工程哲学&lt;/h2&gt;
&lt;p&gt;DiffSAC 所追求的工程哲学，是对基于深度学习的计算机视觉研究范式的一次理性回归：&lt;strong&gt;将学习模型置于真正困难的高维模式识别与组合提议环节，将经典算法坚守在成熟透彻的代数解算与残差共识验证环节&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;在几何视觉中，从数万个杂乱组合中找到满足物理约束的极小集是一个高度非凸、高度非线性的困难模式匹配问题，这正是深度神经网络大显身手的舞台；而通过最小集解算模型参数、计算重投影几何误差，则是经典几何学早已彻底解决的解析代数问题，绝不应该被低效、不可控的端到端黑箱网络盲目替代。&lt;/p&gt;
&lt;p&gt;这种分工不仅带来了效率与精度的兼收并蓄，更彻底捍卫了复杂工程系统最珍贵的可解释性与安全审计边界。在任何一次估计发生异常时，算法工程师都能清晰地调阅每一个候选集合的置信度流形、追踪对应代数解的特征矩阵条件数，让系统的每一次决策都有据可循、有理可辨。&lt;/p&gt;</description></item><item><title>RLSAC：强化学习增强的端到端鲁棒估计采样一致性</title><link>https://changnie.top/zh/publications/rlsac/</link><pubDate>Sun, 01 Oct 2023 00:00:00 +0000</pubDate><guid>https://changnie.top/zh/publications/rlsac/</guid><description>&lt;h2 id="采样器没有人训练的那一环"&gt;采样器：没有人训练的那一环&lt;/h2&gt;
&lt;p&gt;几何视觉的大半江山，是靠鲁棒估计撑起来的。相机位姿、运动分割、宽基线匹配、平面拟合、直线拟合，把应用层剥掉，剩下的都是同一个问题：观测里有很大一部分根本就是错的，怎么还原出正确的那些观测共同认可的那个模型。四十年来，这个问题的默认答案一直是 RANSAC。它抽出一组最小集（minimum set），用这组集合解出一个模型，数一数有多少观测与结果一致，然后重来。两点确定一条直线，八对对应点确定一个基础矩阵。&lt;/p&gt;
&lt;p&gt;抽取这一步是刻意盲目的。每个观测都被当作同样值得一试的对象，数据本身的任何信息都进不了这个决策。外点稀少时，这个赌注是划算的。但它很快就变得不划算：外点比例一升高，抽到一组全由内点构成的最小集的概率就往下掉，找到好模型所需的迭代次数跟着往上涨。能让搜索变轻松的证据，就摆在观测数据里，采样器却从来不看一眼。&lt;/p&gt;
&lt;p&gt;第二个问题更安静，也是我们写这篇论文的原因。均匀随机抽取不可微。你没法把它接到网络里，也没法用一个位于它下游的目标函数去训练它。于是鲁棒估计器最后停在了学习系统的边缘：一个开箱即用的部件，外面裹着一层接口，从不与周围的部件一起优化。&lt;/p&gt;
&lt;p&gt;前人的工作从好几个方向试过，各自都留下了一点没解决的问题。LO-RANSAC 持续在当前最优假设的内点中采样，它改善的是已经找到的那个模型，而不是找到它的那次搜索。NAPSAC 把采样限制在一个局部邻域内，换来条件数更好的集合，代价是失去全局覆盖；PROGRESSIVE NAPSAC 让邻域不断扩张，也只是给这个假设打补丁，并没有把它换掉。GC-RANSAC 和 MAGSAC++ 改变的是假设的打分方式，不动假设的提出方式。PROSAC 和 USAC 对采样顺序做重排或调度，可排序规则是手工设计的，在第一个假设被评分之前就已经固定。NG-RANSAC 这类方法学到了对点的有效偏好，围绕它的过滤式做法会及早丢掉糟糕的候选集合，但两者都没把采样决策的序列当成一件需要规划的事。DSAC 走得最直接，把选择概率化，让梯度能穿过整条流水线。这确实可行，但它要求采样器、求解器和打分环节全部可微，而我们最信任的那些经典部件，恰恰都不可微。&lt;/p&gt;
&lt;h2 id="采样就是一个动作强化学习马尔可夫决策过程mdp形式化"&gt;采样就是一个动作：强化学习马尔可夫决策过程（MDP）形式化&lt;/h2&gt;
&lt;p&gt;我们最初的观察是：这两个问题形状相同。强化学习里，智能体读取状态，选择动作，环境回报发生了什么。抽取一组最小集本来就是这个结构。&lt;/p&gt;
&lt;p&gt;我们将几何鲁棒估计序列形式化为马尔可夫决策过程元组 $\langle \mathcal{S}, \mathcal{A}, \mathcal{P}, \mathcal{R}, \gamma \rangle$：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;状态空间 $\mathcal{S}$&lt;/strong&gt;：在时间步 $t$，设全部输入观测集合为 $\mathcal{O} = \{o_1, o_2, \dots, o_N\}$。状态矩阵 $\mathbf{X}_t \in \mathbb{R}^{N \times D}$ 将每个观测的表征向量并行排布，融合了静态几何特征与动态历史轨迹。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;动作空间 $\mathcal{A}$&lt;/strong&gt;：动作对应于从 $N$ 个观测中抽选出基数为 $m$ 的最小采样集合 $\mathcal{M}_t = \{i_1, i_2, \dots, i_m\} \subset \{1, \dots, N\}$。例如直线拟合中 $m=2$，双视图基础矩阵估计中 $m=8$，单应矩阵估计中 $m=4$。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;环境状态转移 $\mathcal{P}$&lt;/strong&gt;：经典求解器与共识函数充当确定性环境。求解器 $\mathbf{M}_t = \mathrm{Solver}(\mathcal{M}_t)$ 产生几何模型参数，共识函数计算全局几何残差分布，驱动状态转移至 $\mathbf{s}_{t+1}$。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;奖励函数 $\mathcal{R}$&lt;/strong&gt;：求解器将提出的集合转化为模型假设后，共识函数度量所有观测与该模型的一致性。定义阈值 $\tau$ 下的内点集合为 $\mathcal{I}(\mathbf{M}_t, \tau) = \{ i \in [1, N] \mid \mathrm{dist}(o_i, \mathbf{M}_t) &lt; \tau \}$。标量奖励由瞬时内点比例与历史探索增益共同定义：&lt;/li&gt;
&lt;/ul&gt;
$$
\mathcal{R}(\mathbf{s}_t, \mathbf{a}_t) = \frac{|\mathcal{I}(\mathbf{M}_t, \tau)|}{N} + \lambda_{\text{best}} \mathbb{I}\left( |\mathcal{I}(\mathbf{M}_t, \tau)| &gt; \max_{k &lt; t} |\mathcal{I}(\mathbf{M}_k, \tau)| \right),
$$&lt;p&gt;其中第二项为突破历史全局最优记录时的探索奖励指示函数。&lt;/p&gt;
&lt;p&gt;这个设计最关键的地方在于：整个强化学习循环中，任何地方都不需要人工标注「哪些观测点是真值内点」。只要几何问题自带闭式最小求解器与几何代数残差定义，物理环境本身就会免费回传稠密奖励。从联合结果出发训练，意味着策略从来不会被告知哪些单个观测在绝对意义上是好是坏，它学到的是什么样的点组合能够解出全局一致性最高的模型。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;问题&lt;/th&gt;
&lt;th&gt;RLSAC 的回答&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;学的是什么？&lt;/td&gt;
&lt;td&gt;采样策略；求解器与打分函数保持原样&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;需要什么监督？&lt;/td&gt;
&lt;td&gt;除了流水线本来就会算出的共识得分，不需要人工真值标签&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;状态里放什么？&lt;/td&gt;
&lt;td&gt;观测特征、选中的集合、相对上一个假设的残差，以及使用次数&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;用在哪里？&lt;/td&gt;
&lt;td&gt;合成直线拟合与真实双视图基础矩阵估计&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="策略能看见什么四路特征编码与残差感知"&gt;策略能看见什么：四路特征编码与残差感知&lt;/h2&gt;
&lt;p&gt;状态里只放观测是不够的。第一步和第十步看到的数据一模一样，策略无从知道自己已经试过什么。所以构造状态时，我们让它携带上一次决策的后果。&lt;/p&gt;
&lt;p&gt;每个观测上堆叠了四路物理特征，形成维度为 $D$ 的状态向量 $\mathbf{x}_{t, i} = [\mathbf{f}_i^{\text{obs}}, a_{t-1, i}, r_{t-1, i}, c_{t, i}]$：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;观测原生特征 $\mathbf{f}_i^{\text{obs}}$&lt;/strong&gt;：提供底层数据描述。直线拟合中为二维点坐标，双视图对应关系中为归一化图像坐标对 $(u_1, v_1, u_2, v_2)$、匹配相关性分数以及局部几何描述子。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;上一步动作标记 $a_{t-1, i}$&lt;/strong&gt;：构成上一轮最小集 $\mathcal{M}_{t-1}$ 的观测记为 $+1$，其余未被选中的观测记为 $-1$。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;几何残差场 $r_{t-1, i}$&lt;/strong&gt;：上一个模型假设 $\mathbf{M}_{t-1}$ 在观测点 $i$ 处诱导的几何残差。对于直线为点线欧氏距离，对于基础矩阵为极线 Sampson 距离。这是一份遍布所有观测的稠密几何梯度反馈，明确指示出当前模型在哪些区域成立、在哪些区域失效。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;历史采样频率计数器 $c_{t, i}$&lt;/strong&gt;：记录观测点 $i$ 在当前回合内已被选中的归一化累积次数。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;残差指出哪些区域有希望，计数是一条面包屑防止陷入局部循环，动作标记标出当前位置。它们都不改变底层的几何真实，改变的是策略从几何拓扑中读取模式的能力。&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-从一次采样到下一次采样观测特征所选集合残差与采样历史共同构成状态转移"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="每次假设评估后，策略状态都会随之更新。"
srcset="https://changnie.top/publications/rlsac/state-transition_hu_b7fe19d5bf559303.webp 320w, https://changnie.top/publications/rlsac/state-transition_hu_905036f91bf27969.webp 480w, https://changnie.top/publications/rlsac/state-transition_hu_3c640326fc185fb2.webp 768w, https://changnie.top/publications/rlsac/state-transition_hu_c8403627057f79a5.webp 1024w, https://changnie.top/publications/rlsac/state-transition_hu_2f3c1b319d957055.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/rlsac/state-transition_hu_b7fe19d5bf559303.webp"
width="1080"
height="542"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/rlsac/state-transition_hu_7f491c1a7331ca0d.webp" target="_blank" rel="noopener"&gt;查看原图 ↗&lt;/a&gt;
&lt;figcaption&gt;从一次采样到下一次采样：观测特征、所选集合、残差与采样历史共同构成状态转移。&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="一个回合一次随机起点图神经网络与最大熵-sac"&gt;一个回合，一次随机起点：图神经网络与最大熵 SAC&lt;/h2&gt;
&lt;p&gt;RLSAC 在同一份输入上跑若干个回合，每个回合都以随机抽取的一组最小集开场。这几乎不花什么计算代价，却换回两样东西。一是性能下限有了理论兜底，每个回合都从一次无偏抽取出发，策略只会比它更好；二是策略立刻获得了一个有意义的初始几何残差场作为响应基准。&lt;/p&gt;
&lt;p&gt;策略网络采用 EdgeConv 风格的动态图神经网络。观测集合天然无序，将观测当成平坦序列读入的网络会受到排列扰动的影响。EdgeConv 在特征空间构建动态 $k$ 近邻图 $\mathcal{E}_t = \{ (i, j) \mid j \in \mathcal{N}_k(i) \}$，并执行边特征卷积：&lt;/p&gt;
$$
\mathbf{h}_i^{(l+1)} = \max_{j \in \mathcal{N}_k(i)} \Theta^{(l)} \left( [ \mathbf{h}_i^{(l)}, \mathbf{h}_j^{(l)} - \mathbf{h}_i^{(l)} ] \right).
$$&lt;p&gt;差分项 $\mathbf{h}_j - \mathbf{h}_i$ 能够显式捕获相邻特征点之间的相对几何导数（如局部线段斜率或局部极线一致性），对称的最大池化算子保证了对观测输入次序的严格置换不变性（Permutation Invariance）。&lt;/p&gt;
&lt;p&gt;网络顶层为每个观测输出未归一化的对数几率 $z_i$，通过带温度参数的 Softmax 转化为选择概率分布。在训练阶段，我们采用离散动作空间的 Soft Actor-Critic（SAC）框架，最大化累积奖励与策略熵：&lt;/p&gt;
$$
J(\pi_\theta) = \sum_{t=0}^T \mathbb{E}_{(\mathbf{s}_t, \mathbf{a}_t) \sim \rho_\pi} \left[ \mathcal{R}(\mathbf{s}_t, \mathbf{a}_t) + \alpha \mathcal{H}(\pi_\theta(\cdot \mid \mathbf{s}_t)) \right].
$$&lt;p&gt;最大熵目标 $\mathcal{H}$ 阻止了策略在组合爆炸的离散采样空间中过早坍缩到某一个局部极小值点，保证了充分的组合多样性探索。而在测试推理阶段，策略直接以贪心方式选取概率最高的前 $m$ 个点构成提议集合。&lt;/p&gt;
&lt;p&gt;重复的最小集会被显式拒绝。每一个在当前回合中使用过的集合都由哈希表记录，若策略提议的集合已被探索，则按概率递推抽取下一个，直至得到全新集合。这确保了宝贵的采样计算预算不会浪费在重复的假设验证上。&lt;/p&gt;
&lt;p&gt;训练中，回合在三种情况下自适应终止：内点数连续两步不再变化，内点率连续三步未能打破本回合最优记录，或者达到步数硬上限。测试时则只保留最大步数上限，给予策略充分搜索时间。&lt;/p&gt;
&lt;h2 id="看它在一条直线上怎么工作"&gt;看它在一条直线上怎么工作&lt;/h2&gt;
&lt;p&gt;在正方形里撒下几百个点，让其中一部分落在一条直线上，其余当作外点。任意两点确定一条候选直线，其余每个点到它都有一个距离，这个距离就是反馈。随着一步步推进，假设肉眼可见地朝真值靠拢。这看着很舒服，但并不是有意思的地方。&lt;/p&gt;
&lt;p&gt;有意思的是策略到达之后干什么。一旦找到内点率很高的假设，它就继续在局部做文章，细化这一组集合，而不跳到数据的另一片区域。没有记忆的采样器做不到这一点，因为它无从知道自己已经离得很近。这是把残差和历史特征放进状态最有力的论据，而且在定性轨迹里，它比任何汇总数字都明显得多。&lt;/p&gt;
&lt;p&gt;我们的合成数据还把外点放进内点带内部，真实场景里也会出现这种情况。这样一来，「背下坐标」这条捷径就被堵死了。真正可学的是什么样的点组合能构成条件数良好的模型，这正是我们希望策略掌握的东西。&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-论文示例候选假设与残差信息随策略状态转移发生变化"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="直线拟合中的连续采样状态。"
srcset="https://changnie.top/publications/rlsac/line-refinement_hu_44b97fcd7c911b51.webp 320w, https://changnie.top/publications/rlsac/line-refinement_hu_9cab983339e90995.webp 480w, https://changnie.top/publications/rlsac/line-refinement_hu_80c1c630ef90f75f.webp 768w, https://changnie.top/publications/rlsac/line-refinement_hu_521b02c965bb2237.webp 1024w, https://changnie.top/publications/rlsac/line-refinement_hu_c9aee07329865e0.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/rlsac/line-refinement_hu_44b97fcd7c911b51.webp"
width="1080"
height="524"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/rlsac/line-refinement_hu_9d05e82cf3b79404.webp" target="_blank" rel="noopener"&gt;查看原图 ↗&lt;/a&gt;
&lt;figcaption&gt;论文示例：候选假设与残差信息随策略状态转移发生变化。&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="从点扩展到图像对应关系极几何sampson-误差与退化规避"&gt;从点扩展到图像对应关系：极几何、Sampson 误差与退化规避&lt;/h2&gt;
&lt;p&gt;双视图几何换掉了观测的物理载体，却没有换掉 MDP 的接口。现在一个观测是两幅图像上两个局部特征点之间的一次几何匹配 $o_i = (\mathbf{x}_i, \mathbf{x}'_i)$，由归一化坐标、初始匹配置信度与深度特征描述子共同表征。&lt;/p&gt;
&lt;p&gt;当智能体抽取 8 个观测组成的最小集送入经典非可微求解器（归一化八点法）时，求解器解算基础矩阵 $\mathbf{F}$ 满足对极几何代数方程：&lt;/p&gt;
$$
\mathbf{x}'_i{}^\top \mathbf{F} \mathbf{x}_i = 0.
$$&lt;p&gt;共识函数使用一阶近似的 Sampson 一阶几何误差衡量全部 $N$ 个观测与所得极线几何的一致程度：&lt;/p&gt;
$$
d_S(\mathbf{x}_i, \mathbf{x}'_i; \mathbf{F}) = \frac{(\mathbf{x}'_i{}^\top \mathbf{F} \mathbf{x}_i)^2}{(\mathbf{F} \mathbf{x}_i)_1^2 + (\mathbf{F} \mathbf{x}_i)_2^2 + (\mathbf{F}^\top \mathbf{x}'_i)_1^2 + (\mathbf{F}^\top \mathbf{x}'_i)_2^2}.
$$&lt;p&gt;在这一设定中，几何估计面临的经典陷阱是几何退化（Degeneracy）：如果采样的特征点大多共面（如落在同一堵平整墙面上）或空间分布极其狭窄，解出的基础矩阵在代数上秩亏或存在虚假零空间，导致内点计数虚高而在全局空间严重失准。&lt;/p&gt;
&lt;p&gt;令人欣慰的是，图网络在连续回合与残差反馈中，自发学会了规避这种退化。策略倾向于在空间大基线、深度落差明显的刚性背景区域（如建筑拐角、远近景交错边缘）抽取点对，而不会将采样配额集中在局部纹理重复或狭窄聚集区。没有人显式编写退化检测规则，这种空间分散性完全是最大化全局共识奖励在图注意力传播下的自然结果。&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-学习式采样器接收经典几何求解器的反馈"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="采样状态转移中的对应关系与几何假设。"
srcset="https://changnie.top/publications/rlsac/fundamental-refinement_hu_50ba5654e56b9e9f.webp 320w, https://changnie.top/publications/rlsac/fundamental-refinement_hu_77f9fd0d2240e79b.webp 480w, https://changnie.top/publications/rlsac/fundamental-refinement_hu_1bfc0912f82554fd.webp 768w, https://changnie.top/publications/rlsac/fundamental-refinement_hu_aa06ef240e774e6d.webp 1024w, https://changnie.top/publications/rlsac/fundamental-refinement_hu_e3e3c4a15059a7fd.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/rlsac/fundamental-refinement_hu_50ba5654e56b9e9f.webp"
width="1080"
height="659"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/rlsac/fundamental-refinement_hu_b9fdbbb7b35a7945.webp" target="_blank" rel="noopener"&gt;查看原图 ↗&lt;/a&gt;
&lt;figcaption&gt;学习式采样器接收经典几何求解器的反馈。&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;真正穿越两个任务的东西，与其说是训练好的网络权重，不如说是一份严格解耦的系统约定：编码观测拓扑，提出离散最小集，调用不可微几何求解器，计算物理残差，将几何状态反馈回策略。换到新问题上，仅需提供与任务匹配的物理特征、求解器算子与残差定义。&lt;/p&gt;
&lt;h2 id="我们从中得到什么"&gt;我们从中得到什么&lt;/h2&gt;
&lt;p&gt;我们反复回到的一条经验是：奖励可以替代可微性。只要下游有一个物理或几何指标能给输出打分，它就能训练产生这个输出的前端模块。没有必要把 argmax、SVD 分解、求解器或者阈值强行软化为可微版本，可解释且高精度的经典部件就能完整保留在架构内部。&lt;/p&gt;
&lt;p&gt;在这里，记忆也比单次预测更值钱。把上一次尝试的残差送回状态，计算开销极小，几何信息密度却极高。训练一个更大参数量的一步到位分类器不仅泛化脆弱，而且在复杂退化场景下根本无法抵御长尾外点。&lt;/p&gt;
&lt;p&gt;还有一条工程底线：学习到的采样器绝不该在任何场景下比它取代的随机基线更差。每个回合都用一次无偏随机抽取开局，从算法设计上锁定了系统的理论性能下限。&lt;/p&gt;
&lt;h2 id="它仍然受限的地方"&gt;它仍然受限的地方&lt;/h2&gt;
&lt;p&gt;一份诚实的清单：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;阈值超参数依然存在&lt;/strong&gt;：内点判定阈值 $\tau$ 仍是手工设定的先验参数，并直接影响奖励标量。这正是 MAGSAC++ 等连续打分框架试图消除的敏感性，我们在当前版本中保留了它，尚未将其转化为完全无参数的连续密度打分。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;候选集容量截断&lt;/strong&gt;：为了控制图卷积的计算复杂度，状态只跟踪初始置信度最高的前 $N$ 个对应关系。若前置特征提取阶段发生了严重的漏检，真实内点完全落在该集合之外，策略受限于输入上界便无法将其召回。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;计算延迟与迭代预算的权衡&lt;/strong&gt;：图网络前向推理、SVD 求解以及稠密 Sampson 误差计算，每一步都需要数十毫秒级耗时。相比纯 C++ 实现的轻量级 RANSAC 变体，RLSAC 在单次迭代上的时间开销明显更大。它的优势在于将传统方案数千次盲目采样压缩至十余次精准决策，但在超高帧率极限场景下，这笔计算开销仍需通过模型轻量化或知识蒸馏进一步优化。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="更大的图景"&gt;更大的图景&lt;/h2&gt;
&lt;p&gt;论文的讨论部分给出了我们真正相信的论点。一次性的深度估计器一旦离开训练分布就不可靠，可解释性又差，很难部署到工程场景里。经典估计器行为清晰、适用范围明确，却因为不可微而无法折进学习框架。把两者结合起来，两种性质都能拿到。一个部件只要能被打分，它就能被学习，同时还能继续做那个你信得过的部件。&lt;/p&gt;
&lt;p&gt;我们很想知道，同样的处理方式能不能推广到几何栈里其他不可微的部件上。SLAM 中的噪声协方差估计是我们一直在琢磨的那一个。&lt;/p&gt;</description></item></channel></rss>