视频分析在交通控制中的应用 - 图文

更新时间:2024-03-28 18:44:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

承 诺 书

我们仔细阅读了《第四届文鼎创杯华中地区大学生数学建模邀请赛的选手须知》。 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。

我们的竞赛编号为: 11784001

队员3:

队员2:

队员1:

我们的选择题号为: B 参赛队员(打印并签名):

(以下内容参赛队伍不需要填写)

评阅编号:

武汉工业与应用数学学会

第四届文鼎创杯华中地区大学生数学建模邀请赛竞赛组委会

题目: 视频分析在交通控制中的应用

摘要

传统的视频监控由人工进行视频监测发现安全隐患或异常状态,或者用于事后分析,这种应用具有其固有的缺点,难以实现实时的安全监控和检测管理。本文通过对提取视频模型的建立,计算车辆的模型来进行计算机监控来解决人工对视频监控的缺点。对问题进行分析,主要分为如下步骤:

对于问题一,主要是要建立怎么提取视频的数学模型,我们通过分析对场景中的每个像素点建立高斯模型:

P?Xt?=12??e??x???22?2,x?I?x0,y0,i?,

对新来的帧进行高斯模型的拟合来提取背景图像。我们为了提高视频的清晰度和正确性,在高斯模型的基础上还建立了混合高斯模型:

??xt,?,??=1?2??n2|?|12e?1?xt??t2?T??1?xt??t?,

我们通过单高斯背景建模算法和混合高斯模型的k-mean聚类算法以及利用matlab程序对视频图像进行处理分析,得出清晰的图像。

对于问题二,根据对视频的观察(1)一段时间车流的密度不大,车辆之间相互影响很小,其它外界干扰因素几乎不存在,即车流是随机的;(2)另一段时间车辆比较拥挤,自由行驶不多。这样我们根据(1)想到了泊松分布,我们

根据泊松分布的公式建立泊松模型:

??t????n?kP?x???m?x!xe?m;根

据(2)我们想到了二项分布,所以我们根据二项分布公式建立二项分布模型:

Pk?Ckn?t??1???n??n?k,然后我们根据上述的模型建立模型三

Z=(车流量的模型):

m?n*pt1*2t从而我们通过题目提供的视频进行计算,得出该视

频的车流量是3辆/秒。

关键词:高斯模型、混合高斯模型、泊松分布、二项分布、k-mean聚类算法

1

一、问题重述

1.1基本情况

传统的视频监控由人工进行视频监测发现安全隐患或异常状态,或者用于事后分析,这种应用具有其固有的缺点,难以实现实时的安全监控和检测管理。视频分析是指将先进的信息技术、数据通讯传输技术、电子控制技术、计算机处理技术等应用于工业生产,从而提高生产效率。在交通管理中,带有智能分析功能的监控系统可以通过区分监控对象的外形、动作等特征,做到主动收集、分析数据,并根据预设条件执行报警、记录、分析等动作。对于视频分析而言,其关键技术是建立合理的数学模型。

视频附件土豆网:http://www.tudou.com/programs/view/ccBV09YSw1E/ 1.2需要解决的问题

问题一:根据提供的视频,建立提取附录提供的视频图像的数学模型。 问题二:结合已提取的背景,建立计算车流量数学模型。

二、问题分析

对于问题一,主要是建立提取视频图像的模型,我们想到了高斯模型,所以我们对场景中的每个像素点建立高斯模型,对新来的帧进行高斯模型的拟合来提取背景图像。从而建立模型:

P?Xt?=12??e??x???22?2,x?I?x0,y0,i?

但是我们又想到高斯模型的单一性,对视频图像的提取误差会大一点,那么我们就还建立了混合高斯模型:

??xt,?,??=1?2??n2|?|12e?1?xt??t?T??1?xt??t?2,然后我们

考虑到解法,运用了k-mean聚类算法,从而得出视频图像。

对于问题二,我们刚开始想到泊松分布,但是后来再次仔细看了视频,发现有些时间不符合泊松分布而是符合二项分布,那么我们就建立泊松模型和二项分布模型,然后综合两个模型建立车流量模型:

Z=m?n*pt1*2t通过题目提

供的视频进行计算,得出该视频的车流量是3辆/秒。

2

三、符号说明

