一种基于计算机视觉的道路拥堵状态检测方法与流程

文档序号:16518267发布日期:2019-01-05 09:47阅读:353来源:国知局
一种基于计算机视觉的道路拥堵状态检测方法与流程

本发明属于道路交通运行状态检测与控制技术领域,涉及一种集人工智能、卷积神经网络与图像处理一体的检测方法,特别是一种基于计算机视觉的道路拥堵状态检测方法。



背景技术:

近年来,利用光流技术进行动态检测的研究越来越多,同时也取得了较好的成果;光流(opticalflow)是空间运动物体在观测成像面上像素点运动的瞬时速度,利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应运动关系;实际上可以将光流矢量定义为二维图像平面特定坐标点上灰度的瞬时变化率,表示图像灰度模式的表观运动,是一个二维矢量场,光流失量的全体构成光流场,包含各像素点的瞬时运动速度矢量信息;由于像素点运动中隐含了目标运动的信息,因此光流场的分析可被用来确定目标的运动情况。

现有技术的光流计算方法主要分为以下几类:基于梯度的方法、基于区域的匹配法、基于能量的方法和基于相位的方法;其中最经典的方法就是horn-schunck算法和lucas-kanade算法,其他的大多数算法都是建立在这两种算法的基础之上;horn-schunck方法认为图像序列中同一运动物体引起的光流场是连续和平滑的,从而引入了对光流的平滑性约束,将光流求解的病态问题转化为求解凸函数的最小值问题,属于全局方法,是一种稠密光流的计算方法;而lucas-kanade方法则是通过在小的局部区域内运用加权最小二乘法求解光流,属于局部匹配方法,是一种稀疏光流的计算方法;虽然稀疏光流计算速度比稠密光流计算速度快,但稀疏光流只计算感兴趣点周围的光流场,稠密光流法计算每一个像素点的光流值,计算速度随着计算机的发展已经得到提升。

随着社会经济的快速发展,城市机动车数量迅速增加,随之而来的便是城市道路交通的拥堵问题,车辆拥堵问题几乎在每个现代化城市都有不同程度的体现,尽管道路规划管理在不断进步,但是大多数城市仍然承受着巨大的交通车流量带来的拥堵问题;交通拥堵导致自然环境恶化,能源大量浪费,事故频发,而且严重制约了城市继续向现代化建设的发展;所以,能够及时的采集到交通拥堵状态信息,对于合理规划城市资源,及时的进行道路疏通和控制,有着非常关键的作用;现有的道路交通拥堵检测方法主要运用gps的定位采集技术,基于电子标签的定位采集技术、感应线圈检测或微波检测等;但这些传统方法有一定的缺陷,如需要机动车主的授权,或成本高、破坏路面和难以维修等;随着交通监控系统和电子信息技术的迅速发展,利用交通摄像头作为传感器,通过图像处理算法进行分析,可得到车流量,车流速度等交通信息;这种方法安装和维护都比较方便,且可以提供大量的交通管理信息。

近年来在智能交通管理领域,计算机视觉的应用更加普遍;计算机视觉融合了机器学习、图像处理和模式识别等多种学科,使得智能交通离我们的生活越来越近。随着深度学习的不断发展,卷积神经网络的发展成为图像识别方面最突出的进步,卷积神经网络使用图像作为输入,通过卷积层与采样层的交替堆叠对原始图像进行特征提取,得到图像的一般化抽象表示,再通过分类器进行分类得到输出结果;机器学习过程中完全自动、无需人工干预的特点是其具有应用潜力的最大优势,近年来通过海量样本集训练得到的深度卷积神经网络模型已经在速度、识别准确率等性能上达到了前所未有的高度。

在现有技术中,与传统机器学习算法相比,卷积神经网络训练需要花费大量时间,且容易过拟合;所以为了加快训练过程,防止过拟合情况的发生,使用迁移学习的方法进行训练,能在保证精度的基础上有效的解决该问题;针对图像识别任务,即使不同图像内容差异巨大,但在卷积神经网络的低层表示中都由边缘、纹理和颜色等细节构成,对于这类任务,模型的特征抽象能力是可以共用的;卷积神经网络的迁移学习主要涉及参数迁移,即认为可将源模型所具有的特征提取能力作为先验知识迁移至目标域,使新模型快速获得低层过滤能力,再通过高层的自适应训练调整,进一步完善对图像具体语义的概括能力,从而完成新的识别任务。

