当前位置: 首页 > news >正文

上帝之眼(BEVSee):多相机间无需标定,将各自目标统一到同一坐标系下(代码开源,提供数据集)

Abstract

我们解决了一个新的问题,即在鸟瞰视角(BEV)中无需预先给定相机校准的多视角相机和目标注册问题。这将多视角目标注册问题提升到一个新的无需校准的阶段,从而极大地缓解了许多实际应用中的限制。然而,这是一个非常具有挑战性的问题,因为其唯一的输入是来自不同第一人称视角first-person views(FPVs)的多个RGB图像,没有BEV图像和FPVs的校准,而输出是从所有视角聚合到一个统一平面的图像,包含目标和相机在BEV中的位置和方向。为此,我们提出了一个端到端的框架,通过利用相机和目标的相互依赖性来共同解决相机和目标注册问题,其主要思路如下:
1. 创建一个目标视角变换模块(VTM)将每个行人从FPV投影到虚拟BEV。
2. 推导一个基于多视角几何的空间对齐模块(SAM)来估计统一BEV中的相对相机位姿。
3. 在统一BEV中选择并细化目标和相机的注册结果。
我们收集了一个具有丰富标注的大规模合成数据集用于训练和评估。此外,我们还收集了一个真实数据集用于跨领域评估。实验结果显示了我们方法的显著效果。代码和提出的数据集可以在BEVSee中获得。

https://github.com/zekunqian/BEVSee

Introduction

注册是计算机视觉中的一个重要任务。在这项工作中,我们研究了一个新的具有挑战性的问题,即在鸟瞰视角(BEV)中无需相机校准的相机和人物注册问题。如图1所示,具体来说,给定多视角的多人场景图像,我们的目标是生成每个人物(在本文中称为目标)和相机在BEV中的位置和方向。

图片

Method

我们首先概述了所提出的方法,主要包含三个阶段,如下图所示。
1. 给定从不同视角同时捕获的多个人体场景的多张图像,我们应用视角变换目标检测模块(VTM)来获取每个人在鸟瞰图(BEV)中的位置和面部朝向估计。
2. 我们应用基于几何变换的空间对齐模块(SAM)来估计BEV中的相对相机位姿候选。
3. 接下来,我们使用基于质心距离的候选选择策略,从SAM获得的候选中选择最终的相机位姿估计结果(相机注册)。对于目标注册任务,我们结合空间和外观信息,在BEV中聚合同一个人的多视角目标注册结果。

图片

一、视图变换检测模块 (View-Transform Detection Module)

对于在多人场景中捕获的多张图像的输入,我们首先获取每个人在鸟瞰视角(BEV)中的位置和面部朝向。为此,我们开发了一个使用轻量级全连接(FC)结构并具有三个头部的LocoNet。在此之前,我们首先应用一个现有的人体姿态检测器PifPaf从原始RGB图像中预测每个人的2D骨骼关节,这些骨骼关节将作为输入传入LocoNet,其结构如下图所示。在LocoNet的末端,我们使用一个由简单的多层感知器(MLP)层组成的人体3D定位头部来预测每个人的位置和面部朝向。

图片

二、空间对齐模块(Spatial Alignment Module )

我们通过目标定位对齐来展示相对相机位姿估计(在鸟瞰视角中)。为方便起见,我们首先介绍两个视角的情况。我们的基本思想是,人体的位置和面部朝向在真实世界的3D坐标系中是唯一的,可以用于对齐相机以生成多个2D图像。在从不同第一人称视角(FPV)图像生成的鸟瞰图(BEV)地图中,通过对齐相应的人体位置和面部朝向(作为对齐点),可以在BEV中获得相机位姿。为此,第一步是从不同视角中找到相同的目标。我们通过人体外观特征在输入图像中识别目标,然后在不同视角的BEV中匹配相应的目标。我们使用ResNet-50网络提取每个人的特征,并应用欧几里得距离和Sigmoid函数来创建相似度矩阵(M_pred),该矩阵表示两个视角中目标之间的相似度。然后,我们对每对目标的相似度进行排序,并选择前K对作为匹配对。之后,我们应用几何变换对齐两个BEV(包含所有目标和相机),它们分别表示参考BEV地图和未注册的BEV地图。具体而言,对于一对匹配点,我们应用几何变换,如图4所示,将未注册BEV中的相机位置和朝向旋转和移动到参考BEV中的相机位置和朝向。

三、相机与目标进行配准

