(已结束)2010-12-11-工控擂台-视频图像移动侦测功能软件编程实现? 点击:1588 | 回复:6



任我刹

    
  • 精华:4帖
  • 求助:0帖
  • 帖子:330帖 | 6019回
  • 年度积分:0
  • 历史总积分:23673
  • 注册:2010年2月20日
发表于:2010-12-02 20:15:08
楼主

        有没有人搞过视频图像移动侦测的软件编程,谈谈自己的理解和实现方法思路!

 

        下周初结贴,9个最优回帖分别获得20MP、10MP、10MP、10MP、20积分、20积分、20积分、20积分、20积分!

        MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。

        MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。




陈石头

  • 精华:28帖
  • 求助:2帖
  • 帖子:300帖 | 9288回
  • 年度积分:0
  • 历史总积分:54987
  • 注册:2008年3月07日
发表于:2010-12-03 09:14:05
1楼
期待高手们赐教  !

PistoN

  • 精华:0帖
  • 求助:1帖
  • 帖子:23帖 | 13107回
  • 年度积分:18
  • 历史总积分:40065
  • 注册:2009年5月22日
发表于:2010-12-03 19:33:52
2楼

石头的电力铁塔会跳舞哦!真的搞笑死了!

zyw3166

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 2756回
  • 年度积分:442
  • 历史总积分:30819
  • 注册:2007年7月13日
发表于:2010-12-08 07:45:56
3楼

进来学习,期待大家的答案。

林 森

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2010-12-08 13:44:22
4楼

 下面这篇文章是视频侦测技术的应用,我也不太懂,请高手指点!!

林 森

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2010-12-08 14:03:48
5楼

视频移动侦测技术在城市交通管理中的应用



       传统的视频交通红绿灯违章监控系统如图1 所示,采用地埋感应线圈,将车辆通过信息和红绿灯信息经过一个检测单元处理后再送到拍摄主机决定是否进行拍摄。这种传统方法的缺点是在道路修好后再建设红绿灯交通管理设备,所以在埋放地埋感应线圈时会对道路造成破坏。特别是当地埋感应线圈故障时,维修、更换都很不方便,也会对道路造成严重损坏 。

      采用基于计算机图象处理的视频移动侦测技术,计算机系统通过摄相机对道路上的移动物体进行车辆识别,而不需要地埋感应线圈。计算机系统对识别的运动车辆结合信号灯状态信号处理后,自动对违章车辆进行拍摄取证。在建设和维修时都不会对道路造成损害




图1  交通违章监控系统


