双目测距的徒手实施和校准

56 篇文章 0 订阅
51 篇文章 0 订阅

1.测量

传统的双目测距需要准备两个照相机,分开一定距离放置,对着要测距的物体拍摄两张独立的照片,比如,下图中,我们在相同距离,在一块地板砖(60cm)左右两侧拍摄了两张照片:

1.双目测距的原理

双目测距的原理,利用了真实世界里两次拍照的角度差,与照相机里两次拍照的像素偏移相对镜头焦距的角度差,两个角度相等的特性。

2.数据识读:

比对两张照片中,所需要测距的物体,在两次拍照过程中的像素偏移,比如最前方的门框。直接用mspaint绘图工具手工就可以得到这个像素偏移:

上图左侧,门框的左侧,像素点坐标是:619pt(横坐标)

上图右侧,同样测量门框的左侧,像素点坐标是:613(横坐标)

所以,两张照片里,同一个标志物的像素差别是:水平方向-6个像素。

检查此时的照相机参数:96dpi, 35mm焦距。

所以,6个像素相当于:

6*1inch/96 = 1/16 inch = 25.4mm/16 = 1.5875mm

所以按照角度相等的关系:

35mm/1.5875mm = dis?/600mm

所以,最终距离 = 132.28米。这个显然不对,对吧。为什么呢?图片经过微信上传时做了尺寸缩放,微信传送,压缩后的幅面是:1279*1706,它的原始幅面是:3468*4624:

所以,修正后的像素数目是:

6*3468/1279 = 16.27像素。即:16.27/96*inch = 4.3048mm

所以:

35mm/4.3048mm = dis?/600mm

Dis = 48.78m 这个大致正确。因为是数字相机,此时的理论误差大概在:1/.16pt *48.78 = 3米。

2.误差

实际勘察了现场情况,是44.4块60cm地砖,大概的长度是:44.4*0.6 = 26.64m,

误差:(48.78 – 26.64)/26.64 = 83.1%

3.粗略校对

很容易想到,这种错误是由于手机两次拍照没有对准同一个方向造成的。注意,两张照片中,我们能看到在照片的下部,有两根垂线。由这两根垂线,我们能得到两次拍照时,相机的角度的差值:

左侧,每块地砖是60cm, 前方3块地砖=1.8米处,地砖水平,垂直接缝处的像素点x坐标是:659:

同理,得到另一张照片,相邻线的坐标是:678.

所以,相机两次拍照的像素点差值是:(678-659)pt = 19

之前我们测得的远端的像素差值是-6。所以,其实参与运算的点数其实不是-6,而是19+(-6)=13才对。

所以,实际测测量值应该是:48.78 * 6/13 = 22.51m

最终误差是:(26.64 – 22.51)/26.64 = 15%。

矫正后的误差已经非常接近理论误差:1(pt)/13(pt) = 7.6%。只差两个像素。

4.理论误差与最佳实践

这里提供一个截止2024/5/20日为止,一款性价比比较高的摄像头:

https://www.mouser.cn/datasheet/2/233/LI-IMX274MIPI-FMC_datasheet-1223830.pdf​​​​​

理论部分的误差分析,这里的信息应该是可用的: 

l教你提高双目立体视觉系统的精度! - 知乎 (zhihu.com)​​​​​​

双目摄像头的这种原理,现在已经被封装为进行3D建模:

RealityCapture-捕捉现实三维建模软件-中文官网 (capturingreality.cn)

据说定位精度在2米以内,可以达到0.1mm级。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子正

thanks, bro...

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值