校准不好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

校准不好TOF相机就废了?相关推荐

  1. tof相机简介及三维坐标转化,plotly画3D点云

    最近在做TOF相机相关的软件,近年来tof相机开始在手机,车载设备,VR等应用开始增多,产业也开始量化,是一个不错的3维相机的方向. 简单介绍一下tof相机吧:TOF是Time of flight的简 ...

  2. TOF相机很好的总结

    1.1 TOF初探 TOF是Time of flight的简写,直译为飞行时间的意思.所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时 ...

  3. 关于tof相机很好的总结~

    1.1 TOF初探 TOF是Time of flight的简写,直译为飞行时间的意思.所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时 ...

  4. tof相机很好的总结~

    1.1 TOF初探 TOF是Time of flight的简写,直译为飞行时间的意思.所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时 ...

  5. TOF相机-非扫描三维成像

    飞行时间法(TOF)3D成像,是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离. 这种技术跟3D激光传感器原理基本类似,只不过3D激光传感器 ...

  6. 在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试

    关于如何从源码编译pyrealsense2 文章目录: 1 编译librealsense中python相关的库 2 使用pyrealsense2获取Intel 的tof相机视频流用例 1 编译libr ...

  7. 首个可用于深度学习的ToF相关数据集!基于置信度的立体相机以及ToF相机深度图融合框架...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者 | cocoon 编辑 | 3D视觉开发者社区 目录 ✦ contents 1. 概述 2. 方 ...

  8. TOF相机 Realsense L515 与 Ipad pro Lidar Camera 对比

    最近好奇都是TOF 相机 L5151 和 Ipad pro 上带的深度相机模块有啥不一样, 网上很少有相关的中文资料来介绍 原理上的差异, 简单搜索了一下, 在此小小总结. Apple Lidar C ...

  9. 干货 | LIDAR、ToF相机、双目相机如何科学选择?

    点击"计算机视觉life"关注,置顶更快接收消息! 本文阅读时间约5分钟 本文翻译自卡内基梅隆大学 Chris asteroid 三维视觉技术的选择 传感器参数及定义 LIDAR ...

最新文章

  1. 异步调用方法时异常的捕获
  2. IOS-input元素光标偏移乱跑,是什么原因
  3. 腾讯2013暑期实习笔试面试总结
  4. python读取大文件的坑_如何在Python中读取大文件的特定部分
  5. Python 学习之旅1
  6. sqoop简单的demo 先跑起来再说
  7. 省级面板数据(2000-2019)三:人口比、抚养比、就业、失业、离婚、教育(stata版)
  8. ae合成设置快捷键_AE超实用快捷键你了解多少?
  9. SPSS Modeler泰坦尼克号幸存者分析
  10. 一种NET软件加壳技术的设计与实现
  11. 日历插件:Bootstrap的datetimepicker插件
  12. 看完这套书才发现,以前的四大名著都白看了!
  13. 必领空投一:4EVERLAND部署奖励
  14. 读书笔记(二十三):代码整洁
  15. Android adb命令使用记录
  16. Python批量PNG转换成JPGE设置quality=99
  17. 中科大辅修计算机,中科大新生入学第二考来了——校规考试!(一不小心就挂)...
  18. git - 提交空目录
  19. 大于4g的文件如何拷贝到u盘?
  20. 《C语言及程序设计》实践参考——简单循环的流程图

热门文章

  1. P、*P和P三者的区别
  2. 《游戏外挂攻防艺术》学习笔记【一】
  3. 喜报销无缝接入微信企业号 企业员工可在微信上移动报销
  4. excel中如何在一列数据的前面统一加上一个符号
  5. 表格怎么样输入数字自己计算机,表格中输入数字第一个数字是0怎么办
  6. 8421码、5421码、2421码、余3码的学习及转换。
  7. PageAdmin Cms V2.0 getshell 0day
  8. xpanx原理解析 | 只要 3 秒!抖音视频无水印下载
  9. Android 渐变色背景
  10. 倍福PLC的ModbusRTU设置