一、采用移动侦测技术的可行性
       视频动态侦测(VMD) 技术是通过对摄像机拍录的图像序列进行自动分析,实现对动态场景中运动物体的定位、识别和跟踪,并在此基础上分析和判断运动物体的行为,来监控和确定现场发生的情况。计算机里的MPEG视频流由3 类编码帧组成,它们分别是关键帧( I 帧) ,预测帧( P 帧) 和内插双向帧(B 帧) 。I 帧按J PEG标准编码,独立于其他编码帧,它是MPEG视频流中唯一可存取的帧, 每12 帧出现一次。截取连续的I 帧,经过解码运算,以帧为单位连续存放在内存的缓冲区中,再利用函数在缓冲区中将连续的两帧转化为位图形式,存放在另外的内存空间以作比较之用,此方法是通过背景差分分析,从而获取画面变化信息[4 ] 。目前国产某视频采集卡用的是背景差分和时间差分相结合的一种帧差分的算法。通过计算两个有一定时间间隔的帧的象素差分获得场景变化。这种算法对用于野外自然环境,比较合适,可以有效降低自然光线变化的干扰。主要特点如下。
      1) 可以设置多个运动检测区域和速度状态等参数。可以设置1 - 99 个有效的矩形区域,还可以设置快速和慢速两种运动检测状态。快速检测是对每隔两帧的两帧数据进行差分运算,慢速检测是指对相隔12 帧以上的两帧数据进行差分运算[5 ] 。
      2) 可以根据需要设定阈值量。
      因为经过A/ D 转换后的数据是标准的ITu656 YUV 4 ∶2 ∶2 格式,而人眼又是对亮度最敏感,为了简化算法,提高效率,直接对亮度( Y) 值进行处理。对于某个检测区域内每个象素点( x , y) , T 时刻与T - n 时刻亮度( Y) 的差值为Mx , y ( T) = | | Y x , y ( T) - Y x , y ( T - n) | | , IF | | Mx , y ( T) - Mx , y ( T - n) | | ≥Ta THEN L = TRU E ,得到区域 差分系数IMsum =ΣL 。

      实际决定是否报警,可由整个设置检测区域的IMsum值来判断[6 ] 。报警= 真, IF| |ΣIMsum ( ) | | ≥Tb 。报警= 假, EL SE Ta , Tb 为适当阈值量。
      在CIF 格式下,整个画面的分辨率是352 ×288(PAL) ,按16 ×16 像素宏块大小来划分整个检测区域,宏块内的像素点是逐点从左到右,从上到下进行差分运算并得到宏块差分系数。整个检测区域又是按16 ×16 的宏块从左到右,从上到下进行扫描,最后计算出整个区域的差分系数 。
      3) 容易获取运动检测结果。
      如果整个区域的差分系数大于设定的阀值,置报警状态并实时将每个检测区域的宏块差分系数都返回。根据预先设置的快速和慢速两种检测状态, 对画面进行不间断的分析处理,并返回结果,直到停止运动检测。如果整个区域的差分系数小于设定的阀值,复 位报警状态。

二、移动侦测的实现机制
      由视频采集卡上的DSP(数字信号处理器) 上实现视频信号的MPEG4/ H264 实时编码。视频采集卡的功能模块如图所示。


                                                                                           图2  检测功能模块
      标准模拟视频信号(彩色或黑白) 是亮度信号和色度信号通过频普间置叠加在一起的,经过A/ D 芯片的解码,将模拟信号转成数字信号,产生标准的ITU656 YUV 格式的数字信号以帧为单位送到编码卡上的DSP 和内存中] 。
      通过ICP(image coprocessor 图象协处理器) 处理模块后,YUV 数据在DSP 中加上OSD(字符时间叠加) 和LOGO(位图) 等,复合后通过PCI 总线送到显存中,供视频实时预览用,还将复合后的数据送到编码卡的内存中,供编码使用。
      由ENCODER (编码) 模块将编码卡内存中的 YUV 数据送到MPEG4/ H264 编码器中,产生压缩好的码流, 送到主机内存中, 供录像或网络传输使用。
      由MO TIONDETECT 处理模块对编码卡内存中的以帧为单YUV 数据进行处理。
识别行使车辆的可行性
      在实际的视频交通红绿灯违章监控系中,通常是单方向设置T + 1 个摄相机, T 表示车道数。一个场景摄相机, T 个车道摄相机。场景摄相画面包括整个红灯禁行路面和交通灯,车道摄相画面仅监控对应车道的红灯禁行区。在传统的系统中,也是一个车道对应一个地埋线圈,靠当有车辆经过时,线圈给出一个点信号来识别车辆。也有许多其他方法识别车辆,比如有车辆投影阴影分割法等 。如果用视频移动侦测技术来识别车辆,关键是能让计算机区别道路上行使的车辆和其他运动物体的差别,能找出行使车辆的特征。车辆和道路上其他的运动物体(比如人) 相比有两大差别:体积大和速度快。从图3 的现场照片可以看出:除了场景摄相机画面(图3a) 外,在车道监控摄相画面中,无论是大型车还是小型车,在视频画面里都占据大部分画面。在运动速度上,一般情况下,行使中车辆的运动速度和方向上比道路上的人或其他物体的运动速度有很明显差别。因此,可以把体积和速度、运动方向作为车辆识别特征。
      利用移动侦测技术,将视频监控区域分割成多个侦测区域。比如4 个,如图4 所示,设置恰当的运动强度和阈值量。当这四个区域的同时有运动物体出现而且满足所设定运动强度条件等参数,可以确定运动物体是车辆

