校准不好TOF相机就废了?

校准不好TOF相机就废了?校准不好TOF相机就废了?原文:(143条消息)校准不好TOF相机就废了?_深度视觉小司机的博客-CSDN博客五种校准一、镜头校准二、温度校准三、非线性校准四、共偏校准五、逐像素校准六、结语校准不好TOF相机就废了?目前,手机相机的进化方向是多摄中加入3D技术,而3D技术的一个很重要的路线是TOF,各大手机厂商都有对应的机型。关于TOF相机的原理,之前已经有很多科普文章了,今天我们就来聊一聊对TOF相机很重要的校准标定。五种校准TOF相机可以产生距离信息即深度信息,而深度.

大家好,又见面了,我是你们的朋友全栈君。

校准不好TOF相机就废了?

原文:(143条消息) 校准不好TOF相机就废了?_深度视觉小司机的博客-CSDN博客

五种校准
一、镜头校准
二、温度校准
三、非线性校准
四、共偏校准
五、逐像素校准
六、结语
校准不好TOF相机就废了?
目前,手机相机的进化方向是多摄中加入3D技术,而3D技术的一个很重要的路线是TOF,各大手机厂商都有对应的机型。关于TOF相机的原理,之前已经有很多科普文章了,今天我们就来聊一聊对TOF相机很重要的校准标定。

五种校准
TOF相机可以产生距离信息即深度信息,而深度的准确性,需要校准标定来保证。TOF校准一般来说需要进行以下几种校准:

镜头校准
温度校准
非线性校准
共偏校准
逐像素校准

如上图,其中上面一行的4个校准是有优先次序的,按照箭头顺序进行。镜头校准是所有校准的基础,需要优先进行。而非线性校准和共偏校准可以合并在一起完成,提高效率;逐像素校准放在最后进行。温度校准目标找到温度变化导致获得深度信息变化的线性关系系数,由于温度校准对其他校准的进行没有影响,所以可以随时进行。另外假如修改了TOF相机的光源调制频率,以上的校准除了镜头校准外的校准流程都需要重新实施
一、镜头校准
为什么需要进行镜头校准呢? 当相机对准物体中心拍摄,理论上物体的中心会成像在相机的中心;然而,由于相机组装等的误差,实际成像并没有在相机的中心,而是会产生一定的偏移,我们定义为光心偏移;另外相机在拍摄物体时,或多或少会出现一定的形变,我们常称为枕形畸变和桶形畸变

镜头校准的目的主要解决制造组装流程中不可避免的公差而导致的光心偏移和畸变等问题。从而得到一个相对理想的光学图像,从而为后续其他校准的开展打下基础。校准的参数也会在将深度信息装为点云时使用,对点云的生成质量有较大影响。
镜头校准一般采用张正友标定算法进行,这个算法有很多工具可以提供了,在此推荐一款GML Camera Calibration Toolbox 来进行标定,衡量镜头校准质量的标准为像素误差,即按照标定参数进行坐标转换和实际坐标之间的标准差。在GML Camera Calibration Toolbox里面完成校准标定后会得到这个指标Pixel error, 这个值越小表示校准的效果越精确,如下图:

二、温度校准
相位式TOF采用相位差来计算深度,TOF相机中由于温度上升导致测量产生误差的影响因素有两个,芯片和光源。对于芯片,存在由于温度上升导致测量出的深度值也变大的情况,这种和温度线性相关的现象称为温飘(Phase drift over temperature)。如下图:

而对于光源,光源的发射波长随着温度的升高会发生红移现象,如下图。计算深度的波长和实际波长不一致,这就会导致检测的深度值出现误差。

如果不进行温度校准,我们很容易想象到,相同的距离,随着温度上升,TOF相机反馈给我们的深度却不断变大,这就可能让我们产生误判,做出错误的决定。
实践中,我们采用最小二乘法来得到综合芯片温飘和光源温飘的最佳拟合参数。操作模式为热箱中采集芯片和光源的问题,并同时记录采集到的phase,形成3列数据,可以导入到其他工具或者自己编程来得到2个数字系数。随后进行补偿的时候可以根据参考点的温度和当前温度算出和温差,然后就可以得到这个温差下应该补偿多少深度值了。

三、非线性校准
由于元器件的限制,产生的方波并不是理想的方波,最后调制后时间和相位差也得不到理想的正弦波,就会产生了非线性的误差,即测量得到的相位差,与理想的相位差之间有偏差,这个偏差呈现一定的变化规律如下图:

