校准

开发LineSmarts的挑战之一是确保它在多种设备上准确、精确地运行,其中绝大多数在开发过程中无法进行测试。每种设备型号都具有独特的硬件和软件组件组合。LineSmarts必须识别每个型号应用的正确参数,识别和利用可用的传感器,或者在缺少传感器的情况下工作。

在很多不同的Android设备上运行应用程序的问题是普遍存在的,但对于LineSmarts来说,情况尤为严重,因为它涉及一系列传感器,并且需要可靠地产生精确的结果。LineSmarts依赖于设备摄像头、陀螺仪、加速度计和罗盘的数据(如有)。这些硬件组件具有特征参数,LineSmarts需要知道这些参数才能正常工作。此外,它们可能会受到特定于单个设备的缺陷或通用设备设计的影响。默认情况下,LineSmarts会使用制造商记录的设备信息进行自动校准。通常,这种默认校准是准确的,但在信息不正确或设备缺陷导致测量精度不佳的情况下,用户需要纠正或微调校准。

在使用LineSmarts进行测量之前,我们建议用户对安装了LineSmarts的每台设备进行验证测试,以确认自动校准是否产生准确的结果。一个简单的测试方法是使用LineSmarts测量跨度或尺寸,然后与另一种方法测量的结果进行比较。如果自动校准结果不准确,我们建议用户直接调整Fx和Fy校准参数。

Fx和Fy参数可以在“相机参数”菜单下找到,而“相机参数”菜单则是在照片页面的“设置”菜单下访问的。调整Fx主要影响高度测量,调整Fy主要影响跨度测量,但它们都可能产生影响,因此我们建议同时调整Fx和Fy。增加Fx和Fy参数将大致成比例地减小LineSmarts测量的高度或跨度距离,减小Fx和Fy则产生相反的效果。因此,例如,如果发现LineSmarts平均低估跨度长度10%,则Fx和Fy值应该减少10%。使用这种方法可能需要进行迭代调整以达到所需的精度。此过程在以下视频中有详细说明: