收藏 分享(赏)

用于图象处理的小波变换并行算法.doc

上传人:weiwoduzun 文档编号:2412970 上传时间:2018-09-15 格式:DOC 页数:4 大小:47KB
下载 相关 举报
用于图象处理的小波变换并行算法.doc_第1页
第1页 / 共4页
用于图象处理的小波变换并行算法.doc_第2页
第2页 / 共4页
用于图象处理的小波变换并行算法.doc_第3页
第3页 / 共4页
用于图象处理的小波变换并行算法.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、中国图象图形网用于图象处理的小波变换并行算法徐 娟 汪懋华摘 要 本文在二进小波变换及 Mallat 快速算法原理的基础上,分析了小波变换的可并行成分,研究了小波变换的并行算法.算法分析表明,并行小波变换可以有效地提高运行速度,其并行处理效率也接近理想状态.关 键 词 小波变换 并行算法 图象处理分 类 号 TP301PARALLEL ALGORITHM OF WAVELET TRANSFORMATION IN IMAGE PROCESSINGXU Juan WANG Maohua(College of Electronic & Power Engineering, China Agricul

2、tural University Beijing 100083)Abstract On the base of discrete wavelet transformation and Mallat fastalgorithm, this paper analyses the parallel component of wavelet transformation and studies on parallel algorithm of wavelet transformation. The results indicate that parallel algorithm can improve

3、wavelet transformation speed efficiently and the parallel processing efficiency is very satisfactory.Key words Wavelet transform Parallel algorithm Image processing1 引言小波变换是傅里叶变换发展史上里程碑式的进展.由于小波变换在时域和频域上同时具有良好的局部化性质,而且在低频段用高的频率分辨率和低的时间分辨率;在高频段则采用低的频率分辨率和高的时间分辨率,正是在这一意义上小波被誉为数学显微镜.虽然小波变换的出现时间不长,但由于对各

4、种信号特征进行多分辨分析有极大的适应性,已广泛应用于信号与图象处理、语音识别与合成、地震勘探、CT 成像、量子力学、机械故障诊断与监控、分形等科技领域中1.由于小波变换涉及到浮点运算,而且多分辨分析也导致了运算量呈指数级增加,因此并行小波变换的算法研究对于小波分析走向实时应用有着重大意义.2 二进小波变换及 Mallat 算法简而言之,小波是一个满足条件R(x)dx=0 的函数 通过平移和伸缩而产生的一个函数簇a,b.设 L(R)L2(R),且 (0)=0,按式(1)生成的函数簇a,b(1) 称为连续小波, 称为基本小波或母小波.连续小波是一个双参数带通滤波器.参数a 称为尺度参数,它改变滤波

5、器的频带宽度,从而决定了小波变换中的频率信息.参数 b 称为位置参数,它决定了变换结果中的空域或时域信息.由此可以看出,小波函数是同时具有频域和时域定位特性的函数.对于任意函数 f(x)L2(R)的连续小波变换为:(2)中国图象图形网连续小波变换常用于跟踪滤波和信号的消噪处理等.为了进行数值计算,必须将连续小波离散化,由式(2)定义的小波变换可通过对其尺度参数 a 和 b 位置参数 b 的取样而离散化.如果对 a 和 b 按如下规律取样:a=am0,b=nb0am0, a01,b0 R,(m,n)Z2这时 Wf 称为二进小波变换.二进小波变换一般多用于多分辨分析和信号的时频分解,在计算机图象处

6、理方面,主要用于图象的压缩编码、边缘提取、图象增强、纹理分析及分形等.1988 年,Mallat 基于多分辨分析框架,给出了信号和图象(即函数)分解为不同频率通道及其重构的小波快速算法Mallat 算法,它在小波分析中的地位相当于 FFT 在经典傅里叶分析中的地位.对于二维图象 Cj,经过 Mallat 的分解算法,将图象分成 4 部分2:(3)其中 H 与 G 分别相当于低通滤波与高通滤波,角标 r 代表行,角标 c 代表列.算子HcHr 相当于二维低通滤波器,因此 Cj+1 是 Cj 的低频部分.算子 GcHr 相当于先对列作平滑,然后检测行的差异,这样 d1j+1 是竖直方向的高频部分,

7、相当于图象的水平边缘,同样 d2j+1 是水平方向的高频部分,相当于图象的竖直边缘,d3j+1 是两个方向的高频部分,即角点和 45 边缘3.图象的 Mallat 重构算法(即逆小波变换)为:Cj=H*rH*cCj+H*rG*cd1j+1+G*rH*cd2j+1+G*rG*cd3j+1(4)其中 H*r、 H*c、G*r、G*c 分别是 Hr、Hc、Gr、Gc 的共扼滤波器.3 小波变换的并行算法对于一维信号 Sd1f,其二进小波变换的 Mallat 分解算法是:j=0While (j0)Sd2j-1f=Wd2jKj-1+Sd2jHj-1j=j-1End of while其中 H 和 G 是通

8、过选取某一小波基构造出的低通和带通滤波器 4.对于二维图象的 Mallat 分解算法,实质上就是图象中的每个象素分别与被选择的小波函数参数进行如下运算:逐行隔列选取象素,以该象素为中心,将长度为小波参数长的左右两侧象素分别与 H、G 进行内积运算,结果将图象分成左右两部分,左边是低频部分,右边是高频部分.然后逐列隔行选取象素,以该象素为中心,将长度为小波参数长的上下两侧象素分别与 H、G 进行内积运算,结果将图象分成上下两部分,上边是低频部分,下边是高频部分.而由于图象已分成左右两部分,因此图象实际上被分成了四部分,左上为低频部分,即 Cj+1;右上为水平边缘,即d1j+1;左下为竖直边缘,即