上图左边图中里面的标准圆即理想值,实际上测量得到的是外圈的椭圆,可以观察到两者之间的误差会从小变大,然后再从大变小,在一个2π的测量周期内呈现为一个4个轮回。可以从上图右边得到一个更直观的了解。
实践中,我们采用插值查表法来进行非线性误差的补偿。在对应频率的波长范围中,均匀选取多个位置,记录该位置的真实距离对应的深度测量值(一般称之为phase,即相位),然后进行线性插值,得到一个 测量相位和实际距离对应相位的对应表,生成深度时,利用这个表,通过查表法就可以得到校准后的实际相位,从而完成非线性误差补偿。

四、共偏校准
共偏校准就是在一个确定的距离,把实际测量得到的距离换为对应的相位,然后和芯片反馈的相位做一个减法,得到的数值就是需要补偿的值,经过这个补偿后,在这个确定的距离,真实距离相位值和芯片反馈的相位值就完全一致了,没有偏差。看到这里,想必大家有点眼熟,没错,非线性校准也是类似的做法,只是非线性校准流程会做多个距离进行这个操作,所以如果进行了非线性校准,同时就可以得到这个共偏校准的补偿系数了,有些情况,精度要求不高的话,可以跳过非线性校准,单单选择做共偏校准,这样可以量产时校准效率可以提高。如果选择只做共偏校准的话,这个距离建议是选择用户场景里面最常用的距离,这样在常用距离附近获得的深度精度会相对高些。

五、逐像素校准
逐像素校准可以理解是拉平平面。假设我们拍摄的是某一距离下的一张白墙,理论上能得到一个平整的深度平面,因为每个像素点拍摄的都是同一距离,但是实际上却是得到一个稍微起伏的曲面。如下面的对比图:

左边是逐像素校准前的效果,右边是完成逐像素校准补偿后的效果,可以明显看到后者的平整度提高了很多。
需要注意的一点是,这个逐像素校准一定是要在共偏校准后进行的,共偏校准让中心点在指定的距离上的相位差为0,逐像素校准让这个平面上的其他像素点经过补偿后相位差也为0,这样就可以得到一个相对理想的平面。

六、结语
TOF相机高质量深度需要芯片,校准和软件算法的紧密配合,校准是其中不可或缺的一环。有不化妆的美女,但是即使再好的TOF芯片,如果没有高质量的校准,也做不出一个好的TOF相机!
深圳市点云智能公司基于SONY的VGA分辨率TOF芯片 IMX556 ( IMX456/IMX516的工业宽温版本),研制出高精度的TOF相机,深度标准差在1.5米处可以达到0.2%的精度,仅为3毫米,详情如下图:

————————————————
版权声明:本文为CSDN博主「深度视觉小司机」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45668513/article/details/101097433

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/141264.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • anycast 技术简介

    anycast 技术简介Anycast 技术简介 作者:佚名文章来源:本站原创点击数:3024更新时间:2009-1-2310:40:52 Anycast最初是在RFC1546中提出并定义的,它的最初语义是,在IP网络上通过一个Anycast

  • Bug驱动开发(Bug-driven development)

    Bug驱动开发(Bug-driven development)

  • 维度建模——数据仓库初步[通俗易懂]

    维度建模——数据仓库初步[通俗易懂]本文是《维度建模》后续文章的基础。我们首先从宏观层面上考察数据仓库和商业智能(DataWarehousingandBusinessIntelligence,DW/BI)系统。DW/BI系统首先应该仔细考虑的问题是业务需求。《维度建模》系列文章将紧紧抓住业务需求这一要点,逐步深入探讨逻辑设计、物理设计以及采用有关技术和工具的决策等问题。本文将详细考察数据仓库及商业智能的主要目标,辨析DW/…

  • apache 和 nginx 的区别

    apache 和 nginx 的区别1、nginx比apache占用更少的内存及资源2、抗并发—–nginx处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx能保持低资源低消耗高性能3、apache少bug,nginx的bug相对较多 4、nginx运行效率高,占用资源少,代理功能强大,很适合做前端响应服务器5、Apache在处理动态有优势,Nginx并发性比较好,CPU

  • 复习一周,京东+百度一面,不小心都拿了Offer

    复习一周,京东+百度一面,不小心都拿了Offer京东和百度一面都问了啥,面试官百般刁难,可惜我全会。

  • h5页面 请在微信客户端打开链接_完美解决 请在微信客户端打开链接

    h5页面 请在微信客户端打开链接_完美解决 请在微信客户端打开链接原标题:完美解决请在微信客户端打开链接背景描述相信有模拟微信页面请求的测试都有看到过这个页面,简单点说就是爬虫爬微信页面,进行回放的时候会出现这个页面。大概在1年前,专门安排了一个人去解决这个技术问题,遗憾的是当时没有找到解决方案,接下来所有微信端的接口测试和性能测试都无法进行,今天和大家分享下我们的解决方案,希望大家可以绕过微信的坑。业务场景我这里以JMeter来举例,我们可以通过在JMet…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号