计算机应用   2017, Vol. 37 Issue (8): 2307-2312, 2333  DOI: 10.11772/j.issn.1001-9081.2017.08.2307
0

引用本文 

陈珂. 用于视频中车速自动检测的摄像机自动标定方法[J]. 计算机应用, 2017, 37(8): 2307-2312, 2333.DOI: 10.11772/j.issn.1001-9081.2017.08.2307.
CHEN Ke. Automatic camera calibration method for video-based vehicle speed detection[J]. Journal of Computer Applications, 2017, 37(8): 2307-2312, 2333. DOI: 10.11772/j.issn.1001-9081.2017.08.2307.

基金项目

苏州市科技发展计划项目(SYG201547)

通信作者

陈珂, szchenke@126.com

作者简介

陈珂(1974-), 女, 贵州贵阳人, 副教授, 硕士, CCF会员, 主要研究方向:计算机视觉、图像处理、智能交通系统

文章历史

收稿日期:2017-02-10
修回日期:2017-04-07
用于视频中车速自动检测的摄像机自动标定方法
陈珂    
苏州市职业大学 计算机工程学院, 江苏 苏州 215104
摘要: 针对目前基于视频的车辆测速方法均需通过手工标定而造成的低效和可操作性差的问题,提出了一种对典型配置的道路监控摄像机的焦距、俯仰角、离地距离等重要参数进行自动标定的方法。首选利用自然场景中两组正交平行线在视频图像中形成的消失点之间的内在关系对摄像机的焦距和俯仰角实施精确标定;在此基础上利用视频中目标车辆群体的平均宽度对摄像机与地面之间距离进行自动标定。实验表明,该算法具有参数测量精度高和可靠性好等优点,可作为现有道路视频监控设备实施车辆速度、类别、流量等数据的自动采集、分析和监控,以及电子违章抓拍设备的有效自动标定手段。
关键词: 实时车辆速度检测    消失点自动检测    摄像机自动标定    智能交通系统    视频处理    
Automatic camera calibration method for video-based vehicle speed detection
CHEN Ke     
College of Computer Engineering, Suzhou Vocational University, Suzhou Jiangsu 215104, China
Abstract: To address the issue of inefficiency and inconvenience in camera's manual calibration required by the existing video-based vehicle speed detection, a robust algorithm was proposed to carry out automatic calibration of typically-configured road-monitoring video camera, including calibration of its focal length, pitch angle and distance to the road surface. The relationship between vanishing points formed by two groups of orthogonal lines was used to calibrate the focal length and pitch angle of the camera. Then the statistical width data collected from multiple vehicles detected in video stream was used to extract the distance between the camera and the road surface. The experimental results show that the proposed algorithm has high efficiency, excellent accuracy and high reliability. The proposed algorithm can be deployed as an effective automatic camera calibration way in helping the existing traffic monitoring video devices to carry out automatic collection, analysis and monitoring of vehicle speed, vehicle type, traffic flow data and enforcing traffic speed limit law.
Key words: real-time vehicle speed detection    automatic vanishing point detection    automatic camera calibration    Intelligent Transportation System (ITS)    video processing    
0 引言

作为道路交通状态评价的重要指标,车辆速度的检测在保障道路交通安全和智能交通系统(Intelligent Transportation System, ITS)部署上均有着极其重要的意义。

目前车速检测方法一般包括雷达检测、感应线圈检测、激光检测和视频检测等[1]。其中感应线圈主要通过检测车辆在通过埋设在路面下方同一车道内且相隔一定距离的两个线圈过程中的时间差获得速度,精度较低,建设和维护过程中均需对路面进行破坏和重建,因此成本较高,目前已被逐渐淘汰。激光检测虽然具有精度高的优点,但是由于激光光束发散度低,测速要求较为苛刻(仅可对接近垂直于激光枪的车辆反射面进行测速),目前主要用于手持测速装置中。雷达测速技术利用电磁波在运动物体表面反射过程中的多普勒频移原理实施测速,技术相对成熟,具有全天候、测速精度高等优点,但也存在显著缺陷:首先是当车辆行进方向偏离雷达枪出射方向时会导致测量精度下降(其相对误差与偏离角的余弦成正比,当偏离30°时误差可达13.4%);其次是它易受相近射频波段(如车载雷达干扰设备)或与测试对象相邻的其他运动车辆反射的雷达波的干扰而导致一定的车速误测或漏测风险。

上述三种传统的测速方法并不能独立工作,一般需要另外安装照相器材对测速对象进行抓拍,这不仅增加了这些方法的复杂度和使用成本,而且会对其可靠性产生影响。跟这三种算法相比,视频测速具有设备的简单性、过程的直观性和结果的可验证性等优点,而且我国完善的既有道路交通视频监控网络为其提供了得天独厚的先天硬件条件。但是视频测速同样面临着各种困难,如由于其效果往往受到环境、光照、视频拍摄方位等因素影响,目前视频测速在智能交通系统领域尚处于探索阶段;视频测速广泛部署的一个关键障碍还在于如何快速、精确、可靠地对测速摄像机内部参数(焦距)以及外部参数(位置、俯仰角、侧倾角、旋转角)进行标定,从而确立图像坐标系和世界坐标系之间的精确映射关系,为视频测速的可靠性奠定基础。

