Computer vision 有关iphone arkit planeDetection的详细信息

Computer vision 有关iphone arkit planeDetection的详细信息,computer-vision,arkit,Computer Vision,Arkit,我想从计算机视觉的角度了解如何检测平面,以及为什么Arkit无法检测垂直面。地平面检测的工作方式如下。使用基于特征的视觉惯性里程计(这意味着使用视觉运动结合潮间带传感器的信息来估计相机姿势)执行场景的稀疏3D重建。三维重建中的点(也称为贴图)对应于在两个或多个相机图像中检测到的特征点。从稀疏重建中,通过找到所有近似共面的重建点来建立地平面。解决这个问题的方法很可能是基于RANSAC的平面拟合。其工作原理是随机抽样一小部分特征点(通常为3或4),找到最接近这些点的平面方程,然后测试所有其他点是否接

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

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

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

非常感谢你的回答。这很有帮助。但是,我会假设一个平面恰好是平滑的、缺少特征的地方,因此没有足够的3D点。他们还能用RANSAC找回飞机吗?@消防员的特征不一定是3D结构。VIO和类似算法中使用的“特征点”只是一小块像素区域,具有足够的细节/对比度,可以在后续帧中识别。因此,一个光滑的带有可见木纹的桌面,或者一个瓷砖地板,等等,为VIO和平面检测提供了足够的细节。此外,像RANSAC这样的技术可以让人选择容忍或错误的程度仍然可以产生积极的结果,因此像厚绒毯甚至是蓬乱的草坪这样的表面可以被识别为飞机。这是有道理的。谢谢也许这就是ARkit无法探测到墙壁的原因之一?不知道。我想,与其说他们能否检测到墙壁,不如说他们能否以足够的精度检测到不同的垂直平面方向,使其成为值得提供的公共API。建筑物的内墙往往采用单一颜色,没有太多纹理细节。因此,使用图像特征很难检测它们。相比之下,地面平面(如桌面或室外地面)往往具有更好的纹理细节。他们可能会限制API,因为计算墙平面还不够健壮,因此会让用户感到沮丧。我想补充一点,使用背面深度传感器检测墙面还有其他方法。这些传感器可以在室内很好地工作,比如谷歌的探戈项目,但iPhone中没有这种传感器。非常感谢您的回答。这很有帮助。但是,我会假设一个平面恰好是平滑的、缺少特征的地方,因此没有足够的3D点。他们还能用RANSAC找回飞机吗?@消防员的特征不一定是3D结构。VIO和类似算法中使用的“特征点”只是一小块像素区域,具有足够的细节/对比度,可以在后续帧中识别。因此,一个光滑的带有可见木纹的桌面,或者一个瓷砖地板,等等,为VIO和平面检测提供了足够的细节。此外,像RANSAC这样的技术可以让人选择容忍或错误的程度仍然可以产生积极的结果,因此像厚绒毯甚至是蓬乱的草坪这样的表面可以被识别为飞机。这是有道理的。谢谢也许这就是ARkit无法探测到墙壁的原因之一?不知道。我想,与其说他们能否检测到墙壁,不如说他们能否以足够的精度检测到不同的垂直平面方向,使其成为值得提供的公共API。建筑物的内墙往往采用单一颜色,没有太多纹理细节。因此,使用图像特征很难检测它们。相比之下,地面平面(如桌面或室外地面)往往具有更好的纹理细节。他们可能会限制API,因为c