【事件相机之三 深度估计文章研读】Active Event Alignment for Monocular Distance Estimation

【事件相机之三 深度估计文章研读】Active Event Alignment for Monocular Distance Estimation

系列文章目录

事件相机之一 空间目标检测
事件相机之二 去噪文章研读
事件相机之三 单目深度估计


提出了一种 **行为驱动(behavior driven, BD)** 的方法,用于从事件相机数据中估计物体距离。这种BD的方法模仿了人眼等生物系统如何根据物距稳定其视野:远处的物体需要较小的 **补偿(compensatory)** 旋转来保持聚焦,而附近的物体需要更大的调整来保持对齐。这种自适应策略利用自然稳定行为有效地估计相对距离。我们的方法针对特定感兴趣区域内的局部深度估计。通过在小区域内对齐事件,我们估计了稳定图像运动所需的角速度。

!!!我将会尽量删除论文中价值不大的描述,尽量精简,并找到较为新颖且具有迁移价值的点(尽力而为)


文章目录

一、介绍

这项工作将生物启发的视觉采集与自然行为策略相结合,以增强对事件数据的解释。其核心在于引入旋转调整来平衡相机运动。稳定的好处:生物上考虑,通过旋转来对探测器位移造成的像移进行补偿,降低了场景中特定区域的亮度变化来降低运动模糊。因此该工作通过主动事件对齐实现深度估计。如下图所示:当使用旋转对位移进行补偿时,成像明显更加稳定。


方法测定产生最佳事件对齐效果的旋转速度,并通过它推测不同区域的距离。通过计算像素级的信息熵来描述联合事件的对齐质量,运用冗余信息达到更有效的事件表达。方法提出了一种对象级别事件对齐的相对距离估计方法。方法包含两步:

  • 首先估计旋转速度的方向和magnitude
  • 然后比较物体和参考区域间的补偿旋转
    该方法仅需相机的相对运动而不是绝对的相机姿态。

二、相关工作

这部分后面会专门写综述文章,因此此处不进行赘述了。

三、基于区域级像素对齐的距离估计

这个论文写的属实有点糙了,关键的方法结构图没有引用,我就姑且放在这里以作概览:

在这里插入图片描述

3.1 事件对齐

事件对齐描述的是找到将世界的同名点映射到传感器相同像素的的变换 T ω \mathcal{T}\omega Tω。首先定义:
O = [ o 1 , o 2 , . . . , o N ] \mathcal{O} = [o_1,o_2,...,o_N] O=[o1​,o2​,...,oN​]是一个事件集合,每一个元素 o i = ( o i x , o i t , o i p ) o_i=(o_i^x,o_i^t,o_i^p) oi​=(oix​,oit​,oip​)就是传统定义。因此事件对齐的被构造为一种针对旋转相机运动参数 ω , v \omega,v ω,v的优化问题公式不想敲了,后面用图片粘贴了

在这里插入图片描述


论文中选择了Gu论文中的方法,它将特定像素位置的对齐事件流建模为泊松点处理,它使用最大似然估计注册了初始为非对齐状态的事件。不知道是我水平次还是论文这里确实有问题,看了很多遍看不懂这句话 我们发现观测事件 O \mathcal{O} O的变换 T \mathcal{T} T可以通过下式尽可能的相似We find the transformations $\mathcal{T}$ of the observed events $\mathcal{O}$ that make them as likely as possible under the model:

Cheng Gu, Erik Learned-Miller, Daniel Sheldon,Guillermo Gallego, and Pia Bideau. The spatiotemporal poisson point process: A simple model for the alignment of event camera data. In ICCV. IEEE, oct 2021.
在这里插入图片描述


这里, k x k_x kx​ 表示来自位置 x x x的像素数目并且通过负二项式描述 N B ( ⋅ ) \mathcal{N}\mathcal{B}(·) NB(⋅)。Gu将事件集定义为 N N N个离散的事件,我们则重新定义为一定时间间隔内的所有事件。这种调整与传统泊松点分布的定义一直,可以更好地捕捉事件动态个人觉得与泊松分布一致可以理解,但是是否可以更好捕捉动态存疑

3.1.1 逐目标的事件对齐

尽管估计的旋转速度与显示中相机的运动无关,我们也将说明这种旋转包含了不同图像区域的相对距离的多种信息。
旋转速度 ω \omega ω 的估计通过区域级别事件对齐实现:

在这里插入图片描述


S \mathcal{S} S 表示局部图像区域。这种优化利用了这样一个概念,即对于刚性相机运动和前平行平面场景(fronto-parallel planar scene)区域,相机平移可以通过相机旋转很好地近似,反之亦然。将变换 T \mathcal{T} T限制为仅旋转的运动,可以大大减少要估计的参数量,另一方面,如果优化仅限于小图像区域,这可能会导致不稳定的旋转估计,无法作为真实相机平移的替代。论文提出了一种分两步执行对象对齐的策略:

  • 确定一个全局速度方向,该方向对场景中存在的所有对象进行对齐;
  • 确定对齐特定对象事件的速度大小

