【事件相机之三 深度估计文章研读】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

Telegram搜索机器人推荐——查找海量资源,提升信息检索效率

大家好,本文首发于 ZEEKLOG 博客,主要面向需要在 Telegram 中高效检索资源的同学。我结合自己的实测体验,总结了几款实用的搜索机器人与完整操作流程,帮助大家解决“怎么快速找到频道、群组、文件”的痛点。如果你也在为信息筛选耗时头疼,建议耐心读完并亲手试试,收获会很大。觉得有帮助别忘了给个点赞、收藏和关注支持一下 🙂 📚 本文目录 * 使用准备 * 什么是Telegram搜索机器人? * Telegram搜索机器人的核心功能 * 推荐的Telegram搜索机器人 * 如何使用Telegram搜索机器人? * Telegram搜索机器人的应用场景 * 总结 在信息爆炸的时代,如何高效获取自己想要的资源?Telegram搜索机器人为你带来全新解决方案,无需翻找频道、群组,只需输入关键词,即可一键查找海量内容。无论是影视剧、电子书、图片还是优质群组,Telegram搜索机器人都能帮你轻松找到。推荐搜索机器人:@soso、@smss、@jisou 使用准备 1. 能访问外网,不会魔法的同学请参考:这里 2. 安装 Telegram

Microi 吾码:低代码解锁服务器虚拟化的无限潜能

Microi 吾码:低代码解锁服务器虚拟化的无限潜能

目录 一、服务器虚拟化的时代浪潮与核心意义 二、Microi 吾码在服务器虚拟化资源管理中的卓越表现 虚拟机资源分配与监控的智能掌控 资源调度与优化的精妙策略 三、Microi 吾码助力服务器虚拟化的网络配置与优化 虚拟网络架构的灵活构建 网络流量优化与安全保障的双重守护 四、Microi 吾码在服务器虚拟化高可用性与容错机制中的关键作用 虚拟机备份与恢复的可靠保障 故障转移与容错技术的智能应对 五、Microi 吾码与不同服务器虚拟化平台的无缝集成 与主流虚拟化平台的深度对接 跨平台管理与资源整合的独特优势 六、总结 一、服务器虚拟化的时代浪潮与核心意义 在当今数字化转型加速的时代背景下,服务器虚拟化技术已成为信息技术领域的关键驱动力之一。服务器虚拟化旨在通过软件技术将一台物理服务器划分为多个相互隔离且独立运行的虚拟服务器环境,也就是虚拟机(VM)。这一创新技术带来了诸多显著优势,如显著提高服务器资源利用率,使得企业能够在有限的硬件资源基础上运行更多的应用程序和服务;大幅降低硬件采购成本与数据中心能源消耗,为企业节省大量资金并助力环保事业;同时,

《机器人实践开发①:Foxglove 开发环境完整搭建指南(含常见坑位) 》

《机器人实践开发①:Foxglove 开发环境完整搭建指南(含常见坑位) 》

导语: 在机器人项目中,调试工具往往比算法本身更耗时间。Foxglove 作为新一代机器人可视化平台,提供了强大的话题订阅、视频显示、3D 展示和日志分析能力。本篇从零开始,手把手带你完成 Foxglove 的环境搭建,包含依赖安装、连接配置以及常见踩坑点。 《机器人实践开发》系列文章索引 《机器人实践开发①:Foxglove 开发环境完整搭建指南(含常见坑位)》 《机器人实践开发②:Foxglove 嵌入式移植 + CMake 集成》 《机器人实践开发③:Foxglove可视化机器人的眼睛-视频》 《机器人实践开发④:Foxglove可视化机器人的耳朵-声音》 《机器人实践开发⑤:Foxglove可视化机器人的3D显示》 《机器人实践开发⑥:Foxglove可视化机器人传感器数据》 《机器人实践开发⑦:Foxglove可视化机器人的日志显示》 《机器人实践开发⑧:Foxglove可视化机器人的地图显示》 《机器人实践开发⑨:Foxglove可视化机器人的MyBag 数据回放》 foxglove 官网 Foxglove 是一个专为机器人团队打造的平台,用于收

从零开始使用ISSACLAB训练自己的机器人行走

从零开始使用ISSACLAB训练自己的机器人行走

ISAACLAB入门教程 作者:陈维耀 1. 环境配置 1.1 推荐配置 * 操作系统: Ubuntu 22.04 LTS * 显卡: NVIDIA RTX 4080或以上 1.2 ubuntu 22.04 LTS安装 参考ZEEKLOG的Ubuntu 16.04 LTS安装教程,将其中的ubuntu 16.04镜像文件替换为ubuntu 22.04镜像文件,其他步骤保持不变,建议/home与/usr的硬盘容量均不少于200G。 1.3 安装NVIDIA驱动 根据自身显卡型号与操作系统,选择对应的显卡驱动,建议选择550.xxx.xxx版本的显卡驱动,按照教程进行安装即可,安装完成后在终端输入nvidia-smi,若出现以下信息则表示驱动安装成功: Thu Jun 5