基于视觉的车辆速度估计是交通监控、预测和控制应用、速度执行以及自动驾驶或智能车辆的基本任务(图2中描述了不同的示例)。 2.4.1 交通监控:通过了解多个路段中所有车辆的速度,可以了解甚至预测道路的交通状态(流量、密度和速度),可用于各种不同的应用,如自适应交通信号控制、实时交通感知导航、交通堵塞、拥堵和事故检测,以及其他离线操作和规划场景,如基础设施增强。 2.4.2 速度执法:速度已被确定为道路交通伤害的关键风险因素,增加了道路交通事故的风险和后果的严重性。速度执法是减少事故的关键道路安全措施。如[7]所示,在测速摄像头附近,超速车辆和碰撞的减少率可达35%和25%。此外,执法力度或水平越高,事故减少量就越大。 根据国家的不同,超速驾驶者可能会被罚款、吊销驾照,甚至入狱。因此,速度估计技术必须非常准确。国家和国际计量或测量机构规定了必须满足的高精度标准,以允许使用测速相机来实施速度限制。最大允许误差(MPE)通常定义为:
M
P
E
S
≤
{
±
N
,
i
f
S
≤
100
k
m
/
h
<
N
%
,
i
f
S
>
100
k
m
/
h
(1)
MPES\leq\begin{cases} \pm N,& if S\leq100km/h\\ <N\%,& if S>100km/h \end{cases}\tag{1}
MPES≤{±N,<N%,ifS≤100km/hifS>100km/h(1) 其中S是车辆的实际速度,N是根据国家通常在1和3之间定义的值。由于用于测量距离的视觉传感器的固有限制,设计满足这些精度要求的基于视觉的车辆速度估计系统无疑是一个复杂的挑战。 2.4.3 自动驾驶车辆:估计周围车辆的相对距离和速度的能力对于高级驾驶员辅助系统和自动驾驶至关重要。从简单的自适应巡航控制(ACC)系统,到交通堵塞辅助系统和司机系统(其结合了ACC停车和起步系统和车道保持辅助系统),再到复杂的高速公路司机或自动驾驶系统(包括超车等复杂操作),目标车辆的精确定位和相对速度的估计是低级控制系统使用的基本变量。基于视觉的方法已被广泛用于处理车辆检测,使用平面世界假设、立体视觉或通过将相机与雷达或激光雷达等基于距离的传感器相结合。尽管自动驾驶汽车的车速估计不在本次综述的范围内,但大多数分析的方法都可以扩展到移动平台上使用。
低米像素比(图5.c):通过高相机分辨率、高焦距、低相机高度、覆盖短路段、一个或两个车道和仅一个方向获得。例如[23、31、53、68、70、77、80、107、124]。 4.2 系统校正 精确的相机校准对于基于视觉的物体距离和速度估计至关重要。无论是假设车辆沿着单目系统的平坦道路行驶,还是使用立体配置,从像素坐标获得准确的真实世界测量值的能力在很大程度上取决于准确的系统校准。对于单目系统,针孔相机模型提供了描述图像平面
(
u
,
v
)
(u,v)
(u,v)中2D像素之间的几何关系的一般表达式和一个三维真实世界坐标系
(
X
w
,
Y
w
,
Z
w
)
(X_w,Y_w,Z_w)
(Xw,Yw,Zw),在这种情况下,放置在道路平面上,并假定为平坦的道路形状:
[
s
u
s
v
s
]
=
[
f
x
0
c
x
0
f
y
c
y
0
0
1
]
[
r
11
r
12
r
13
t
x
r
21
r
22
r
23
t
y
r
31
r
32
r
33
t
z
]
[
X
w
Y
w
Z
w
1
]
(2)
\begin{bmatrix} su \\ sv \\ s \end{bmatrix} = \begin{bmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y\\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} r_{11} & r_{12} & r_{13} & t_x \\ r_{21} & r_{22} & r_{23} & t_y \\ r_{31} & r_{32} & r_{33} & t_z \end{bmatrix} \begin{bmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{bmatrix}\tag{2}
susvs=fx000fy0cxcy1r11r21r31r12r22r32r13r23r33txtytzXwYwZw1(2) 其中
f
x
f_x
fx和
f
y
f_y
fy分别是沿相机x轴和y轴的焦距,
c
x
c_x
cx和
c
y
c_y
cy表示图像光学中心。这些是可以在本征矩阵K中表示的本征参数,其假设图像的失真已经被适当地校正(注意,使用大焦距显著地减少了失真的影响)。旋转和平移参数可以分组为3×3旋转矩阵R和3×1平移向量T。 单眼相机校准问题是估计K、R和T的问题。如第3.3节所述,如图6所示。在处理用于车辆速度估计的摄像机校准时,应用了两种主要方法。首先,软校准(图6.a),使用校准模式(如棋盘)或假设数据表中提供的参数(传感器分辨率、像素大小和焦距)在实验室中估计K,然后在现场计算[R,T]。第二,现场计算K和[R,T]的硬校准(图6.b)。 在操作环境中计算相机外部参数的最常见方法之一是使用消失点[12、14、15、19、22、23、27、33、42、85、88、89、91、108]。当投影到图像平面时,三维真实世界坐标系中的一组平行线在唯一的二维点相交。这一点通常被称为消失点。在这种情况下,明显的一组线是道路标记(包括实线和虚线车道线)和通常具有高对比度的道路边缘。消失点的位置允许计算旋转矩阵R。然后使用图像中某些对象或区域的真实世界维度的知识来获得平移矩阵T。执行外部参数校准的另一种常见方法是使用道路平面上存在的已知几何静态特征,然后计算单应性变换,该变换包括旋转、平移和缩放[31、38、47、66、67、70、72、75、79、82、86、87、98、99、110、113、119、121、128、129]。这些静态特征的尺寸、距离、长度等必须事先知道。这可能涉及需要停止交通以访问操作环境并进行直接测量或使用某种间接方法(例如,使用激光扫描仪,甚至谷歌地图)。 可以通过使用放置在道路平面上的标准(例如棋盘)或ad-hoc校准模式[17、18、37、58、59、68、76、80、100]来解决获得相机的内在和外在参数的硬校准问题。该技术的主要缺点是需要暂时停止道路或车道上的交通。只有少数方法以自动方式处理内在和外在参数的校准。最常见的方法是从两组或三组相互垂直的平行线计算两个或三个正交消失点[133]。如[134]中所述,这些消失点可以从场景中存在的静态和移动(在这种情况下是车辆)元素中提取[23,33,85]。在[77]中,随时间追踪的车牌被用作校准模式,以硬校准系统。大多数复杂的方法将细粒度分类与车辆关键点/姿态检测[136]相结合,以确定特定的车辆品牌和模型[135](因此,它们的真实尺寸),从而执行软[90]或硬[101]系统校准。 无论在校准中使用何种方法,无论是计算平移向量还是完整的单应性,都需要先验地了解真实世界中某些特征/对象的尺寸。事实上,计算从像素到真实世界坐标的所谓比例因子(m/px)是使用单眼系统处理距离和速度估计时需要解决的关键问题之一。最常见的特征是手动测量的路段/区域的道路/车道宽度或长度[19、24、38、47、54、64、66、67、72-75、79、82、84、87、88、89、98、101、107、113、128、129],先前已知物体的大小,例如车辆[27、62、78、85、90、103、105、106、110、117]或车牌[60、66、68、70、80、94、133],以及车道标记的长度和频率[14、20、22、23、26、61、65、78、108、119、121]。 最后,我们必须考虑基于立体的方法,这些方法在实验室或现场使用标准立体校准技术和模式进行硬校准[60,74,92,100,112]。除了每个摄像机的固有矩阵K之外,立体系统还需要计算基本矩阵,其中包括从一个摄像机到另一个摄像机的外部变换。由于立体系统能够从两幅图像中的2D像素获得3D真实世界测量值(在解决对应问题之后),因此无需计算道路平面和摄像机之间的外部变换,但在任何情况下,都可以手动计算[137]或自动计算[138]。
6.1 基于摄像机的距离误差基础 相机是生成投影到2D平面中的3D世界的离散表示的传感器。考虑到光学中心和像素之间的立体角,真实世界坐标
A
w
A_w
Aw中的面积随距离Z呈二次方增加:
A
w
=
A
p
x
Z
2
f
2
(3)
A_w=\frac{A_{px}Z^2}{f^2}\tag{3}
Aw=f2ApxZ2(3) 其中f是焦距,
A
p
x
A_{px}
Apx是像素的面积。即使对相机的固有参数进行了完美校准,并且具有零像素定位误差,对于单目(例如,具有关于物体宽度的先验知识[80]或平坦道路假设[131])和立体系统[132],距离测量的不确定性或误差也会随着物体距离的平方增加。单目系统的距离误差可以公式化为:
Z
e
r
r
m
=
Z
2
f
x
Δ
X
n
m
(4)
Z_{err_m}=\frac{Z^2}{f_x\Delta X}n_m\tag{4}
Zerrm=fxΔXZ2nm(4) 其中
f
x
f_x
fx是像素中x轴上的焦距,
Δ
X
\Delta X
ΔX是已知物体尺寸(例如,汽车[131]或车牌[80]的宽度),
n
m
n_m
nm表示像素检测误差。可以为立体声系统制定类似的表达式:
Z
e
r
r
s
=
Z
2
f
x
B
n
s
(5)
Z_{err_s}=\frac{Z^2}{f_xB}n_s\tag{5}
Zerrs=fxBZ2ns(5) 其中B是相机之间的基线或距离,
n
s
n_s
ns是视差误差。 根据前面的表达式,我们可以得出结论,为了最小化物体或物体特征距离估计中的误差,需要:
使用望远镜镜头(高焦距),因为误差随着焦距的增加而减小。
在立体系统中使用大型立体基线,或在单目系统中使用尽可能大的已知尺寸的对象。
避免在车辆远离摄像头时对其进行测量。物体越近,距离估计的误差越小。
图5所示的示例假设这些要求从较低(图5.a)到更高(图5.c)。 6.2 相对距离估计 6.2.1 基于立体的方法:在真实世界坐标系中测量距离是准确估计车辆速度需要解决的最关键问题。使用立体视觉时,这项任务很简单[42、60、61、74、80、92、100、112]。对于每个检测到的车辆,可以使用车辆区域中包含的像素的视差值直接获得相对距离。然而,如第6.1小节所述,立体系统给出的测量精度受到几个因素的影响,例如车辆相对于立体对摄像机的距离、摄像机之间的基线和视差误差。由于强烈的校准要求以及大多数已安装的交通摄像头都是单目系统,使用立体摄像头处理车辆距离估计的提案数量有限。 6.2.2 基于单目的方法:如第4.2小节所述,一些特征、物体或道路部分/路段的真实世界坐标中的尺寸的先前知识是使用单目系统估计距离的基本问题。这通常被称为将像素转换为真实世界坐标的比例因子。另一个常见要求是考虑平坦道路假设。 如图8所示,我们将基于单眼的距离估计方法分为三组。首先,基于入侵或扩增线或区域[19、20、23、24、26、28、32、38、47、59、79、86、87、99、107、124]。这些方法不需要校准摄像机系统,而是测量道路上两条或多条虚拟线之间的实际距离,或道路区域的实际大小(见图9)。然后,距离估计问题被提出为检测问题,其中每当所有车辆穿过预定义的虚拟线或区域时,都以相同的距离检测所有车辆。由于虚拟线或区域被放置在道路上,因此准确的距离估计涉及车辆某一部分的接触点的准确位置。车辆的这一部分在第二个位置应相同,以获得一致的速度估计。由于透视约束、空间(取决于相机分辨率和相机到车辆的距离)和时间(取决于摄像机帧速率和车辆速度)离散化问题、阴影等,这是一项需要解决的复杂任务。这些问题可以通过使用多条入侵线来缓解[20,107]。 第二,我们有那些基于单应性计算的方法,作为平面(道路)从3D投影空间到2D投影空间(相机图像平面)的线性变换。通过这种方式,可以将图像转换为鸟瞰图(BEV),也称为图像扭曲,其中像素位移可以直接转换为真实世界距离。这种方法最常用于固定系统[15、16、18、20、22、34、37、52、53、61、66、94、98、99、110]和基于无人机的[25、30、57、62、64、69、96、104-106、126]。如图10所示,并在第4.2小节中解释,单应性的计算涉及摄像机的内在和外在参数的校准以及场景某些部分的真实维度的先前知识。生成的扭曲图像认为所有对象都在道路平面上,这意味着车辆形状的变形。这并不特别重要,因为用于计算距离的点通常与车辆和道路之间的接触点相对应,尽管由于系统的角度和道路平面上运动的错误假设,这种假设并不完全准确,如图11所示。与使用入侵线相比,基于同形性的方法的主要优点是可以在道路上的任何点进行车辆检测,因此摄像机帧速率和车辆速度不会对距离估计产生负面影响。然而,需要非常精确的系统校准。 第三,我们有基于物体真实尺寸知识的距离估计公式的方法,包括车牌[41、49、60、66、68、80、125]和车辆[42、62、78、103]。一方面,基于车牌尺寸的方法对低米像素比和像素定位误差非常敏感。另一方面,基于车辆尺寸的此类方法需要应用细粒度汽车模型分类系统[135]来识别特定模型并使用其特定尺寸。 6.3 速度误差的基础 在一个简单的场景中,使用两个不同位置
Z
1
Z_1
Z1和
Z
2
Z_2
Z2(表示一个直线段
Δ
Z
=
∣
Z
2
−
Z
1
∣
\Delta Z=|Z_2-Z_1|
ΔZ=∣Z2−Z1∣)计算一辆车的速度分别在时间
t
1
t_1
t1和
t
2
t_2
t2(
Δ
t
=
∣
t
2
−
t
1
∣
\Delta t=|t_2-t_1|
Δt=∣t2−t1∣)被检测到。该车辆的平均速度估计为:
v
=
∣
Z
2
−
Z
1
∣
∣
t
2
−
t
1
∣
=
Δ
Z
Δ
t
(6)
v=\frac{|Z_2-Z_1|}{|t_2-t_1|}=\frac{\Delta Z}{\Delta t}\tag{6}
v=∣t2−t1∣∣Z2−Z1∣=ΔtΔZ(6) 考虑两个位置的距离估计误差
Z
1
e
r
r
Z_{1err}
Z1err和
Z
2
e
r
r
Z_{2err}
Z2err,在最坏的情况下,我们可以获得以下速度:
v
′
=
Δ
Z
+
Z
2
e
r
r
+
Z
1
e
r
r
Δ
t
(7)
v'=\frac{\Delta Z+Z_{2err}+Z_{1err}}{\Delta t}\tag{7}
v′=ΔtΔZ+Z2err+Z1err(7) 导致绝对速度误差为:
v
e
r
r
=
∣
v
′
−
v
∣
=
∣
Z
2
e
r
r
+
Z
1
e
r
r
∣
Δ
t
=
∣
Z
2
e
r
r
+
Z
1
e
r
r
∣
Δ
Z
v
(8)
v_{err}=|v'-v|=\frac{|Z_{2err}+Z_{1err}|}{\Delta t}=\frac{|Z_{2err}+Z_{1err}|}{\Delta Z}v\tag{8}
verr=∣v′−v∣=Δt∣Z2err+Z1err∣=ΔZ∣Z2err+Z1err∣v(8) 相对速度误差等于:
v
e
r
r
v
=
∣
Z
2
e
r
r
+
Z
1
e
r
r
∣
Δ
Z
(9)
\frac{v_{err}}{v}=\frac{|Z_{2err}+Z_{1err}|}{\Delta Z}\tag{9}
vverr=ΔZ∣Z2err+Z1err∣(9) 我们可以将等式(8)和(9)中的等式(4)或(5)合并,以看出速度误差与摄像机到车辆的距离的平方成正比,这明显强化了车辆应尽可能靠近摄像机进行速度测量的要求。此外,等式(8)和(9)揭示了路段尺寸在速度估计精度中的重要性。也就是说,距离的二次惩罚随路段长度线性补偿,对于远大于距离误差的路段,这导致速度误差随车辆的相对距离线性增长。这是平均车速摄像头如此精确的主要原因。这些系统基于相距数公里的两个摄像头。为了满足等式(1)的要求,测量相对车辆距离时的误差可以是几米,并且仍然保持相对速度误差在1−3%的范围内。 在固定速度摄像机的情况下,使用尽可能大的路段的主要问题是,我们将考虑远距离测量,速度误差会受到上述惩罚。按照[80]中提出的程序,如果我们根据相对车辆距离对等式(8)进行微分,则可以在速度误差尽可能小的情况下获得道路路段的最佳值。当使用一个相机时,这段最佳道路可能超出图像平面的限制。这就是为什么[80]中提出了具有不同焦距的双摄像头系统,类似于[61]中提出的系统,但指向更近的距离。 用于计算车速的路段大小也与测量间隔时间直接相关。因此,当使用连续图像时,即使在低相机帧速率下,线段
Δ
Z
\Delta Z
ΔZ的长度也可能与距离误差
Z
e
r
r
Z_{err}
Zerr的数量级相同,因此几乎不可能获得准确的速度测量值(见图12)。 总之,我们可以提出以下要求以将速度误差降至最低: