有关iphone arkit planeDetection的详细信息

时间:2018-01-09 17:40:38

标签: computer-vision arkit

我想从计算机视觉的角度来了解如何检测平面以及为什么Arkit无法检测垂直面。

1 个答案:

答案 0 :(得分:2)

地平面探测的工作方式如下。使用基于特征的视觉惯性测距法(其意味着使用视觉运动结合来自潮间传感器的信息来估计相机姿势)来执行场景的稀疏3D重建。 3D重建中的点(也称为地图)对应于在两个或更多个相机图像中检测到的特征点。从这种稀疏重建中,通过找到近似共面的所有重建点来建立地平面。这种方式最有可能通过基于RANSAC的平面拟合来解决。这通过随机采样一小组特征点(通常为3或4),找到最接近这些点的平面方程,然后测试所有其他点是否位于拟合平面附近来工作。该过程重复多次(通常为数百次),直到找到适合大量特征点的平面。在该库中假设平面是地平面(不是墙),因此任何检测到的具有强倾角的平面都被拒绝。它可以使用板载陀螺仪传感器来做到这一点。仅支持地平面的原因是它们对应于AR的最常见用例(将虚拟对象放置在地平面上),但将来几乎肯定会支持其他几何表面。