单目摄像头测距——单应性

之前在做车道线识别项目的时候,同事提出来用摄像头测距。大致研究了一下,理论上是无法测距的,因为想用2维信息(像素坐标系)还原3维信息(世界坐标系),不加条件是不可能的,但是如果假设测量的点在地面上,就是用2维信息还原2维信息,还是有得搞。

预备知识:像素坐标系——图像坐标系——相机坐标系——世界坐标系,这4个坐标系的关系:相机的内参矩阵 M 将相机坐标系和像素坐标系联系起来,相机的外参矩阵 W 将世界坐标系和相机坐标系联系起来,(这里注意一点,一般说的相机的内参包括内参矩阵和畸变系数,这里说的是针孔相机模型(pin-hole),所以不考虑畸变系数);相机的外参矩阵其实就是旋转 R 和平移 t ,其中 R 是3x3旋转矩阵,t 是1x3的平移向量。理论上,世界坐标系中一点Q,在内外参矩阵的作用下,可以计算出在像素坐标系中的位置q。可以参考这篇文章,写的比较详细、明白,虽然是左手系。
https://blog.csdn.net/chentravelling/article/details/53558096

上图在这里插入图片描述

如图所示。令世界坐标系的原点和相机坐标系的原点(摄像头的中心)在同一垂线上,这样平移向量t中就有2个0;令世界坐标系和相机坐标系是平行的,因为这样旋转矩阵R 就是单位矩阵I ,(虽然是y轴指向地面有点奇怪,这是因为要照顾像素坐标系u、v的缘故)。采用Learning OpenCV3一书中的记号
在这里插入图片描述
这里先忽略s,它只是计算出后面乘积之后提取出来的系数,为了让左边的向量的第三个分量变为1;u,v是像素值;M是相机的内参矩阵;W是3x4的外参矩阵,前三列是旋转矩阵,第四列是平移向量,其中h是相机离地高度;Xw,Yw,Zw是世界坐标系下的坐标。由于假设R=I,t=[0 ,h, 0]的转置,并且Q在地面上,所以Yw=0。接下来就是解这个简单的方程组
在这里插入图片描述
Z就是点Q在z轴方向的距离,X是x轴的距离。h和X、Z的单位是一样的,可以是米也可以是毫米。此外,在这里插入图片描述
称为单应性矩阵。
下一步就是写代码,再做个实验验证一下这个简易的算法。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值