该策略确定了整个大图像区域的全局速度方向,同时评估了特定、潜在较小区域的速度大小,从而保持了稳健的旋转估计。

3.1.2 全局速度方向估计

根据透视几何的物理原理,在纯详相机平移运动中,局部的运动方向(图像中)与场景深度无关。对于平面场景运动方向可以通过旋转相机很好地估计。在有很大深度变化地场景中,较近的物体有较大位移,反之亦然。处理未知深度的一种选择是通过最大似然估计和 ω \omega ω来估计像素级深度值。这会导致带估计参数的剧烈上涨。相反,我们采用了一种部分贝叶斯方法,在速度为 m m m的情况下最大化kx的边际似然。角速度以极坐标形式 ω = ( m , ϕ ) \omega=(m,\phi) ω=(m,ϕ)表示。因此,方向 ϕ \phi ϕ可以通过沿着位置大小 m m m积分得到:

在这里插入图片描述


然后通过最大化对齐事件的概率来实现速度方向 ϕ \phi ϕ的估计:

在这里插入图片描述


对图像平面的所有像素位置应用最大化。之后,通过处理每个物体的速度值来处理深度心系的不连续性;

3.1.3 速度值的估计

当给出了速度方向的估计值后 ϕ ^ \hat{\phi} ϕ^​,物体的速度值可以通过相似的方式进行估计:

在这里插入图片描述


与速度方向不同,速度值的估计是对目标区域内的所有像素应用的。
序列对齐有两个好处:

  • 速度方向的估计带来了额外的透视约束;
  • 极大的降低了需要估计的参数量。
    说实话没太看懂这一部分,更新,看懂了,场景是样的所以方向是相同的,但是距离是不同的,所以旋转值是不同的~

3.2 相对深度估计

估计的旋转速度抵消了相机的平移运动,将图像稳定在一个特定的区域 S S S中。如果物体是远距离的,稳定器仅需要很小的抵消旋转。相反,如果物体比较近,实现准确的对齐就需要更大的抵消旋转。数学上,我们可以通过光流法(optical flow)表示这个稳定性。
为此,做出如下假设:

  • 物体全都是平面

在z轴(深度轴)方向没有位移,因此可以得到:

在这里插入图片描述

按对象对齐会导致局部流量为零。更具体地说,旋转流 v r v_r vr​补偿了导致零局部流的平移流 v t v_t vt​,如方程式(10)所示。这一概念使行为驱动的方法能够从事件相机数据中估计相对距离。通过关联两个旋转流矢量,可以推断出两个对象之间的相对距离d:

在这里插入图片描述


v r + v_r^+ vr+​是估计所得的旋转光流向量的伪逆(pseudo-inverse), v r r e f v_r^{ref} vrref​是参考物体估计得到的旋转光流向量。参考物体是指在场景内占据的最大区域。假设ii)使平移流对对象的位置不变。因此,通过抵消平移流,可以简化划分。
尽管相机变化喝遮挡,为了保持时间的连续性,我们引入了贝叶斯滤波器。贝叶斯滤波器的天然循环特性使他可以连续的处理出现的测量值。相对距离的置信度通过两步进行时间的传播:

这个公式点明了循环特性:通过历史步骤 p ( d t − 1 ∣ o t − 1 ) p(d_{t-1}|o_{t-1}) p(dt−1​∣ot−1​)得到的后验信息被用来预测当前时刻 t t t的后验,然后通过上面的第二个公式进行更新。估计得到的相对距离被认为是高斯分布,然后用一个1维的卡尔曼滤波跟踪距离和它的方差。方差是通过旋转补充的模的平方的反比计算得到的。

四 实验

实验部分不太想写了,但是大体总结下使用的数据集和性能指标,毕竟事件数据的数据集还是比较稀缺的~

4.1 数据集

采用EVIMO2数据集作为验证数据集。
EVIMO2[7]是一个广泛使用的数据集,用于评估基于事件的深度估计和对象分割算法。这些序列以不同光照条件下板上的对象为特征。EVIMO2的录制设置包括三个基于事件的VGA分辨率相机,即一个三星的DVS Gen3在中间,左右两侧有两个Prophesee相机。在这项工作中,我们使用了三星DVS Gen3事件相机和Prophesee相机中嵌入的IMU的数据。EVIMO2在不同条件下具有用于不同基于事件的视觉任务的各种类型的序列。在我们的实验中,我们采用了运动结构,其中GT相机姿态(未使用)、对象分割和场景深度可用。为了展示活动摄像机在不同光照条件下的能力,我们使用了10个在正常光照下记录的序列和5个中的2个在低光照下的序列,总共分别为147秒和82秒。只有两个低光序列包括IMU传感器数据和物体掩模。

4.2 指标