符号 ? ? t 表示 均值 方差 每个计数间隔持续的时间 视频时间 第i帧 一个图像序列 高斯模型 第i个高斯模型的数学期望 相应高斯函数的权重系数 第i个高斯模型的协方差矩阵 i,tt1 i I ? ?i,t ?i,t ? 混合高斯所包括高斯函数的个数 权重分布 在技数间隔t内到达x辆车的概率 在计数间隔t内到达的k辆车的概率 单位时间的车辆平均到达率(辆/秒) 正整数 车流量 某一个像素点的H、S、V分量 新一帧相应像素点的值 观测数据的分组数 k ? P?x?Pk ? n Z Hm,Sm,Vm Hn,Sn,Vn g m 泊松分布的参数

3

四、模型假设

假设光线等因素对视频图像的背景影响不大。 背景颜色与车的颜色差别不太大。

外界环境的关照变化不大,外界景观和花草数目摆动不大。

五、模型建立

5.1模型一

我们对场景中的每个像素点建立高斯模型,对新来的帧进行高斯模型的拟合来提取背景图像。对每一个像素利用高斯模板建模,每一像素点都认为服从均值?和标准?方差的分布,且每一个点的高斯分布是独立的。假设任意时间t,像素点

?x0,y0?,I表示这一个图像序列,i表示第i帧。我们建立模型为:

P?Xt?=

5.2模型二

12??e??x???22?2,x?I?x0,y0,i?

视频图像序可以表达为三维空间表示图像

I?x,y,t?I?x,y?其中t表示时间序列,

?x,y?位置点。对于一特定点?x0,y0?,其时间序为

?x1,x2,…,xt?=?I?x0,y0,i?|1?i?t?。对任意点的时间序列,

可看作K个高斯模型的叠加逼近如图一,对于当前点的概率可表示为:

p?Xt?=??i,t*?Xt,?i,t,?i,ti=1K??

4

图一

其中?为高斯模型,?i,t表示 第i个高斯模型的数学期望;?i,t表示相应高斯函数的权重系数,?i,t表示第i个高斯模型的协方差矩阵,k为混合高斯所包括高斯函数的个数,

其具体形式为:

??xt,?,??=1?2???k背景成分将

n2|?|12e?1?xt??t?T??1?xt??t?2

2=??k,tkI其中k的取值由实际情况确定,通常k=3,为了提高运算速度,降低计算复杂度,假定协方差矩阵为对角阵,且

。进一步确定混合高斯模型

?k进行排序生成权重分布?。若权重分布的比值系数越大,则

5

?b??=argmin???j?T?b?j=1? 其对应的高斯所占混合高斯分布的比例就越大。

其中T为阀值,当时,其对应的高斯成分为背景,否则当前含有前景部分。

5.3模型三

5.3.1泊松分布模型

P?x??P?x???t?x!xe??tx?0,1,2…

:在技数间隔t内到达x辆车的概率;

?:单位时间的车辆平均到达率(辆/秒); t:每个计数间隔持续的时间(秒)。

若令m=?t为计数间隔t内平均到达的车辆数,则m又称为泊松分布的参

数。公式可以写成:

P?x???m?x!xe?m

m=?xi=1gi=1gifi?f1=N?xi=1gifig:观测数据的分组数

5.3.2二项分布模型

??t???t?Pk?C???1??n??n??knkn?k (k=0,1,2……,n)

Pk:在计数间隔t内到达的k辆车的概率;

?:单位时间的车辆平均到达率(辆/秒); t:每个计数间隔持续的时间(秒)。 n:正整数 我们计

p=?tn,则

kPk=Cn?p??1?p?kn-k (k=0,1,2……,n)

6

5.3.2车流量模型

我们根据上述的两个模型可以得出车流量模型:车流量

Z=m?n*pt1*2t

六、模型求解

6.1模型一和模型二的求解:

H,S,Vm表示当前模板上某一个像素点的H、设mmS、V分量。Hn,Sn,Vn表示新一帧相应像素点的值,ST表示色彩的阀值。

???1?????X2??max?min?1??????x????2?

我们可以得出背景像素的四种见表,如下表: 情环境条件分类 判断条件 况 检 1 Sm?ST&&Sn?ST Vn-Vm|?? 2 SSm?ST&&Sn?ST |Vn-Vm|??&&|Sn?m|??Vm验 3 SSm?ST&&Sn?ST |Vn-Vm|??&&|n?Sm|??Vn 4 Sm?ST&&Sn?ST Vn-Vm|??&&|Sn?cos?Hn?Hm??Sm|??&&|Hn?Hm|?? 表一 我们在对上述算法模型进一步分析在高斯模型求解的基础上我们为了降低混合高斯参数求解的计算方式的复杂性,我们运用了k-means聚类算法实现高斯模型。下图是k-means聚类模型的流程图(图二)

7

图二