9、 d2j+1;右下为角点和 45 边缘,即 d3j+1.该算法流中国图象图形网程的示意图如图 1 所示.图 1 Mallat 分解算法流程示意图Mallat 重构算法与分解算法原理类似,只是颠倒变换顺序,将象素依次对应到原图象的位置.因此从以上分析可看出,Mallat 快速算法的特点是:1. Mallat 小波作用于各象素;2. 各象素的计算方式完全一样;3. 各象素的计算相互独立,互不依赖.这类算法的并行成分很高,属于典型的处理器农庄算法,即各并发进程是独立的,它们处理的数据来自系统的主图 2 n 个结点将图象分成 n 块的示意图机,而不是来自其它的并发进程,它们处理的结果直接送回主机,而不

10、是送给其它的并发进程继续处理.与此相应,各处理器在逻辑上也是相互独立的,除了由主处理器提供原始数据分配和最终结果回收之外,在各处理器之间不再需要传送中间结果,就好象自给自足的自耕农,除了受制于主机(庄园主)之外,不受其它处理器及处理器上的并发进程的影响5.一般由于受到处理器个数的限制,图象中的象素不可能与处理器一一对应,通常将图象分成若干块,将每个块与处理器相对应,同时进行小波变换,这也就是并行小波变换的本质所在.在图象分块时需要注意的是,为了避免边界效应,应当将不包含整个图象边界的一侧多加上小波长度的一半.例图 3 用于图象处理的小波变换如图象大小为 256256,若选择 Mallat 小波

11、函数,其参数长度为 23.将图象分为 2 块时,每块大小为(128+23/2)256=139256(图 2-1) ;将图象分为 4 块时,每块大小为(128+23/2)(128+23/2)=139139(图 2-2) ;将图象分为 8 块时,外围的 4 块每块大小为(64+23/2)(128+23/2)=75139,中间的 4 块每块大小为(64+23/2+23/2)(128+23/2)=86139(图 2-3).表 1 Mallat 算法在曙光 1000 不同结点数的运行时间比较结点数 Mallat 分解算法 Mallat 重构算法 1 个结点 3.78 秒 4.97 秒 2 个结点 1.9

12、3 秒 2.63 秒 4 个结点 0.97 秒 1.32 秒 8 个结点 0.52 秒 0.70 秒 作者在国家智能计算机研究开发中心研制的曙光 1000 大规模并行计算机系统上成功地实现了小波变换的并行算法, n 个计算点对应于图象分成 n 块, 即主结点将每块的图象数据传送给各计算结点, 每个计算结点计算一块数据, 计算完毕后结果传送给主结点即可. 图 3 是用该算法完成的小波分解与重构的图象. 表 1 列出了在不同结点数运行时间的比较. 4 并行算法分析与结论并行算法分析中常采用加速比与效率分析.加速比 Sp=Ts/Tp,其中 Ts 是求解一个问题最快的串行算法在最坏情况下的运行时间,而

13、 Tp 是求解同一个问题的并行算法在最坏情况下的运行时间.可见加速比是评价算法的并行性对运行时间改进的程度.效率 Ep=Sp/p,其中 p 为处理器的个数,效率反映了并行系统中处理器的利用情中国图象图形网况.不难推知,0Ep16.图 4 是根据表 1 画出的 Mallat 并行算法的加速比与效率分析图.从图 4(1)中可看出,随着结点数的增加,速度有明显提高;从图 4(2)中可看出, 2 个与 4 个计算结点的效率比较理想(接近 1) ,当结点数增加到 8 时,效率下降到 0.9 左右.这主要是由于随着块的个数不断增加,每个结点的计算量在不断减小,这样数据传送时间与整个时间的比重就显得越来越大

14、,导致效率逐渐降低.图 4 Mallat 并行算法的加速比与效率分析图从以上对并行算法的性能分析可看出,小波变换是适合作并行处理的,其实验结果也证实了这一点.而且在曙光 1000 系统上,只用 4 个计算结点就基本上可以满足实时处理的要求,如遇到实时性更高的情况还可以增加计算结点的个数.上述并行算法虽然是在曙光 1000 系统上采用并行 C 语言设计完成的,但并行 C 语言与串行 C 语言是兼容的,只是增加了若干条通讯、同步及全局操作的语句,因此具有很好的软件可移植性,该程序中只需改变 3 条语句就可移植到其它并行处理系统中,包括 Pentium Pro 多 CPU 系统,因此具有良好的应用前

15、景.* 本文得到高等学校博士学科点专项科研基金的资助.徐娟,博士生,主要从事图像信息并行处理的研究.汪懋华,教授,主要从事图像信息处理的研究.作者单位: 中国农业大学电子电力工程学院 北京 100083参考文献1 刘贵忠、邸双亮. 小波分析及其应用. 西安:西安电子科技大学出版社.1992. 1,17362 Stephane G. Mallat. A theory for multiresolution signal decomposition: the wavelet representation. IEEE Transactions on Pattern Analysis and Mach

16、ine Intelligence, 1989, 11(7): 6746933 田捷、沙飞、张新生. 实用图象分析与处理技术. 北京.电子工业出版社.1995. 2542764 Stepane Mallat, Sifen Zhong. Characterization of signals from multiscale edges. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992, 14(7): 710 7325 郭庆平. 多晶片机系统上并行算法的特点和分类. 计算机应用与软件.1992,9(5): 56626 陈国良. 并行算法的设计与分析. 北京.高等教育出版社.1994. 16

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报