热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

高精度三维空间测量、定位与追踪(下)

雷锋网按:本文作者周琨,深圳市欢创科技有限公司CEO,清华大学深圳研究生院硕士生导师,师从973首席科学家,长江学者戴琼海教授。雷锋网(公众号:雷锋网)特约文章。在前文:高精度三维

雷锋网按:本文作者周琨,深圳市欢创科技有限公司CEO,清华大学深圳研究生院硕士生导师,师从973首席科学家,长江学者戴琼海教授。雷锋网(公众号:雷锋网)特约文章。

在前文:高精度三维空间测量、定位与追踪(上)中,我们介绍了三维空间测量、定位和追踪的应用场景及常见方案,本文将继续上文,重点介绍单目方案的空间定位。

三、单目三维空间测量与定位要解决的问题

1、 求解原理和过程

如前文所述,单目三维空间测量与定位,是依据PnP原理来求解的。理论上讲,如果可以获取一个三维刚体上不共面的任意6个点在摄像机二维成像平面的投影位置,是可以唯一反解出来这个刚体在三维空间的唯一6DoF参数的。如果少于6个点,解就不一定唯一了。但在实践中,由于刚体往往存在一些约束条件,因此,大多数情况下,如果能提取获得刚体上4个不共面点的二维投影,一般就可以反解出刚体的6DoF。其求解的前提条件为:

高精度三维空间测量、定位与追踪(下) 

求解过程如下:

在结算过程中,会遇到的关键技术环节和问题包括:环境噪声点去除,光斑中心像素提取,二维和三维点匹配,6DoF计算迭代优化,以及多传感器融合问题。

 高精度三维空间测量、定位与追踪(下)

2、 环境噪声点去除问题

在计算机视觉、图像处理领域,最常见的一个问题,也往往是一个非常头疼的问题就是环境噪声。所有图像处理的问题,都会面临:光照是否足够,太阳光、日光灯、白炽灯、卤素灯(展会往往会有)等各种灯的红外分量、可见光分量的干扰和影响。解决环境噪声的手段包括:1)使用主动光源,这样可以有效的减少白天、黑夜所带来的影响,一般使用的主动光源时,会使用红外光源;2)使用滤波片,特别是窄带滤波片。在使用主动光源时,往往会配合使用滤波片,将不需要的光学成分去除,最常见的,例如第一代Kinect中,其发光为波长828nm的红外光,因此,其使用了828±15nm的窄带滤波片。这是抗干扰手段中性价比最高的方法。3)使用主动调制光源。如果前面两种措施还不能有效抑制干扰(最常见的情况是在室外或者室内使用,但有阳光射入),这就可能要使用带调制信息的主动光源了,CMOS Sensor在接收到光线信号后,算法可以将阳光等不带调制信息的光线信号给滤除。虽然,使用调制光源可以进一步抑制干扰,但其往往也有副作用,例如增大处理器运算工作量,降低帧率。

3、 光斑中心像素提取精度问题

利用计算机视觉的定位中,影响定位精度的其中一个最重要的因素就是光斑中心的提取精度。在实际应用中,即便不考虑外界光线的影响,仅仅CMOS Sensor本身,也会对光斑成像带来各种噪声,包括:读出噪声、暗电流噪声、固定模式噪声等。理想情况下,光学系统能将光斑的平行光束投影到CMOS Sensor的一个或几个像素点上,使其分布呈现中心某个或某几个像素有均匀光线,而其余像素无光线的情况。但实际上,由于光学系统的成像误差、衍射、以及CMOS Sensor噪声的存在,使得成像结果往往会呈现以某个像素为中心的光强正态分布情况。为提高光斑中心像素提取精度,硬件上的做法是通过提高摄像机的分辨率来实现更高精度的图像提取,但这样也会相应的增加硬件成本。而且,随着分辨率的增加,运算量也成几何倍数的增长,这也会带来处理器的性能增长需求,这将极大的增加整体成本。另外,在算法层面,采用一些传统的灰度质心提取算法,其一般做法是通过对图像二值化预处理然后使用连通域提取,对光斑的质心进行求解,这在目标距离摄像机较近,光斑亮度比较均匀的情况下,传统方法提取的质心精度效果比较好,然而实际情况中,光斑的亮度分布往往不是非常均匀,尤其在距离较远的情况下,亮度的均匀性和大小都将快速衰减,使得质心质心精确性大幅下降。其中改进的方法包括对连通域范围先进行致密上采样 随后对上采样范围的像素亮度进行加权求解质心,这种方法在效果上可以达到较高的亚亚像素精度,然而牺牲了较多的运算效率。但如果我们对算法进行一些改进,是可以将提取精度提高到亚亚像素级的。欢创科技在这一点上进行了比较深入的研究,从光斑成像的角度入手,对光斑亮度的衰减过程进行分析,从而总结出了一种预处理方式,使得质心提取精度在维持亚亚像素精度的情况下,不牺牲任何运算效率。