在现有技术中,公开号为cn101807345b的中国发明专利,公开了一种基于视频检测技术的交通拥堵判别方法,利用数字图像处理技术通过对交通视频图像建立背景模型、对背景模型提取前景和前景去噪、计算道路占有率、建立交通拥堵判别模型四个步骤完成交通拥堵状态的判别。但是建立背景模型的方法很难试用于各种复杂的道路场景,当背景模型建立的有偏差时,相对的交通拥堵情况也就不能很好的反应;公开号为cn103150900b的中国发明专利,公开了一种基于视频的交通拥堵事件自动检测方法,该方法基于视频检测设备,获取检测点的实时交通参数信息并传输给后台服务器进行存储,再利用自动检测处理设备提取历史数据进行聚类分析,然后自动判定当前的交通拥堵事件。然而聚类算法的重心难以选定,有时异常点出现时也会导致聚类算法的准确度下降,拥堵情况检测也就会出现偏差。鉴于此,提出一种基于深度学习和光流计算方法的道路拥堵状态检测方法。



技术实现要素:

本发明的发明目的在于克服现有技术的缺点,拟解决城市交通拥堵问题,使有关部门能够及时的采集交通拥堵信息,设计一种实时性好,准确性高,且成本低的基于计算机视觉的道路拥堵状态检测方法。

为了实现上述目的,本发明涉及的基于计算机视觉的道路拥堵状态检测方法,具体工艺在装有配套软件的计算机系统中实现,主要包括以下步骤:

步骤1:截取交通监控图像:利用现有的道路交通监控系统,从城市交通道路监控视频中每5秒截取一张交通监控图像,将采集大量图像处理后作为数据集;并将数据集标记为三类:车辆较少、车辆较多和车辆密集,作为神经网络训练的训练集;

步骤2:构建卷积神经网络:针对三类车辆密度状态的数据集,采用迁移模型训练方法构建一个卷积神经网络,实现对三类交通车辆密度状态的准确识别,形成训练成熟的卷积神经网络;

步骤3:判断车辆密度状态:将实时的交通监控视频,每隔5秒截取一帧图像送入所述步骤2中训练成熟的卷积神经网络,获得当前交通车辆密集程度,卷积神经网络对传入的图像进行分类,判断其状态为车辆稀少,车辆较多还是车辆密集;如果判断结果为车辆稀少,则交通为非拥堵状态,系统正常运行,否则进入步骤4;

步骤4:计算光流值并判断车辆速度:在车辆较多和车辆密集的情况下,使用horn-schunck光流算法,计算所述步骤3中交通视频截取图像序列中像素点在当前帧与后一帧之间形成的运动速度矢量,判断当前交通真实的车流速度情况;或当卷积神经网络判断当前交通情况为车辆较多和车辆密集时,使用光流算法计算一次截取的视频图像序列中当前帧与后一帧之间的光流场,从而判断交通拥堵状态;而当判断结果为车辆稀少时,则默认此时交通是不拥堵状态;从而获得交通的拥堵情况,实现对道路拥堵状态的检测。

本发明所述神经网络训练的训练集具体实现步骤为:

(1)在城市道路的不同路况的交通监控视频中进行截取,获得大量rgb格式图像,再统一调整为224*224*3的尺寸;

(2)计算出数据集中所有图像rgb三个通道的均值,再对输入数据进行0均值标准化处理;

(3)根据图像中车辆密度分三类进行标记,标记类别为:车辆稀少、车辆较多和车辆密集,作为训练好的神经网络训练集。

本发明所述步骤2的迁移模型训练方法,以使用imagenet数据集训练出的vgg16模型作为基础,将全连接层以上的卷积层和池化层保留参数进行迁移;然后使用训练好的神经网络训练集作为输入,获取在imagenet上已训练成熟的vgg16网络中的卷积部分输出,从而利用这个输出预训练一个全连接网络;将迁移过来的卷积层与预训练好的全连接层进行对接,开始模型训练,在训练过程中冻结vgg16迁移过来的卷积层的参数,只对全连接层参数进行微调;所述的迁移模型共包含1个输入层,13个卷积层、5个最大池化层,2个全连接层和一个输出层;卷积层之前为输入层;第1-2层卷积层中卷积滤波器个数为64,大小为3×3;第3-4层卷积层中的卷积滤波器个数为128,大小为3×3;第5-7层卷积层中的卷积滤波器个数为256,大小为3×3;第8-13层卷积层中的卷积滤波器个数为512,大小为3×3;第14-15层为全连接层,对应的节点个数分别为:256、128;最后输出层为softmax分类器,节点个数为3,即我们所需要的交通密度分类数;最大池化层位于第2、第4、第7、第13层之后,池化区域大小为2×2;卷积和池化步长都为1。

本发明所述的步骤4中所述光流算法基于以下两个图像假设:(1)任何物体点所观察到的灰度对时间恒定不变;(2)图像平面内的临近点移动方式相同;交通监控视频图像符合这两条条件;设在t时刻像素点(x,y)处的灰度值为i(x,y,t);在t+△t时刻,该像素点更新到位置(x+△x,y+△y),灰度值为i(x+δx,y+δy,t+δt);根据上面两个图像假设可知:

i(x,y,t)=i(x+δx,y+δy,t+δt)

用泰勒公式展开得到:

设u和v分别表示该点的光流矢量沿x和y方向的分量,且:

忽略高次项得到:

即:ixu+iyv+it=0为光流场的基本方程,其中ix、iy、it分别为像素点的灰度值沿x,y,t三个方向的偏导数,故此式子写成矢量的形式:

其中表示梯度方向,u=(u,v)t表示光流;由于光流有两个变量,而只有光流场基本方程一个约束条件,所以光流无法唯一确定,则使用horn-schunck光流算法提出的全局平滑性假设来求解;其中,horn-schunck光流算法是一种用光流的全局平滑性假设来求解光流的方法;该算法具有容易实现、计算复杂度较低、能够得到精确的顺势位置速度等优点;全局平滑性约束因子定义为:

光流基本方程约束是指光流场偏离基本方程的误差最小,光流约束因子定义为:

定义目标函数:

e=∫∫(ec+λes)dxdy

其中λ(λ≥0)是平滑度的约束参数,λ越大对其平滑约束的效果也越大;根据上述理论求解出的光流场应使上述目标函数式达到最小值,即全局平滑约束因子es和光流约束因子ec都达到最小值,或极小化;分别对e求u,v的偏微分得:

当上式的偏微分等于0时,得下式的最小函数值,得到:

联立两式求得u,v即:

其中n代表迭代次数,光流初始值u(0),v(0)为0;

根据所得的该像素点沿x轴和y轴的速度矢量u、v,求模:

x表示像素点的位移值;根据监控视频图像中实际距离与像素距离的比值xi,计算像素移动的实际距离xt:

xt=xi·x

监控视频的帧率为f,则帧间时间差t为:

得到像素点的实际速度v为:

监控视频图像所有像素点个数为n,则求得所有像素的平均速度:

根据的速度大小,则判断此时交通的拥堵情况,当小于10km/h时,判断交通状态为拥堵;当大于10km/h时,判断交通状态为非拥堵,实现基于计算机视觉的道路拥堵状态的检测。

本发明与现有技术相比,所述的基于计算机视觉的道路拥堵状态检测方法通过交通监视视频能够自动判断交通拥堵情况,成本低且效果好;基于迁移学习的方法构造卷积神经网络,保留大型数据集训练出来的特征提取层,并使用小型数据集预训练一个全连接层,最后对接两部分进行微调,训练速度快,所需数据集规模小,且不容易过拟合,识别图像准确率达98%以上,在卷积神经网络判断车辆较多或车辆密集时才使用光流计算判断速度信息,节省了不必要的资源消耗;而且,使用horn-schunck算法计算监控视频像素点的平均速度,获得速度信息准确,能有效的判断实时的交通状态;其设计原理科学合理,信息采集准确,分辨率高,计算数据的方法简单,判断准确率高,效果好,应用方便,监控效果好。

附图说明:

图1为本发明涉及的城市交通中道路拥堵状态检测工艺流程示意框图。

图2为本发明涉及的vgg16迁移模型结构原理示意框图。

具体实施方式:

下面通过实施例并结合附图对本发明作进一步说明。

实施例1:

本实施例涉及一种具体的基于计算机视觉的道路拥堵状态检测过程,具体包括以下步骤:

步骤1:截取交通监控图像:利用现有的道路交通监控系统,先在城市不同路况的交通监控视频中进行截取,每5秒截取一张交通监控图像,获得大量rgb格式图像,统一调整为224*224*3的尺寸,并计算出所有图像rgb三个通道的均值,对输入数据进行0均值标准化处理作为数据集;并将数据集标记为三类:车辆较少、车辆较多和车辆密集,作为神经网络训练的训练集;

步骤2:构建卷积神经网络:针对三类车辆密度状态,使用迁移模型训练方法构建一个卷积神经网络,使其具有对三类车辆密度状态准确识别的能力,形成训练成熟的卷积神经网络;

具体的,迁移模型训练方法采用imagenet数据集训练出的vgg16模型作为基础,将全连接层以上的卷积层和池化层保留参数进行迁移;然后使用训练成熟的神经网络训练集作为输入,获取在imagenet上已训练好的vgg16网络中的卷积部分输出,从而利用这个输出预训练一个全连接网络;将迁移过来的卷积层与预训练好的全连接层进行对接,开始模型训练,在训练过程中冻结vgg16迁移过来的卷积层的参数,只对全连接层参数进行微调;其中,迁移模型结构如图2所示,共包含1个输入层,13个卷积层、5个最大池化层,2个全连接层及一个输出层;卷积层之前为输入层;第1-2层卷积层中卷积滤波器(大小为3×3)个数为64;第3-4层卷积层中的卷积滤波器(大小为3×3)个数为128;第5-7层卷积层中的卷积滤波器(大小为3×3)个数为256;第8-13层卷积层中的卷积滤波器(大小为3×3)个数为512;第14-15层为全连接层,对应的节点个数分别为:256、128;最后输出层为softmax分类器,节点个数为3,即我们所需要的交通密度分类数;最大池化层位于第2、第4、第7、第13层之后,池化区域大小为2×2;卷积和池化步长都为1。

