标题: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天内无条件退款
高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~