结构光向前,TOF向后
创作立场声明:作者并非专业人士,若有错误,请大神指正
随着2017年9月13日Iphone X的发布,3D成像技术被带入了日常消费品领域,这就是大家所熟知的FACEID。其实在这之前的13天,索尼比苹果更早地发布了一款带有3D成像技术的手机,XZ1。同样是3D成像,但这两家大厂却用了不同的技术路线,苹果选择了结构光,而索尼选择了TOF。在此之后的时间里,国内各大厂家紧跟着他们的脚步,都推出了各自的3D成像方案。比如华为最先发布了外挂结构光组建Jupiter X,而后VIVO又展出了巨大额头版的TOF体验机。一时间,以不管能不能用,有没有用,先用再说为方针的国内厂商,纷纷在自家旗舰产品上装上了3D成像系统,然后各自吹嘘自家技术是最好的,我的点比你多,我的精度比你高。在VIVO刚展出TOF那段时间,自媒体们纷纷贴出各种的表格来对比结构光和TOF,想证明TOF远比结构光来的优秀,下面这张应该是最早的。
当时看到这表格我就找了一下工业级的TOF设备在Z方向的精度。
我们从Basler的产品描述中可以看到,即使工业级的TOF相机,精度也非常低。即使把测试距离减小到0.5m到2.5m范围内,这台相机的精度大约也就13mm。所以说手机上的TOF相机精度真能到3mm?做这个表格的大哥,你使认真的吗?
既然TOF精度如此不堪,那为什么各个厂家都要上TOF?甚至传言下一代Iphone也要用。
我们先来看看结构光和TOF各自的原理吧。
首先来说说结构光。
结构光顾名思义,就是有图案的光,这个图案是一个固定的结构,可以通过这个图案的变化来解析物体的深度信息。举一个很简单的例子,水面如果是平静的,那么投影在水中的物体就会像投影在镜子里一样,没有变形,而一旦水中有波浪,那么水中倒影必定会变形。
如果我们可以获取门洞在平静水面投影的信息(亮度及亮度对应的位置),那么就能够通过该信息的变化去推算出水面波浪的高度,从而重构出水面波浪的三维图形。在实际应用中我们只需把门洞替换成固定图案的光即可。
TOF又是怎么样一个原理呢?
TOF的全称是Time Of Flight,翻译过来就是飞行时间。这就很容易理解了,光发射后接触到被测对象后反射到接收器,这个过程所用的时间除以光速,就可以得到深度信息,是不是很容易?
从原理上可以看出其实结构光和TOF在结构上是很相似的,都是光投射器加传感器。不同点主要是结构光是通过空间变形获取深度信息,而TOF是通过时间变形获取深度信息。也正是由于不同点,导致了这两个技术拥有各自的优势。
以下这个表格是我对结构光和TOF的对比
Z方向精度
Z方向精度指的就是深度方向的精度,这个数据对于两个技术而言是最为重要的,因为这两个技术存在的意义就是获取深度方向信息。
从目前已知信息看,结构光是远远超过TOF的。当然这并非是对比手机端,而且包括了所有的工业应用。通常结构光在工业中被用于工业测量,精度通常在0.05mm左右。TOF一般被用于视觉导航,精度通常在10mm左右。当然这都是常规技术下的数据,一些特殊技术的Z向分辨率(非精度)可以做到远低于0.05mm。
不过需要说明的是,对于这俩者的精度不能直接对比,因为这两者应用及原理的不同导致了其精度的含义不同。结构光的精度指的应该是相对精度,即某一点到另一点的距离。而TOF则是绝对精度,即从TOF相机到被测物体的距离。网上似乎没有关于TOF相对精度的资料,但从实际应用情况来看,毫无疑问结构光是远优于TOF的。
X/Y方向分辨率
这个指标毫无悬念是结构光更优,目前TOF传感器最高分辨率是130万像素传感器,也就是1280 x 1024。而结构光由于可以使用任意一种图像传感器,所以最高分辨率可以到目前图像传感器的极限。
算法复杂度
以FACEID散斑结构光为例,该方法从现有资料上来看应该是先获取平面距离结构光模组各个距离上的散斑分布,如果只测0到30cm,就可以1mm或0.1mm为间距,获取该距离范围内的散斑分布,然后拍摄被测物,再将被测物的散斑分布与0到30cm上所有的平面散斑分布做对比,求得深度信息,如果是以1mm为间隔那就是对比300次,如果是以0.1mm为间隔,那就要对比3000次。所以计算量上还是不小的。TOF则要简单很多,直接通过光来回的时间测距即可。
需要说明的是,散斑结构光并非常规意义上的结构光,其并非通过对图案的解析来获得深度信息,而是依靠与标定数据进行对比。目前普遍使用的高精度结构光一般都采用相移法,计算更加复杂。当然TOF的算法也不仅仅只有时间差测距一种,还有其他更加复杂的方法。但不管怎么样,算法复杂度上TOF还是要更优。
帧率
这个对于手机体验而言是个相当重要的参数,但这个数据本身就与精度相悖,所以又要快又要好的东西是不存在的。对于结构光和TOF而言,这个参数其实很难来比较,因为这两个都可以通过改变采集方法来达到一个较优的水平。比如结构光使用空间编码或散斑,TOF直接计算时间差都可以极大地提升图像采集速度。但于此同时,结构光的空间编码精度远不如时间编码来得精准,而TOF直接计算时间也不如计算相位的抗干扰性好。所以这部分我觉得两者相差不大。
有效距离
从原理上来看,TOF相较于结构光有着天然的优势。结构光获取深度信息依靠的是光投影到对象上的变形,也就是说一旦距离过远,光投影由于衰减变得模糊,结构光就无法获取精确信息。TOF虽然也会衰减,但由于只要光信号达到传感器的触发值即可,所以相对于结构光有效距离会更远。
从已知的应用来看,结构光的应用距离通常不超过2.5m,而TOF相机则可以达到10m左右。这也是TOF相对于结构光最大的优势。
从这两者的优劣对比可以看出,结构光的优势在于精度,而TOF的优势在于计算量以及距离。从手机应用的角度去看,把结构光安排在前置是最合理的结果,用它来作为面部解锁,这也可能是结构光在手机上最佳的应用。TOF相对于结构光而言虽然精度上没有一点便宜可占,但距离以及计算量上的巨大优势,使得它的应用范围比结构光更加广阔,不论是AR、拍摄甚至是逆向建模后3D打印,都可以使它牢牢占据后置摄像头中的一个位置。
技术在进步,结构光和TOF也不会一成不变,或许哪天结构光可以被直接整合到现有基础部件中,而TOF可以达到更高的精度更高的分辨率。但不论怎么变,一切都是应该是为了应用,而不是为了炫技。
aParanoidcat
校验提示文案
你想噶嘛
校验提示文案
暗夜无边
校验提示文案
1680v
校验提示文案
queenma
校验提示文案
Neil_Fan
校验提示文案
NiubWill
校验提示文案
70KG
校验提示文案
gothickiller
校验提示文案
美僵-叶子
校验提示文案
美僵-叶子
校验提示文案
gothickiller
校验提示文案
暗夜无边
校验提示文案
70KG
校验提示文案
NiubWill
校验提示文案
queenma
校验提示文案
你想噶嘛
校验提示文案
1680v
校验提示文案
Neil_Fan
校验提示文案
aParanoidcat
校验提示文案