MOBILEYE: Vision-based ACC with a Single Camera

MOBILEYE: Vision-based ACC with a Single Camera 车辆测距


本文为基于MobliEye的论文理解。文中将路面是平的和相机水平(光轴平行于路面)安装作为假设条件,但可以在文章的基础上,对摄像机角度和道路坡道进行补偿。

测距

单目相机测距的方法通常有两个:
1.车辆在图像中的大小
2.车辆底部在图像中的位置
由于车辆的大小并不是固定的,方案一并不可取。
这里引入方程,其中Z为摄像头与前面车辆底部的水平间距;y为投影到图像上的高;H为相机的高度。
y = f H Z y=\frac{f H}{Z} y=ZfH
详细的示意图可见Fig.1.Schematic diagram of the imaging geometry
相机被安装在了A车上,针孔为P点,焦距为f(单位mm,图中仅方便辨认)
在实际中,车辆与道路的误差在1个像素点内。因此距离的误差 Z e r r Z_{err} Zerr可以被写成:
Z e r r = Z − Z n = Z − f H y + n = Z − f H f H Z + n = n Z 2 f H + n Z Z_{e r r}=Z-Z_{n}=Z-\frac{f H}{y+n}=Z-\frac{f H}{\frac{f H}{Z}+n}=\frac{n Z^{2}}{f H+n Z} Zerr=ZZn=Zy+nfH=ZZfH+nfH=fH+nZnZ2
n代表接触点的位置差,将其设定为1且 f H > > n Z fH>>nZ fH>>nZ,得:
Z e r r ≈ n Z 2 f H Z_{e r r} \approx \frac{n Z^{2}}{f H} ZerrfHnZ2
误差随着距离的变化呈二次方增长。
Example: In our case a 640x480 image with a horizontal FOV of 47° gives f= 740pixels. The camera height at H= 1.2m. Thus assuming 1 pixel error, a 5% error in depth is expected at a distance of:
带入前式,
Z = Z e r r Z f H = 0.05 ∗ 740 ∗ 1.2 = 44 m Z=\frac{Z_{e r r}}{Z} f H=0.05 * 740 * 1.2=44 m Z=ZZerrfH=0.057401.2=44m
这个例子是表明,在90m左右误差大约10%,44m误差约为5%。

测速

离散系统通过使用离散积分 v = Δ Z Δ t v = \frac{\Delta Z}{\Delta t} v=ΔtΔZ来测速。

通过尺度改变计算速度

令w和w’分别为目标车辆在位置Z和Z’的高度,方程可以写为:
w = f W Z w ′ = f W Z ′ w =\frac{f W}{Z} \\ w^{\prime} =\frac{f W}{Z^{\prime}} w=ZfWw=ZfW
带入离散积分内,可得:
v = Δ Z Δ t = Z ′ − Z Δ t = f H W ′ − f H W Δ t = f H w − w ′ w ′ w Δ t = Z w − w ′ w ′ Δ t v=\frac{\Delta Z}{\Delta t}=\frac{Z^{\prime}-Z}{\Delta t}=\frac{\frac{f H}{W^{\prime}}-\frac{f H}{W}}{\Delta t}=\frac{f H \frac{w-w^{\prime}}{w^{\prime} w}}{\Delta t}=\frac{Z \frac{w-w^{\prime}}{w^{\prime}}}{\Delta t} v=ΔtΔZ=ΔtZZ=ΔtWfHWfH=ΔtfHwwww=ΔtZwww
定义尺度s:
s = w − w ′ w ′ s=\frac{w-w^{\prime}}{w^{\prime}} s=www
得到速度:
v = Z s Δ t v=\frac{Z s}{\Delta t} v=ΔtZs

计算速度误差