根据文献中基于事件和基于帧的深度估计的常用评估协议,采用了四种误差度量:RMSE(线性)、RMSE(对数)、平方相对距离(SRD)和绝对相对距离。精度是通过三个阈值来衡量的,这三个阈值决定了相对精度 σ \sigma σ低于每个阈值的估计百分比。如果 σ \sigma σ=1,则估计值与地面真值完全匹配。阈值越高,落入相对精度低于所提供阈值的区间的值就越多。

结论

提出了第一种基于事件的相对距离估计方法,该方法将动态视觉传感器与行为策略相结合,以推断物体之间的相对距离。我们介估计旋转运动,旨在实现按对象的事件对齐。这种旋转不会恢复实际的相机运动,而是一种虚拟调整,旨在在本地对齐事件。然后通过比较相应的旋转流矢量来确定对象相对距离。与基于帧的摄像机相比,事件摄像机通过减少冗余数据有效地捕获视觉信息。主动对准计算补偿旋转运动以提取深度等视觉数据,为新颖、高效的视觉算法带来了巨大的潜力。我们的方法通过使用行为策略(如凝视稳定)来简化感官输入处理,从而减少计算负荷。

Read more

滑块验证完整实现教程(前端 + 后端 + Nginx 集成)

滑块验证完整实现教程(前端+后端+Nginx集成) 滑块验证的核心逻辑是:前端渲染滑块+缺口背景图,采集用户滑动轨迹;后端校验轨迹是否为真人行为(非机器匀速滑动),验证通过后生成时效token;Nginx拦截业务请求,校验token有效性后放行。以下是可直接落地的完整方案,包含前端、后端、部署全流程。 一、核心原理 1. 前端:生成随机的背景图+缺口,监听鼠标/触摸滑动事件,采集滑动轨迹(时间戳、X/Y坐标、速度、加速度),滑动完成后将轨迹和缺口偏移量传给后端。 2. 后端:校验轨迹特征(如滑动时长、速度波动、是否匀速、缺口偏移匹配度),真人轨迹会有“先快后慢/轻微抖动”,机器轨迹多为“匀速直线”;验证通过则生成短期有效token。 3. Nginx:拦截业务请求,校验请求头/Cookie中的验证token,

开源Web富文本编辑器wangEditor-next:从零到企业级的完整解决方案

在当今数字内容创作的时代,一个功能强大且易于集成的富文本编辑器已成为现代Web应用不可或缺的核心组件。wangEditor-next作为基于Slate.js框架的开源编辑器,为开发者提供了从基础编辑到高级扩展的完整技术栈,成为构建现代化编辑应用的首选方案。 【免费下载链接】wangEditor-nextwangEditor-next —— Open-source web rich text editor, based on slate.js. wangEditor-next —— 开源 Web 富文本编辑器,基于 slate.js。 项目地址: https://gitcode.com/gh_mirrors/wa/wangEditor-next 项目背景与定位 wangEditor-next是原wangEditor项目的延续版本,在原项目暂停维护后,由社区驱动的fork项目继续提供支持和发展。该项目专注于为开发者提供开箱即用的编辑体验,同时保持高度可定制性,满足不同场景下的个性化需求。 核心功能亮点 基础编辑能力全面覆盖 * 文本格式化:支持粗体、斜体、下划线、删除线等

【面试分享】前端 React 50个基础高频面试题,助你轻松拿 offer!

【面试分享】前端 React 50个基础高频面试题,助你轻松拿 offer!

目录 前端基础高频面试题之-- React 篇 1、什么是React? 2、React有什么特点? 3、列出React的一些主要优点。 4、React有哪些限制? 5、什么是JSX? 6、为什么浏览器无法读取JSX? 7、React中的组件是什么? 8、怎样解释 React 中 render() 的目的。 9、什么是 Props? 10、React中的状态是什么?它是如何使用的? 11、 React 中的箭头函数是什么?使用箭头函数的好处? 12、什么是高阶组件(HOC)? 13、你能用HOC做什么? 14、什么是纯组件? 16、什么是React 路由? 17、为什么 useState 返回的是数组而不是对象? 18、如何实现

ReAct Agent 与 Agent 编排:从单 Agent 闭环到多 Agent 协作(纯享版)

ReAct Agent 与 Agent 编排:从单 Agent 闭环到多 Agent 协作(纯享版)

ReAct Agent 与 Agent 编排:从单 Agent 闭环到多 Agent 协作 本篇文章,大概会花费你10分钟时间,带你对Agent进行更加深入的了解。 目录: * ReAct Agent 与 Agent 编排:从单 Agent 闭环到多 Agent 协作 * 一、这 10 分钟到底会讲什么 * 二、我将会分8节来讲 * 第 1 节:为什么要讲 ReAct 和 Agent 编排 * 时间:1 分钟 * 第 2 节:先讲清 Agent 的最小运行时骨架 * 时间:1 分钟