ECCV 2022|面向精确的主动相机定位算法
标题:ECCV 2022,山东大学、北大、腾讯AILab、斯坦福和三维家联合提出,面向精确的主动相机定位算法
项目地址:https://github.com/qhFang/AccurateACL.
文章:Towards Accurate Active Camera Localization(ECCV 2022)
主要内容:
主动相机定位问题是主动控制相机运动以获得精确的相机姿态,过去的算法大多是基于马尔可夫的,其缺陷在于减少了定位相机的位置不确定性,在离散的姿态空间中定位相机,并且与场景属性无关,这限制了粗略尺度中的相机姿态精度。
为此提出了一种新的主动相机定位算法来克服这些限制,该算法通过增强学习来实现精确的相机定位,由被动和主动定位模块组成。前者通过建立逐点的相机-世界对应关系来优化连续姿态空间中的相机姿态;后者对场景和相机的不确定性分别进行建模以规划正确的路径,用于精确的相机姿态估计。
在具有挑战性的定位场景上验证了算法,实验结果表明其算法在精细尺度相机姿态精度上优于最先进的基于马尔可夫定位的方法和其他方法。
主动相机定位与被动相机定位
被动相机定位是通常我们所理解的相机定位,即估计拍摄一副图像时的相机的位姿,图像是被动获得的,而主动相机是通过控制相机的移动主动地去拍摄一些图片进而准确估计相机的位姿。
主动相机定位通常涉及三个问题:
1. 如何定位:如何定位相机以获得最准确的相机姿势
2. 去哪里:相机在环境中未知位置的初始化,之后它应该怎么移动以进行精确的主动定位。由于在连续相机姿态空间中存在许多可定位位置,主动定位问题变得高度模糊且难以解决。
3. 何时停止:代理不知道其真实的相机姿态,因此要怎么决定何时停止相机移动。
Pipeline:
在环境中的未知位置和方向初始化相机后,主动相机定位的问题是主动控制相机向更好的位置移动以获得准确的相机姿态。
输入:带有位姿真值的RGB-D帧序列、主动定位期间获得的瞬时RGB-D帧。
对于初始RGB-D帧,被动定位模块估计当前相机姿态,主动定位模块估计相机移动的下一个动作,然后获得新的RGB-D帧,重复这样的过程直到主动定位模块决定停止移动并且在最后一步选择最终相机姿态作为估计的相机姿态。
被动定位模块:
被动定位模块是回答“如何定位”问题。
通过被动定位器优化连续姿势空间中的相机姿势,采用了基于决策树的方法以实现这一目的,具体的,
的对应关系,它通过对对应关系的姿势优化来推断相机姿势假设,并通过迭代丢弃最差的姿势假设直到最后一个剩下来确定输入帧的相机姿态。
主动定位模块:
主动定位模块由场景不确定性和相机不确定性组成,分别回答“去哪里”和“何时停止”问题。
场景不确定性:
从两个角度来描述这种属性,即相机位于场景的何处,以及观察到的场景哪一部分对于准确定位更有效。为了对上述信息进行建模,提出了相机驱动场景地图和世界驱动场景地图,他们回答了“去哪里”的问题,并通过结合场景不确定性属性和估计的相机姿态以及世界坐标,引导相机向不确定性较小的场景区域移动。场景不确定性属性完全由场景模型和被动定位模块决定,因此预先计算并对主动定位过程保持不变,而估计的相机姿态和世界坐标是在相机移动期间从捕获的RGB-D帧立即计算得出的。
相机驱动的场景图:
为了过滤掉无效的相机位置,将所有地图通道初始化为二进制可穿越地图,其中可穿越位置和障碍位置分别用0和−1填充,并且只更新可穿越位置的值。
世界驱动的场景图:
当前世界坐标估计指示使用所估计的相机姿态从当前RGB-D帧反向投影的世界坐标位于场景点云上的何处,因此被计算为描述每个场景点是否被至少一个反向投影世界坐标占据的逐点二进制值。
相机不确定性分量:
相机不确定性是相机固有的特性,它表示相机运动期间当前相机姿态估计的质量。相机不确定性模块回答“何时停止”问题,从而确定主动相机运动的自适应停止条件。
理想情况下,相机不确定度值应通过直接将估计的相机姿态与真实相机姿态进行比较来计算,然而在相机主动运动期间,真实相机姿态是不存在的。
为了缓解上述困难,通过将表示真实相机姿态的捕获深度观测和从3D场景模型Dscene投影的深度图像(其表示估计的相机姿态)进行比较来计算相机不确定性值。
给定观察到的深度和投影的深度图像,首先使用已知的相机固有参数将两个图像反向投影到相机空间中的点云中。然后利用ICP来配准两个点云,并估计它们之间的相对相机姿态,当两个点云大致对齐时,采用的ICP方法能够实现非常紧密的点云对齐,因此估计的相对姿态指示当前相机姿态估计距离真实姿态有多远,并被视为相机不确定性分量
为了简化策略学习,许多以前的工作都固定了相机移动的插值长度,这在实施中效率很低。在本论文中提出了基于所提出的相机不确定性分量自适应地停止相机运动。具体而言,认为当相机不确定度分量在范围内时,可以成功定位以停止相机移动
为了证明相机不确定性分量的有效性,评估了估计的相对姿态与真实姿态的接近程度,图3包含了一个室内场景中随机采集的4500个样本。可以观察到大多数样本位于对角线上,这意味着相对姿态估计通常是准确的
实验:
在合成和扫描的真实室内场景上评估了算法。
为了缓解在合成数据中创建常见定位挑战的困难,收集了35个平均面积为40.9平方米的高质量室内场景,这些场景具有无纹理的墙壁、重复的枕头/图纸等,并提供了场景的训练/测试分割(训练/测试:15/20个场景)。
对于扫描的真实世界数据,从公共Matterpt3D数据集中收集了5个平均面积为64.8m2的室内场景,仅供评估。
在ACL-synthetic中无移动基线的准确率14.90%,表明被动定位在具有挑战性的定位场景中是不够的,论文算法在相机姿态精度(83.05%)方面优于所有方法
定性结果:
总结:
提出了一种新的主动相机定位算法,由被动和主动定位模块组成。
前者在连续姿态空间中估计精确的相机姿态。
后者从显式建模的相机和场景不确定性中学习强化学习策略以实现准确的相机定位。
本文仅做学术分享,如有侵权,请联系删文。
点击进入—>3D视觉工坊学习交流群
干货下载与学习
后台回复:巴塞罗那自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件
后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf
后台回复:3D视觉课程,即可学习3D视觉领域精品课程
3D视觉工坊精品课程官网:3dcver.com
1.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
2.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
3.国内首个面向工业级实战的点云处理课程
4.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
5.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
6.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
7.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
8.从零搭建一套结构光3D重建系统[理论+源码+实践]
9.单目深度估计方法:算法梳理与代码实现
10.自动驾驶中的深度学习模型部署实战
11.相机模型与标定(单目+双目+鱼眼)
12.重磅!四旋翼飞行器:算法与实战
13.ROS2从入门到精通:理论与实战
14.国内首个3D缺陷检测教程:理论、源码与实战
15.基于Open3D的点云处理入门与实战教程
16.透彻理解视觉ORB-SLAM3:理论基础+代码解析+算法改进
17.机械臂抓取从入门到实战
重磅!粉丝学习交流群已成立
交流群主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、ORB-SLAM系列源码交流、深度估计、TOF、求职交流等方向。
扫描以下二维码,添加小助理微信(dddvisiona),一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿,微信号:dddvisiona
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、源码分享、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答等进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,6000+星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看,3天内无条件退款
高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~
相关文章:
ECCV 2022|面向精确的主动相机定位算法
标题:ECCV 2022,山东大学、北大、腾讯AILab、斯坦福和三维家联合提出,面向精确的主动相机定位算法项目地址:https://github.com/qhFang/AccurateACL.文章:Towards Accurate Active Camera Localization(ECCV 2022&…...
web实现环形旋转、圆形、弧形、querySelectorAll、querySelector、clientWidth、sin、cos、PI
文章目录1、HTML部分2、css部分3、JavaScript部分4、微信小程序演示1、HTML部分 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge">&l…...
PyCharm+Python+Selenium自动化测试动态验证码识别
driver.find_element(byBy.ID,valueUSERID).send_keys("admin")driver.find_element(byBy.ID,valuePASSWORD_VIEW).send_keys("123456")#ocr识别原理:先根据验证码的class dl_yzm定位到验证码图片,然后将验证码截图保存,…...
git版本回退简单记录
简单记录git版本回退的命令,参考的是这篇文章1 首先查看以前存档的版本: git log1. 知道要回退的版本和现在的版本差了多少代 回退上一代版本(1个以前) git reset –hard HEAD^回退上上一代版本(2个以前࿰…...
QT入门Display Widgets之QLine、QLcdNumber、QTextBrowser
目录 一、QLine界面相关 1、布局介绍 2、界面基本属性 二、QLCDNumber的介绍 1、界面布局 2、定时器代码测试 三、QTextBrowser 此文为作者原创,创作不易,转载请标明出处! 一、QLine界面相关 1、布局介绍 先看下界面中创建个Q…...
Spring学习笔记
目录1 IOC容器1.1 概念1.2 IOC的底层原理1.3 Spring中IOC容器的两种实现方式(两个接口)1.3.1 BeanFactory接口1.3.2 ApplicationContext接口1.3.3 为什么开发中使用ApplicationContext接口1.3.4 ApplicationContext接口的两个实现类1.4 IOC操作之bean管理1.4.0 bean是什么&…...
数据的标准化处理
假设各个指标之间的水平相差很大,此时直接使用原始指标进行分析时,数值较大的指标,在评价模型中的绝对作用就会显得较为突出和重要,而数值较小的指标,其作用则可能就会显得微不足道。 因此,为了统一比较的标…...
性能优化|记一次线上OOM问题处理
概述最近线上监控发现 OOM 涨幅较大,因此去尝试定位和修复这个问题,在修复了一些内存泄漏和大对象占用问题后, OOM 依旧未达到正常标准,在这些新上报的 hprof 文件中,发现几乎所有 case 中都有个叫 FinalizerReference 的对象&…...
Vue动态粒子特效插件(背景线条吸附动画)
目录 效果图: 一、安装: 二、引入 main.js 文件: 三、使用: 四、属性说明: 效果图: 一、安装: npm install vue-particles --save 二、引入 main.js 文件: import VueParticles…...
【Java 类】002-类、属性、方法、代码块
【Java 类】002-类、属性、方法、代码块 文章目录【Java 类】002-类、属性、方法、代码块一、类1、类与对象2、类的作用3、创建与使用类类结构创建类调用类运行结果4、Java 类的执行过程5、封装、继承、多态、抽象类、内部类、接口、枚举、记录、注解等二、属性1、概述2、类型3…...
Ubuntu Linux 编译安装的基本步骤
文章目录1 基本步骤若报错: No such file or directory2 解压 tar.bz2文件参考:1 基本步骤 解压: tar -zxvf file.tar.gz 进入解压后的文件夹: cd file 源码编译安装 ./configure # ./configmakesudo make install 若报错&…...
day59反刍笔记
1.本地环境安装vue后,没有vue.js文件,只有vue.cjs.js文件, 引用后也无法正常使用,看npm install vue后的文件夹中没有vue.js文件_找不到vue.js_一枝风的博客-CSDN博客 老哥的博客后得到启发,将原本的命令由࿱…...
【阅读笔记】你不知道的Javascript--强制类型转换4
目录强制类型转换基本概念JSONboolean强转归纳其他知识点被诟病的安全使用隐式强转法则抽象关系比较语法表达式变动强制类型转换 基本概念 类型转换发生在静态类型语言的编译阶段; 强制类型转换则发生在动态类型语言的运行时(runtime) JSON…...
华为OD机试真题Python实现【有效子字符串】真题+解题思路+代码(20222023)
有效子字符串 题目 输入两个字符串S和L,都只包含小写字母, S长度 <= 100,L长度 <= 500000, 判断S是否是L的有效子字符串, 判定规则:S中的每个字符在L中都能找到(可以不连续) 且S在L中字符的前后顺序与S中顺序要保持一致 例如: S="ace"是L="abcd…...
上门按摩预约APP源码-东郊到家源码(开发,PHP,平台搭建)
一、什么是上门按摩预约APP源码? 上门按摩预约APP源码是一款家政服务类型的APP,可以帮忙用户在家就能享受按摩的服务。APP源码分两端,一端是用户端,另外一端是技师端。采用的技术,前端是安卓IOS,后端是PHP&…...
STL讲解——模拟实现vector
STL讲解——模拟实现vector vector深度剖析 在STL源码中,发现vector定义的并不是 start、size、capacity,而是start、finish、end_of_storage. 这样就可以得到size()和capacity()。 sizefinish-start capacityend_of_storage-start 扩容可能是本地扩容也…...
各种经典排序算法介绍及实现源码
一,冒泡排序(Bubble Sort) 排序算法是程序员必须了解和熟悉的一类算法,排序算法有很多种,基础的如:冒泡、插入、选择、快速、归并、计数、基数和桶排序等。 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求,如果不…...
历史大讲堂:这是真·图形化 苹果系统历史回顾(上)
众所周知,米国有个非常牛掰的公司叫苹果,想必大家对这个logo不陌生吧。 目前已发布的苹果产品有iPhone、iPad、iPod等等,简直花样繁多,而且各种功能很好用,我的手机就是一部苹果iPhone X。 等一下,似乎扯远…...
今天女神节,用python画个贺卡送给母亲吧
今天女神节,你给女神妈妈准备了什么祝福呢?如果还没有,那么画个贺卡送给她吧,在你眼里,她是一个什么样的人呢? 是"可爱",“温柔”,“美丽”,“漂亮”…...
【编程基础之Python】11、Python中的表达式
【编程基础之Python】11、Python中的表达式Python中的表达式表达式与运算符算术表达式赋值表达式比较表达式逻辑表达式位运算表达式总结Python中的表达式 在Python中,表达式是由操作数、运算符和函数调用等组成的语法结构,可以进行各种数学运算、逻辑判…...
华为OD机试真题Python实现【乱序整数序列两数之和绝对值最小】真题+解题思路+代码(20222023)
乱序整数序列两数之和绝对值最小 题目 给定一个随机的整数数组(可能存在正整数和负整数)nums, 请你在该数组中找出两个数,其和的绝对值(|nums[x]+nums[y]|)为最小值 并返回这两个数(按从小到大返回)以及绝对值。 每种输入只会对应一个答案。但是,数组中同一个元素不能使用两…...
字符串转换整数 (atoi)(python)
链接: https://leetcode.cn/problems/string-to-integer-atoi 题目描述: 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C 中的 atoi 函数)。 函数 myAtoi(string s) 的算法…...
洛谷 P1115 最大子段和
题目链接:P1115 最大子段和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 给出一个长度为 n 的序列 a,选出其中连续且非空的一段使得这段和最大。 输入格式 第一行是一个整数,表示序列的长度 n。 第二行有 n 个整数ÿ…...
【Linux】-- 权限和Shell运行原理
目录 Shell的运行原理 用户切换 su - / su sudo 权限 chmod chown chgrp 八进制方法修改文件属性 目录权限 粘滞位 umask 自定义默认权限 Shell的运行原理 广义上,Linux发行版 Linux内核 外壳程序 Linux 从广义上来理解它是一个操作系统 而从狭义上…...
C++各类设计模式及实现详解
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书࿰…...
【Linux】进程理解与学习(Ⅰ)
环境:centos7.6,腾讯云服务器Linux文章都放在了专栏:【Linux】欢迎支持订阅🌹相关文章推荐:【Linux】冯.诺依曼体系结构与操作系统进程概念什么是进程?进程是什么?我们打开任务管理器可以看到有…...
认识代码之前,请先认识你自己 |《编程人生》
这是我的湛庐课程《给技术人的职场突围课》 (链接) 的一部分。 这篇文章也是 IT 女神征文活动 的一部分。 《编程人生》是一本优秀程序员的采访集,里面记录了15位世界级编程大师的故事。 我在 发刊词 里面说过,在这个书单课里&am…...
react学习笔记-5:react路由
react旧版本路由 旧版本的路由是按照组件的方式来写的 编写router/index.tsx文件 import App from "../App" import Home from "../views/Home" import About from "../views/About" import { BrowserRouter,Routes,Route } from "react…...
[Python图像处理] 使用高通滤波器实现同态滤波
使用高通滤波器实现同态滤波同态滤波基础实现同态滤波相关链接同态滤波基础 同态滤波是一种去除图像中乘性噪声的技术,常用于校正图像中的不均匀照明。根据图像形成的光照反射模型,图像 f(x,y)f(x,y)f(x,y) 可以由以下两个分量表征: 入射到…...
PyTorch深度学习:60分钟入门
PyTorch深度学习:60分钟入门 本教程的目的: 更高层级地理解PyTorch的Tensor库以及神经网络。训练一个小的神经网络来对图像进行分类。 本教程以您拥有一定的numpy基础的前提下展开 Note: 务必确认您已经安装了 torch 和 torchvision 两个包。 这是一个基于Pytho…...
建设企业网站的目的/线上推广的渠道有哪些
点击下面链接,来测测您的javaScript水平吧。 JavaScript Puzzlers! 21. function f() {} var a f.prototype, b Object.getPrototypeOf(f); a b; //false f.prototype输出Object {constructor: function},是f的实例对象的原型(实例对象就是…...
青海公司网站建设哪家快/百度推广总部电话
第一步:安装vue-cli 3.0版本 npm install -g vue/cli第二步:创建vue项目 vue create my-project1⃣️ 选择自定义: Manually select features 2⃣️ 按上下键自由选择配置 ,按空格键确定,所有都选择好后,按enter键进…...
哈尔滨免费建站模板/个人网站注册平台
一.角色以及入口: 角色:系统管理员,开发人员 入口:服务管理--修改服务 二.页面元素检查: 对页面初始化的检查,即页面打开后,对页面不做任何操作时的元素检查。(破页;js错;demo对比等…...
wordpress 插入文章/河北网站建设案例
KUKA机器人码垛程序怎么写(案例)注:本文章文字、图片部分来自网络版权归原作者,侵删。工博士提供了KUKA,Yaskawa,ABB,Kawasaki和FANUC等各种新型机器人。我们相信,我们真正地在协助第四次工业革命的进步&am…...
详述电子商务网站的建设/怎么在百度上做广告推广
【例9-23】最长公共子序列【问题描述】w一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列X1,x2,…,xm>,则另一序列Z=1,z2,…,zk>是X的子序列是指存在一个严格递增的下…...
wordpress绑定网站/济南百度公司
哈夫曼树的带权路径长度是什么?1.树的路径长度树的路径长度是从树根到树中每一结点的路径长度之和。在结点数目相同的二叉树中,完全二叉树的路径长度最短。2.树的带权路径长度(Weighted Path Length of Tree,简记为WPL…...