基于图形处理器的图像实时去雾方法技术

技术编号:13835072 阅读:77 留言:0更新日期:2016-10-15 14:46
本发明专利技术公开了一种基于图形处理器的图像实时去雾方法,主要解决现有技术中采用计算机中央处理器CPU处理速度慢,不适合对高分辨率图像进行实时去雾的缺点。其实现步骤为:1.初始化计算机,并输入有雾图像并读取图像数据;2.计算输入雾图的暗通道图;3.根据暗通道图计算大气光值;4.计算输入雾图的初始透射率图;5.对初始透射率图进行引导滤波得到最终透射率图;6.根据最终透射率图对景物进行复原,输出清晰无雾图像。本发明专利技术能保证良好的去雾效果,且处理速度快,满足1080p图像的实时去雾要求,可用于对高分辨率图像的实时去雾处理。

【技术实现步骤摘要】

本专利技术属于图像处理
,更进一步涉及一种图像实时去雾方法,可用于室外目标识别跟踪、公路视觉监视、卫星遥感监测等领域当中。
技术介绍
雾图的产生主要是因为大气中雾、水蒸气等浑浊媒质的散射影响,使摄像机接收到的光强严重衰减,所获图像对比度较低,细节信息不明显,信息的可辨识度大大降低。因此,为了保证图像清晰度和信息的可辨识度,并改正图像因大气光而带来的色移,通常采用图像去雾算法对雾图进行处理。基于暗通道先验的图像去雾算法从物理上对图像进行去雾,效果明显且真实自然,所以被广泛应用在图像去雾领域当中。但是由于该算法计算复杂度高,处理速度较慢,因此限制了其在实时去雾领域的应用。近年来,为了解决图像去雾算法时间效率低的问题,许多基于不同平台的优化去雾算法应运而生。然而这些算法都只对分辨率较小的图像有良好的效果,对高清视频图像却依然难以做到实时处理。所以,在采用暗通道先验的去雾算法保证良好的去雾效果基础上,将精力放在如何提升算法运算速度上,从而诞生了使用GPU的高性能计算提高暗通道先验去雾算法速度的想法。GPU高性能计算是当前一个热门的研究领域,通过GPU的并行架构与CPU相结合,有效地减少计算时间、提高运算效率的一种运算方案。四川川大智胜软件股份有限公司,四川大学的专利申请“一种基于CUDA的图像实时去雾方法”(公开号:CN103049890A,申请号:CN201310017014.X,申请日:2013年1月17日)中公开了一种基于CUDA的图像实时去雾的方法。该方法主要利用CUDA构建CPU与GPU协同工作环境;输入原始有雾图像,获取该图像的暗原色图像及其大气光值;根据暗原色先验获取原始有雾图像的透射率初始值,并利用引导滤波算法得到优化后的透射率;根据大气散射模型中的原始有雾图像、透射率分布和大气光确定去雾后的复原图像。该方法充分结合CPU和GPU各自的优点,构建两者协同工作的编程模型,并利用暗原色先验知识与大气散射模型估计出大气光值、透射率分布,最终实现又好又快的实时雾天图像复原效果。例如对分辨率为600×400的低分辨视频图像,其处理速度可以达到32帧/秒,基本满足实时去雾要求。该方法的不足是整个实现方案的并行度不够,部分过程仍然使用CPU进行串行处理,GPU计算部分没有充分挖掘数据的复用性,并且未采用纹理存储和共享存储等高速存储器对数据的访问模式进行优化,导致其只能对低分辨视频图像进行实时处理,当图像分辨率稍高一些时,则不能实现快速处理,比如对分辨率为720×576的视频图像,其处理速度仅为21帧/秒。显然,对于1080p这样的高清视频图像难以实现实时处理。
技术实现思路
本专利技术的目的在于针对上述现有技术的不足,提供一种基于图形处理器GPU的高清视频图像实时去雾方法。以保证良好的去雾效果,提高去雾效率,实现对高清视频图像的实时去雾处理。实现本专利技术目的的具体思路是:采用暗通道先验的图像去雾算法,提出基于图形处理器GPU的高性能并行计算方案对算法的各个模块进行深度优化,在保证去雾效果的基础上,最大限度的提高算法处理速度。其技术方案包括如下:(1)初始化计算机:将图形处理器GPU与计算机连接起来,由计算机分配图形处理器GPU中的全局存储器;(2)将RGB彩色有雾图像I输入到计算机内存中,读取输入雾图I的数据,并将读取到的整型数据转换为浮点型数据存储在全局存储器中;(3)计算输入雾图I的暗通道图Idark:(3a)通过并行处理方式,求出输入雾图I中每个像素点的三通道最小值,生成一幅灰度图,并将数据存储在全局存储器中;(3b)将所得灰度图像与纹理存储进行绑定;(3c)通过并行处理方式,对绑定到纹理存储中的图像进行最小值滤波,即先进行行向最小值滤波,再对行向滤波后的结果进行列向最小值滤波,得到输入雾图I的暗通道图Idark,并将其存储在全局存储器中;(4)求取大气光值:(4a)采用合并访存方式,利用归约算法计算出输入雾图暗通道图像中亮度最大的0.1%的像素点,并将这些点的坐标存储在全局存储器中;(4b)采用合并访存方式,利用归约算法选定(4a)中存储坐标对应输入雾图I中最亮点的像素值作为大气光A值;(5)通过并行处理方式,计算图像中每个点的初始透射率 t ~ ( x ) = 1 - ω min c ( min y ∈ Ω ( x ) ( I c ( y ) A c ) ) - - - < 1 > ]]>用计算得到的所有生成初始透射率图并存储在全局存储器中,其中,Ac表示任意一个颜色通道的大气光值,常数ω取0.95;(6)通过并行处理方式,以输入雾图I的灰度图I'为引导图像,取滤波核尺寸为35×35,对初始透射率图进行引导滤波,将滤波后输出的精细化图像,作为最终透射率图t存储在全局存储器中;(7)通过并行处理方式,根据式<2>计算输入雾图I中每个点经过去雾之后的像素值J(x):I(x)=J(x)t(x)+A(1-t(x)) <2>其中,I(x)表示输入雾图I中任意x点的像素值,t(x)表示最终透射率图t中任意x点的透射率值,A代表大气光值;用计算得到的所有J(x)生成清晰无雾图像J,并将数据存储在全局存储器中;(8)采用合并访问的方式,从图形处理器GPU内部的全局存储器中读取所得清晰无雾图像J,输出到计算机内存中。与现有技术相比,本专利技术具有以下优点:第一,本专利技术提出将连接有图形处理器GPU的计算机作为硬件实现平台,采用Tesla-C2075GPU硬件架构,克服了现有技术中并行计算性能不高以及GPU资源利用率不高的缺点,使得本专利技术对高分辨率图像进行去雾处理的效率更高,速度更快;同时由于本专利技术采用多线程并行处理的方式,对一幅图像中多个像素点的计算同时进行,使得图形处理器GPU的资源得到了更加有效的利用。第二,本专利技术引入行列滤波分开进行的思想来实现最小值滤波算法,先对输入图像进行行向滤波,再对行向滤波的结果进行列向滤波,减少了单个像素的比较次数,减少了计算量,提高了最小值滤波算法的运算速度;同时由于本专利技术在最小值滤波算法的具体实现过程中引入纹理存储的访问模式,克服了滤波过程中大量的边界判断指令对warp流水线操作的中断影响,提高了数据访问速度,进一步提升了算法的运行本文档来自技高网
...