1、相机配准。基于前面中获得的相对相机姿态
(δ x k , δ y k , δ θ k ),我们得到了参考和未配准 BEV 之间的相对相机姿态估计的 K 个候选。这里我们将参考 BEV 上的相机姿态表示为 (0, 0, 0)。然后,我们在参考 BEV 的坐标系上得到未配准 BEV 的相机姿态。

图片

2、目标配准
2.1、目标匹配
为了匹配来自多个视图的目标,我们在统一的 BEV 中创建了一个人的空间距离矩阵 M_dis 和角度差异矩阵 M_ang,它们测量来自不同视图的所有目标的距离和角度差异。然后,我们将其与前面中提供相似性矩阵 M_pred 结合起来。我们首先使用三个阈值作为过滤器来选择潜在的匹配目标对,只有落在距离和角度阈值内且超过相似性阈值的对会被识别为同一个目标。此外,我们进一步考虑了两个约束条件以确保准确匹配。第一个是循环一致性,这意味着来自所有视图的同一个目标的连接应该形成一个环路。第二个是唯一性,这意味着一个目标在另一个视图中不应该连接到多于一个的目标。对于上述约束,首先,我们使用经典的数据结构,即联合查找(union-find),来聚合传递关系,这使得在联合查找的联合中的所有目标,通过直接和间接连接,被聚集成一个子图,如下图b所示,这解决了所有目标连接成环的循环一致性问题。其次,我们将问题定义为分层最大生成子图问题,逐层(视图对视图)的扩展限制了每个视图中一个目标最多连接一个节点,以避免唯一性冲突,如下图c所示。为了解决这个问题,我们提出了一个参考 Prim 算法的算法。我们在补充材料中提供了上述策略的更多细节和算法流程。
 

图片

2.2、目标融合。使用上述目标匹配方法,来自多个视图的目标被视为同一个人,然后我们使用方程中相同的策略来估计目标的最终配准结果。具有最小质心距离的目标的位置和方向将被保留,而其他相同的目标将被移除。特别是,如果只有两个视图,我们使用两个目标之间的平均位置和方向作为融合结果。最终,我们可以得到一个统一的 BEV,其中包含了来自多个视图的相机和目标的配准信息。

Experiments

1、相机配准的效果比较
 

图片

2、目标物的配准的效果比较

图片

总结

文章的主要贡献包括:
1.首次研究了无需预给定相机校准或真实 BEV 图像的多视图多人体场景的相机和人体配准。
2.提出了一个新颖的解决方案,集成了基于深度网络的 VTM 和基于多视图几何的 SAM。

3.构建了一个新的大规模合成数据集,并通过关键模块的实验结果展示了所提方法的优越性和有效性。跨域研究在真实数据集上验证了他们方法的泛化能力。

引用:
From a Bird’s Eye View to See: Joint Camera and Subject Registration without the Camera Calibration

关注我的公众号auto_driver_ai(Ai fighting), 第一时间获取更新内容。

相关文章:

上帝之眼(BEVSee):多相机间无需标定,将各自目标统一到同一坐标系下(代码开源,提供数据集)

Abstract 我们解决了一个新的问题,即在鸟瞰视角(BEV)中无需预先给定相机校准的多视角相机和目标注册问题。这将多视角目标注册问题提升到一个新的无需校准的阶段,从而极大地缓解了许多实际应用中的限制。然而,这是一个…...

imagesc函数 纵坐标翻转 colormap “set” “jet“

纵坐标默认上小下大 翻转: 在Matlab中,使用imagesc函数绘制的图像的纵坐标默认是从上到下递增的,即下面的值较大,上面的值较小。如果想要翻转纵坐标,使之从上到下递增,可以通过设置坐标轴的YDir属性为’n…...

Postman接口测试工具的原理及应用详解(二)

本系列文章简介: 在当今软件开发的世界中,接口测试作为保证软件质量的重要一环,其重要性不言而喻。随着前后端分离开发模式的普及,接口测试已成为连接前后端开发的桥梁,确保前后端之间的数据交互准确无误。在这样的背景下,Postman作为一款功能强大、易于使用的接口测试工…...

IPython脚本加载秘籍:探索脚本魔法的艺术

IPython脚本加载秘籍:探索脚本魔法的艺术 IPython,这个强大的交互式Python解释器,不仅提供了丰富的交互式编程功能,还允许用户加载和运行Python脚本。这一功能极大地扩展了IPython的实用性,使得用户可以在IPython环境…...

