基于GPU并行计算的图像二值化研究【文献综述】.doc

上传人:一*** 文档编号:276512 上传时间:2018-08-17 格式:DOC 页数:9 大小:126KB
下载 相关 举报
基于GPU并行计算的图像二值化研究【文献综述】.doc_第1页
第1页 / 共9页
基于GPU并行计算的图像二值化研究【文献综述】.doc_第2页
第2页 / 共9页
基于GPU并行计算的图像二值化研究【文献综述】.doc_第3页
第3页 / 共9页
基于GPU并行计算的图像二值化研究【文献综述】.doc_第4页
第4页 / 共9页
基于GPU并行计算的图像二值化研究【文献综述】.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、毕业论文文献综述 计算机科学与技术 基于 GPU 并行计算的图像二值化研究 引言 : 图像是当今社会运用的越来越多的元素之一,不过是动画还是静态的图片都是图像的动静呈现,所以对图像的处理也就越来越得到人们的关注。图像重要性,图像处理就是在图像中得到可靠的信息。而图像的二值化处理也是当今正盛行的一种图像的处理方法,它把图像原始化,使得数据更加简单的表现。 本毕业设计是 GPU 与二值化的并行运算,这无疑就是一种加速算法,也就是讲在二值化处理本来就跟快的基础上,能够更快的读取图像中的信息,得到我们想要的数据。而现在最常用 的一种加速算法就是 CUDA 算法,他的并行运算可以使得二值化运算提高几十倍

2、,在图像处理中是一个很庞大的数据。 CUDA 的并行运算在处理小图像时并不能很明显的突出速度,但是当遇到有大量的图像需要处理,而且图像又很大的情况下,这种并行运算可以节省很多时间。 1 图像处理简介 1.1图像处理的概念 图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为 像素 ,其值为一整数,称为灰度值。图像处理技术的主要内容包括 图像压缩 ,增强和复原,匹配、描述和识别 3 个部分。 常见的处理有图像数字化、图像编码、 图像增强 、图像复原、图像分割和 图像分析 等。图像处理一般指数字图像处理。虽然某些处理也可以用光学

3、方法或模拟技术实现 , 但它们远不及数字图像处理那样灵活和方便 , 因而数字图像处理成为图像处理的主要方面。 1.2 图像二值化技术的简介 首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。所有灰度大于或等于阀值的像素被判定为属于特定物 体,其灰度值为 255 表示,否则这些像素点被排除在物体区域以外,灰度值为 0,表示背景或者例外的物体区域。 二值图像形态学是依据数学形态学的集合论方法发展起来的针对二值图像的处理方法。其主要内容是设计一整套的运算、概念和方法,用以表述