【技术保护点】
一种基于图形处理器的图像实时去雾方法,包括:(1)初始化计算机:将图形处理器GPU与计算机连接起来,由计算机分配图形处理器GPU中的全局存储器;(2)将RGB彩色有雾图像I输入到计算机内存中,读取输入雾图I的数据,并将读取到的整型数据转换为浮点型数据存储在全局存储器中;(3)计算输入雾图I的暗通道图Idark:(3a)通过并行处理方式,求出输入雾图I中每个像素点的三通道最小值,生成一幅灰度图,并将数据存储在全局存储器中;(3b)将所得灰度图像与纹理存储进行绑定;(3c)通过并行处理方式,对绑定到纹理存储中的图像进行最小值滤波,即先进行行向最小值滤波,再对行向滤波后的结果进行列向最小值滤波,得到输入雾图I的暗通道图Idark,并将其存储在全局存储器中;(4)求取大气光值:(4a)采用合并访存方式,利用归约算法计算出输入雾图暗通道图像中亮度最大的0.1%的像素点,并将这些点的坐标存储在全局存储器中;(4b)采用合并访存方式,利用归约算法选定(4a)中存储坐标对应输入雾图I中最亮点的像素值作为大气光A值;(5)通过并行处理方式,计算图像中每个点的初始透射率用计算得到的所有生成初始透射率图并存储在全局存储器中,其中,Ac表示任意一个颜色通道的大气光值,常数ω取0.95;(6)通过并行处理方式,以输入雾图I的灰度图I'为引导图像,取滤波核尺寸为35×35,对初始透射率图进行引导滤波,将滤波后输出的精细化图像,作为最终透射率图t存储在全局存储器中;(7)通过并行处理方式,根据式<2>计算输入雾图I中每个点经过去雾之后的 像素值J(x):I(x)=J(x)t(x)+A(1‑t(x))   <2>其中,I(x)表示输入雾图I中任意x点的像素值,t(x)表示最终透射率图t中任意x点的透射率值,A代表大气光值;用计算得到的所有J(x)生成清晰无雾图像J,并将数据存储在全局存储器中;(8)采用合并访问的方式,从图形处理器GPU内部的全局存储器中读取所得清晰无雾图像J,输出到计算机内存中。...