使用shell脚本进行clang-tidy静态代码分析

文章目录 0. 引言1. 完整检测脚本代码 clang-tidy-check.sh1.1 流程图1.2 脚本功能概述 2. 该脚本优缺点 0. 引言 clang-tidy 是基于 Clang 的工具,提供了丰富的代码检查功能,可以根据用户配置文件进行定制化的检查和规则定义。 之前的文章《使用 Clang…...

PHP和phpSpider:如何应对网站变动导致的数据爬取失败?

php和phpspider:如何应对网站变动导致的数据爬取失败? 导语: 网络爬虫是一种自动化程序,用于从网站上获取数据并进行处理。PHP是一种广泛使用的编程语言,而phpSpider是一个基于PHP的开源网络爬虫框架。然而&#xff0…...

聊聊etsy平台,一个年入百万的项目

聊聊etsy平台,一个年入百万的项目 什么是etsy,这是怎样一个平台,怎样盈利的?相信现在大家满脑子都是这些疑问。 这个平台也是无意间一个学员提到的,据说他朋友靠这个平台年赚好几百万。苦于门槛太高,他也做不了。今天…...

SyntaxError: Unexpected token ‘??=‘

前端运行报错: globalThis.GLOBAL_NX_VERSION ?? GLOBAL_NX_VERSION;^^^SyntaxError: Unexpected token ??解决: 检查node版本 node -v当前使用的是14.21.3的版本,切换到一个16.0.0以上的版本即可,推荐使用nvm管理node版本 …...

python如何输出list

直接输出list_a中的元素三种方法: list_a [1,2,3,313,1] 第一种 for i in range(len(list_a)):print(list_a[i]) 1 2 3 313 1 第二种 for i in list_a:print(i) 1 2 3 313 1 第三种,使用enumerate输出list_a方法: for i,j in enum…...

【面试系列】SQL 高频面试题

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、…...

【代码随想录训练营】【Day 66】【图论-3】| 卡码 101-104

【代码随想录训练营】【Day 66】【图论-3】| 卡码 101-104 需强化知识点 103,104 优化思路 题目 101. 孤岛的总面积 此处 area 多余 def dfs(grid, x, y, area):dirs [[0, 1], [0, -1], [1, 0], [-1, 0]]m, n len(grid), len(grid[0])area[0] 1grid[x][y] …...

【面试系列】C#高频面试题

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、…...

AI助力校园安全:EasyCVR视频智能技术在校园欺凌中的应用

一、背景分析 近年来,各地深入开展中小学生欺凌行为治理工作,但有的地方学生欺凌事件仍时有发生,严重损害学生身心健康,引发社会广泛关注。为此,教育部制定了《防范中小学生欺凌专项治理行动工作方案》进一步防范和遏…...

Yolov8可视化界面使用说明,含代码

⭐⭐ YOLOv8改进专栏|包含主干、模块、注意力机制、检测头等前沿创新 ​ ⭐⭐ YOLOv8可视化界面如下 使用需要安装opencv-python、torch、numpy及PySide6(python版本>3.9) pip install PySide6 pip install numpy pip install opencv-python 使用说明 运行下方代码&#xf…...

怎么使用MarkDown画矩阵

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 今天写文章需要用到矩阵,记录一下 画矩阵需要用到特殊的语法 (1)画普通矩阵,不带括号的 $$be…...

Kafka入门-基础概念及参数

一、Kafka术语 1. Broker Kafka属于分布式的消息引擎系统,它的主要功能是提供一套完备的消息发布与订阅解决方案。可以为每个业务、每个应用甚至是每类数据都创建专属的主题。 Kafka的服务器端由被称为Broker的服务进程构成,即一个Kafka集群由多个Broke…...

Clickhouse 常见操作

数据查询 从json array string中解析字段 json array string 为json.dumps(array(dict)) select JSONExtractString(row,"Date") as Date from( select arrayJoin(JSONExtractArrayRaw(Remarks)) as row from table x )JSONExtractArrayRaw: 将JsonS…...

Docker使用daocloud镜像加速

之前给大家分享的阿里云的镜像加速,今天再给大家分享一个还可以使用的镜像加速地址daocloud。 经过测试速度还是比较快的。 [rootbogon ~]# cat /etc/docker/daemon.json {"registry-mirrors": ["https://docker.m.daocloud.io"] }[rootbogon…...

flink的窗口