4、 二维和点匹配问题

对于单目的姿态求解, PnP原理是求解的基础,然而PnP求解的前提是空间中的3D坐标和相机投影的2D像素间的对应关系已知,在匹配未知的情况下,求解PnP 问题变得比较复杂,在计算机视觉领域,这个问题又叫做即时姿态和匹配求解问题(Simultaneous Pose and Correspondence Problem),针对这个问题比较常见的算法有softPOSIT,BlindPnP等,这些方法都采用的迭代求解的思想,将姿态求解和匹配归结为优化问题,交替求解当前最优姿态以及最优匹配,相对于softPOSIT,BlindPnP加入一些先验姿态信息,并且将高斯混合模型应用于3D-2D匹配, 在某些案例中可以达到较精确的效果,然而这些方法的通病就是无法确保结果是全局最优的,由于求解的空间复杂,因此有不收敛或收敛到局部最优的可能,导致求解失败。因此一些基于Branch-and-Bound以及Bundle Adjustment全局求解的思想框架逐渐运用到了这个问题上来,并且获得了不错的结果。总的说来,3D-2D的匹配和姿态求解密不可分,匹配算法的鲁棒性和效率直接决定了姿态求解的性能,也是所有基于视觉的空间定位系统至关重要的环节。

5、 相机运动情况下与IMU传感器融合的问题

早在惯性测量单元(IMU)还未大规模普及的时代,SLAM 系统往往只依靠相机捕获的图像信息进行空间定位,由于图像信息中的角点或Marker点是可以直接约束相机的姿态和位置的, 因此纯视觉输入可以保证SLAM系统在小范围空间内的跟踪结果不存在漂移。然而纯视觉定位的局限在于其帧率往往不是很高,而且图像运算复杂,使得姿态求解不具有较高的动态性能。 而反过来,惯性测量单元具有极好的瞬时动态性,可以很好的弥补视觉系统的不足。因此,视基于觉和惯性单元融合的空间定位系统Vision-Inertial Navigation System(VINS) 便成为当前流行的SLAM系统最佳方案,在VR领域,这也是inside-out 定位系统的基础。VINS的核心是利用卡尔曼滤波器对惯性单元的输入进行预积分,将积分结果用于预测当前姿态下所有角点或Marker点在相机中的投影位置,接着通过相机捕获到的角点或marker点坐标对预测姿态进行修正更新,整个预测和更新过程交替进行。当前市面流行的IMU输出帧率可以达到1000帧,因此VINS可以以很高的帧率对当前姿态进行预测,同时以相对较低的图像频率对姿态进行更新修正,这样可以同时保证定位系统的瞬时响应速度和长时间使用的准确性。

以上就是为大家带来的单目空间定位的一些技术介绍,在后续,本专栏还会结合一些实际应用和产品再介绍和空间定位、测量相关的技术。

雷锋网特约稿件,未经授权禁止转载。详情见。


推荐阅读
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • [转载]从零开始学习OpenGL ES之四 – 光效
    继续我们的iPhoneOpenGLES之旅,我们将讨论光效。目前,我们没有加入任何光效。幸运的是,OpenGL在没有设置光效的情况下仍然可 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 本文记录了作者对x265开源代码的实现与框架进行学习与探索的过程,包括x265的下载地址与参考资料,以及在Win7 32 bit PC、VS2010平台上的安装与配置步骤。 ... [详细]
  • Apple iPad:过渡设备还是平板电脑?
    I’vebeenagonizingoverwhethertopostaniPadarticle.Applecertainlydon’tneedmorepublicityandthe ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
author-avatar
手机用户2502853847
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有