这里引入了一个对齐误差 S e r r S_{err} Serr(alignment error)的概念,对齐误差在0.1个像素是可能的。配准误差的影响取决于目标在图像中的大小。定义尺度误差 S a c c S_{acc} Sacc:
s a c c = s e r r w = s e r r Z f W Δ t s_{a c c} =\frac{s_{e r r}}{w} =\frac{s_{e r r} Z}{fW\Delta t} sacc=wserr=fWΔtserrZ
假设测距完全准确,相对速度误差为:
v e r r c = Z s a c c Δ t = Z 2 s e r r f W Δ t v_{e r r}^{c} =\frac{Z s_{a c c}}{\Delta t} =\frac{Z^{2} s_{e r r}}{f W \Delta t} verrc=ΔtZsacc=fWΔtZ2serr
这里可以知道:

  1. 相对速度误差与相对速度无关
  2. 相对速度误差与距离的平方成正比
  3. 相对速度误差与时间间隔成反比,因此时间越长越好
  4. 有一个窄的FOV(增大f)可以提高精度

此时将测距的误差项添加上, v z e r r v_{zerr} vzerr速度在距离上的误差:
v z e r r = Z e r r S Δ t = n Z 2 f H s Δ t = n Z v f H v_{z e r r}=\frac{Z_{e r r} S}{\Delta t}=\frac{n Z^{2}}{f H} \frac{s}{\Delta t}=\frac{n Z v}{f H} vzerr=ΔtZerrS=fHnZ2Δts=fHnZv
合并可得:
v e r r = Z 2 s e r r f W Δ t + n Z v f H v_{e r r}=\frac{{Z^{2} s_{e r r}}}{f W \Delta t}+ \frac{n Z v}{f H} verr=fWΔtZ2serr+fHnZv
通过此式,依旧可以知道,误差可以通过延长时间来减小。然而, Δ t \Delta t Δt在增大后,速度计算通过有穷积分是不准确的。

Z ( Δ t ) = 1 2 a Δ t 2 + v Δ t + Z 0 Z(\Delta t) =\frac{1}{2} a \Delta t^{2}+v \Delta t+Z_{0} Z(Δt)=21aΔt2+vΔt+Z0
v ( Δ t ) = a Δ t + v 0 v(\Delta t) =a \Delta t+v_{0} v(Δt)=aΔt+v0
此时a为相对加速度。换种方式,通过使用相对距离差来计算速度:
Δ Z = Z ( Δ t ) − Z 0 = 1 2 a Δ t 2 + v 0 Δ t \Delta Z=Z(\Delta t)-Z_{0}=\frac{1}{2} a \Delta t^{2}+v_{0} \Delta t ΔZ=Z(Δt)Z0=21aΔt2+v0Δt
除以 Δ t \Delta t Δt,这时候可以发现,除了 v 0 v_0 v0,多了一个误差项:
Δ Z Δ t = 1 2 a Δ t + v 0 \frac{\Delta Z}{\Delta t}=\frac{1}{2} a \Delta t + v_0 ΔtΔZ=21aΔt+v0
带入 v e r r v_{err} verr中,误差项为:
v e r r = Z 2 S e r r f W Δ t + n Z v f H + 1 2 a Δ t v_{e r r}=\frac{Z^{2} S_{e r r}}{f W \Delta t}+\frac{n Z v}{f H}+\frac{1}{2} a \Delta t verr=fWΔtZ2Serr+fHnZv+21aΔt
这时候可以求导取最优解:
− Z 2 s e r r f W Δ t 2 + 1 2 a = 0 -\frac{Z^{2} s_{e r r}}{f W \Delta t^{2}}+\frac{1}{2} a=0 fWΔt2Z2serr+21a=0
得:
Δ t = 2 Z 2 s e r r f W a \Delta t=\sqrt{\frac{2 Z^{2} s_{e r r}}{f W a}} Δt=fWa2Z2serr
获得最终的速度误差:
v e r r = Z 2 a s e r r f W + n Z v f H v_{err} = Z \sqrt{\frac{2as_{err}}{fW}} + \frac{nZv}{fH} verr=ZfW2aserr +fHnZv
在最优解时,速度误差与距离Z呈线性相关。
当加速度为0时值为无穷大,因此系统要限定在 Δ t = 2 s \Delta t = 2s Δt=2s

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

泠山

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值