【技术特征摘要】
1.一种基于图形处理器的图像实时去雾方法,包括:(1)初始化计算机:将图形处理器GPU与计算机连接起来,由计算机分配图形处理器GPU中的全局存储器;(2)将RGB彩色有雾图像I输入到计算机内存中,读取输入雾图I的数据,并将读取到的整型数据转换为浮点型数据存储在全局存储器中;(3)计算输入雾图I的暗通道图Idark:(3a)通过并行处理方式,求出输入雾图I中每个像素点的三通道最小值,生成一幅灰度图,并将数据存储在全局存储器中;(3b)将所得灰度图像与纹理存储进行绑定;(3c)通过并行处理方式,对绑定到纹理存储中的图像进行最小值滤波,即先进行行向最小值滤波,再对行向滤波后的结果进行列向最小值滤波,得到输入雾图I的暗通道图Idark,并将其存储在全局存储器中;(4)求取大气光值:(4a)采用合并访存方式,利用归约算法计算出输入雾图暗通道图像中亮度最大的0.1%的像素点,并将这些点的坐标存储在全局存储器中;(4b)采用合并访存方式,利用归约算法选定(4a)中存储坐标对应输入雾图I中最亮点的像素值作为大气光A值;(5)通过并行处理方式,计算图像中每个点的初始透射率用计算得到的所有生成初始透射率图并存储在全局存储器中,其中,Ac表示任意一个颜色通道的大气光值,常数ω取0.95;(6)通过并行处理方式,以输入雾图I的灰度图I'为引导图像,取滤波核尺寸为35×35,对初始透射率图进行引导滤波,将滤波后输出的精细化图像,作为最终透射率图t存储在全局存储器中;(7)通过并行处理方式,根据式<2>计算输入雾图I中每个点经过去雾之后的 像素值J(x):I(x)=J(x)t(x)+A(1-t(x)) <2>其中,I(x)表示输入雾图I中任意x点的像素值,t(x)表示最终透射率图t中任意x点的透射率值,A代表大气光值;用计算得到的所有J(x)生成清晰无雾图像J,并将数据存储在全局存储器中;(8)采用合并访问的方式,从图形处理器GPU内部的全局存储器中读取所得清晰无雾图像J,输出到计算机内存中。2.根据权利要求1所述的基于图形处理器的图像实时去雾方法,其特征在于:步骤(3a)、步骤(3c)步骤(5)、步骤(6)、步骤(7)中的并行处理方式是指,单线程处理单像素点,多个线程同时处理多个点。3.根据权利要求1所述的基于图形处理器的图像实时去雾方法,其特征在于:步骤(3b)中所述的将所得灰度图像与纹理存储进行绑定是指,在滤波核尺寸取15×15的最小值滤波过程中,采用纹理存储的访问模式对灰度图像中的数据进行访问,以克服最小值滤波中边界判断指令对warp流水线操作的中断影响,提高数据的访问速度。4.根据权利要求1所述的基于图形处理器的图像实时去雾方法,其特征在于:步骤(4a)、步骤(4b)中的合并访存方式是指,在图形处理器GPU中,采用共享存储器的访问模式对数据进行处理,同一个ha...

【专利技术属性】
技术研发人员:吴宪云王茹李云松雷杰王柯俨刘凯
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1