没有合适的资源?快使用搜索试试~ 我知道了~
One of the explanation lies in the fact that state-of-the-art approaches often assume that cameras are alreadycalibrated [42, 35], which is rarely the case for CCTVs.Still, recent methods were developed to automatically cali-brate cameras by looking for specific clues on moving ve-hicles [17, 43, 9, 6, 6, 5].For instance, one solution isto look for straight edges perpendicular to the car motionand parallel to the ground (green lines in Fig. 1), as the145510稳健的自动单目车辆速度估计用于交通监控0Jerome Revaud Martin HumenbergerNAVER LABS Europe0firstname.lastname@naverlabs.com0摘要0尽管CCTV摄像头已广泛部署用于交通监控,并因此有潜力成为用于交通速度分析的廉价自动传感器,但尚未报道其大规模使用。一个关键困难实际上在于摄像机校准阶段。现有的最先进方法使用图像处理或关键点检测技术进行校准,这些技术需要高质量的视频流,而典型的CCTV镜头分辨率低且噪声较大。结果,这些方法在实际条件下很大程度上失败。相反,我们提出了两种新的校准技术,其唯一输入来自现成的物体检测器。这两种方法都同时考虑多个检测结果,利用汽车具有相似且已知的三维形状和标准化尺寸的事实。第一种方法基于最小化与三维重投影误差相对应的能量函数,而第二种方法则直接从合成训练数据中学习预测场景几何。鉴于缺乏能够忠实反映监控摄像头实际质量的速度估计基准数据集,我们引入了一个从公共CCTV视频流中收集的新数据集。在三个不同的基准测试上进行的实验结果表明,速度估计准确性极高,可以使CCTV摄像头在交通分析中得到广泛应用,即使在最先进的方法完全失败的挑战性条件下也是如此。有关更多信息,请访问我们的项目网页:https://rebrand.ly/nle-cctv01. 引言0能够准确测量道路网络上的交通速度对于许多应用非常重要,如实时智能交通系统和行程规划、交通分析[24,40]和异常检测[18,10]。通常通过专用硬件传感器实现,如高速公路上的路边雷达传感器、交叉口的感应线圈检测器、从探针车队收集的GPS数据等[32,23]。然而,这些设备昂贵且很难快速大规模部署。0图1. BrnoCompSpeed[44]基准(左)和我们的CCTV数据集(右)以实际视觉大小显示的汽车。校准方法[16, 43, 9, 5,4]基于图像处理技术(估计移动汽车上线条的角度,绿线)或关键点定位(彩色十字),这两种方法都受图像质量和分辨率的影响很大。在分辨率低且质量通常较差的实际CCTV镜头上应用相同的技术几乎是不可能的。0交通监控摄像头,通常(不正确地)被称为CCTV,已经广泛部署用于手动交通监测。由于它们直接拍摄道路和车辆,提供了丰富的视频数据,隐含地包含了几乎所有相关的交通信息。因此,人们已经注意到CCTV摄像头具有以较低成本转变为交通速度传感器的潜力[2, 32, 30, 18, 28,23]。在本文中,我们专注于这个特定问题,即通过监控摄像头捕捉的单目视频估计车辆速度。事实上,这是一个具有挑战性的问题。事实上,据我们所知,尽管CCTV实时视频流公开可用[23, 2, 30,18],但没有大规模使用CCTV摄像头进行自动交通速度监测。45520图2.典型CCTV摄像头的帧示例。分辨率和质量通常较低,汽车可能看起来很小。0垂直边之间的视觉角度与摄像机焦距有关[16,43]。另一种选择是定位某些关键点(图1中的彩色十字),结合对应的3D汽车模型的知识,建立导致摄像机3D姿态的2D-3D对应关系[9,6,6,5]。然而,这些技术复杂且对噪声非常敏感,因此在实践中需要高质量、高分辨率的录像。BrnoCompSpeed数据集[44]作为所有这些方法的基准,偶然包括仅由高质量光学器件捕获的高分辨率视频(2M像素),这在实地条件下不太可能遇到。CCTV录像通常由低质量、低分辨率和模糊/噪声的视频剪辑组成,汽车看起来很小,如图1和2所示。在本文中,我们采用一种完全不同的方法来估计车辆的速度,仅基于由现成的目标检测器输出的车辆检测结果。作为第一个贡献,我们提出了一种基于最小化3D重投影误差的新型校准方法,利用了关于车辆的3D形状和尺寸的一般假设。作为第二个贡献,我们提出了第一个方法的可训练版本,该版本直接学习预测场景几何。这两种方法都可以处理非直线道路并恢复完整的摄像机校准以计算车辆速度。最后,作为第三个贡献,我们介绍了从公共CCTV视频流中收集的新数据集,并用GPS轨迹进行了注释。我们的实验证明,在合成和实际数据中,即使在具有挑战性的条件下,性能也非常出色。02. 相关工作0在本节中,我们介绍了关于车辆速度估计、摄像机校准和3D车辆姿态估计的先前工作。为了简洁起见,我们将我们的回顾限制在基于视觉的方法上。车辆速度(速度)估计。纯粹从视觉输入中测量车辆的速度,即不使用专用设备。0至少两个十年以来,基于物理传感器的车辆速度估计一直被积极考虑[42,19,21](有关综合调查,请参见[34])。绝大多数方法,包括现代方法[17,18,22,28,33,35,46,23,6,5],可以被归纳为一个由三个步骤组成的流程:(1)检测和(2)跟踪车辆,然后(3)将像素位移转换为米。早期的研究通过手工方法实现了车辆检测,例如背景减除[15,19,21]。现在,基于深度网络的目标检测器(例如Faster-RCNN[41])并可能针对CCTV条件进行微调[27],由于其稳健性和卓越性能,被认为是首选[18,43,28,46]。然后可以通过启发式方法(例如Kalman滤波器[8],[17,46])或使用学习模型[28]来暂时连接这些检测以形成车辆轨迹。最后一步涉及将每个轨迹,即给定车辆在时间上的像素坐标,转换为世界坐标系中的米。据我们所知,这一步骤在平面道路假设下系统地执行,即假设单应性直接将图像像素映射到度量坐标[27,28,33,35,44,46,43,23,30,17,18]。0摄像机校准。估计将摄像机视图与道路平面相关联的单应性本质上是校准摄像机。这一步骤对于车辆速度测量的准确性至关重要,因为速度估计对校准质量非常敏感。校准包括确定描述摄像机的内部和外部参数,例如焦距和摄像机的3D姿态(平移和旋转)[13]。关于摄像机校准的更详细的回顾,请参阅[44],现在只包括现有方法的简要描述。校准参数可以由用户手动输入[42],也可以从CCTV录像中自动估计。手动方法通常要求用户在道路上注释几个已知坐标的点[42,44,36,35]。自动方法通常假设道路是直线平面,并依靠检测消失点作为道路标记(即线条绘制)的交点[12,11,21]或来自车辆运动[13,17,16,43]。请注意,仅找到消失点不足以完全校准摄像机,因为它产生一个未知缩放因子的单应性。这个因子也需要准确估计,因为它线性影响所有速度。因此,半自动方法采用某种形式的手动注释,其中通常由操作员在图像上仔细测量几个已知距离[18,28,46]。FullACC及其改进版本[16,43]已被提出以克服这些限制并执行完全自动校准。在使用图像处理技术恢复消失点之后,通过对车辆进行细粒度分类(SUV,轿车,组合车等)来估计缩放因子,从而实现了估计。�H = K [R |T ] D,(2)H = T�Iw2 , Ih2�FRx(γ)��00−zD,(3)45530模型并测量相对于观察到的边界框的重投影误差。虽然我们的第一种方法也利用了边界框的重投影误差,但它能够恢复所有相机参数(不仅仅是尺度),包括焦距。此外,我们的方法不需要经过特殊训练的网络进行细粒度的车辆分类,并且可以与任何现成的物体检测器一起使用。0车辆三维姿态估计。另一种标定相机的研究方向旨在估计具有已知尺寸的刚性物体的三维姿态(平移和旋转)。关于三维姿态估计存在大量的文献,我们现在简要回顾相关工作(有关最新综述,请参见[47])。早期的三维车辆姿态估计工作基于基于边缘的非刚性匹配与三维模型[31]或级联[25,50]。随着深度学习的出现,深度网络已成功应用于各种情境下的任务(对象姿态估计[50],用于自动驾驶和监控目的的车辆姿态估计[47,45])。现有的用于估计车辆的三维姿态的方法要么直接回归相对于相机的全局车辆平移和旋转[29, 38, 39, 45,50](通常用于自动驾驶),要么预测某些关键点的二维位置[48, 49, 3, 47,4]并解决PnP问题以共同恢复单应矩阵和尺度因子[9, 4, 5,6]。我们的第二种方法回归单应矩阵的雅可比矩阵,它是三维车辆姿态的子集(见第3.2节),因此在概念上更接近于后一类方法而不是基于标定的方法。所有这些三维姿态估计方法的一个重要缺点是它们需要对车辆进行细粒度的分类并准确预测关键点的二维位置[9, 45, 4, 5,6]。虽然在高分辨率和高质量的视频中这是可行的,但对于典型的监控摄像头来说,即使对于人眼来说也几乎是不可能的,如图1所示。相比之下,我们的方法能够从弱线索中预测车辆的三维姿态,而无需对车辆进行分类或检测地标,而是通过累积多个检测的证据,使其广泛适用而无需进一步要求。03. 自动标定方法0在本节中,我们提出了两种不同的方法,但基于相似的见解,用于在给定一组车辆检测的情况下自动标定相机。第一种方法是通过最小化基于标定的场景渲染的三维重投影误差来实现的(第3.1节)。第二种方法是通过学习使用变换器网络来预测这种手工设计和计算密集型最小化的结果(第3.2节)。03.1. 基于重投影的方法0我们寻求最小化一个目标函数 E(H) →R,该函数衡量相机标定 H 与一组车辆检测 D之间的匹配程度。因此,整个标定过程可以简单地表述为0H� = arg min H E(H, D). (1)0在本文中,我们做出(合理的)假设,即场景中可见的道路部分是平面的。在这种情况下,标定相机等效于恢复一个单应矩阵 H:R2 → R2,它将度量道路坐标系中的位置 x ∈R2 映射到像素位置 H(x):0H(x) = H10H 3 x�, H x�0H 3 x0,0其中 H ∈ R3×3 是单应矩阵(Hi表示第i行),而 x� = (x0,x1,1)。我们指出,H方便地包含了所有外部和内部相机参数,即它可以唯一地分解为刚性运动(旋转R和平移T形成[ R | T] ∈ SE(3)),然后通过内部标定矩阵K ∈R3×3在图像平面上进行投影:0其中 D = diag ([1 , 1 , 0 , 1]) 投影到 xy平面上。虽然单应性通常具有8个自由度(DOF),但在我们的特殊情况下,通过假设像素为正方形,没有倾斜,主点位于图像中心(如[5]中所示),没有相机滚动,并且注意到车辆速度,即长度测量,对于2D道路平面上的平移和旋转是不变的,我们可以将这个数字减少到只有3个自由参数。请注意,即使在强烈违反这些简化假设的情况下,这些简化假设对最终系统的准确性几乎没有影响,详见补充材料的B节。具体而言,通过在方程(2)中选择焦距 f ,相机倾斜角γ 和相机高度 z 生成一个单应性:0其中 T : R 2 → R 3 × 3 是二维平移,F = diag ([ f, f, 1]),R x : R → R 3 × 3 是绕 x 轴的三维旋转,( I w , I h )是图像尺寸。在接下来的内容中,我们将 H 在位置 x处的雅可比矩阵表示为 J H ( x ) ∈ R 2 × 2 。03.1.1 能量函数0我们的目标是评估给定校准 H 相对于一组检测到的车辆轨迹 D的拟合程度。具体而言,我们将 D = {T j }定义为由车辆检测器和跟踪器生成的一组 |D|车辆轨迹,其中每个轨迹n=1pH(b) =miniA′1,i, miniA′2,i, maxiA′1,i, maxiA′2,i(5)with A′ = P(RbA + Tb) and P : R3 → R2 is the 3Dcounterpart of H, constructed as in Eq. (2) but without D.The car geometry A can be assumed fixed as most cars havesimilar shapes, hence the goal of the fitting procedure is tocalculate Rb and Tb knowing the observed bounding box b.For the rotation Rb, we first point out that the car motionin the image and in the real-world road are related by thehomography’s Jacobian. More specifically, let µb denotethe center of the bounding box. The apparent motion ofqb = J−1H (µb) mb.(6)�1 − intersection(b, b′)union(b, b′)�.(8)|Tj|�n=1d(bj,n, pH,A(bj,n)).(9)Computing speeds.As a direct by-product of this en-ergy minimization, we compute vehicle speeds straightfor-wardly based on the recovered 3D box translations {Tb}from Eq. (7), i.e. vb =�� ∂Tb∂t��.45540T j = { ( b j,n , t j,n ) } 由一系列2D车辆边界框 b j,n ∈ R4 和相应的时间戳 t j,n ∈ R组成。关键的洞察是边界框的大小应该与校准 H预测的大小大致相匹配,即知道实际3D车辆在3D世界中的位置和尺寸。换句话说,能量 E ( H , D )由真实边界框与使用 H拟合的边界框之间的重投影误差组成,即 E ( H , D ) = � |D|j =1 E j ( H , T j ) ,其中0其中 d : R 4 × R 4 → R + 是一个边界框误差函数,p H (b j,n )是计算得到的预测边界框,计算如下。假设在道路上可见一辆汽车及其对应的(观察到的)边界框 b ∈ R 4。进一步假设我们知道车辆的几何形状,我们将其表示为一个以0为底部中心的3D点数组 A ∈ R 3 × N,并与三个主轴对齐(即长度、宽度和高度分别与 x 、 y 和z 轴对齐)。进一步将旋转 R b ∈ R 3 × 3 和平移 T b ∈R 3定义为将车辆在3D世界中移动到道路上并正确定位的变换,那么边界框 p H ( b ) 可以计算为0H − 1 的雅可比矩阵,记为 J H − 1 = J − 1 ∂t ∈ R 2。根据定义,H 产生了实际世界道路平面上的运动 q b ∈R 2 :0因此,车辆的主轴必须与 q b 对齐。由于车辆水平放置在xy 平面上,其垂直轴为 z = [0 , 0 , 1] � 。总之,我们有 Rb = [¯ q b , z × ¯ q b , z ] ∈ R 3 × 3 ,其中 ¯ q b =q b / ∥ q b ∥ ,× 表示叉乘。对于平移 T b,我们采用迭代的固定点算法。作为初始估计,我们将 µ b投影到道路流形上的 T 0 b = H − 1 ( µ b )。由于透视效果和车辆中心 µ b稍高于道路平面,预测的边界框 p 0 H ( b ) 不完全居中于 b上。然后,我们按照以下方式迭代地校正 T k b , k = 0 .. . K :0基于Tkb,我们首先根据方程(5)计算pkH(b)及其表观中心µ�pkH(b)�。然后根据预期中心和预测中心之间的差异更新Tkb:0Tk +1 b = Tk b + T 0 b − H − 1 � µ � pkH(b)�� .(7)0实际上,这个过程在实践中收敛非常快,我们发现K =3次迭代就足以几乎完美地对齐观测到的和预测的边界框。03.1.2 框误差函数0我们使用加权交并比(IoU)来度量2个边界为b,b'=(left,top,right,bottom)的框之间的误差:0d IoU ( b, b ′ ) = α b0我们发现较大的框传达更多信息,因为透视效果对于离相机更近的物体更加明显。因为透视效果最终是精确估计焦距的唯一方法,所以我们通过α b =�来加权那些更接近(因此更大)的框上的错误0面积(b)。掩蔽IoU。我们还考虑了一个更精确的错误版本,该版本接收掩蔽而不是矩形框。可以通过直接输出车辆检测器的二进制掩蔽来获得每个图像像素上汽车的存在或不存在,例如使用Mask-RCNN[20],或者可以使用背景减除技术[16]计算。公式与方程(8)中的相同,只是b,b' ∈ {0,1} Iw ×Ih是二进制掩蔽。我们将掩蔽IoU相似性表示为dmsk-IoU。03.1.3 处理车辆类别0我们假设车辆的几何形状在先验中是已知的。但实际上,情况并非如此,因为存在几种不同形状和尺寸的汽车类别(例如轿车,SUV等),请参见图3。因此,我们收集了一个包含多个3D汽车模型的目录A,并相应地修改了方程(4),以便为每个车辆轨迹识别出最佳原型:0E(H,T j)= min A∈AJH(ˆµb) predicts the Jacobian of H at this position.Direct speed estimation. The network output ˆJ containsenough information to fully recover the car speed vb. Indeedthe speed is defined as the norm of its 3D motion vb =∥qb∥ =�� ∂Tb∂t�� and, according to Eq. (6):.(10)̸ˆH = arg maxi,jsim(V, V ′) =3.2.1Network architecture and trainingrb =�mean(PbIw), cov(PbIw), mb∥mb∥45550图3. 方程(9)中使用的3D汽车模型目录A。03.2. 基于学习的方法0上述的投影方法在实践中具有鲁棒性且效果良好,但计算需求较高。事实上,它的复杂度与(i)检测数量,(ii)目录A中的3D模型数量以及(iii)每个模型的3D点数量成线性关系。在实践中,最小化过程大约需要20分钟来处理30秒的短视频剪辑(参见第4.2节)。在本节中,我们提出了一种快速方法,该方法学习直接预测校准。它由一个深度网络fθ组成,该网络以一组车辆检测D ={b,...}作为输入,并输出相应的集合ˆJ =�(ˆµb,ˆJb),...�,其中ˆµb � P(Tb)预测2D0ˆqb � �ˆJb�−1∂ˆµb0预测单应性。实际上,网络输出的回归结果存在噪声,因此希望对其进行滤波并提高整体一致性。具体而言,我们的目标是恢复一个良好的一致性的单应性ˆH,该单应性在ˆJ中的所有输出雅可比矩阵之间达成共识。我们使用RANSAC过程实现这个目标。在每次迭代中,我们随机采样2个预测(ˆµi,ˆJi)和(ˆµj,ˆJj),i ≠j,并恢复与两个雅可比矩阵一致的单应性ˆHi,j(详见补充材料)。然后我们计算ˆHi,j相对于ˆJ中所有雅可比矩阵的共识得分。最后,我们选择最大化共识的单应性:0n =1 score � ˆ H i,j , ˆ µ n , ˆ J n �。 (11)0得分定义为 ˆ J n 与相应的雅可比矩阵 ˆ H i,j之间的相似性:0score ( ˆ H , ˆ µ, ˆ J ) = sim � J ˆ H , 1 (ˆ µ ) , ˆ J 1 �sim � J ˆ H , 2 (ˆ µ ) , ˆ J 2 � 。0相似性是针对 ˆ J = [ ˆ J 1 , ˆ J 2 ]的两个列向量计算的,使用一种惩罚方向差异(第一因素)和范数差异(第二因素)的准则:0图4. 提取的车辆掩码 b 的表示 r b的可视化。左:合成场景。右:椭圆(一阶和二阶矩)和二进制车辆掩码上的归一化运动(箭头)。更多示例请参见补充材料。0∥ V ∥ ∥ V ′ ∥ 。 min ( ∥ V ∥ , ∥ V ′ ∥ )03.2.1 网络0max ( ∥ V ∥ , ∥V ′ ∥ ) 。0我们使用Transformer架构作为网络,因为它自然地处理集合形式的输入。具体而言,我们堆叠了几个编码器块,就像BERT[14]那样。由于网络以一组向量作为输入,我们需要为每个检测 b 计算一个表示 r b ∈ R B。为了简单起见,以及为了弥合合成数据和真实数据之间的领域差距(见下文),我们选择了一个简单而直接的表示。给定一个以像素掩码 b ∈ { 0 , 1 } I w × I h形式的车辆检测,其中非零像素 P b = { ( i, j ) | b i,j = 1 },我们将 P b的一阶和二阶矩(即一个椭圆)以及其表观运动 m b进行拼接(参见公式(6)),所有这些都经过归一化以进行泛化。我们得到一个8维表示,形式上写为0� ∈ R 8。0虽然可以争论基于车辆图像的更复杂的表示(例如基于自动编码器[37]的表示)可以被使用,但这种表示具有与完全合成训练兼容的优势,几乎完全消除了领域差距。此外,它简单且在实践中表现良好,请参见第4节。训练。为了训练网络,我们通过随机生成具有不同摄像机、道路和车辆姿势的场景来即时生成合成训练数据(参见公式(3))。对于每个场景,我们渲染每辆车的掩码,然后提取它们的表示 { r b , . . . }。图4显示了渲染掩码和相应表示的示例。对于每个场景,一组32个检测结果被馈送到网络。我们将表示零填充到64维,并在编码器块中使用256个隐藏层。64维网络输出被线性投影到8维向量 z = [ˆ µ − ˆ J 1 , ˆ µ − ˆ J 2 , ˆ µ + ˆ J 1 , ˆ µ + ˆ J 2 ] ∈ R 4 ×2,从中我们可以恢复出 ˆ µ = 104 。0n z n 和0200040006000800010000Training epochs106105104103102Training loss101100Validation ErrorLossValidation Error246810Number of 3D models0246810Average Speed Error (km/h)Accuracy versus number of 3D models3D-Reproj (Mask IoU)3D-Reproj (Box IoU)0.010.030.10.312510 20Calibration Time per Camera (minutes)10100100052050200500Average Speed Error (km/h)3D-Reproj (Box IoU)3D-Reproj (Mask IoU)Learned+JacobianLearned+RANSAC455602 [ z 3 − z 1 , z 4 − z 2 ] 。我们最小化输出与真实目标µ � 和 J � 之间的 ℓ 2 损失:0L (ˆ µ, ˆ J, µ � , J � ) = ∥ ˆ µ − µ � ∥ 2 + λ ��� ˆ J − J � ��� 2, (12)0其中 λ是一个超参数。我们也尝试直接优化速度误差,但由于在公式(10)中涉及的矩阵求逆的不稳定性,我们得到了一致较差的结果。04. 实验0我们现在对合成数据和真实数据上的两种提出的速度估计方法进行评估。特别地,在第4.4节中,我们引入了一个最接近实际CCTV录像的新数据集。指标。为了获得与目标任务相关的无偏性性能,我们报告速度误差的结果(如果是绝对值则以km/h为单位,如果是相对值则以%为单位)。除非另有说明,我们计算每个视频剪辑的中位数误差,并报告数据集级别的平均误差和中位数误差。04.1. 实现细节03D汽车模型。我们从Unity3D引擎目录1中获得了一组10辆形状逼真的汽车,如图3所示。它们包括各种汽车类别和形状(轿车,SUV等)。我们生成的合成数据集中的每个车辆轨迹都随机分配给这10个模型之一。能量最小化。方程(9)中定义的能量函数不是凸函数,可能包含许多局部最小值,但我们希望找到全局最小值(参见方程(1))。因此,我们采用了一种鲁棒的高斯优化算法[7]来在最短时间内接近这个目标。该算法从方程(3)中随机抽样3个单应性参数,其范围如下:焦距f∈[Iw/5,5Iw],倾斜γ∈[0, π/2]和高度z∈[2, 50]。误差E(H,D)的值用于更新基于树的概率模型以绘制下一个随机样本[7]。我们在5000次试验后返回找到的最佳模型。网络训练。我们使用8个编码器层的堆叠来构建网络fθ。我们训练网络进行了10000个epoch,每个epoch包含128个场景,每个场景包含32辆汽车。我们以16个场景为一批向网络提供输入,并使用Adam[26]进行梯度下降,初始学习率为3×10^-3,最终学习率为10^-4,没有权重衰减。我们将损失超参数固定为λ=4,以提高准确的雅可比矩阵ˆJ。每个epoch,我们使用方程(10)在一个随机生成的验证集上测量平均速度误差。我们选择具有最小验证误差的模型并将其用于实验。训练曲线如图5所示。01 https://assetstore.unity.com0图5.左:学习方法的训练曲线。右:合成基准上库中3D模型数量的准确性。每条曲线的方差用阴影区域表示。0准确性与计算的权衡0图6. 不同方法计算校准所花时间的速度误差。04.2. 合成数据集0我们首先在完全控制的条件下使用合成基准和可调噪声水平评估我们提出的方法。使用与训练数据集相同的过程,我们生成了128个每个包含128帧的短视频剪辑,分辨率为1024x768像素。对于每个剪辑,车辆随机放置在道路上(不允许碰撞),并且给定一个在30到100公里/小时范围内的随机速度。图4展示了一些样本场景。首先,我们在无噪声条件下重点研究第3.1节中的投影误差最小化方法,以下简称为“3D-reproj”。我们在图5中绘制了在目录A(第3.1.3节)中使用不同数量的3D模型和框误差函数(第3.1.2节)时的速度误差。令人惊讶的是,我们观察到无论框误差函数或使用的模型数量如何,准确性都没有明显差异。事实上,当模型数量增加时,误差甚至略微增加,这可能是因为方程(9)变得更加复杂,因此更难最小化。由于计算时间与使用的3D模型数量成正比,我们在本文的其余部分将目录A限制为3个模型的投影重建方法。准确性与时间的关系。我们在图6中绘制了每种方法的校准准确性作为计算时间的函数。对于3D-reproj,我们改变试验次数Γ∈{1,...,5000}。对于基于学习的方法(第3.2节),我们测量了计算平均时间。0%2.5%5%10%Relative bounding box noise1010052050Average Speed Error (km/h)3D-Reproj (Box IoU)3D-Reproj (Mask IoU)Learned+JacobianLearned+RANSACFullACC [16]0.8859.77FullACC++ [43]0.8631.91101100101102Error [km/h]020406080100Proportion of vehicles (%)FullACC [16]3D-Reproj (box IoU)3D-Reproj (mask IoU)Learned + JacobianNoContext + RANSACLearned + RANSAC3D-reproj (mask IoU)2.842.033.462.582.84KLearned+Jacobian9.216.4711.518.1215.9NoContext+RANSAC3.012.593.693.312.5Learned+RANSAC2.151.602.652.072.9FullACC [16]8.598.4510.8911.41200FullACC++ [43]1.100.971.391.22>20045570噪声的影响0图7. 噪声对不同方法的影响。0图8. BrnoCompSpeed数据集的示例帧[ 44]。请注意缺乏多样性、高分辨率(2MPix)和整体缺乏挑战性(例如道路是直的、光照良好等)。0直接使用雅可比矩阵( 10 )或使用RANSAC( 11)进行速度估计。除了Learned-Jacobian之外,所有方法都获得了良好的结果(即平均绝对误差低于4km/h),但是很明显,与基于学习的方法相比,3D-reproj的速度要慢得多。最慢的基于掩码IoU的版本在整体准确性上表现最好。相反,学习方法几乎是即时的。对于Learned-Jacobian的情况,我们观察到由于噪声回归输出ˆJ引起的准确性较差,这进一步加剧了从方程(10)的简单速度估计方案中累积误差的问题。使用RANSAC对ˆJ进行滤波的结果非常有竞争力,几乎达到了与3D-reproj结合掩码IoU相同的准确性。噪声的影响。我们向边界框坐标添加高斯噪声(即平移掩码)。我们尝试了不同强度的噪声相对于框大小的影响,并在图7中呈现结果。虽然所有方法都受到噪声的影响,但我们观察到3D-reproj对噪声更敏感,特别是如果不使用像素掩码。因此,我们在所有剩余的实验中都使用基于掩码的误差。令人惊讶的是,基于学习的方法几乎不受影响,表现非常稳健,即使它是在无噪声数据上训练的。04.3. BrnoCompSpeed数据集上的结果0BrnoCompSpeed数据集[ 44]包括18个视频(6个位置,每个位置3个视点),总共有20,865辆车的地面真实速度注释。它涵盖了典型的交通监控视点(见图8)和各种交通条件(第3个会话中的低交通量,第5和第6个会话中的高交通量)。检测和跟踪。我们使用现成的物体检测器和跟踪器来计算检测集D。具体来说,我们使用PyTorch [ 1 ]中的默认预训练Mask-RCNN [ 20]模型。为了跟踪检测结果,类似于Kumar等人[ 28],我们使用SORT [ 8 ],这是一种在线卡尔曼滤波算法。0召回率 FPPM0我们的方法 0.948 4.610表1. 在BrnoCompSpeed数据集[ 44]上评估我们的检测和跟踪流程,以召回率和每分钟误报数(FPPM)为指标。0图9. BrnoCompSpeed数据集的绝对误差累积直方图[ 44]。垂直虚线表示3 km/h的误差阈值。0绝对误差(km/h) 相对误差(%) 时间(s)0平均 中位数 平均 中位数 平均03D-reproj(框IoU) 5.70 2.85 7.04 3.61 1.49K0表2. BrnoCompSpeed数据集的结果。请注意,Ful- lACC++ [ 43]的结果不完全可比,因为它们是在9个/18个视频子集上获得的,另外9个视频用于训练他们的方法。0基于滤波的算法简单高效。请注意,跟踪还可以过滤掉大多数错误检测。即,我们根据Mask-RCNN提供的标签以及根据提供的视频掩码在掩码区域中的跟踪,消除静止的轨迹(无运动)和包含不足够检测的虚假轨迹。我们还根据Mask-RCNN提供的标签删除非汽车轨迹(例如卡车)以及在掩码区域中的轨迹。这个现成的流程在BrnoCompSpeed数据集[ 44]上实现了最先进的召回率,见表1。结果。为了在BrnoCompSpeed数据集[ 44]上校准相机,我们在每个视频的前6分钟内检测到的100个或更少的车辆轨迹的子集上运行我们的方法。我们使用官方评估代码计算分割A上的结果,并在图9和表2中报告它们。总的来说,无论是手工制作的(3D-reproj)还是学习的(Learned-RANSAC),所提出的方法表现出色。它们在绝对误差和相对误差方面远远优于完全自动的方法FullACC [ 16]。请注意,[ 43]报告了他们改进版本FullACC++的更好结果,但它们不完全可比,因为它们是在9个/18个视频子集上获得的,另外9个视频用于训练他们的方法。45580绝对误差(km/h)相对误差(%)时间(s)0平均 中位数 平均 中位数 平均03D-reproj(掩码IoU)9.51 5.45 31.9 13.8 25000Learned+Jacobian 20.1 18.6 53.2 45.8 0.110Learned+RANSAC 12.8 5.82 29.4 16.0 0.450FullACC++* [43] 32.6 22.4 56.0 52.9 270表3. CCTV数据集的结果。FullACC++*是我们对[43]的重新实现。0它们仅在子集上获得,即仅在一半的视频上获得。另一半用于训练和微调他们的方法。相比之下,我们发现我们的方法在仅使用合成数据和现成的3D汽车模型进行训练的情况下,中位绝对误差低于2km/h,这是非常显著的。这表明车辆形状在长期和中位数意义上确实得到了很好的归一化。最后,我们还报告了每个视频的平均校准时间,使用单个CPU核心,在表2中(不包括检测和跟踪步骤)。我们的学习方法比其他方法快几个数量级。消融研究。对于学习方法,我们还报告了使用雅可比矩阵进行直接速度估计的结果。确认早期的发现,这种估计速度的简单方法表现相对较差,并强调了过滤预测的必要性。我们还尝试了一个训练用于处理每个检测的网络(即我们将变换器注意力掩码设置为单位矩阵)。在图9和表2中,这种变体被标记为'NoContext+RANSAC',它阻止网络使用其他检测提供的上下文来推断场景的全局几何。然而,这种变体的结果只比使用完整上下文稍差。这表明在表示单个汽车(即其位置、形状和运动)和场景几何方面存在强大的先验知识,网络似乎有效地学习了这些知识。04.4. CCTV数据集0BrnoCompSpeed数据集是为了评估使用专门设计和安装的摄像机进行交通监控的算法而构建的。因此,它并不反映CCTV摄像头的典型质量(例如,与图8和2进行比较),后者旨在为人类操作员提供交通状况的大致概述。即它具有高分辨率视频(1920x1080 =2M像素),由高质量摄像机拍摄,因此不代表捕获条件的多样性,包括运动模糊、压缩伪影和镜头缺陷。因此,我们引入了一个新的数据集,称为CCTV数据集,以更好地反映实际生活中CCTV摄像头的内容和条件。它包括从位于韩国南部的公共流媒体CCTV摄像头中采样的40个短视频剪辑。由于这些剪辑来自实际安装的摄像头,因此无法得知确切的摄像机校准。为了获得地面真实的车辆速度,我们人工...0对于每个剪辑,我们为每个剪辑中的车辆通过的一系列边界框进行了注释,这些车辆配备了存储其速度和位置的GPS跟踪器。与BrnoCompSpeed数据集相比,它包含了在实践中通常遇到的所有挑战:图像分辨率是可变的,通常较低,质量在差和中等之间变化,道路不一定是笔直的,相机镜头不完美等
下载后可阅读完整内容,剩余1页未读,立即下载
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功