图3  现场画面

图4  区域分割

三、程序实现
      在C + + 6. 0 平台下的应用程序主要由以下功 能模块组成。
      交通灯信号提取模块 :交通灯信号由数据采集I/ O 卡函数提取,当红灯时,函数值为1 。 车辆识别模块:利用移动侦测技术,当监控区内识别有运动车辆时,将相应标志位置1 。拍照模块:调用SD K 函数,按通道实现场景摄相机拍照1 张,相应车道摄相机连续拍照2 张。各模块关系如图5 所示。

图5  功能关系

      在车辆识别模块中,移动侦测技术识别行驶车辆的功能由侦测区域划分、运动强度设定、分析侦测结果等功能组成。主要数据结构如下。
      1) 运动检测数据帧头结构。
typedef st ruct tagMotionData{
      Pict ureFormat _ t PicFormat ; 图像类型: CIF、QCIF、2CIF、DCIF
      ULON G HorizeBlocks ; 水平块个数( CIF 为22 ,QCIF 为11 ,2CIF 为44 ,DCIF 为33)
      ULON G VerticalBlocks ; 垂直块个数( PAL :CIF、2CIF 为18 , QCIF 为9 ,DCIF 为24 ; N TSC :CIF、2CIF 为15 ,QCIF 为8 ,DCIF 为20)
      ULON G BlockSize ; 总共块个数( PAL :CIF 为396 ,QCIF 为99 ,2CIF 792 ,DCIF 792 ; N TSC: CIF为330 ,QCIF 为88 ,2CIF 为660 ,DCIF 为660)
}MOTION_DA TA_ HEADER , 3 PMOTION _DA TA_HEADER
      2) 运动强度数据结构。
     为了简化运动检测的软件复杂度, 用运动强度信息来处理运动检测,用运动向量来描述更加灵敏和可靠,能可靠的处理在光照不足的情况下运动物体 ,数据结构定义如下
unsigned short MotionData [ VerticalBlocks ]
      [ HorizBlocks ]
      取值范围为
      CIF :22 QCIF :11
      CIF :18 QCIF :9 。
      3) 运动强度定义如下。
      16 ×16 的宏块寻址方式为
      MotionData[ y 3 HorizBlocks + x ] ;
      MotionDataHeader 头运动强度参数(短整型) 。
      取值范围:0 - 100 。
      调用相关的SDK函数,对移动侦测得到的数据在主机进行分析,判断侦测结果。输出相应标志。
四、总结 
      在实际应用中,为了区别车辆和其他移动物体,降低光线的影响,选取的运动强度和阈值量都为迟钝级。这样慢速运动的物体不会引发报警。在车道监控摄相机拍照违章车辆的两张照片选择恰当的时间间隔,才能表现车辆在运动。经过多次现场程序测试和设备、参数调试。用移动侦测技术,能较好的取代地埋线圈来识别车辆。在夜晚需要补光减低误识别率。实际应用中拍摄的照片如图6 所示,场景摄相机拍的照片现场证据清楚,违章行使车辆违章运行明显。照片上记录有地点,时间等信息,时间精确到0. 01s。能准确反映违章行使事实。
                 图6  现在应用效果

上膳若水

  • 精华:4帖
  • 求助:0帖
  • 帖子:330帖 | 6019回
  • 年度积分:0
  • 历史总积分:23673
  • 注册:2010年2月20日
发表于:2010-12-20 22:46:32
6楼

20MP获得者:空缺
10MP获得者:cqu_rockwell             林森

20积分获得者:空缺


热门招聘
相关主题

官方公众号

智造工程师