一类比较典型的摄像机标定方法通过对摄像机作旋转[2]、平移[3]或平面正交运动[4]获得的多幅图像进行处理实现,但此类方法要求改变摄像机位置或姿态来完成参数标定,而目前国内道路监控设备大多固定安装于道路上方,所以此类方法并不适用。

另外一类方法利用图像中存在的多个正交消失点对摄像机进行标定。消失点实际上是三维空间中一组平行直线在二维图像平面中相交形成的,相当于三维空间中沿原平行线方向上的无穷远点。文献[5-8]都提出通过由多组消失点的位置来对摄像机的部分参数予以标定,这类方法对道路摄像机的参数标定有一定的参考价值。其中:文献[5]提出通过一个标准尺寸立方体在图像平面中形成的三个消失点位置来标定摄像机的内部参数(焦距和位置)的方法,该方法把标准立方体置于摄像机的监控范围内并根据立方体在图像中形成的三个消失点位置完全确定摄像机的焦距和姿态,但其无法获取摄像机的关键参数-离地间距,对道路摄像机的标定没有直接的借鉴作用;文献[6]通过放射变换矩阵推算出了摄像机焦距与两个正交消失点位置之间的关系,有一定的借鉴意义,但无法直接获知俯仰角和离地距离等参数,提供的信息不足以实现完整的标定;文献[7-8]需要通过对摄像机在不同位置和角度拍摄多幅图像并进行处理获取相机参数,这对于大多数固定安装于道路上方的监控摄像机而言并不现实。

总体而言,由于道路监控摄像机安装的特殊性(固定于路面上方,调试和移动不便),现有摄像机标定算法并不适用于道路监控摄像机的标定。

在道路摄像机标定问题上,谭方勇等[9]提出了一种实用方便的手工标定算法,该算法的主要缺点在于场景中需要预先放置一个已知尺寸的参照物并使用手工方式框定其范围,由于在场景中车辆的首尾往往因自身车顶阻挡而不能同时精确定位,因此这一标定方法在测量车身长度方向时存在一定的误差风险。于艳玲等[10]提出借助于车道线中相邻白色虚线之间的等距性特征来进行手工标定,由于不同类型路面对同轴的相邻分道线间距有不同的设计标准,且分道线可能受自然老化和车辆碾压等因素影响而发生残缺,该方法存在一定的潜在误差,其实用性值得怀疑。

受制于人工介入和误差难以把控等方面的问题,现有的道路监控摄像机参数标定方法制约了道路监控摄像机在车辆自动测速和其他智能交通系统应用中的推广。针对上述问题,本文提出一种全新的摄像机自动标定方法:首先利用两个由正交平行线组形成的消失点之间的特殊关系提取摄像机的精确焦距和俯仰角;然后利用视频中多个样本车辆的宽度统计信息确定摄像机与地面之间的精确距离。

1 基于消失点检测的视频摄像机自动参数标定

基于视频的车辆速度检测的一个关键步骤是摄像机参数的标定。现有测速方法都通过手工标定摄像机参数[2, 9-10]。但手工标定需要一定的专业知识,并需对摄像机焦距、俯仰角等参数以及场地参照物进行精确测量或推算,效率不高,而且当摄像机参数发生变化时(如改变摄像机焦距对场景进行放大或缩小)需要重新手工标定,灵活性低,因此目前基于视频的车辆速度检测方法与真正意义上的全自动车辆速度检测仍然存在不小的距离。本文提出一种根据视频图像场景中提取的信息对摄像机参数(包括相机的焦距以及相机与路面的夹角)进行全自动标定的方法,可以对这些参数进行全自动的测量和定位,从而为真正意义上的全自动视频测速提供高效率的途径。

道路监控摄像机一般安装于道路上方,其光轴方向与道路的前进方向近似在同一平面内(即摄像机的旋转角和侧俯仰角均为0),跟路面则呈一定的俯仰角θ,如图 1所示,本文所提方法仅对这一典型的道路监控摄像机配置进行自动标定。

图 1 摄像机配置 Figure 1 Camera configuration

为便于后续处理,本文首先对自然场景所在的三维坐标进行设置,设x轴和z轴均在道路所在平面内,其中z轴沿路面的前进方向,x轴与路面的前进方向垂直,y轴垂直于路面。为方便设计,设摄像机位于y轴上,其光轴在y轴和z轴的坐标平面内,与路面夹角为θ,沿光轴方向距离地面d。本文摄像机标定算法要求在场景中至少存在两组相互垂直的平行线,其中一组沿路面前进方向(分道线),另一组垂直于公路路面(城市道路中路灯的灯柱或大中型客车垂直轮廓线)。