我们从如下图一个聚类样本的分布随机提取五个数据

8

图三 那么随机的五个数据如下图

图四

那么我们把这五个随机数据称作一个集合,我们计算数据集合的平均值,把该平均值作为相应的中心点,进行中心点的两次分配:如下图(图五和图六)

9

图五

图六

10

最终我们可以得到聚类的结果如下图:

图七

图八

11

我们编写程序(附录一:程序)我们可以得到视频图像的处理分析如下(图九)

图九

从而得出本文的算法能够满足光线等环境变化得出清晰的画面。

6.2模型三的求解: 6.2.1泊松分布

P?x????t?x!xe??tx?0,1,2…

若令m=?t为计数间隔t内平均到达的车辆数,则m又称为泊松分布的参

数。公式可以写成:

P?x???m?x!xe?m

12

m=?xi=1gi=1gifi?f1=N?xi=1gifig:观测数据的分组数

P?0?=e?m

6.2.2二项分布

??t???t?Pk?C???1??n??n??knkn?k (k=0,1,2……,n)

kn-k若

p=?tn,则

kPk=Cn?p??1?p? (k=0,1,2……,n)

6.2.3车流量

Z=m?n*pt1*2t

根据视频我们可以得出一些数据如下(表二) 时间 1s 5s 10s 15s 20s 车辆数 4 5 2 7 6 表二

根据上面数据计算得:Z=3辆/秒

100s 15 200s 9 300s 10 13

七、模型的及改进

7.1模型的评价:

优点:① 建立的模型有成熟的理论基础,又有相应的软件支持,可信度较高。 ② 给出的算法合理,具有实用性。 ③计算方便简单。

缺点:① 模型虽然综合考虑到很多因素,但为了建立模型,理想化了很多影响

因素,具有一定的局限性,得到的结果可能与实际有一定的出入。 ②单一算法误差会比较大一些。 7.2 模型的改进方向

争取在算法上看看能不能找到更精确的算法,来减少局限的误差;或者用多种算法 进行综合。

八、参考文献

[1]、姜启源 《数学模型(第三版)》 高等教育出版社 2003年第3版 [2]、赵静.但琦 《数学建模与数学实验》.高等教育出版社 2003年第2版 [3]、吴清等 MATLAB7简明教程.清华大学出版社 2006

[4]、陈超 基于视频的车辆检测技术研究 武汉理工大学硕士学士论文2010年

[5]、王芯 基于视频的运动物体检测算法研究 吉林大学硕士学士论文2009年

14

九、附录

9.1附录一(程序)

include #include #include #include #include

int main( int argc, char** argv ) {

IplImage* pFrame = NULL; IplImage* pFrImg = NULL; IplImage* pBkImg = NULL; CvCapture* pCapture = NULL; int nFrmNum = 0;

cvNamedWindow(\ cvNamedWindow(\ cvNamedWindow(\ cvMoveWindow(\

cvMoveWindow(\ cvMoveWindow(\ if( argc > 2 ) {

fprintf(stderr, \ return -1; }

if(argc == 2)

if( !(pCapture = cvCaptureFromFile(argv[1]))) {

fprintf(stderr, \ return -2; }

if (argc == 1)

if( !(pCapture = cvCaptureFromCAM(-1))) {

fprintf(stderr, \ return -2; }

CvGaussBGModel* bg_model=NULL;

while(pFrame = cvQueryFrame( pCapture )) {

15

nFrmNum++; if(nFrmNum == 1) {

pBkImg = cvCreateImage(cvSize(pFrame->width, pFrame->height), IPL_DEPTH_8U,3);

pFrImg = cvCreateImage(cvSize(pFrame->width, pFrame->height), IPL_DEPTH_8U,1);

bg_model = (CvGaussBGModel*)cvCreateGaussianBGModel(pFrame, 0); } else {

cvUpdateBGStatModel(pFrame, (CvBGStatModel *)bg_model );

cvCopy(bg_model->foreground,pFrImg,0); cvCopy(bg_model->background,pBkImg,0);

pBkImg->origin=1; pFrImg->origin=1;

cvShowImage(\

cvShowImage(\ cvShowImage(\ if( cvWaitKey(2) >= 0 ) break; } }

cvReleaseBGStatModel((CvBGStatModel**)&bg_model); cvDestroyWindow(\

cvDestroyWindow(\ cvDestroyWindow(\ cvReleaseImage(&pFrImg); cvReleaseImage(&pBkImg); cvReleaseCapture(&pCapture); return 0; }

16

本文来源:https://www.bwwdw.com/article/alkr.html

Top