↑ ↑ ↑ 关注AR酱,
和我们一起发现闪闪发光的AR从业者!
黑猫酱
有什么好的wordpress替代品吗?
关于AR成像问题,我们介绍过光照一致性 (酱学堂 | AR VR中的光照一致性),通过模拟光源让虚拟物体产生高光和阴影,以增加真实感。
让真实场景和虚拟物体虚实结合还有另一个关键:几何一致性。
几何一致性,主要是指虚实遮挡,简单地说就是虚拟物体要能被真实物体遮住。
比如这里有一个虚拟小球,我们手持小碗遮住了它的一部分,所以它只露出了一半。
如果这时候小球仍然倔强的叠加在所有物体的前方,就会显得非常的假了。
如果虚实遮挡关系发生错误时,观察者就很难判断虚实物体之间的位置关系。
对一些物体位置关系要求很高的AR应用,比如AR辅助手术,这个错误造成的后果可以说是灾难性的。
技术原理
我们需要比较虚拟物体和场景中的真实物体距离摄像机的远近,通过深度数据判断物体之间的遮挡关系。
基于三维建模的办法:充分采集环境的信息,包括深度、大小形状等,然后对真实物体进行三维建模,求得这个物体在真实世界中坐标系下的三维坐标,然后判断和虚拟物体的位置关系来得到遮挡关系。
这个方法避免了很多计算的过程,所以处理速度很快,但是由于前期建模的时候难度很大,一般只用在简单的场景中,并且不用于动态场景中。
(2)基于深度计算的方法:和三维重建不一样的是,在事先不需要采集真实物体(遮挡物)的详细信息,可以在运行过程中动态的完成这一过程。
①遮挡物获取
利用背景剪裁技术获取遮挡物
就像PS里面的抠图一样,把遮挡物体(手)给剪裁下来。
②深度恢复
所谓深度恢复就是获取物体距离摄像机的距离数据。
关于摄像机,就又有许多不同了,因为可能是:双目摄像机(光学)、单目摄像机(光学)、红外线深度摄像机,等等。
关于双目的测距原理AR酱介绍过很多次了,简单来说就是三角测距原理,两个摄像头的距离已知,很容易可以算得空间中的物体距离摄像机的距离。
单目摄像头则一般运用多点拍摄然后计算的方法。
红外线TOF、结构光、超声波、激光,各种测距原理都能运用,总之得到深度信息就对了。
③遮挡物边缘提取
我们已经把遮挡物(手)的图像给抠了下来,接下来具体判断手的边缘和虚拟物体之间的遮挡关系了,把成像物体中被手遮住的部分剔除掉。
④虚实融合
一旦获得了前景物体遮挡物边缘并且检测出了虚实物体之间的遮挡关系,就能利用背景图、虚拟物体图和前景图之间的关系渲染生成融合图像了。
虚实融合的部分可以通过计算机图形学来较好的解决。
不过对于半透明的遮挡物体,目前缺乏较好的解决办法。
最后看一看效果。
小方块是一个虚拟物体,可以观察到,它可以很完美地被我们手持的柠檬遮挡。
总结
无论是光照一致性还是今天讨论的几何一致性,都是为了让叠加在现实上的虚拟物体更加真实,和环境更融为一体。
HoloLens利用了slam的即时扫描建模,了解了周围环境的空间结构,做到了虚实遮挡,微软在这方面有很深的技术功底,六年前的holodesk已经比较不错了。
不过ARKit仅支持平面重建,另一方面也没有深度传感器,没有做出三维遮挡效果。不过苹果应该并不欠缺技术问题,只是手机和平板的硬件设备欠缺。
来啊,加群啊!
QQ群:158841761
AR酱原创
转自微信号AR酱(ARchan_TT)
并附上原文链接
阅读推荐
酱发现 | 快看,它就是那个脑洞清奇的TRIXI Studios
“呐,做 AR VR,最重要的就是开心啦”
梦想重要,开心也重要
当你有有趣的想法时,也要来AR酱上
和我们一起分享啊
关注一下好不好
点击下方“阅读原文”留下联系信息