本发明涉及图像处理技术领域,特别是涉及一种基于图像处理的交通拥堵判断方法。
背景技术:
目前,交通拥堵的判断方法主要有指标法、传感器检测法、基于视频图像处理法等。现阶段,高速公路上已经实现全路段视频监控,相对于传统的传感器检测,视频检测具有便于维护、实时检测的优点。根据目前的科学技术发展趋势,基于视频图像进行交通判断逐渐成为了主流。
现有的基于视频图像的检测方法,大部分需要对每一帧进行大量的处理操作,运算量庞大,实时性差。如通过统计车辆量度的方法进行拥堵检测,需要对感兴趣区域进行反复处理,提取车辆目标以统计车辆数,当车辆数达到一定阈值时判断拥堵的发生,该方法在车辆有遮挡情况时无法统计准确的车辆数,有一定的局限性。又如通过利用宏观交通参数来进行拥堵检测,需要通过背景差分法和帧差法分析图像纹理的变化情况,从而得出道路空间占有率和时间占有率以判断道路拥堵的情况,该方法在统计交通参数时误差较大,难以准确判断拥堵发生。
技术实现要素:
本发明的目的是为解决上述现有技术的不足之处而提供一种基于图像处理的交通拥堵判断方法。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于图像处理的交通拥堵判断方法,包括:
实时提取拍摄的交通运行图像,并对图像进行预处理;
计算预处理后的交通运行图像的灰度共生矩阵,根据灰度共生矩阵计算特征值,根据计算得到的特征值,进一步计算判断值s;其中,所述特征值包括能量、熵、对比度;
根据每一交通运行图像的判断值s,通过与预设判断值阈值进行比较,以对对应交通运行图像的拥堵情况进行判断;
对于判断值阈值无法进行拥堵情况判断的交通运行图像,构建深度学习模型,进行精确交通拥堵判断。
其中,在对图像进行预处理的步骤中,包括步骤:
对交通运行图像进行灰度转化并计算其最大灰度级;
遍历每一交通运行图像的图片矩阵中的灰度值,并将其缩小至16以内。
其中,在计算预处理后的交通运行图像的灰度共生矩阵时,针对交通运行图像的灰度图矩阵中的每一像素点,计算与该像素点的角度呈0°、45°、90°和135°的像素点得到的灰度共生矩阵。
其中,特征值包括能量、熵、对比度;
其中,能量asm用于反映图像灰度分布均匀程度和纹理粗细程度,计算公式为:
其中,p(i,j)表示灰度共生矩阵第i行、第j列的值;
熵ent表现图像的复杂程度,计算公式为:
对比度con反映图像的清晰度和纹理结构深浅,计算公式为:
其中,在根据计算得到的特征值,进一步计算判断值s的步骤中,包括步骤:
对数量级较小的asm值进行取对数操作:
a′0.45,90,135=-lna0,45,90,135
对所有的asm、ent、con进行加权平均得到s:
s=(a′0+a′45+a′90+a′135)/4+(e0+e45+e90+e135)/4+(c0+c45+c90+c135)/4。
其中,在通过与预设判断值阈值进行比较,以对对应交通运行图像的拥堵情况进行判断的步骤中,包括步骤:
获取交通运行图像样本,将交通运行图像样本区分为交通拥堵类图像和非交通拥堵类图像;
计算交通拥堵类图像和非交通拥堵类图像中每一图像的判断值s,并确定交通拥堵类图像中的判断值s最大值jam_max以及最小值jam_min,以及确定非交通拥堵类图像中的判断值s最大值nojam_max以及nojam_min;
当实时获取的交通运行图像的判断值s大于nojam_max时,判断该图像为交通拥堵,当实时获取的交通运行图像的判断值s小于jam_min时,判断该图像为道路通畅;
对于实时获取的交通运行图像的判断值s小于nojam_max且大于jam_min时,构建深度学习模型,进行精确交通拥堵判断。
其中,构建深度学习模型的步骤包括:
设计深度学习模型结构;其中,深度学习模型结构为3层cnn网络结构,含有三个卷积层;
设计每个卷积层中的通道数、卷积核尺寸、激活函数、池化方法;其中,3层cnn网络结构的layer1中的卷积层通道数为16,卷积核大小为5x5,激活函数为leakrelu,池化层采用最大池化原则,池化大小为2x2;layer2中的卷积层通道数为32,卷积核大小为5x5,激活函数为leakrelu,池化层采用最大池化原则,池化大小为2x2;layer3中的卷积层通道数为64,卷积核大小为3x3,激活函数为leakrelu,池化层采用最大池化原则,池化大小为2x2;
选择输出层的全连接单元、激活函数;其中,在输出时,使用flatten层将多维输入一维化,用于layer3到输出的过渡,使用dense层进行全连接,激活函数为relu,使用dropout层进行随机弃权,提高了模型的泛化性,减轻过拟合效果,最后由sigmoid激活函数得到最终的输出。
区别于现有技术,本发明的基于图像处理的交通拥堵判断方法,将图像纹理特征与深度学习相结合,以判断图片中的场景是否发生交通拥堵,其中,通过灰度共生矩阵glcm(gray-levelco-occurrencematrix)获得图像纹理特征,并通过图像纹理特征进行交通拥堵的初步判断;通过设计卷积神经网络模型进行精确的交通拥堵判断。通过本发明,能够减小统计交通参数时的误差,存在车辆遮挡时也能准确判断拥堵发生;且运算量较小,具有较好的实时性。
附图说明
图1是本发明提供的一种基于图像处理的交通拥堵判断方法的流程示意图。
图2是本发明提供的一种基于图像处理的交通拥堵判断方法的逻辑示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
其次,本发明利用示意图进行详细描述,在详述本发明实施例时,为便于说明,示意图只是实例,其在此不应限制本发明保护的范围。
如图1所示,图1为本发明提供的一种基于图像处理的交通拥堵判断方法的流程示意图,包括:实时提取拍摄的交通运行图像,并对图像进行预处理;
计算预处理后的交通运行图像的灰度共生矩阵,根据灰度共生矩阵计算特征值,根据计算得到的特征值,进一步计算判断值s;其中,所述特征值包括能量、熵、对比度;
根据每一交通运行图像的判断值s,通过与预设判断值阈值进行比较,以对对应交通运行图像的拥堵情况进行判断;
对于判断值阈值无法进行拥堵情况判断的交通运行图像,构建深度学习模型,进行精确交通拥堵判断。
其中,在对图像进行预处理的步骤中,包括步骤:
对交通运行图像进行灰度转化并计算其最大灰度级;
遍历每一交通运行图像的图片矩阵中的灰度值,并将其缩小至16以内。
其中,在计算预处理后的交通运行图像的灰度共生矩阵时,针对交通运行图像的灰度图矩阵中的每一像素点,计算与该像素点的角度呈0°、45°、90°和135°的像素点的相关性得到的灰度共生矩阵。
其中,特征值包括能量、熵、对比度;
其中,能量asm用于反映图像灰度分布均匀程度和纹理粗细程度,计算公式为:
其中,p(i,j)表示灰度共生矩阵第i行、第j列的值;
熵ent表现图像的复杂程度,计算公式为:
对比度con反映图像的清晰度和纹理结构深浅,计算公式为:
其中,在根据计算得到的特征值,进一步计算判断值s的步骤中,包括步骤:
对数量级较小的asm值进行取对数操作:
a′0.45,90,135=-lna0,45.90,135
对所有的asm、ent、con进行加权平均得到s:
s=(a′0+a′45+a′90+a′135)/4+(e0+e45+e90+e135)/4+(c0+c45+c90+c135)/4。
其中,在通过与预设判断值阈值进行比较,以对对应交通运行图像的拥堵情况进行判断的步骤中,包括步骤:
获取交通运行图像样本,将交通运行图像样本区分为交通拥堵类图像和非交通拥堵类图像;
计算交通拥堵类图像和非交通拥堵类图像中每一图像的判断值s,并确定交通拥堵类图像中的判断值s最大值jam_max以及最小值jam_min,以及确定非交通拥堵类图像中的判断值s最大值nojam_max以及nojam_min;
当实时获取的交通运行图像的判断值s大于nojam_max时,判断该图像为交通拥堵,当实时获取的交通运行图像的判断值s小于jam_min时,判断该图像为道路通畅;
对于实时获取的交通运行图像的判断值s小于nojam_max且大于jam_min时,构建深度学习模型,进行精确交通拥堵判断。
其中,构建深度学习模型的步骤包括:
设计深度学习模型结构;其中,深度学习模型结构为3层cnn网络结构,含有三个卷积层;
设计每个卷积层中的通道数、卷积核尺寸、激活函数、池化方法;其中,3层cnn网络结构的layer1中的卷积层通道数为16,卷积核大小为5x5,激活函数为leakrelu,池化层采用最大池化原则,池化大小为2x2;layer2中的卷积层通道数为32,卷积核大小为5x5,激活函数为leakrelu,池化层采用最大池化原则,池化大小为2x2;layer3中的卷积层通道数为64,卷积核大小为3x3,激活函数为leakrelu,池化层采用最大池化原则,池化大小为2x2;
选择输出层的全连接单元、激活函数;其中,在输出时,使用flatten层将多维输入一维化,用于layer3到输出的过渡,使用dense层进行全连接,激活函数为relu,使用dropout层进行随机弃权,提高了模型的泛化性,减轻过拟合效果,最后由sigmoid激活函数得到最终的输出。
对于cnn模型的训练,训练的目的是训练cnn模型中的参数,即各层中的参数,使得训练后的模型能对图片进行分类。在训练时需要训练集图片,训练集的图片分类两类,拥堵类图片与非拥堵类图片,训练集中的图片是人为分类好的。对于深度学习中的卷积神经网络(cnn)模型来说,模型的输入就是图片。而cnn模型所具备的功能是图片的分类,通过一系列的卷积、池化、全连接操作后,cnn模型就能输出图片的类别,本专利中为输出图片是否为拥堵类图片。
对于前面无法使用纹理特征进行图片分类的图片,把这些无法使用纹理特征分类的图片交给cnn模型,就可以对这些图片是否为拥堵类图片进行分类了。
构建一个能分类图片的cnn模型的过程如下:
构建cnn模型的结构;使用训练集图片(人工分类好的)进行训练,训练时,将训练集图片输入cnn模型,并得到分类结果,将模型分类结果与正确结果(这里的正确结果为人工做的分类)做对比,修正模型结构中的参数,重复训练步骤多次;完成训练,得到训练后的模型;将需要分类的图片输入cnn模型,得到分类结果,这个结果就是图片是拥堵类图片,还是非拥堵类图片。
如上所述,实际上训练的是模型中的参数,训练时得到的cnn模型的分类结果只在训练中起到修正模型参数的作用。对于训练完成的模型,是可以分类非训练集的图片的。
本专利对186张图片进行了图像纹理特征的处理,得到的结果为:拥堵时,特征值s的最大值为23.905253,最小值为7.059075;非拥堵时,s的最大值为13.279697,最小值为5.137156,并由此界定当s小于7时,判断为非拥堵状态,当s大于13.2时,判定为拥堵状态,当s小于13.2且大于7时,使用如上所述的卷积神经网络模型进行判断。
最终,对100张含有拥堵与非拥堵的图片进行了测试,分类的准确结果达到了98%。
区别于现有技术,本发明的基于图像处理的交通拥堵判断方法,将图像纹理特征与深度学习相结合,以判断图片中的场景是否发生交通拥堵,其中,通过灰度共生矩阵glcm(gray-levelco-occurrencematrix)获得图像纹理特征,并通过图像纹理特征进行交通拥堵的初步判断;通过设计卷积神经网络模型进行精确的交通拥堵判断。通过本发明,能够减小统计交通参数时的误差,存在车辆遮挡时也能准确判断拥堵发生;且运算量较小,具有较好的实时性。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。