4、图像的基本特征。二值图像形态学的运算以腐蚀和膨胀两种基本运算为基础,引出了其它几个常用的数学形态学运算,最常用的运算有腐蚀、膨胀、开运算、闭运算,它们是全部形态学的基础。用这些运算及其组合可以进行图像形态和结构的分析及处理 1。 图像二值化的基本算法步骤是找出阈值 th,然后按照公 式 1 完成图像的二值化。 thy)f(x ,0, thy)f(x ,1, y)g (x ,( 1) 2 图像二值化处理的方法 2.1 二值化方法简介 采用闽值确定边界的最简单做法是在整个图像中使用单一灰度闽值 T。如果背景的灰度值在整幅图像中可以大致地看作恒定,而且所有物体与背景都具有几乎相同的对度,那么,只要选

5、择了正确的闭值,使用一个固定的全局闽值一般效果会比较好。全局阐值二值化方法是根据图像的直方图或灰度空间的分布确定一个闽值, 并根据该阐值实现灰度图像的二值化。全局阐值方法的优点在于算法简单,对于目标和背景明显分离、释放图分布呈双峰的图像效果良好,但输入图像量化噪声或不均匀光照等情况抵抗能力差。全局阐值分割方法在图像处理中应用比较多,它在整幅图像内采用固定的闽值分割图像。经典的闽值选取以灰度直方图为处理对象。根据闭值选择方法的不同,可以分为模态方法、迭代式闭值选择等方法。这些方法都是以图像的直方图为研究对象来确定分割的闽值的。另外还有类间方差闽值分割法、二维最大嫡分割法、模糊闽值分割法、共生矩阵

6、分割法、区域生长法等等 6 。 2.2 全局二值化 采用闽值确定边界的最简单做法是在整个图像中使用单一灰度闽值 T。如果背景的灰度值在整幅图像中可以大致地看作恒定,而且所有物体与背景都具有几乎相同的对度,那么,只要选择了正确的闭值,使用一个固定的全局闽值一般效果会比较好。全局阐值二值化方法是根据图像的直方图或灰度空间的分布确定一个闽值,并根据该阐值实现灰度图像的二值化。全局阐值方法的优点在于算法简单,对于目标和背景明显分离、释放图分布呈双峰的图像效果良好,但输入图像量化噪声或不均匀光照等情况抵抗能力差。全局阐值分割方法在图像处理中应用比较多,它在 整幅图像内采用固定的闽值分割图像。经典的闽值选

7、取以灰度直方图为处理对象。根据闭值选择方法的不同,可以分为模态方法、迭代式闭值选择等方法。这些方法都是以图像的直方图为研究对象来确定分割的闽值的。另外还有类间方差闽值分割法、二维最大嫡分割法、模糊闽值分割法、共生矩阵分割法、区域生长法等等。 2.3 局部二值化 局部闽值法是将原始图像划分为较小的图像,并对每个子图像选取相应的闽值,是由像素灰度值和像素周围点局部灰度特性来确定像素的闭值的,在闽值分割后,相邻子图像之间的边界处可能产生灰度级的不连续性、容易出现伪造影现 象等,因此需用平滑技术进行排除。非均匀光照条件等情况虽然影响整体图像的灰度分布却不影响局部的图像性质。局部闭值法的方法有灰度差直方

8、图法、微分直方图法。 2.4 最大类间方差法 最大类间方差法 9,10是由日本学者大津于 1979 年提出的,是一种自适应的阈值确定方法,又叫大津法,简称 Otsu。它按图像的灰度特性,将图像分成背景和目标两部分。因方差是灰度分布均匀性的一种度量,方差值越大,说明构成图像的两部分差别越大,因此,背景和目标之间的类间方差越大,说明构成图像的两部分的差别也越大。当部分目标错分为背景或部分 背景错分为目标都会导致两部分差别变小,因此,使类间方差最大的分割意味着错分概率最小。设 t 为前景与背景的二值化阈值;属于前景像素点数占图像比例为 w0,平均灰度为 u0;背景点数占图像比例为 w1,平均灰度为

9、u1;图像的总平均灰度为 u,类间方差记为 g。假设图像的背景较暗,图像的大小为 M N,图中像素的灰度小于阈值 t 的像素个数为 N0(此类像素被判为前景 ),像素灰度值大于阈值 t 的像素个数为 N1(此类像素被判为背景 ),则有: )NM/(Nw),NM/(Nw 110 11001010uwuwu 1wwNMNN ( 2) )uu(w)uu(wg 11200 ( 3) 将( 2)代入( 3)可得: )uu(wwg 1010 ( 4) 采用遍历的方法得到使类间方差最大的阈值 t,即为所求。 2.5 均值法 用均值全局二值化法,就是把整个图片看成一个大的部分,比如是 a*a 的一幅图像,接下

10、来就可以读取 整个图像的数据,对整个图像进行图像的分析,获得需要的数据,然后对这个数据去求平均值,也就是去整除整个图像的大小,这样就微分到最小的像素了,得到一个数值,但是这个数据相对来说不是很稳定,因为对图像处理的过程相对比较粗糙,如果是一个受光面不均匀的图像,整个数据读取就会出现误差,所以不能很精确的读取图像,如果是一个较为清晰的图像,可能这是一个有简单有快捷的好方法。这就是简单的基于均值的全局二值化法。 2.6 边缘差值法 物体 的边缘是以图像局部特性的不连续性的形式出现的 ,比 如灰度值的突变 , 纹理结构的突变,颜色的变化 等。图像的边缘通常有方向和幅度两个不同的特性。图像的边缘信息在

11、图像分析和人的视觉中都占有十分重要的地位 , 在图像识别中提取图像特征是一个重要的属性。通常 , 沿边缘走向的象素变化平缓 , 而垂直于边缘走向的象素变化剧烈。这种变化可能呈现阶跃型、房顶型和凸缘型。边缘点对应于一阶微分幅度大的点 , 也对应于二阶微分幅度的零交叉点。在边缘上灰度的一阶导数幅值较大 , 也就是说 , 而二阶导数在边缘上的值为 0 ,其左右分别为一正一负两个峰 , 因此 , 利用梯度最大值或二阶导数的过零点提取边缘就成为一种有力的手段 11。 根据上面各种方法的介 绍,分别都提及了各种方法的功能。当然,不管是什么样的方法,总会存在优势和劣势。像全局法,通常可以很全面的去处理一幅图

12、像, 一般只考虑到整体像素的平均灰度值,而不能够顾及到每个像素的不同之处 ,所以其二值化在整体来说相对执行速度上是快了一点 , 但对输入图像量化噪音或不均匀光照等情况抵抗能力差 4。所以在受光不均匀的图像处理时,一般选取的就是局部二值化法。因为这种方法把图片分割成若干个相同的模块,选取其中一个对其进行处理,这个逐个处理下来就可以得到相对精确的数据,所以经常用局部二值化法去处理那些看上去相对较暗的图片 。当然,这样逐个的处理会减慢图像处理的速度,计算也就变得繁琐。根据他们处理图像的优劣,所以总会先分析不同的图像,对图像选择不同的处理方法。 3 CUDA 图像二值化 3.1CUDA 简介 随着显卡

13、的 不断 发展, 处理器功能变得越来越强大,并且出现了 具有高度的可程序化能力 ,目前可编程的 GPU 具有 比较 高的内存带宽 ,和 大量的执行单元,因此开始有利用显示芯片来帮助进行一些计算工作 。 由于 GPU 的计算能力 已经超越了通用的 CPU,而且在并行运算中可以得到很好的结果 , NVidia 推出 的 CUDA 应用程序 ,让显卡可以 用于辅助计算 。 CUDA的 SDK中的编译器和开发平台支持 Windows、 Linux 和 MAC 系统,可以与 Visual Studio 集成在一起 ,并且以使用 C 语言为基础,写出在显示芯片上执行的程序 。 这种强大的处理器所用的 工具

14、集的核心是一个 C 语言 编译器 。目前只有 GT200、 GF100、 G80、 G92、G94、 G96 平台(即 Geforce 8Gecorce GTX480)的 NVidia 显卡才能使 用 CUDA, G80 中拥有 128 个单独的 ALU,因此非常适合并行计算,而且数值计算的速度远远优于 CPU7。 CUDA( Compute Unified Device Architecture)是一个新的基础架构,这个架构可以使用 GPU 来解决商业、工业以及科学方面的复杂计算问题。在架构上采用了一种全新的计算体系结构来使用 GPU 提供的硬件资源,从而 对于 大规模的数据计算应用 就有了

15、 一种比 CPU更加强大的计算能力。 同时 它是一个完整的解决方案,提供了 硬件 的直接访问接口,而不必像传统方式一样必须依赖图形 API 接口来实现 GPU 的访问。 CUDA 采用 C 语言作为编程语言提供大量的高性能计算指令开发能力,使开发者能够在 GPU 的强大计算能力的基础上建立起 更高效率数据密集度高的多的 计算解决方案 9。 所以 与 CPU 相比, GPU 具有以下优势:强大的并行处理能力和高效率的数据传输能力。其中,并行性主要体现了指令级、数据级和任务级三个层次。高效率的数据传输主要体现在两个方面: GPU 与显存之间的带宽为: 16GB/s;系统内存到显存的带宽为: 4GB

16、/s。 综 上所述, GPU 比较适合处理具有下面特性的应用程序: 1、大数据量; 2、高并行性; 3、低数据耦合; 4、高计算密度; 5、与 CPU 交互比较少 3。 3.2 CUDA 发展历史 二值化是一个很快的运算,但是为了能够更快的完成图像的处理,引进 GPU 的处理来加快就更能节省时间。为了能更好的体现出 GPU 的作用,我们一般都会去将他与其他算法一起结合在一起使用,也就是并行运算。而并行计算性能优化的目的是以最短时间,在允许误差范围内完成既定的计算任务。由于 GPU 构架与 CPU 构架不 一样,因此,其并行优化的方法以及衡量性能的指标方法也不一样, GPU 的并行优化更侧重于计

17、算的密度和吞吐量,而不是单个数据的延迟 5。 能更好的体现出处理的速度,得到更好的效果。 随着计算机技术的发展,受 CPU 散热和能耗的限制, CPU 发展从提高发展速度逐步向提高稳定性和降低能耗方向发展, CPU 的主频的提高速度逐渐降低,而 GPU则发展迅速,年份与主频速度如图 1 所示,从该图可以看出,目前 GPU 的主频速度大约是 CPU 的 10 倍,因此基于 GPU 来开发应用程序,具有较强的应用行。 图 1 CPU 和 GPU 的每秒浮点运算次数比较 CUDA( Compute Unified Device Architecturem 统一计算设备架构) 是一个基于 GPU 的编

18、程模型,是想在应用程序中充分利用 CPU 和 GPU 各自的优点。现在,该架构现已应用于GeForce®、 ION、 Quadro 以及 Tesla GPU(图形处理器)上,对 应用程序 开发人员来说, 具有较强的应用价值 1。 3.3CUDA 的程序构架 由于 CPU 通过大的缓存保证线程访问内存的低延迟,但内存带宽小,执行单元太少,数据吞吐量小,需要硬件机制保证缓存命中率和数据一致性。而 GPU 则高显存带宽和很强的处理能力提供了很大的数据吞吐量缓存不检查数据一致性直接访问显存延时可达数百乃至 上千时钟周期。两者的差异 都是 因为 GPU 的架构特性所造成的 , 在 CUDA 中,一

19、般的数据复制到的显卡内存的部份,称为 global memory。这些内存是没有 cache 的,而且,存取 global memory 所需要的时间(即 latency)是非常长的,通常是数百个 cycles。由于我们的程序只有一个 thread,所以每次它读取 global memory 的内容,就要等到实际读取到数据、累加到 sum 之后,才能进行下一步 , 这就是为什么它的表现会这么的差 11。 因此,用 CUDA 去处理大 量的可并行性问题的最合适了,这样能够有效的利用现实芯片上大量的执行单元同时能隐藏内存中的 latency。由于 CUDA 的并行性,所以同时有上千个 thread

20、 一起执行是很正常的。如果解决的问题不是大量的并行化的,那用 CUDA 就不能达到最好的效果了, CPU 和 GPU 的框架如图 2 所示。 图 2 CPU/GPU 架构比较 3.4 CUDA 计算的基本流程 利用 CUDA 来完成图像来完成图像处理的加速,其实质是一个 CPU 和 GPU 的一个联动的过程, CPU 是整个计算的核心, GPU 协助 CPU 完成一些计算任务, CPU 负责整个 程序流程,两者之间存在着一定的数据交流,其基本计算流程如图 3 所示: 4 总结 CUDA 利用 GPU 辅助 CPU 完成某些计算,通过 CPU 和 GPU 的互动,大大的提高了程序的计算效率。实验

21、表明,运用 CUDA 完成图像的并行二值化计算,大概有 10-100 倍的效率提高,因此,基于 CUDA 的图像二值化具有较强的实用性。 参考文献 1 Gonzalez R C, Woods R E.数字图像处理 M.第 2 版 .北京 :电子工业出版社 ,2006:224-272. 2 Sonka M,Hlavac V,Boyle R. 图像处理分析与机器视觉 M. 北京 :人民邮电出版社 ,2003:83-91. 3 Otsu N. A threshold selection method from gray-level his-togramJ. IEEE Transactions on

22、SystemMan and Cybernet-ic,1979,9(1):62-66. 4 Kurugollu F,Sankur B,Harmanci A E.Color image segmenta-tion using histogram multithresholding and fusionJ.Journalof Image and Vision Computing, 2001,19(13):915-928. 5 荆其诚 ,焦书兰 .色度学 M.北京 :科学出版社 ,1979. 6 张 引 .基于空间分布的最大类间方差牌照图像二值化算法 J.浙江大学学报 :工学版 ,2001,35(5)

23、:272-275. 7 Liu Yangxing,Ikenaga,Takeshi,et al.A Novel Hybrid Ap-proachof Color Image SegmentationC Circuits and Sys-tems (APCCAS 2006).IEEE Asia Pacific Conference.Singa-pore:s.n.,2006:1863-1866. 开始计算 初始化设备 数据传递到 GPU GPU上完成计算 结果传回 CPU 图 3 CUDA 计算基本 流程 8 Medioni G,Lee M S,Tang C K.A Computational Fr

24、ameworkfor Segmentation and GroupingM.Elsevier,2000 9 Zhang Y J.New advancements in image segmentation for CBIRM.Encyclopedia of Information Science and Technology,IdeaGroup Reference.Mehdi Khosrow-Poured,2005,4:2105-2109 10 Sahoo P K,Soltani S,Wong A K C,et al.A survey of threshol-ding techniquesJ.Comput.Vis.Graph and Image Processing,1988,41:233-260 11 TrierD,Taxt T.Evaluation of Binarization Methods for Do-cument ImagesJ.IEEE Trans.Pattern Analysis and MachineIntelligence,1995,17:312-315

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 文献综述

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。