gpt4 book ai didi

iphone - ARKit是否考虑iPhone和iPad中的镜头变形?

转载 作者:搜寻专家 更新时间:2023-10-30 21:56:30 27 4
gpt4 key购买 nike

ARKit逐帧更新ARCamera的许多固有(和外部)参数。我想知道是否也考虑了Radial Lens Distortion(例如ARKit不使用的AVCameraCalibrationData类),并为后iPhone和iPad相机适本地修正了视频帧的失真(distort/undistort操作)?

var intrinsics: simd_float3x3 { get }
enter image description here
众所周知,当我们将未变形的3D对象放置在镜头真实世界场景中时, Radial Lens Distortion极大地影响了6自由度姿势估计精度。
enter image description here
var lensDistortionLookupTable: Data? { get } 

/* A map of floating-point values describing radial */
/* lens distortions in AVCameraCalibrationData class */
如果ARKit中的 Lens Distortion's math在API中可用,在哪里可以找到它?

最佳答案

尽管没有明确说明,但我可以肯定ARKit正在纠正非线性透镜畸变。镜头失真(和反失真)查找表存在于iOS11中,可通过AVCameraCalibrationData获得,但ARKit不会公开它们,大概是因为您已经在使用校正坐标,因此不需要它们。
每个设备型号的失真模型参数是否相同(即每个iPhone 7的值完全相同),这是一个有趣的问题。我无法使用相同型号的多部手机,但是对于有此功能的人来说,这应该不难发现。
source
例如:https://github.com/verebes1/ARKit-Multiplayer
QR标记检测
Image
现在,借助Apple的Vision,可以识别摄像机视频源中的QR标记并在视场中对其进行跟踪。该框架为我们提供了屏幕坐标系中QR标记方形角的坐标。
QR标记姿势估计
检测到QR标记后,您可能要做的下一件事是从它们获取相机姿态。
要执行QR标记姿态估计,您需要了解相机的校准参数。这是相机矩阵和失真系数。每个摄像机镜头都有独特的参数,例如焦距,主点和镜头畸变模型。查找相机固有参数的过程称为相机校准。相机校准过程对于增强现实应用非常重要,因为它描述了输出图像上的透视变换和镜头失真。为了获得增强现实的最佳用户体验,应该使用相同的透视投影来完成增强对象的可视化。
最后,校准后得到的是相机矩阵:一个具有焦距和相机中心坐标(又称固有参数)的3x3元素的矩阵,以及失真系数:一个5个元素或更多的矢量,可以对相机产生的失真。大多数iDevice的校准参数几乎相同。
利用标记角的精确位置,我们可以估计摄像机和3D空间中标记之间的转换。该操作被称为根据2D-3D对应关系的姿势估计。姿势估计过程会在相机和物体之间找到一个欧几里得变换(仅包含旋转和平移分量)。
Vector
C用于表示相机中心。 P1-P4点是世界坐标系中的3D点,而p1-p4点是它们在相机图像平面上的投影。我们的目标是使用本征矩阵和图像平面上的已知点投影(P1-P4),找到3D世界中已知标记位置(p1-p4)和相机C之间的相对转换。
OpenCV函数用于计算QR标记变换,以使其最小化重投影误差,即观察到的投影的imagePoints与投影的objectPoints之间的距离平方的总和。估计的变换由旋转(rvec)和平移分量(tvec)定义。这也称为欧几里得变换或刚性变换。最后,我们得到旋转四元数和QR标记的平移矩阵。
集成到Apple的ARKit中
最后一部分是将QR标记姿势的所有信息集成到ARKit创建的3D场景中。 ARKit使用视觉惯性里程表(VIO)来准确跟踪周围的世界。 VIO将摄像头传感器数据与CoreMotion数据融合在一起。这两个输入使设备可以高精度地检测其在房间内的移动方式,而无需任何额外的校准。所有渲染内容均基于Apple的Metal和其上方的Apple SceneKit。
为了以适当的方式在我们的QR标记上渲染SceneKit的节点,我们需要根据从OpenCV获得的四元数和平移矩阵创建QR标记的模型矩阵。下一步是将QR标志的模型矩阵乘以SceneKit场景虚拟相机的变换矩阵。结果,我们可以看到一个自定义节点(我们项目中的Axes节点),该节点在iPhone摄像头的视场中重复现实世界中所有QR标记的移动,如果不在,则保留在最后一个更新位置,以便我们可以对其进行检查。
Move

关于iphone - ARKit是否考虑iPhone和iPad中的镜头变形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52025727/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com