CN103413273A - 一种基于gpu加速实现图像复原处理方法 - Google Patents
一种基于gpu加速实现图像复原处理方法 Download PDFInfo
- Publication number
- CN103413273A CN103413273A CN2013103084184A CN201310308418A CN103413273A CN 103413273 A CN103413273 A CN 103413273A CN 2013103084184 A CN2013103084184 A CN 2013103084184A CN 201310308418 A CN201310308418 A CN 201310308418A CN 103413273 A CN103413273 A CN 103413273A
- Authority
- CN
- China
- Prior art keywords
- image
- gpu
- mtf
- processing
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
一种基于GPU加速实现图像复原处理方法,(1)构造二维MTF矩阵;(2)将待复原图像和二维MTF矩阵拷贝到GPU缓存中;(3)二维MTF矩阵从GPU缓存载入共享存储中;(4)将待复原图像分割成影像块;(5)在GPU上对每个影像块进行快速傅里叶变换;(6)将GPU处理分成多个线程块,在每一个线程块中对一个逻辑块进行频域滤波;(7)对频域滤波后的每个逻辑块分别进行傅里叶反变换处理,将处理后的所有逻辑块从GPU缓存中拷出,即完成图像复原处理。
Description
技术领域
本发明涉及大数据量遥感数据的图像复原处理方法。
背景技术
光学卫星在获取遥感图像时要经过大气、光学系统、CCD等一系列环节,各个环节均可能对图像产生退化作用,造成影像模糊,引起图像质量的下降。为了改善成像的清晰度和成像质量,需要对数据进行复原处理。目前的MTFC处理研究都是以中央处理器(CPU)为核心,随着遥感影像空间分辨率和量化分辨率的提高,使得下传影像数据量不断增大,对于高空间分辨率的卫星影像MTFC处理,由于计算量大造成运行速度慢,耗时长,成为地面系统图像恢复实时处理的一个瓶颈,大多数的遥感图像处理算法都是计算密集型的,串行方法在应用中遇到了难以实时计算的困难。
随着并行计算机及并行处理技术的发展,并行图像处理技术应运而生,并成为图像处理领域和计算机科学领域的一个重要发展方向。所谓并行图像处理技术,就是根据图像处理和并行处理的基本原理,研究各类串行图像处理算法并行化实现的原理、技术和方法,以及在不同互连结构并行计算机上的实现,以满足海量数据实时或准实时处理的要求。可编程图形处理器(ProgrammableGraphic Processing Unit,可编程GPU)是目前计算机上普遍采用的图形图像处理专用器件,GPU是新一代性价比高的高性能计算技术,且在近年来发展迅速。图形处理器在并行数据运算上具有强大的运算功能以及相对较高的并行运算速度,2006年11月,英伟达公司推出了计算统一设备架构(Compute UnifiedDevice Architecture,CUDA),这是一种新的并行编程模型和指令集架构的通用计算架构,能够利用英伟达GPU的并行计算引擎比CPU更高效的解决许多复杂计算任务,目前已经在大气辐射传输计算、图像编码以及光纤通信等领域得到应用,显著地提高了传统算法处理的效率。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种基于GPU加速实现图像复原的方法。
本发明的技术解决方案是:一种基于GPU加速实现图像复原处理方法,步骤如下:
(1)根据实验室测量获得的静态传递函数值,拟合MTF曲线,构造二维MTF矩阵;
(2)将待复原图像和二维MTF矩阵拷贝到GPU缓存中;
(3)二维MTF矩阵从GPU缓存载入共享存储中;
(4)将待复原图像分割成影像块;分割步骤如下:
(4.1)将待复原图像分割成与二维MTF矩阵大小相同的影像块;
(4.2)将每个影像块与位于其左方及上方的两个影像块在行列两个方向都重叠16个像元;
(5)在GPU上对每个影像块进行快速傅里叶变换;
(6)将GPU处理分成多个线程块,在每一个线程块中对一个逻辑块进行频域滤波;
(7)对频域滤波后的每个逻辑块分别进行傅里叶反变换处理,将处理后的的所有逻辑块从GPU缓存中拷出,即完成图像复原处理。
本发明与现有技术相比有益效果为:
(1)本发明使用GPU并行计算技术对图像复原进行加速处理,并根据算法特征进行优化,提高了运算速度,大大减少了算法执行时间,满足地面处理系统准实时处理要求。
(2)经过本发明复原处理后,影像比原图更为清晰,细节更为丰富,通过客观指标对比,CPU串行MTFC处理及GPU并行MTFC处理后的图像结果基本一致。
(3)本发明设计多级多层次分块技术,分为影像块、线程块、逻辑块等多级分块方法,使得无法细化到单个像素的频域运算也可以在GPU上进行并行处理,最大化的提高了系统资源的占用率。
因此,本发明研究的基于GPU的遥感影像并行化处理方法,既可以充分挖掘现有计算机硬件的计算资源,提高图像处理的速度,又提供一个低成本的并行机编程试验平台,具有十分重要的意义。
附图说明
图1为本发明方法流程图;
图2a为常规图像复原边界示意图;图2b为本发明重叠分块方法示意图;
图3为本发明CUDA编程模型实例图;
图4a为待恢复图像,图4b为传统处理效果图,图4c为本发明处理效果图。
具体实施方式
下面结合附图及实例对本发明做详细说明,如图1所示,方法步骤具体如下:
(1)根据实验室测量获得的静态传递函数值,拟合MTF曲线,构造二维MTF矩阵;
对相机实验室所测得的MTF离散数据进行归一化处理,拟合插值得到一维MTF。
以上求得的只是水平(沿轨)或垂直(跨轨)方向的MTF曲线,而建立MTF复原模型必须要构建二维的MTF矩阵。常规的处理方法是将水平MTF列向量乘以垂直MTF列向量,即:
式中,MTFu是在频率u处水平的MTF值;MTFv是在频率v处垂直的MTF值;MTF(u,v)是二维频率坐标为(u,v)处的MTF值。
这种方法求得的45方向的MTF值与水平或垂直方向的MTF值差别很大,为了消除这种差别,同时取水平与垂直方向0.5频率处MTF值的平均值再衰减90%作为方向0.5频率处的MTF值,再根据水平与垂直方向的MTF向量之间的比例关系进行插值,即可得到二维插值MTF矩阵。由于模的对称性,只需要求出0~0.5频率处的MTF值,根据对称性即可得到-0.5~0频率处的MTF值,0.5频率即截止频率的一半。
(2)将待复原图像和二维MTF矩阵拷贝到GPU缓存中;
(3)二维MTF矩阵从GPU缓存载入共享存储中;
(4)将待复原图像分成与MTF矩阵大小相同的影像块,分割步骤如下:
(4.1)将待复原图像分割成与二维MTF矩阵大小相同的影像块;
对图像进行分块滤波处理,因为影像数据量大,一次性读入内存和写入磁盘是比较耗时的,而且内存中数据量较大会影像CPU的计算速度,同时对大范围图像进行卷积运算会由于掩模相对较小,导致计算量呈现指数型增长。考虑到MTF矩阵的大小选取为512*512,即掩模大小为512*512,在做卷积的过程中对影像数据进行分块的大小即影像块也为512*512像素,然后按照读入分块、执行卷积运算、输出分块到磁盘的步骤进行处理,这样可以将指数型增长转变为乘性增长方式。
(4.2)将每个影像块与位于其左方及上方的两个影像块在行列两个方向都重叠16个像元;
本发明基于MTF的复原要求每次处理的图像与二维MTF矩阵大小一致,而高分辨率、宽覆盖影像比较大,需要对图像进行分块处理。由于复原处理是频域卷积计算,在本发明中,为了消除维纳滤波的边缘影响,整个影像的四周边缘不进行复原处理,如图2a所示,对ABCD为顶点的图像进行处理时,上下左右各8个像元的边缘保留原图像,同时,如果直接对图像进行分块处理,会产生块与块之间的边缘效应,造成分块边界部分的复原质量下降,为了保证复原质量,本文设计了重叠分块的方法,如图2b所示,一个分块(即影像块)与其左方及上一个分块在行方向及列方向上都重叠16个像元,那么,重叠的16个像元区域会在相邻的左右两个影像块中复原计算两次,将16个像元重叠区中间分割划为左右两个8像元区,左8像元区的复原结果保存左影像块复原时的结果,右8像元区保存右影像块复原时的结果,上下相邻影像块同理处理,这样就能保证复原算法在分块边缘位置的连续。
(5)在GPU上对每个影像块进行快速傅里叶变换;
(6)将GPU处理分成多个线程块,定义一个线程块一次处理的图像范围为一个逻辑块,在每一个线程块中对逻辑块大小的图像进行频域滤波;
在CUDA编程模型中,必须要有足够多的活跃线程才能提高计算效率,隐藏访存延时。因此,线程块和逻辑块的大小,会影响复原算法的执行效率。本发明通过COC(CUDA Occupancy Calculator)对算法进行分析发现,在CUDA计算能力规格为2.1的情况下,当线程块为256个(即16*16),逻辑块大小为32*32像素,即每个线程块使用的共享存储器数据量为8192字节时,GPU线程束占有率达到最大值。
(7)对频域滤波后的每个逻辑块分别进行傅里叶反变换处理,将处理后的的所有逻辑块从GPU缓存中拷出,即完成图像复原处理。
实施例
本发明方法可以在CUDA编程环境中实现,如图3所示CUDA编程模式,运行在GPU上的CUDA并行计算函数称为kernel,一个完整的CUDA程序是由一系列的设备端kernel函数并行步骤和主机端的串行处理步骤共同组成,而kernel是整个CUDA程序中的一个可并行执行步骤。在GPU端kernel函数是以线程网络(grid)的形式组织,每个grid再由若干个线程块(block)组成,每个block中再包含很多个线程(thread),一个内核函数中的线程数量可以达到上千甚至上万,所以在GPU上同时运行的线程数量是相当惊人的。GPU线程的发起是轻量的,其创建线程的系统开销非常小,线程切换所耗费的时间也相当短。
定义GPU主要kernel函数,GPU程序一般是通过kernel函数来实现的,本发明定义5个主要顺序执行的kernel函数:(1)kernel1将图像量化类型转换为适合傅立叶变换的复合类型;(2)kernel2进行傅立叶变换;(3)kernel3图像滤波复原;(4)kernel4进行傅立叶反变换;(5)kernel5将复合类型转为图像量化类型。
对图像进行分块滤波处理,并对维纳滤波边缘效应进行处理。因为影像数据量大,一次性读入内存和写入磁盘是比较耗时的,而且内存中数据量较大会影响CPU的计算速度,同时对大范围图像进行卷积运算会由于掩模相对较小,导致计算量呈现指数型增长。然后按照读入分块、执行卷积运算、输出分块到磁盘的步骤进行处理,这样可以将指数型增长转变为乘性增长方式。
图4a为待恢复图像,图4b为传统处理效果图,图4c为本发明处理效果图。
表1不同图像大小下的算法执行平均时间和加速比
以上试验的软硬件环境为:硬件平台为Intel Core2Duo i7处理器,8G内存,GPU平台为NVIDIA Quadro2000M。操作系统为Windows7,编译环境为Microsoft Visual Studio2010、NVIDIA CUDA编译器NVCC。
由图4对比效果图以及表1加速比可知,本发明与原CPU串行算法处理结果质量一致,但加速显著,通过GPU对各耗时算法进行加速后,在NVIDIA一般显卡环境下,即可达到45倍的加速比,大幅度提高了MTFC处理效率。并且随着图像大小的增加,算法加速比逐渐增高,说明对于数据量越大的图像,GPU加速效果越明显,可以满足地面系统实时处理的要求。
本发明未详细说明部分属于本领域技术人员公知常识。
Claims (1)
1.一种基于GPU加速实现图像复原处理方法,其特征在于步骤如下:
(1)根据实验室测量获得的静态传递函数值,拟合MTF曲线,构造二维MTF矩阵;
(2)将待复原图像和二维MTF矩阵拷贝到GPU缓存中;
(3)二维MTF矩阵从GPU缓存载入共享存储中;
(4)将待复原图像分割成影像块;分割步骤如下:
(4.1)将待复原图像分割成与二维MTF矩阵大小相同的影像块;
(4.2)将每个影像块与位于其左方及上方的两个影像块在行列两个方向都重叠16个像元;
(5)在GPU上对每个影像块进行快速傅里叶变换;
(6)将GPU处理分成多个线程块,在每一个线程块中对一个逻辑块进行频域滤波;
(7)对频域滤波后的每个逻辑块分别进行傅里叶反变换处理,将处理后的的所有逻辑块从GPU缓存中拷出,即完成图像复原处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103084184A CN103413273A (zh) | 2013-07-22 | 2013-07-22 | 一种基于gpu加速实现图像复原处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103084184A CN103413273A (zh) | 2013-07-22 | 2013-07-22 | 一种基于gpu加速实现图像复原处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103413273A true CN103413273A (zh) | 2013-11-27 |
Family
ID=49606278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013103084184A Pending CN103413273A (zh) | 2013-07-22 | 2013-07-22 | 一种基于gpu加速实现图像复原处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103413273A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750560A (zh) * | 2015-03-06 | 2015-07-01 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105245881A (zh) * | 2015-09-28 | 2016-01-13 | 杭州九言科技股份有限公司 | 一种数字图像滤镜处理的方法和装置 |
CN107369134A (zh) * | 2017-06-12 | 2017-11-21 | 上海斐讯数据通信技术有限公司 | 一种模糊图像的图像复原方法 |
CN110390679A (zh) * | 2019-07-03 | 2019-10-29 | 上海联影智能医疗科技有限公司 | 图像处理方法、计算机设备和可读存储介质 |
CN113554070A (zh) * | 2021-07-07 | 2021-10-26 | 石家庄铁道大学 | 基于过渡概率矩阵和轻量级网络的轴承故障诊断方法 |
CN115423696A (zh) * | 2022-07-29 | 2022-12-02 | 上海海洋大学 | 一种自适应线程参数的遥感正射影像并行生成方法 |
WO2024098821A1 (zh) * | 2022-11-11 | 2024-05-16 | 上海哔哩哔哩科技有限公司 | Av1的滤波方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000040144A (ja) * | 1998-07-23 | 2000-02-08 | Omron Corp | 画像処理装置 |
CN101441764A (zh) * | 2008-12-31 | 2009-05-27 | 中国资源卫星应用中心 | 一种mtfc遥感图像复原方法 |
CN101635050A (zh) * | 2009-06-26 | 2010-01-27 | 武汉大学 | 一种图像复原方法 |
CN102779333A (zh) * | 2012-07-10 | 2012-11-14 | 武汉大学 | 一种基于卡尔曼滤波的光学影像复原方法 |
-
2013
- 2013-07-22 CN CN2013103084184A patent/CN103413273A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000040144A (ja) * | 1998-07-23 | 2000-02-08 | Omron Corp | 画像処理装置 |
CN101441764A (zh) * | 2008-12-31 | 2009-05-27 | 中国资源卫星应用中心 | 一种mtfc遥感图像复原方法 |
CN101635050A (zh) * | 2009-06-26 | 2010-01-27 | 武汉大学 | 一种图像复原方法 |
CN102779333A (zh) * | 2012-07-10 | 2012-11-14 | 武汉大学 | 一种基于卡尔曼滤波的光学影像复原方法 |
Non-Patent Citations (3)
Title |
---|
LIU YANG FANG ET AL.: "Research on GPU-based Real-time MTF Compensation Algorithm", 《2011 INTERNATIONAL SYMPOSIUM ON IMAGE AND DATA FUSION》 * |
葛苹 等: "高分辨率TDI-CCD 成像数据的自适应MTF 图像复原处理研究", 《国土资源遥感》 * |
马冬冬 等: "并行图像复原与超分辨处理系统的设计与实现", 《光学精密工程》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750560A (zh) * | 2015-03-06 | 2015-07-01 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105245881A (zh) * | 2015-09-28 | 2016-01-13 | 杭州九言科技股份有限公司 | 一种数字图像滤镜处理的方法和装置 |
CN105245881B (zh) * | 2015-09-28 | 2019-04-19 | 杭州九言科技股份有限公司 | 一种数字图像滤镜处理的方法和装置 |
CN107369134A (zh) * | 2017-06-12 | 2017-11-21 | 上海斐讯数据通信技术有限公司 | 一种模糊图像的图像复原方法 |
CN110390679A (zh) * | 2019-07-03 | 2019-10-29 | 上海联影智能医疗科技有限公司 | 图像处理方法、计算机设备和可读存储介质 |
CN110390679B (zh) * | 2019-07-03 | 2022-04-26 | 上海联影智能医疗科技有限公司 | 图像处理方法、计算机设备和可读存储介质 |
CN113554070A (zh) * | 2021-07-07 | 2021-10-26 | 石家庄铁道大学 | 基于过渡概率矩阵和轻量级网络的轴承故障诊断方法 |
CN113554070B (zh) * | 2021-07-07 | 2022-03-25 | 石家庄铁道大学 | 基于过渡概率矩阵和轻量级网络的轴承故障诊断方法 |
CN115423696A (zh) * | 2022-07-29 | 2022-12-02 | 上海海洋大学 | 一种自适应线程参数的遥感正射影像并行生成方法 |
WO2024098821A1 (zh) * | 2022-11-11 | 2024-05-16 | 上海哔哩哔哩科技有限公司 | Av1的滤波方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11508076B2 (en) | Learning rigidity of dynamic scenes for three-dimensional scene flow estimation | |
US10467763B1 (en) | System and method for optical flow estimation | |
CN103413273A (zh) | 一种基于gpu加速实现图像复原处理方法 | |
US10986325B2 (en) | Scene flow estimation using shared features | |
Asano et al. | Performance comparison of FPGA, GPU and CPU in image processing | |
DE112020001249T5 (de) | Dünnbesetzt-Optimierungen für eine Matrixbeschleunigerarchitektur | |
DE102020129969A1 (de) | Verbesserungen der verarbeitung und des caching von graphikverarbeitungseinheiten | |
DE102020129251A1 (de) | Adaptives verformbares kernvorhersagenetzwerk zum bildentrauschen | |
KR101734449B1 (ko) | 한정된 개수의 계층상에 레이블 전파를 위한 정렬 격자 | |
CN112149795A (zh) | 用于自监督事件学习与异常检测的神经架构 | |
EP3742350A1 (en) | Parallelization strategies for training a neural network | |
DE112020000854T5 (de) | Thread-gruppen-planung für die grafikverarbeitung | |
CN110135569A (zh) | 一种异构平台神经元定位三级流水并行方法、系统及介质 | |
DE112020000848T5 (de) | Skalarkernintegration | |
DE102020129409A1 (de) | Dynamisches unterteilen von aktivierungen und kernels zum verbessern von speichereffizienz | |
CN111738276A (zh) | 基于多核卷积神经网络的图像处理方法、装置及设备 | |
DE112022004016T5 (de) | Zeitlich amortisierte Überabtastung unter Verwendung eines faltenden neuronalen Netzwerks mit gemischter Genauigkeit | |
Chang et al. | Multi-directional Sobel operator kernel on GPUs | |
CN105183562B (zh) | 一种基于cuda技术对栅格化数据进行抽阶的方法 | |
Quesada-Barriuso et al. | Efficient GPU asynchronous implementation of a watershed algorithm based on cellular automata | |
CN112035995B (zh) | 基于gpu计算技术的非结构网格潮汐潮流数值模拟方法 | |
DE102022125600A1 (de) | Eingabefilterung und abtaster-beschleunigung für supersampling | |
DE112021007132T5 (de) | Berechnung der bewegung von pixeln zwischen bildern | |
Dawson et al. | Accelerating ant colony optimization-based edge detection on the GPU using CUDA | |
Goyal et al. | Comparative study on edge detection algorithms using OpenACC and OpenMPI on multicore systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131127 |