跳转至

Motion-prior Contrast Maximization for Dense Continuous-Time Motion Estimation

会议: ECCV 2024
arXiv: 2407.10802
代码: GitHub
领域: 视频理解
关键词: 事件相机, contrast maximization, motion estimation, 自监督学习, 光流

一句话总结

本文提出一种将非线性运动先验(轨迹参数函数)引入对比度最大化框架的自监督方法,用于事件相机的稠密连续时间运动估计,在真实世界数据集 EVIMO2 上将合成数据预训练模型的零样本性能提升了 29%。

研究背景与动机

领域现状:光流估计和点跟踪是低层视觉的核心任务,近年来基于帧的方法依赖大规模合成数据集取得了显著进展。事件相机作为一种新型视觉传感器,具备高速、高动态范围和低功耗等优势,天然适合运动感知任务。

现有痛点:事件相机领域面临两大制约——(a) 缺乏大规模真实标注数据,事件模拟器不成熟导致合成数据训练的模型存在明显的 sim-to-real gap;(b) 现有基于对比度损失的自监督方法仅限于低自由度(如特征跟踪、自运动估计)或短时间(≤0.1s)的线性光流问题,无法处理长时间非线性复杂运动。

核心矛盾:长时间稠密运动估计需要处理非线性轨迹,但对比度最大化框架此前只支持线性运动模型;同时事件与轨迹的关联是一个高维分配问题,难以高效可微地求解。

本文目标:长时间(≥0.3s)稠密非线性事件运动估计,同时减少域适应差距。

切入角度:两阶段策略——先在合成数据上有监督预训练,再用提出的自监督对比度损失在真实数据上微调。

核心 idea:将连续时间参数化轨迹先验(如 Bézier 曲线)引入对比度最大化框架,通过 KNN 软关联和粗粒度时空位移场来高效可微地关联事件与稠密非线性轨迹。

方法详解

整体框架

整体流程分为预测模块和损失模块两部分。时间区间 \([t_s, t_e]\) 内的事件首先被体素化并输入神经网络(Bflow 架构或 UNet),网络预测每个像素位置上的连续时间轨迹系数。预测的轨迹与原始事件一起送入自监督损失模块:先插值得到粗粒度时空位移场,再将事件按查表位移进行 warp,最终构建 IWE(Image of Warped Events),以 IWE 的梯度幅值作为训练损失。

关键设计

  1. 非线性轨迹运动先验(Trajectory Motion Prior):

    • 功能:为每个像素预测一条连续时间轨迹 \(\mathbf{q}_n(t)\),用参数化的基函数加权组合表示
    • 核心思路:将轨迹表示为基函数的加权和 \(\mathbf{q}_n(t) = \sum_{j=1}^{N_c} g_j(t) \mathbf{p}_{n,j}\),其中 \(g_j(t)\) 为共享的时间基函数,\(\mathbf{p}_{n,j}\) 为像素级控制点。论文探索了多项式基 \(g_j(t)=t^j\)、Bézier 曲线基 \(g_j(t)=\binom{N_c}{j}(1-t)^{N_c-j}t^j\) 以及可学习基
    • 设计动机:非线性轨迹先验在运动通用性和正则化之间取得平衡,相比线性光流模型可处理长时间复杂运动,同时轨迹的平滑性天然提供时间正则化,避免事件坍缩
  2. 高维事件-轨迹关联求解(KNN Soft Assignment):

    • 功能:高效可微地计算每个事件的位移 \(\Delta\mathbf{x}_k\)
    • 核心思路:首先将问题松弛为在粗粒度时空位移场上进行插值,位移场形状为 \([N_\text{bins}, h/4, w/4]\)。对每个时间 bin 中心,利用 KeOps 符号矩阵框架执行 KNN 搜索找到 \(N_\text{traj}\) 个最近邻轨迹,将位移计算为邻近轨迹位移的均值:\(\Delta\mathbf{x}_k = \frac{1}{N_\text{traj}} \sum_{n=1}^{N_\text{traj}} [\mathbf{q}_n(t_\text{ref}) - \mathbf{q}_n(t_k)]\)
    • 设计动机:直接对所有事件-轨迹对计算关联在计算上不可行(事件数可达千万级),通过粗粒度查找表+KNN 插值,将问题从 3D 降维到 2D,既节省内存又保持可微性
  3. 随机参考时间与正则化(Random Reference Time + Regularization):

    • 功能:在训练时随机采样参考时间 \(t_\text{ref} \sim \mathcal{U}(0,1)\),并施加空间平滑正则
    • 核心思路:训练损失为 \(\mathcal{L} = 1/G + \lambda R\),其中 \(G\) 为 IWE 梯度幅值,\(R\) 为位移场空间梯度的 L1 范数。每次迭代随机选取不同参考时间
    • 设计动机:(a) 随机参考时间要求 IWE 在任意时刻都清晰,增强正则化效果,且内存开销仅线性增长(vs 之前方法使用固定的多个参考时间);(b) 空间平滑项鼓励相邻轨迹的一致性,进一步抑制事件坍缩

