单目视觉定位测距的两种方式

原文地址:https://blog.****.net/sillykog/article/details/71214107

  单目定位和双目定位的选择,我觉得主要还是成本和时间的考虑。之前也尝试过双目定位,感觉要更精准些,但双目测距需要对两幅图像进行图像变换和极线匹配,稍微耗时了一些。这几天尝试了一下单摄像头进行测距定位,主要有两个思路: 
  1.定位测量插值得到每个像素的实际坐标   
  该方法总觉得有很大的问题:一个是摄像头安装后就必须固定不动,稍微的旋转都会导致之间测量的像素点对应的坐标偏移。另一个是人工测量的工程量之大,对于1024*1280像素的摄像头,准确的测量就应该是130万个点,而就算我们按米来分割地面,10*20m2的地面也要测量200个点,就算可以通过算法自动识别,做200个标志就算测量画线也是令人头疼的。考虑到针孔成像模型的等比例放大,我们通过直接打印布满等距阵列圆点的纸来进行测量。 
  其原理如下: 
单目视觉定位测距的两种方式

单目视觉定位测距的两种方式

  如此一来,可以在较高距离测量等距阵列点(如标定板),经过插值,再进行等比例放大即可得到每个像素点对应的实际地面的坐标。 
   
  处理的示意图如下: 

单目视觉定位测距的两种方式

  这样操作可以省去人工在地面测量绘画标志。测量好纸上的点距后再进行H/h的放大就可以得到像素对应实际地面的坐标。但实际操作过程中遇到的问题是图像上边缘的梯形失真过于严重,导致打印纸上的标志点不容易识别,因此还需要准备不同距离的等距阵列圆点图。

  2.根据相似三角比例计算出对应像素点的实际坐标   
  这个方法对摄像机标定的要求比较高,同时要求镜头本身造成的畸变就比较小,但总体来说这种方法的可移植性和实用性都较强。其主要的思路还是小孔成像的模型。 
   模型一:假设测量的点都在Y轴上,此时无X轴分量 
单目视觉定位测距的两种方式

单目视觉定位测距的两种方式

   模型二:假设测量的点有X轴、Y轴分量  

  针对以下模型图我们将进行说明:

单目视觉定位测距的两种方式

单目视觉定位测距的两种方式

  这样就可以得到垂直方向的坐标 X=PQX=PQ 
   模型三:假设测量的点有X轴、Y轴分量,且物体有高度h     
   
  针对以下模型图我们将进行说明: 

单目视觉定位测距的两种方式

单目视觉定位测距的两种方式

   模型评价    

  实际操作过程中,发现该模型在畸变较小的图像中误差较小,且在矫正畸变后的图像中测量的图像坐标可以得到更准确的值。另一方面,在实际操作过程中,发现由于镜头有稍微歪曲或者内置感光区域安装歪了,可能导致我们找不到真正的X,Y轴,所以在测量验证的时候会有稍许误差,但即便如此,在10米的定位下,误差也不到5%,效果还是可以接受的。如果有人知道如何找到真正的X,Y轴,请博客留言告知一下,先谢谢了。

matlab计算代码下载,http://download.****.net/download/sillykog/10048668
————————————————
版权声明:本文为****博主「sillykog」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.****.net/sillykog/article/details/71214107