毕业设计网
JSP,JAVA | python | nodejs | android,安卓 | PHP | 微信小程序 |

c++基于视频的车辆检测算法

基于视频的车辆检测算法可分为如下几类:光流法检测,帧差法,背景消减法,边缘检测法,运动矢量检测法。下面按照上述分类分别加以介绍

1.光流法检测
光流的概念是Gibson于1950年提出的。所谓光流是指图像中模式运动的速度,光流场是一种二维(2D)瞬时速度场,其中二维速度向量是可见的三维速度向量在成像平面上的投影。光流法是把检测区域的图像变为速度的矢量场,每一个向量表示了景物中一个点在图像中位置的瞬时变化。因此,光流场携带了有关物体运动和景物三维结构的丰富信息,通过对速度场(光流场)的分析可以判断在检测区域内车辆的有无。
大多数的光流计算方法相当复杂,且抗噪性能差,如果没有特别的硬件装置,其处理速度相当
慢,达不到实时处理的要求,在工程应用上,不被应用于全屏视频流的实时处理。

2. 帧差法是将前后两帧图像对应像素点的灰度值相减,如果灰度差值很小,可以认为该点无车经过;反之灰度变化很大,则认为有车经过。帧差法的特点是实现简单、运算速度快,对于动态环境自适应性是很强的,对光线的变化不是十分的敏感。采用这种方法时,需要考虑如何选择合适的时间间隔进行差分,这一般依赖于所监视的车辆的运动速度。对快速运动的车辆,需要选择较小的时间差,如果时间间隔过大,最坏情况下车辆在前后两帧中没有重迭,造成被检测物体为两个分开的车辆;而对慢速运动的物体,应该选择较大的时间差,如果时间间隔过小,最坏情况下,车辆在前后两帧中几乎完全重迭,根本检测不到车辆。
帧差法是以背景固定不变为前提的,如果背景变动,这种方法就失效了。针对这种情况,有人提出了将相邻两帧的邻域比较与帧差法相结合,先对由摄像机运动引起的背景移动进行补偿,然后再进行差分运算,克服了传统帧差法中背景去除不干净的现象。


3.背景消减法背景消减法是目前基于视频检测算法中最常用的一种方法。背景消减法可以看作一种特殊的帧差法。它是一种利用当前帧图像与背景图像对应象素点的灰度差值来检测车辆的技术:如果当前图像的象素点和背景图像的象素点灰度值差别很大,就认为此象素点有车通过;相反,如果当前图像的象素点和背景图像的象素点灰度值差别较小,在一定的阈值范围内,我们就认为此象素点为背景象素点。背景消减法的关键是背景提取与背景更新。然而它对于动态场景的变化,例如光照的变化和阴影的干扰等特别敏感。因此,选取一个可靠的背景模型进行背景的提取与动态更新以适应环境的变化是必要的。背景消减法根据其背景模型的不同又可分为:直方图法、平均值法、单分布高斯背景模型、混合高斯分布背景模型、Kalman滤波器法, HMM模型法。

4. 边缘检测法
边缘检测方法是在不同的光线条件下利用车体的不同部件、颜色等提供的边缘信息有效的提取车辆的边缘,从而进行静止和运动车辆的检测。相对于背景消减法,由于车辆的表面、形状及颜色不同,边缘检测法所能提供的信息相当显著。即便车辆与路面的颜色相同,因为车辆要比地面反射更多的光线所以车辆仍能被检测出来。运动车辆的边缘可通过计算图像在空间和时间上的灰度的变化率和变化方向获取。空间上的边缘检测算法可用基于方向导数求卷积的边缘检测算子比如Sobel、Roberts、Robinson、Krisch、Prewitt、高斯拉氏算子(LOG)等进行边缘提取,这些算子在算法复杂度以及效果上有很大的差别,应根据实际情况选用适合的算子;而时间上的边缘检测算法是通过计算连续帧之间对应象素点的差获得。但是上述边缘检测算子本质上是高通滤波器,它们在增强边缘的同时也同样扩大了引起边缘劣化的高频噪声。为了克服高频噪声的影响,在传统的边缘检测算法的基础上,先对图像进行平滑滤波减弱噪声影响,再进行边缘提取。Marr和Hildreth提出了先用高斯函数对图像进行平滑滤波,然后采用Laplace算子进行边缘增强的方法,其边缘检测效果有了很大提高。基于滤波的图像边缘提取方法由于抗噪能力和准确率都有较大提高,已成为边缘检测的重要发展方向。

5运动矢量检测法

运动矢量检测法是对前后连续两帧图像进行模块跟踪匹配,用当前图像的某一宏块在下一帧范围内搜索最优匹配,计算出两帧间各个宏块的平均运动矢量,根据运动矢量的大小进而判别有无车辆。

以上是一部分介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:242219979咨询

上一篇:php竞赛作品展示网站
下一篇:php工资和管理信息系统的开发与设计


版权所有 毕业设计网联系qq:242219979 © 2007-2022