利用智能手机进行测距的探究
2016-05-30张贤达
张贤达
摘 要:上课或购物的时候,我们经常遇到需要测量距离或者物体长度的情况,身边通常不随身携带卷尺等工具。因为长度或者地形限制,卷尺在很多情况下不适用。而在这些情况下,测距的精度要求往往又不高。因此我总结了如下的问题并思考解决:在精度要求不高的情况下,使用手机上的各种传感器以最简便的方法来实现测距。
关键词:智能手机;测距
1 背景介绍
在我们的游玩的过程中,常常会好奇各个建筑的高度,也会想知道到下一个感兴趣的地方需要多远。在我们日常生活当中,也需要简单的测量工作,比如测量桌子的大小,杯子的高度。在这些测距工作中,我们会遇到形形色色的问题,可能是未带尺子,可能尺子的长度太短,也可能因为地形限制不适用普通的尺子。而这些测距工作虽然各不相同,但总体而言精度上的要求都不是特别高。
智能手机已经是我们日常生活中必不可少的物品。智能手机上带有很多传感器,如摄像头,GPS、陀螺仪,加速度传感器等。这些传感器可以帮我们完成拍照、测步、定位等工作。同时智能手机的易用性与其他传统工具相比具有很大的优势。我们可以利用智能手机的特性来完成这些测距工作。
我对智能手机测距的软件进行了前期的调研工作。这些软件主要分为以下几类:
第一类:利用参照物测距。画面中出现该软件可以识别的硬币或者其他常见物体时,根据预存的数据以及画面的比例可以计算出画面中物体的长度。
第二类:利用红外线测距。早期的智能手机会利用红外线测距辅助对焦,但目前的智能手机几乎都不支持此功能了。
第三类:利用两台固定的照相机拍摄多张照片构建出3D图像,使用3D图像来获取景深数据。但经过调研发现该3D图像的建立过程需要大量运算,通常是在计算机上实现,手机上实现会引起耗电量过大的问题。
现有的方法并不能很地解决该测距问题,因此我认为提出一种简单易行的测距方法是非常有意义的。
2 分析问题
目前我们随身携带的工具中,智能手机能提供最多、最灵活的功能。因此我们选用智能手机作为测绘工具。但利用GPS,加速度仪等传感器需要我们携带手机进行移动,而在很多情况下,需要大量移动的测距是得不偿失的。
红外线发射器以及摄像头符合远距离获取数据的要求,而目前主流的手机基本都不支持红外线发射功能,但摄像头是普遍具有的功能。因此使用摄像头进行测距是相对较好的选择。
同时我们需要测量的距离常常是自身到远处某一点的距离,所以将全局的画面3D重构得到景深数据是没有必要的,可以通过标明不同照片上对应点来大幅度减少计算量。
同时查阅资料可得,摄像头成像的原理就是光线从外部进入摄像头,而进入的光线又与视角有关。因此照片上前后物体和手机是具有一定的三角函数关系。通过分析决定采取拍摄一张照片,移动一段距离再拍摄一张照片,并在两张照片中标明对应点的方式来解决问题。
3 解决问题
在具体解决问题的过程中,不必寻找过于艰深的方法,而是通过简化问题使用目前掌握的数学知识来解决该问题。
首先测距者在A处拍摄一张照片,目标物体D与A的连线DA与拍照中轴线夹角可以由物体D在照片上的位置计算得出,即∠DAO可以计算得出:
然后该测距者往前伸手一段距离至A2处,再拍摄一张照片,同样可以得出∠DA2O的角度:
然后根据三角形的外角等于不相邻的两个内角之和得出:
根据正弦定理可知:
最后可得A2O:
∠DAO总公式为:
公式中 A2A为手伸出的距离,可以伸出一只手或者一只手臂的距离(已知);其中DO,BO,B2O可以从照片中标注计算得出;而∠BAO,∠B2A2O为手机摄像头视角的一半。因此总公式中各项未知量都可以得到,最后的距离A2O就可以按照总公式求得。
4 实验验证
考虑到安卓系统具有更大的开放性,采用安卓系统的手机来实现测距功能。
在android studio上,我编写了一个简单的实验性安卓应用。该应用包含两个页面,一个页面控制拍照,一个页面在照片上表明要测量的物体。
操作流程:
(1)在拍照界面上对需要测距的物体进行拍照。
(2)进入标注及计算界面,表明要测距的物体。
(3)点击confirm按钮,计算得到该点与摄像头以及图像中点所成的角度,即∠DAO。
(4)点击return按钮,移动手机再进行拍照。
(5)再表明测距物体(与2中相应物体保持一致)。
(6)填写移动的距离并点击Calcu按钮得出结果。
实验结果:
进行了三次实验,实验结果误差都控制在百分之十以内,实验结果表明该方法具有一定精度,满足该问题的要求。
同时在实验中,发现操作流程第4步中移动手机一段距离需要有参照物,且移动时需要非常小心,在实际操作中会带来很大的不便。这一点是本次实验中最大的不足,需要在之后進行改进。
5 结论
利用智能手机进行测距探究过程中,搜集了解决该问题现有的方案,发现各个方案都具有自身的不足之处,我认为在这个问题上有探究的空间。首先将测距的问题总结为如下特点:精度要求不是很高,受地形等限制较小,操作简便。考虑到普遍性以及丰富的传感器功能,使用智能手机是较好的选择。
在使用智能手机测距的过程中,不但简化了操作流程,而且与其他景深方案相比,计算量上有了大幅度的减小,并且只用现有的数学知识就实现了距离的计算。这种测距方式在短距离内具有较好的精度,长距离精度偏低,但也基本满足了该问题的精度要求。该方法具有简洁易用的特点。
同时该方法也具有一些缺点:两次摄像移动的距离要已知,即需要参照物;两次拍照后需要分别指出对应的物品,精度要求也较高;最后,该方法影响测距精度的因素过多,比较容易造成较大的偏差。
之后,我会进一步优化该方法,在精度,操作简便性上进一步提升,同时控制好计算量,防止给智能手机带来过大的负荷。
参考文献
[1]贾秀维,黄翠荣.一种具备测距功能的手机:CN,CN 201509234 U[P].2010.