在二维图像平面即成像面内,本文以(u, v)对二维图像平面进行标注,其中u轴平行于x轴,而v轴垂直于光轴和u轴,设摄像机的焦距为F,由于本文的测速对象与摄像机的距离(一般5 m以上)远大于焦距(一般介于20~100 mm),根据几何光学原理,成像面与焦平面重合。本文以P表示原点到三维空间中任意一点的矢量值,则根据几何光学原理,二维图像中成像位置离开原点的距离为F|P|/|P//|,其中:F为摄像机焦距,PP在垂直于光轴的平面内的投影,而P//为该点在光轴上的投影。

设道路平面内任一点的坐标为(x, 0, z),则该点在摄像机光轴投影点离开摄像机的距离为d+(z-d cos(θ))cos(θ)=d sin2(θ)+z cos(θ),其在二维图像平面内的坐标为:

$\left\{ \begin{array}{l} u = \frac{{F \cdot x}}{{d{{\sin }^2}\left( \theta \right) + z\cos \left( \theta \right)}}\\ v = \frac{{F\left( {z - d\cos \left( \theta \right)} \right)\sin \left( \theta \right)}}{{d{{\sin }^2}\left( \theta \right) + z\cos \left( \theta \right)}} \end{array} \right.$ (1)

式(1) 明确了路面上任意一点从自然场景坐标到图像坐标的映射关系完全由摄像机的三个重要参数Fθd确定,其中F为摄像机的焦距,θ为摄像机光轴与路面的夹角,d为摄像机与光轴在路面交点的距离(在图像所在的二维坐标中,光轴与路面交点的位置刚好处于图像的中心)。

为推导路面前进方向的消失点位置,首先看图 1中的车道分界线1,它平行于z轴,设其与z轴的距离为D,其上任一点的坐标可表示为(D,0,z),则根据式(1),该点在图像坐标系中的位置(uroad, vroad)可表示为:

$\left\{ \begin{array}{l} {u_{{\mathop{\rm road}\nolimits} }} = \frac{{F \cdot D}}{{d{{\sin }^2}\left( \theta \right) + z\cos \left( \theta \right)}}\\ {v_{{\mathop{\rm road}\nolimits} }} = \frac{{F\left( {z - d\cos \left( \theta \right)} \right)\sin \left( \theta \right)}}{{d{{\sin }^2}\left( \theta \right) + z\cos \left( \theta \right)}} \end{array} \right.$ (2)

设(Uroad, Vroad)为路面分界线的消失点位置,相当于式(2) 中z→∞时的(uroad, vroad), 则其坐标可根据式(2) 推得:

$\left\{ \begin{array}{l} U_{road}^\infty = \mathop {\lim }\limits_{z \to \infty } \frac{{F \cdot D}}{{d{{\sin }^2}\left( \theta \right) + z\cos \left( \theta \right)}} = 0\\ V_{road}^\infty = \mathop {\lim }\limits_{z \to \infty } \frac{{F\left( {z - d\cos \left( \theta \right)} \right)\sin \left( \theta \right)}}{{d{{\sin }^2}\left( \theta \right) + z\cos \left( \theta \right)}} = F\tan \left( \theta \right) \end{array} \right.$ (3)

式(3) 显示,路面分道线的消失点仅与焦距和俯仰角相关。

接下来分析灯柱形成的消失点,方法上与路面消失点类似。因灯柱平行于y轴,其上任一点坐标可设为(XyZ),其中XZ为定值,y为变量,其在二维图像中的坐标(upole, vpole)为:

$\left\{ \begin{array}{l} {u_{pole}} = \frac{{F \cdot X}}{{d{{\sin }^2}\left( \theta \right) + z\cos \left( \theta \right) - y\sin \left( \theta \right)}}\\ {v_{pole}} = \frac{{F\left( {\left( {z - d\cos \left( \theta \right)} \right)\sin \left( \theta \right) + y\cos \left( \theta \right)} \right)}}{{d{{\sin }^2}\left( \theta \right) + z\cos \left( \theta \right) - y\sin \left( \theta \right)}} \end{array} \right.$ (4)

设(Upole, Vpole)为灯柱的消失点坐标,其值可根据式(4) 直接推得:

$\left\{ \begin{array}{l} U_{{\mathop{\rm pol}\nolimits} {\mathop{\rm e}\nolimits} }^\infty = \mathop {\lim }\limits_{y \to \infty } \frac{{F \cdot X}}{{d{{\sin }^2}\left( \theta \right) + z\cos \left( \theta \right) - y\sin \left( \theta \right)}} = 0\\ V_{{\mathop{\rm pole}\nolimits} }^\infty = \mathop {\lim }\limits_{y \to \infty } \frac{{F\left( {\left( {z - d\cos \left( \theta \right)} \right)\sin \left( \theta \right) + y\cos \left( \theta \right)} \right)}}{{d{{\sin }^2}\left( \theta \right) + z\cos \left( \theta \right) - y\sin \left( \theta \right)}} = - F\cot \left( \theta \right) \end{array} \right.$ (5)

根据式(3) 和式(5),可直接从两个消失点位置逆推焦距F和摄像机俯仰角θ:

$\left\{ \begin{array}{*{35}{l}} F=\sqrt{-V_{\text{road}}^{\infty }V_{\text{pole}}^{\infty }} \\ \theta ={{\tan }^{-1}}\sqrt{{-V_{\text{road}}^{\infty }}/{V_{\text{pole}}^{\infty }}\;} \\ \end{array} \right.$ (6)

式(6) 给出了摄像机焦距和俯仰角标定的一种方法,即可通过自动检测和定位图像中两个正交消失点的纵坐标位置即可直接得到。为确保标定的精度,俯仰角θ原则上不宜太靠近90°,否则路面消失点趋向无穷远,θ也不宜靠近0°,否则会导致灯柱的消失点趋向无穷远,这两种情况都会显著增大标定的误差。实验表明,θ的理想范围为30°≤θ≤60°。

在视频测速过程中,还必须把车辆的位置从图像坐标系转化至三维坐标系,由于车辆不能离开路面,因此其运动实际上被限制在(x, 0, z)的二维平面内运动, 其坐标(x, z)与图像坐标(u, v)可以从式(1) 逆推,结果如式(7):

$\left\{ \begin{array}{l} x = \frac{{d \cdot u}}{{F - v\cot \left( \theta \right)}}\\ z = \frac{{d(v\sin \left( \theta \right) + F\cos \left( \theta \right))}}{{F - v\cot \left( \theta \right)}} \end{array} \right.$ (7)

利用式(3) 和式(7) 可进一步简化为式(8):

$\left\{ \begin{align} & x={d\tan \left( \theta \right)\cdot u}/{\left( V_{\text{road}}^{\infty }-v \right)}\; \\ & z={C+dV_{\text{road}}^{\infty }\sec \left( \theta \right)}/{\left( V_{\text{road}}^{\infty }-v \right)}\; \\ \end{align} \right.$ (8)

其中xz分别为道路平面内任意一点三维空间坐标沿路面横向和前进方向的坐标,而u, v则是该点在二维图像中的坐标,Fθd分别为摄像机的焦距、其与路面之间的夹角θ以及摄像机出口到其光轴与路面交点之间的距离,C=d tan(θ)sin(θ)为在处理中可以忽略的平移常数。

式(7) 和(8) 表明,图像坐标系和路面坐标系之间的映射关系由摄像机的焦距F、俯仰角θ和以及摄像机出口到其光轴与路面交点之间的距离d完全确定。

虽然通过分道线消失点和灯柱消失点的自动检测可以标定摄像机焦距F和俯仰角θ,但是参数d的标定一般情况下需要场景中存在一个已知尺寸的完整参照物,这一条件在很多道路场景中不能被满足。如文献[10]提出利用公路的分道线作为参照物对距离进行量度的手工标定算法,但是分道线作为参照物有一定的局限性:首先绝大多数仅有两条车道的城市路段并不设置虚线分道线;此外在双向多车道道路的交叉路口和高速公路的出口等路段为防止车辆随意变更车道一般均以实线标示;最后,即使划定了分道线的路段,其长度也并不固定,我国国家标准目前对分道线的长度和间隔随公路等级而变化,如高速公路的分道线标准为长6 m、间隔9 m,城市快速路为长4 m、间隔6 m,其他道路为长2 m、间隔4 m。因此以分道线作为参照物并不是一个普遍适用的选择。

本文基于统计学原理提出一种把视频中测速对象——车辆作为样本群体对其中的小型汽车群体计算平均宽度,根据统计学原理,其值原则上应等于我国国内的小型汽车总量的平均宽度(设为W),且随着样本总量的增大而更接近W。这里之所以选择车辆的宽度而非长度作为统计对象,是因为在典型的道路摄像机部署设置(如图 2所示)中,车辆长度方向一般都存在部分遮挡(车身较高的SUV,遮挡程度更高),因而从长度方向进行亮度容易造成较大的误差,而车辆宽度方向在典型视频中一般不存在阻挡,因而结果更为可靠。

图 2 二维图像坐标中车道分界线和路灯灯柱分别形成的消失点 Figure 2 Two vanishing points formed by lane markers and poles in 2D image space

在对参数d的具体标定过程中,设任一车辆在图像中的最宽处位置推导出车辆左侧的坐标(uleft, v),右侧的坐标(uright, v), 则根据式(8) 有:

$\Delta x={{x}_{\text{left}}}-{{x}_{\text{right}}}=\frac{d\tan \left( \theta \right)\left( {{u}_{\text{left}}}-{{u}_{\text{right}}} \right)}{V_{\text{road}}^{\infty }-v}$ (9)

i=1, 2, …, n为检测到的n辆车中的任一辆车,其在二维图像坐标系中的纵坐标(即沿道路前进方向)为vi, 横向(即车辆的宽度方向)宽度为Δui=ui, left-ui, right,设车辆的理论平均宽度Wn辆车之间存在式(10) 的关系:

$\frac{d\tan \left( \theta \right)}{n}\sum\limits_{i=1}^{n}{\frac{\Delta {{u}_{i}}}{V_{\text{road}}^{\infty }-{{v}_{i}}}\approx W}$ (10)

把式(10) 中的d单独放在左边得到:

$d \approx \frac{{nW}}{{\tan \left( \theta \right)\sum\limits_{i = 1}^n {\frac{{\Delta {u_i}}}{{V_{\text{road}}^\infty - {v_i}}}} }}$ (11)

式(11) 给出了一个根据图像中多个车辆在图像坐标系中宽度方向的信息来标定d的简单直观的方法。式(11) 中其他参数均已知,但是车辆的理论平均宽度W需要通过其他途径获得。

W原则上需要对国内目前保有的所有小汽车进行宽度完整统计,考虑到国内绝大部分车辆都是近年内生产销售的,因此本文对国内最近5年内每年销售的小汽车中销量最高的100种车进行了宽度统计,其销量约占同期总销量的72.3%。

图 3列出了国内近5年每年销售小汽车的平均宽度和标准差分布曲线(销量数据来源于文献[11-15],宽度数据来自百度搜索),其中平均宽度从2012年的1.76 m提高到2016年的1.78 m,而小汽车宽度分布的标准差(设为STD)为5.8~6.8 cm,5年的加权平均宽度约为1.77 m,因而本文把W设为1.77 m,5年间的标准差约为7 cm(因平均车宽随生产年份逐年增大,5年的标准差大于每年的统计值)。

图 3 国内近5年销售小汽车的平均宽度和标准差变化趋势 Figure 3 Evolution of the average width and standard deviation of passenger vehicles in China in recent 5 years

本文还对2015年度生产的小汽车中销量最大的100种车进行了宽度统计,其结果如图 4所示,曲线为正态分布曲线(平均值1.78 m,标准差0.058 m),基本服从正态分布。在这种情况下,宽度分布的标准差基本决定了把W作为n辆车平均值可能的误差风险。根据统计学原理,对于n个宽度服从正态分布的独立车辆样本,其平均宽度介于$W-2.5{STD}/{\sqrt{n}}\;$$W+2.5{STD}/{\sqrt{n}}\;$ m的概率为99%,随样本数n的增大,其不确定范围以$1/\sqrt n $为系数进行收缩。以n=100, W=1.77 m,STD=0.07 m为例,其平均宽度介于W-2.5STD/10和W+2.5STD/10即1.7525 m和1.7875 m之间的概率为99%,也即当以W=1.77 m作为这100辆车的平均宽度时,其相对误差小于0.01725/1.77(约等于1%)的概率为99%,这时标定的精度已完全满足要求。

图 4 2015年度销量前100位的小汽车宽度分布曲线 Figure 4 Vehicle width distribution for the most popular 100 brands in China in year of 2015

实际的车辆宽度检测中,由于行驶中的绝大多数车辆与分道线近乎平行,这种情况下,车辆的运动方向指向消失点,车辆两侧的最宽处对消失点形成的张角也为最大。另外,为确保作为统计对象的车辆的运动方向与指向消失点的方向一致,本文也用到了一个简单的物理方法。运动车辆在视频图像中近似为长方形,则以其中心为原点所得的二阶惯性张量,存在两个本征值(惯量),其中较小者对应的本征矢(惯量轴)与车辆的运动方向一致,较大者与车辆的横向一致。为确保统计宽度的车辆具有较小的误差,本文只对运动方向偏离经过车辆中心和消失点的直线方向5°以内的车辆进行统计。

另一个需要注意的问题是车辆的最宽处并不位于其最下方(即靠近路面的位置),一般高出路面0.7到0.8 m(相当于小型载人汽车腰部的位置),而摄像机与路面交点的直线距离一般在10 m左右,如果不加以校正,会产生一定的误差。本文使用的方法很简单,即假设所有车辆的最宽处均在道路上方0.75 m的高度,则式(11) 得到的d是高于路面0.75 m的平面与相机在光轴上的距离,而相机到路面的精确距离,还需要在这基础上给予一个0.75/sin(θ)的补偿,最后精确的路面距离d应该表示为:

$d \approx \frac{{nW}}{{\tan \left( \theta \right)\sum\limits_{i = 1}^n {\frac{{\Delta {u_i}}}{{V_{\text{road}}^\infty - {v_i}}}} }} + \frac{{0.75}}{{\sin \left( \theta \right)}}$ (12)

另外,分道线作为重要的参照物,在存在分道线的场合仍然可以也应该发挥重要的作用,因为分道线的长度是非常精确的(只有2、4、6 m三种标准),本文通过上述车宽标定获得的初始参数d来推算分道线的长度到底属于哪一类(2 m、4 m还是6 m)。在确定分道线长度标准后,再以多条分道线的统计平均为依据,获得更精确的参数d。至于分道线的检测,本文通过对混合高斯模型获得的背景进行自适应阈值分割(利用OpenCV提供的应用程序接口函数cvAdaptiveThreshold)来实现。

2 消失点自动检测

本文所提出的视频摄像机自动标定算法涉及到消失点检测和定位,首先使用文献[16]的算法从图像中快速提取直线段,然后根据文献[17]给出的基于预检验的随机抽样一致性算法从图像的上半部分和下半部分接近图像垂直平分线的地方分别获得两个消失点。在对路面分道线形成的消失点检测过程中,考虑到大多数正常行驶的车辆的两侧轮廓线与路面分道线平行,因此在分道线检测之外,还引入了对多幅图像进行直线段统计来进一步提高路面消失点的定位精度;而在检测灯柱形成的消失点时,由于绝大多数大型客车和部分货车(如集装箱货车)的部分边缘轮廓也垂直于路面,这有助于提高对灯柱消失点检测的精度,因此本文采用多幅图像的直线段统计法来提高检测灯柱消失点的检测精度。为进一步提高消失点的定位精度,在利用文献[17]的算法获得消失点的初始位置(xinitial, yinitial)后,设线段i(i=1, 2, …, n)为该消失点的任一支持线段, 其归一化直线方程aix+biy+ci=0满足ai2+bi2=1, 本文利用式(13) 对消失点实施进一步定位:

$\left( {{x}_{\text{final}}},{{y}_{\text{final}}} \right)=\underset{{}}{\mathop{\underset{x,y}{\mathop{\arg \min }}\,\sum\limits_{i=1}^{n}{{{l}_{i}}{{\left( {{a}_{i}}x+{{b}_{i}}y+{{c}_{i}} \right)}^{2}}}}}\,$ (13)

其中li为第i线段的长度。式(13) 的解为:

$\left\{ \begin{array}{l} {x_{\text{final}}} = \frac{{\sum\limits_{i = 1}^n {{a_i}{b_i}{l_i}} \cdot \sum\limits_{i = 1}^n {{b_i}{c_i}{l_i}} - \sum\limits_{i = 1}^n {b_i^2{l_i}} \cdot \sum\limits_{i = 1}^n {{a_i}{c_i}{l_i}} }}{{\sum\limits_{i = 1}^n {a_i^2{l_i}} \cdot \sum\limits_{i = 1}^n {b_i^2{l_i}} - {{\left( {\sum\limits_{i = 1}^n {{a_i}{b_i}{l_i}} } \right)}^2}}}\\ {y_{\text{final}}} = \frac{{\sum\limits_{i = 1}^n {{a_i}{b_i}{l_i}} \cdot \sum\limits_{i = 1}^n {{a_i}{c_i}{l_i}} - \sum\limits_{i = 1}^n {a_i^2{l_i}} \cdot \sum\limits_{i = 1}^n {{b_i}{c_i}{l_i}} }}{{\sum\limits_{i = 1}^n {a_i^2{l_i}} \cdot \sum\limits_{i = 1}^n {b_i^2{l_i}} - {{\left( {\sum\limits_{i = 1}^n {{a_i}{b_i}{l_i}} } \right)}^2}}} \end{array} \right.$ (14)
3 车辆自动检测和跟踪

本文对运动车辆检测时采用文献[18]给出的混合高斯模型。对运动车辆跟踪时,假设车辆行进方向与车道的平行方向(在二维图像中连接路面消失点和车辆中心的直线所在方向)几乎一致,且绝大多数车辆行进在分道线之间,大多数车辆可以借助分道线检测来限定行进轨迹,少部分不按通常轨迹行进的车辆轨迹可以通过排除法获得。当然,由于混合高斯模型算法本身具有高实时性(在处理分辨率为1366×768的高清视频时也可以达到15帧/s以上),使得车辆在相邻处理帧之间的移动距离远小于车辆之间的前后间距,从而给车辆的跟踪带来了很大的便利。如以车速120 km/h(约33 m/s,目前我国高速公路的最高限速)和处理速度15帧/s为例,则相邻帧之间车辆的位移约为2.2 m,小于绝大多数车身长度的一半,更远小于该速度下前后车辆的安全距离(20 m),因此总体而言,采用混合高斯模型使得车辆跟踪的实现变得简单和直观,一般仅需在跟踪对象车辆在前一视频帧所在位置的前后3 m范围内寻找该车辆在当前帧中的位置,由于前后车辆中心之间的距离(车辆本身的长度超过4 m,加上前后车辆之间的安全跟车距离超过2 m)超过6 m,在当前帧中的这个范围内不可能出现跟踪对象以外的任何其他车辆,因此这种车辆跟踪算法的失败风险为零。

4 实验分析

本文通过Visual C++和OpenCV实现了消失点自动检测、摄像机参数(俯仰角、焦距、相机沿光轴方向到路面的距离)的自动标定以及车辆自动检测和跟踪等算法。实验在硬件配置为Intel i5 3.0 GHz CPU和2 GB内存并安装了Windows 7操作系统的个人电脑上进行,其可执行代码下载网址:http://pan.baidu.com/s/1miRVSaW,测试视频下载网址:http://pan.baidu.com/s/1eSl4EXk

为便于测试,本文摄像机使用Canon EOS6d相机(感光区域大小35.9 mm×24 mm,可变焦距24~105 mm),实验中用到的视频分辨率均为640×480像素。

4.1 摄像机内部参数标定

本文首先把像机焦距手工设置为24 mm,相当于480像素,改变俯仰角θ获得的焦距和俯仰角的自动标定结果如表 1所示。

表 1 摄像机自动标定误差随摄像机俯仰角θ的分布 Table 1 Errors of the camera's automatic calibration with different pitch angles θ

表 1可知,本文所述算法对摄像机自动标定的精度上呈现一个有趣的变化:当俯仰角介于30°和60°之间时,标定的相对误差较小;当俯仰角偏小或偏大时,误差均显著增大。其主要原因在于,当θ过小时,路面分道线在图像坐标系中接近于相互平行,消失点(即这些分道线的交点)位置远离图像中心,这时分道线的微小斜率变化即可导致消失点位置的较大漂移,标定精度易受各类噪声(如离散化噪声和高频噪声等)的影响,如当θ=75°时,消失点距离图像中心的距离达到F tan(75°)≈3.7F,即为焦距的3.7倍,消失点定位误差会显著放大;而当θ过大时,灯柱的消失点位置远离图像中心,导致其定位误差易受图像噪声的影响,并影响焦距和俯仰角的定位精度。

因此为确保车辆速度检测的精度,表 1也对摄像机的俯仰角范围提出了要求,即其范围应保持在30°和60°之间,其最佳位置为45°。

4.2 车速检测

本文利用上述算法对运动车辆进行速度检测,图 5中靠近图像上方边缘的点为通过文献[17]的算法自动检测到的路面消失点,此外由消失点引出的虚线为算法自动检测到的消失点支持线段。由于灯柱消失点距离图像中心较远,图 5中未标出。

图 5 运动车辆速度检测 Figure 5 Speed detection for moving vehicles

在分析车辆速度检测精度过程,文献[9](一种手工标定视频摄像机参数的车辆速度检测算法)采用了检测速度与车辆速度表对比的方法。本文采取的实验方法类似于文献[9],使用车辆的速度表作为基准值。当然,由于受到国家标准(GB15082—2008) 对车速表规范的制约,我国机动车的真实速度普遍略低于仪表显示速度,而且显示速度和真实速度之比随车辆品牌和生产年份而各异。为确保车辆以准确的实际速度行驶,本文首先利用激光测速仪对各实验车辆进行分别标定,测定其真实速度和仪表显示速度之间的比值。之后,每次让5辆车一组以恒定的速度(80 km/h和40 km/h,每辆车的仪表显示速度根据标定结果按比例增加)通过摄像机拍摄区域,重复6次,获得30辆车的视频数据,比较两种方法的速度值,为确保数据的准确性,两种算法均只对距离摄像机40 m以内的车辆进行速度检测,结果如表 2

表 2 两种算法测得速度与标准差的比较  km/h Table 2 Detected speeds and standard deviation comparison of two algorithms  km/h

表 2显示,本文算法在速度检测的精度上几乎与文献[9]没有区别,测得速度与实测速度的平均误差低于2 km/h(5%),该误差也显著小于用于电子违章监控测速的雷达系统要求的10%的误差上限。此外,本文测速算法比文献[9]具有更小的标准差,表明本文算法在速度检测上的收敛性和一致性优于后者,其主要原因在于本文使用的消失点自动检测算法对所有支持线段进行加权拟合,获得的消失点位置定位精度上要高于文献[9]仅通过两条边缘线获得交点的方式,从而提高了测速的一致性。

5 结语

本文提出并实现了一种对交通视频监控摄像机内外参数进行全自动标定的算法,解决了以往只能通过繁琐的人工或半人工操作导致的部署效率低、可操作性差和灵活性低的根本问题,为道路摄像机的高度自动化应用开发提供了一条潜在的实用途径。

在道路摄像机的自动标定过程中,本文利用自然场景中相互垂直的两组平行线形成的两个消失点标定摄像机焦距和俯仰角,该算法对国内目前绝大多数道路监控摄像机具有很高的可行性;此外,基于道路场景中大量车辆的平均宽度与我国目前汽车保有总量的宽度平均值相近的合理假设,本文提出了以场景中一定数量的车辆样本作为参照物,以其平均宽度作为基准自动标定摄像机的离地距离的新方法,绕开了摄像机标定需要场景中必须存在已知尺寸的标准参照物作为测量基准的问题,从而为道路监控摄像机真正意义上的全自动标定提供了一种切实可行的途径。

本文算法可以广泛用于国内大多数道路交通监控视频摄像机的自动标定,以帮助实时地自动提取包括车速、车辆种类分布、车流密度等重要道路交通参数。

参考文献(References)
[1] MIMBELA L. A summary of vehicle detection and surveillance technologies used in intelligent transportation systems[EB/OL].[2016-10-05]. http://www.fhwa.dot.gov/ohim/tvtw/vdstits.pdf.
[2] HARTLEY R I. Estimation of relative camera positions for uncalibrated cameras[C]//ECCV 1992:Proceedings of the 2nd European Conference on Computer Vision, LNCS 588. Berlin:Springer-Verlag, 1992:579-587.
[3] 杨长江, 汪威, 胡占义. 一种基于主动视觉的摄像机内参数自标定方法[J]. 计算机学报, 1998, 21(5): 428-435. (YANG C J, WANG W, HU Z Y. An active vision based self-calibration technique[J]. Chinese Journal of Computers, 1998, 21(5): 428-435.)
[4] 李华, 吴福朝, 胡占义. 一种新的线性摄像机自标定方法[J]. 计算机学报, 2000, 23(11): 1121-1129. (LI H, WU F Z, HU Z Y. A new linear camera self-calibration technique[J]. Chinese Journal of Computers, 2000, 23(11): 1121-1129. DOI:10.3321/j.issn:0254-4164.2000.11.001)
[5] CAPRILE B, TORRE V. Using vanishing points for camera calibration[J]. Internal Journal of Computer Vision, 1990, 4(2): 127-140. DOI:10.1007/BF00127813
[6] ORGHIDAN R, SALVI J, GORDAN M, et al. Camera calibration using two or three vanishing points[C]//FedCSIS 2012:Proceedings of the 2012 Federated Conference on Computer Science and Information Systems. Piscataway, NJ:IEEE, 2012:123-130.
[7] 陈爱华, 高诚辉, 何炳蔚. 基于正交消失点对的摄像机标定方法[J]. 仪器仪表学报, 2012, 33(1): 161-165. (CHEN A H, GAO C H, HE B W. Camera calibration method based on orthogonal vanishing point pair[J]. Chinese Journal of Scientific Instrument, 2012, 33(1): 161-165.)
[8] 韩秀丽, 毋立芳, 郭江, 等. 基于二消失点的相机自标定方法[J]. 信号处理, 2007, 23(4A): 214-217. (HAN X L, WU L F, GUO J, et al. Camera self-calibration based on two vanishing points[J]. Signal Processing, 2007, 23(4A): 214-217.)
[9] 谭方勇, 于福生, 吴建平. 基于消失点的坐标校准算法[J]. 计算机应用, 2011, 31(1): 58-60. (TAN F Y, YU F S, WU J P. Coordinate calibration based on vanishing point[J]. Journal of Computer Applications, 2011, 31(1): 58-60.)
[10] 于艳玲, 王韬, 袁彬, 等. 基于视频的车速检测算法研究[J]. 现代电子技术, 2013, 36(3): 158-161. (YU Y L, WANG T, YUAN B, et al. Study of vehicle speed detection based on video[J]. Modern Electronics Technique, 2013, 36(3): 158-161.)
[11] 查查吧网. 最新中国2012年12月汽车销量排行榜出炉[EB/OL]. (2013-01-19)[2017-01-23]. http://www.chachaba.com/news/html/xueche/gouche/20130110_107740.html. (www.chachaba.com. China's newest auto sales charts for Dec. of 2012[EB/OL]. (2013-01-19)[2017-01-23]. http://www.chachaba.com/news/html/xueche/gouche/20130110_107740.html.)
[12] 中商情报网. 2013年中国汽车销量排行榜(1-200名)[EB/OL]. [2016-10-03]. http://www.askci.com/news/201401/13/13174425141514.shtml. (www.askci.com. China's auto sales charts for year 2013(1-200)[EB/OL].[2016-10-03]. http://www.askci.com/news/201401/13/13174425141514.shtml.)
[13] 中商情报网. 2014年度中国市场汽车销量排行榜[EB/OL]. [2016-10-03]. http://www.askci.com/news/data/2015/01/28/14320sqcm.shtml. (www.askci.com. China's auto sales charts for year 2014[EB/OL].[2016-10-03]. http://www.askci.com/news/data/2015/01/28/14320sqcm.shtml.)
[14] 盖世汽车网. 2015年中国所有车型销量排行榜[EB/OL]. [2016-10-05]. http://auto.gasgoo.com/News/2016/01/1304550655660353047966.shtml. (www.gasgoo.com. China's auto sales rank for all types in 2015[EB/OL].[2016-10-05]. http://auto.gasgoo.com/News/2016/01/1304550655660353047966.shtml.)
[15] 盖世汽车网. 2016年510款汽车销量排行榜[EB/OL]. [2017-01-11]. http://auto.gasgoo.com/News/2017/01/11065942594270004826C206.shtml. (www.gasgoo.com. China's auto sales rank for 510 types in 2015[EB/OL].[2017-01-11]. http://auto.gasgoo.com/News/2017/01/11065942594270004826C206.shtml.)
[16] VON GIOI R G, JAKUBOWICZ J, MOREl J-M, et al. LSD: a fast line segment detector with a false detection control[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 32(4): 722-732. DOI:10.1109/TPAMI.2008.300
[17] 陈付幸, 王润生. 一种新的消失点检测算法[J]. 电子与信息学报, 2006, 28(8): 1458-1462. (CHEN F X, WANG R S. A new vanishing point detecting algorithm[J]. Journal of Electronics & Information Technology, 2006, 28(8): 1458-1462.)
[18] 焦波, 李国辉, 涂丹, 等. 一种用于运动目标检测的快速收敛混合高斯模型[J]. 中国图象图形学报, 2008, 13(11): 2139-2143. (JIAO B, LI G H, TU D, et al. A fast convergent Gaussian mixture model for moving object detection[J]. Journal of Image and Graphics, 2008, 13(11): 2139-2143. DOI:10.11834/jig.20081113)