目录 窗口分类 1.按照驱动类型分类 1. 时间窗口(Time window) 2.计数窗口(Count window) 2.按照窗口分配数据的规则分类 窗口API分类 API调用 窗口分配器器: 窗口函数 增量聚合函数: 全窗口函数…...

lodash.js 工具库

lodash 是什么? Lodash是一个流行的JavaScript实用工具库,提供了许多高效、高兼容性的工具函数,能够方便地处理集合、字符串、数值、函数等多种数据类型,大大提高工作效率。 lodash官网 文档参见:Lodash Documentation lodash 在Vue中怎么使用? 1、首先安装 lodash np…...

使用ElementUI组件库

引入ElementUI组件库 1.安装插件 npm i element-ui -S 2.引入组件库 import ElementUI from element-ui; 3.引入全部样式 import element-ui/lib/theme-chalk/index.css; 4.使用 Vue.use(ElementUI); 5.在官网寻找所需样式 饿了么组件官网 我这里以button为例 6.在组件中使用…...

【SkiaSharp绘图14】SKCanvas方法详解(三)URL注释、按顶点绘制、 是否裁切区域之外、旋转、缩放、倾斜、平移、保存/恢复画布

文章目录 SKCanvas方法DrawUrlAnnotation 绘制URL注释DrawVertices 按顶点绘制Flush 立即绘制QuickReject 判断区域是否在裁切区域之外ResetMatrix重置矩阵Restore、RestoreToCountRotateDegrees按角度旋转画布RotateRadians按弧度旋转画布SaveLayer保存并新建图层Scale 缩放画…...

WebDriver API (2)

本文将继续上文对WebDriver API的功能使用进行介绍。 一、浏览器操作 1. 浏览器前进forward与后退back 浏览器前进操作是指导航到前一个页面,在浏览器的历史记录中向前移动一页。 浏览器后退操作是指导航到前一个页面,在浏览器的历史记录中向后移动一…...

GCP FrontendConfig 详解:优化您的云负载均衡

目录 1. 什么是GCP FrontendConfig? 2. FrontendConfig的主要功能 2.1 协议选择 2.2 SSL/TLS配置 2.3 重定向配置 2.4 自定义响应头 3. 配置FrontendConfig 4. FrontendConfig的高级特性 4.1 智能路由 4.2 流量控制 4.3 日志和监控 5. FrontendConfig最佳实践 5.…...

TensorFlow代码逻辑 vs PyTorch代码逻辑

文章目录 一、TensorFlow(一)导入必要的库(二)加载MNIST数据集(三)数据预处理(四)构建神经网络模型(五)编译模型(六)训练模型&#xf…...

boost asio异步服务器(4)处理粘包

粘包的产生 当客户端发送多个数据包给服务器时,服务器底层的tcp接收缓冲区收到的数据为粘连在一起的。这种情况的产生通常是服务器端处理数据的速率不如客户端的发送速率的情况。比如:客户端1s内连续发送了两个hello world!,服务器过了2s才接…...

【QT】常用控件|widget|QPushButton|RadioButton|核心属性

目录 ​编辑 概念 信号与槽机制 控件的多样性和定制性 核心属性 enabled geometry ​编辑 windowTiltle windowIcon toolTip styleSheet PushButton RadioButton 概念 QT 控件是构成图形用户界面(GUI)的基础组件,它们是实现与…...

【C++ Primer Plus学习记录】函数参数和按值传递

函数可以有多个参数。在调用函数时,只需使用都逗号将这些参数分开即可: n_chars(R,25); 上述函数调用将两个参数传递给函数n_chars(),我们将稍后定义该函数。 同样,在定义函数时,也在函数头中使用由逗号分隔的参数声…...

MySQL:设计数据库与操作

设计数据库 1. 数据建模1.1 概念模型1.2 逻辑模型1.3 实体模型主键外键外键约束 2. 标准化2.1 第一范式2.2 链接表2.3 第二范式2.4 第三范式 3. 数据库模型修改3.1 模型的正向工程3.2 同步数据库模型3.3 模型的逆向工程3.4 实际应用建议 4. 数据库实体模型4.1 创建和删除数据库…...

OBS 免费的录屏软件

一、下载 obs 【OBS】OBS Studio 的安装、参数设置和录屏、摄像头使用教程-CSDN博客 二、使用 obs & 输出无黑屏 【OBS任意指定区域录屏的方法-哔哩哔哩】 https://b23.tv/aM0hj8A OBS任意指定区域录屏的方法_哔哩哔哩_bilibili 步骤: 1)获取区域…...