损失函数 / 训练策略

  • 预训练:在 MultiFlow 合成数据集上进行 50 epoch 有监督预训练(L1 损失),batch=10
  • 自监督微调:在 EVIMO2 上用对比度损失微调 15 epoch,batch=6,学习率 \(10^{-4}\),AdamW 优化器
  • 空间平滑权重 \(\lambda=0.003\),KNN 邻居数 \(N_\text{traj}=32\)
  • 光流任务额外在 DSEC 上训练 UNet 架构,证明方法通用性

实验关键数据

主实验

EVIMO2 连续光流数据集

方法 TEPE ↓ TAE ↓ %Out ↓
Paredes et al. (自监督) 21.69 51.91 0.634
E-RAFT (线性) 19.38 74.52 0.656
BFlow (零样本/OOD) 8.63 19.94 0.363
Ours (自监督微调) 6.14 16.98 0.254
BFlow (域内有监督) 3.38 11.68 0.166

DSEC 光流 benchmark(自监督方法对比)

方法 推理时间(ms) EPE ↓ AE ↓ %Out ↓
E-RAFT (有监督) 46.3 0.788 10.56 2.684
本文 (自监督) ~9 最优 AE 提升 19% %Out 提升 14%

消融实验

不同运动先验的影响(EVIMO2)

运动先验 TEPE ↓ TAE ↓ %Out ↓
多项式基 (SSL) 6.78 19.76 0.272
可学习基 (SSL) 7.46 19.78 0.284
Bézier 曲线 (SSL) 6.14 16.98 0.254
多项式基 (OOD) 9.36 20.88 0.363
Bézier 曲线 (OOD) 8.63 19.94 0.363

关键发现

  • 自监督微调将零样本性能提升约 29%(TEPE 从 8.63 降至 6.14),有效弥补 sim-to-real gap
  • Bézier 曲线在三种运动先验中表现最优(\(N_c=10\)
  • 对于长时间预测(>200ms),自监督微调的改善尤为显著
  • 在 DSEC 上推理速度比之前自监督方法快 5 倍

亮点与洞察

  • 将运动先验引入 CM 框架是一个优雅的设计:非线性轨迹既适配复杂运动,其平滑性又天然提供正则化,巧妙解决了事件坍缩问题
  • 利用 KeOps 符号矩阵框架实现的 KNN 方案,解决了大规模事件-轨迹关联的可扩展性问题,是实用的工程贡献
  • EVIMO2 连续光流数据集的构建本身也是贡献,为事件相机长时间运动估计提供了新的评测基准

局限与展望

  • 自监督方法与域内有监督方法仍存在明显差距(TEPE 6.14 vs 3.38),说明自监督损失信号的信息量有限
  • 对遮挡和独立运动物体的处理可能不够鲁棒
  • KeOps KNN 计算在非常大分辨率时仍可能成为瓶颈
  • 未探索更先进的轨迹表示(如 B-spline、神经隐式表示)

相关工作与启发

  • vs Bflow [27]:Bflow 依赖合成数据有监督训练,在真实数据上有 sim-to-real gap;本文通过自监督微调显著缩小这一差距
  • vs Shiba et al. [57]:限于线性运动模型和固定参考时间,本文扩展到非线性轨迹和随机参考时间
  • vs Paredes et al. [47]:使用分段线性光流拼接近似非线性运动,性能远不如显式非线性轨迹建模

评分

  • 新颖性: ⭐⭐⭐⭐ 将运动先验引入 CM 框架的想法新颖,KNN 关联方案实用
  • 实验充分度: ⭐⭐⭐⭐ 在两个任务(轨迹估计、光流)和多个数据集上验证,消融完整
  • 写作质量: ⭐⭐⭐⭐ 逻辑清晰,公式推导完整,图表丰富
  • 价值: ⭐⭐⭐⭐ 为缓解事件相机运动估计的 sim-to-real gap 提供了有效工具,对事件相机社区有实际价值

相关论文