一种快速中值滤波变换在视频图像分析中的应用__墨水学术,论文发
所属栏目:推荐论文发布时间:2011-02-25浏览量:580
副标题#e# 摘 要:本文针对实际应用项目采用一种固定模版维数、固定模版结构的快速的中值滤波算法,对实时的视频图像进行分析,比对传统的中值滤波算法,通过实验数据表明,快速的中值滤波算法有效的提高了运算速度,不仅较好的满足了实际项目中对实时性的需求,而且更易于动态目标的跟踪。
关键词:中值滤波;实时性;时间复杂度;目标跟踪
Abstract: Based on practical application project,a fast median filtering algorithm with fixed template dimension and fixed template structure is adopted to the real-time video image analysis. Comparing with the traditional method of median filtering algorithm, the experiment result proves that the method of fast median filtering algorithm can improve the computational speed effectively, better meet the practical projects for the real-time demand and trace the dynamic target easily.
Key words: median filtering algorithm; real-time; time complexity; target tracing
在处理实时图像的过程中,难免会遇到噪声的干扰,这种干扰在不同程度上影响到图像处理的后续工作,针对此类问题,1971年Turky提出了中值滤波算法,中值滤波法是一种非线性平滑技术,它将每一象素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值。作为图像处理中的常用滤波方法,中值滤波能够有效的排除图像的极值奇异点并能保持图像的阶跃边缘。因此,中值滤波普遍的应用于图像的去噪平滑过程中。传统的中值滤波算法重点考虑的是滤波的效果,但针对于实际项目往往无法满足实时性的要求。本文正是在实际项目的基础上,对传统的中值滤波算法进行了约束和算法上的设计,并在Visual C++开发平台上进行了算法测试。实验数据表明,本文采用的快速中值滤波算法既有效的缩短了运行时间,提高了系统处理速度,满足了实际项目的实时性的要求,更使对实时运动目标的位置跟踪更加准确。
1中值滤波算法
1.1传统中值滤波算法
中值在序列中是这样定义的:
若 为一组序列,先把其按大小排列为 ,则该序列的中值y为
中值滤波原理是把序列或数字图像中一点的值用该点邻域中各点值的中值来代替。
1.2快速的中值滤波算法
针对该算法应用于的实际项目,考虑到系统实时性的需求,需要对图像数据进行降维压缩并保留有用细节变换,因此采用中值滤波算法,对中值滤波算法的模版维数及模版结构分别进行了合理性的约束。
1.2.1模版维数
在只考虑图像处理分析效果的前提下,传统的中值滤波算法多选用9维、25维甚至更多维数的模版。针对项目应用,在综合权衡识别效果和识别速度的基础上,快速的算法选用维数为5的模版。实验测试表明,5维模版是中值滤波算法在保证一定的过滤效果的基础上所能选用的维数最低的模版,在算法时间复杂度上以9维模版为例与本算法中选用的5维模版进行比较。如表1所示。
表1时间复杂度比对
9维模版 #p#副标题#e#; 5维模版
如表1数据所示,5维模版在时间复杂度中明显优于9维模版,可节省3倍以上运算时间,更符合实际项目对实时性的需要。
1.2.2模版结构
在确定5维模版的情况下,本算法比较了图1,图2两种模版结构,考虑到实际项目中主要的干扰来自于垂线方向,而图2所示的模版结构能够更好的消除此类干扰,所以选用图2所示的模版结构。
1.2.3算法设计
在模版维数和模版结构确定后,唯一要解决的就是模版滤波窗口的中值,这也正是中值滤波算法的关键所在,传统中值滤波算法之所以时间复杂度高,很大程度上是因为对模版滤波窗口的像素点的灰度值进行了排序操作,通过冒泡算法得到中间值。本算法就是在不使用排序算法的前提下,快速的找到模版滤波窗口的中间值。算法思路如下:
1) 定义4个数组,分别为er[2],sn[3],si[4],
wu[5];数组wu[5]用来存放模版滤波窗口的5个像素点的灰度值;er[2],sn[3],
si[4],作为中间过渡数组。
2) 比较wu[0],wu[1]大小,并将比较结构存放到er[2]数组中,即较小的灰度值放入er[0]中,较大的灰度值放入er[0]中。
3) 将wu[5]数组中第3个元素,即wu[2]分别与er[0] ,er[1]进行比较,并将比较结果从小到大分别存入sn[3]中。
4) 将wu[5]数组中第4个元素,即wu[3]与sn[1]进行比较,若wu[3]小于sn[1],再将wu[3] 与sn[0]进行比较,并将比较结果从小到大分别存入si[4]中。若wu[3]大于sn[1],则将wu[3] 与sn[2]进行比较,并将比较结果从小到大分别存入si[4]中。
5) 将wu[5]数组中第5个元素,即wu[4]与si[1]进行比较,若wu[4]小于si[1],则si[1]即为所求的中值,若wu[4]大于si[1],继续用wu[4]与si[2]比较,若wu[4]大于si[2],则si[2]即为所求的中值,若wu[4]小于si[2],则wu[4]即为所求的中值。
6) 返回所求的中值。
2实验结果
在Visual C++开发平台下,分别对传统中值滤波算法与快速的中值滤波算法进行了运行时间测试,随机设定10组5维有限序列,进行中值滤波计算,数据如表2所示。
表2原始测试数据
第一组 69 25 31 46 6
第二组 12 18 56 37 65
第三组 22 35 54 27 8
第四组 5 56 72 75 6
第五组 33 35 39 51 75
第六组 65 87 5 42 69
第七组 24 52 62 71 99
第八组 10 25 36 42 24
第九组 #p#副标题#e# 9 88 74 56 33
第十组 1 51 3 16 68
对这10组数据分别采用两种算法进行1000次循环运算,运算耗时如下表所示。
表3算法运行时间表
第一次运算时间(ms) 第二次运算时间(ms) 第三次运算时间(ms)
传统中值滤波算法 500 515 531
快速中值滤波算法 156 171 172
提升速度倍数 3.2 3.0 3.1
从测试数据可以看出,快速的算法在同等硬件配置环境下,提升运算速度平均在3倍以上。
对同一视频文件分别采用两种算法进行车辆检测,检测效果图如图3—图6所示。
图4同为第174帧图片在两种算法下的检测效果截图,图3中绿色矩形框为干扰信号造成的车辆检测误判,采用本文算法的图4则将这一干扰有效的过滤掉,可见本文采用的算法具有更好的目标筛选能力。图5,图6同为第1179帧图片在两种算法下的检测效果截图,图6比图5更准确的获得了车辆的更多的信息,可见本文采用的算法具有更好的运动目标跟踪能力。
3结论
本文从实际项目出发,不仅对中值滤波算法的模版维数和模版结构进行了合理的约束,更摆脱了在求中值的过程中对排序算法的依赖。实验结果表明,快速后的中值滤波算法有效的提高了计算效率,达到了实际项目对于实时性的要求,而且在提高运算速度的同时,使系统具有更好的目标跟踪能力。
4参考文献
[1] 阮秋琦.数字图像处理学[M].北京:电子工业出版社,2001.
[2] 张丽,陈志强,赵自然,刘胤兵.MMF—一种快速中值滤波算法在集装箱系统中的应用[J].北京:第三届全国核仪器应用学术会议论文集
[3] 孙宏琦,施维颖,巨永锋.利用中值滤波进行图像处理[J].西安:长安大学学报.2003
[4] 朱冰莲,潘哲明,李单单.一种中值滤波的快速算法[J].重庆:信号处理.2008
[5] Huang T.S,et al. Fast Two-Dimensional Median Filtering Algorithm,IEEE Trans. Acoustics,Speech,and Signal Processing,1979 ASSP-27(1):13-18
期刊 论文 出书
国内外/中英文/全学科 学术服务