步骤3:判断车辆密度状态:将实时的交通监控视频,每隔5秒截取一帧图像送入所述步骤2中训练成熟的卷积神经网络,获得当前交通车辆密集程度,卷积神经网络对传入的图像进行分类,判断其状态为车辆稀少,车辆较多还是车辆密集;如果判断结果为车辆稀少,则交通为非拥堵状态,系统正常运行,否则进入步骤4;

步骤4:计算光流值并判断车辆速度:在车辆较多和车辆密集的情况下,使用horn-schunck光流算法,计算步骤3中交通视频截取图像序列中像素点在当前帧与后一帧之间形成的运动速度矢量,判断当前交通真实的车流速度情况;或当卷积神经网络判断当前交通情况为车辆较多和车辆密集时,使用光流算法计算一次截取的视频图像序列中当前帧与后一帧之间的光流场,从而判断交通拥堵状态;而当判断结果为车辆稀少时,则默认此时交通是不拥堵状态;从而获得交通的拥堵情况,实现对道路拥堵状态的检测。

本实施例涉及的光流算法基于以下两个图像假设:(1)任何物体点所观察到的灰度对时间恒定不变,(2)图像平面内的临近点移动方式相同;交通监控视频图像符合这两条条件;设在t时刻像素点(x,y)处的灰度值为i(x,y,t);在t+△t时刻,该像素点更新到位置(x+△x,y+△y),灰度值为i(x+δx,y+δy,t+δt);根据上面两个图像假设可知:

i(x,y,t)=i(x+δx,y+δy,t+δt)

用泰勒公式展开得到:

设u和v分别表示该点的光流矢量沿x和y方向的分量,且:

忽略高次项得到:

即:ixu+iyv+it=0为光流场的基本方程,其中ix、iy、it分别为像素点的灰度值沿x,y,t三个方向的偏导数,故此式子写成矢量的形式:

其中表示梯度方向,u=(u,v)t表示光流;由于光流有两个变量,而只有光流场基本方程一个约束条件,所以光流无法唯一确定,则使用horn-schunck光流算法提出的全局平滑性假设来求解;其中,horn-schunck光流算法是一种用光流的全局平滑性假设来求解光流的方法;该算法具有容易实现、计算复杂度较低、能够得到精确的顺势位置速度等优点;全局平滑性约束因子定义为:

光流基本方程约束是指光流场偏离基本方程的误差最小,光流约束因子定义为:

定义目标函数:

e=∫∫(ec+λes)dxdy

其中λ(λ≥0)是平滑度的约束参数,λ越大对其平滑约束的效果也越大;根据上述理论求解出的光流场应使上述目标函数式达到最小值,即全局平滑约束因子es和光流约束因子ec都达到最小值,或极小化;分别对e求u,v的偏微分得:

当上式的偏微分等于0时,得下式的最小函数值,得到:

联立两式求得u,v即:

其中n代表迭代次数,光流初始值u(0),v(0)为0;

根据所得的该像素点沿x轴和y轴的速度矢量u、v,求模:

x表示像素点的位移值;根据监控视频图像中实际距离与像素距离的比值xi,计算像素移动的实际距离xt:

xt=xi·x

监控视频的帧率为f,则帧间时间差t为:

得到像素点的实际速度v为:

监控视频图像所有像素点个数为n,则求得所有像素的平均速度:

根据的速度大小,则判断此时交通的拥堵情况,当小于10km/h时,判断交通状态为拥堵;当大于10km/h时,判断交通状态为非拥堵,实现基于计算机视觉的道路拥堵状态的检测。

本实施例涉及的基于计算机视觉的道路拥堵状态检测方法,在青岛市麦岛路与高雄路叉口处、香港东路和香港中路等拥堵路口实验,通过摄像设备采集交通状况,分析所得交通状态结果准确,通讯及时,交通部门能够及时的获取交通拥堵信息,行人也能够实时查看接收该路段的交通状态,从而合理安排自己的出行,给人们的生活带来了极大的方便;同时交警部门依据检测的连续数据对被检测处的交通信号控制时序和摄像设备位置进行调整,实现了对道路交叉路口处的道路运行调控,其平时通行率提高10-15%,上下班时通行率提高5-8%。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1