GPU-based parallel image processing algorithm for flood and drought monitoring
ZHAO Xiaochen1(), WU Haonan2, LI Linyi1, MENG Lingkui1()
1. School of Remote Sensing and Information Engineering, Wuhan University, Wuhan 430079, China 2. Pearl River Comprehensive Technology and Network Information Center, Guangzhou 510611, China
Aiming at the time-consuming problems in the remote sensing image processing for flood and drought monitoring, the authors analyzed related workflows and algorithms including radiometric correction, geometric correction, and the calculation of remote sensing indices. Based on the storage structure and program design model of compute unified device architecture (CUDA), the remote sensing image processing was divided into several modules, including data reading, histogram statistics, grid partition, band calculation, resampling, and data output. Among them, parallel processing schemes were designed for the modules of band calculation and resampling, and the optimal cell sizes were determined for the module of grid partition. Meanwhile, the data transfer efficiency was increased through the grid data mapping based on a graphics processing unit (GPU). Finally, a parallel processing algorithm based on CPU-GPU collaboration in CUDA was proposed. The experiment results are as follows. The modules of radiometric correction and band calculation of remote sensing indices showed a 58.9% saving in time. Meanwhile, the geometric correction module enjoyed the most significant time-saving effects, and the final speedup ratios of the resampling methods of nearest neighbor and bilinear interpolation reached up to nine and seven times, respectively.
Fang L Y, Wang M, Li D R. A CPU-GPU co-processing orthographic rectification approach for optical satellite imagery[J]. Acta Geodaetica et Cartographica Sinica, 2013, 42(5):668-675.
Zhang G, Pan H B, Jiang W S. Epipolar resampling and epipolar geometry reconstruction of linear array scanner scenes based on RPC model[J]. Remote Sensing for Land and Resources, 2010, 22(4):1-5.doi: 10.6046/gtzyyg.2010.04.01.
doi: 10.6046/gtzyyg.2010.04.01
[4]
McFeeters S K. The use of the normalized difference water index (NDWI) in the delineation of open water features[J]. International Journal of Remote Sensing, 1996, 17(7):1425-1432.
doi: 10.1080/01431169608948714
Xu H Q. A study on information extraction of water body with the modified normalized difference water index(MNDWI)[J]. Journal of Remote Sensing, 2005, 1(5):589-595.
Ma X D, Cui B G, Zhong Y, et al. A fast processing method for high-resolution remote sensing image based on GPU and memory mapping file[J]. Marine Sciences, 2018, 42(1):139-146.
Shen X J, Hou B C, Han D J, et al. Calculation of enhanced vegetation index based on GPU and matrix partition[J]. Remote Sensing Information, 2018, 33(3):63-69.
[8]
NVIDIA.CUDA 2.0 for windows CUDA 2.0 programming guide[EB/OL]. [2008-06-07]. http://developer.download.nvidia.com/compute/cuda/20/docs/NVIDIA CUDA Programming Guide 2.0.pdf.20.
[9]
Rajpoot P S, Kumar A. Impact assessment of meteorological drought on rainfed agriculture using drought index and NDVI modeling:A case study of Tikamgarh district[J]. Applied Geomatics, 2019, 11(1):15-23.
doi: 10.1007/s12518-018-0230-6
[10]
Huang F, Chen Y, Li L, et al. Implementation of the parallel mean shift-based image segmentation algorithm on a GPU cluster[J]. International Journal of Digital Earth, 2019, 12(3):328-353.
doi: 10.1080/17538947.2018.1432709
[11]
Heo J M, Jo G, Han H J, et al. Accelerated code generator for processing ocean color remote sensing data on GPU[C]// IEEE.IGARSS 2018 IEEE International Geoscience and Remote Sensing Symposium, 2018:9218-9221.
[12]
Nakamura T, Murakami S, Sambo L, et al. Efficacy of a GPGPU-acceleration to inundation flow simulation in tonle sap lake in cambodia[J]. Engineering Journal, 2019, 23(1):151-169.
doi: 10.4186/ej
[13]
Zhou H F, Zhao J. Parallel programming design and storage optimization of remote sensing image registration based on GPU[J]. Journal of Computer Research and Development, 2012, 49(1):281-286.
[14]
Guo X, Wu J, Wu Z, et al. Parallel computation of aerial target reflection of background infrared radiation:Performance comparison of OpenMP,OpenACC,and CUDA implementations[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2016, 9(4):1653-1662.
doi: 10.1109/JSTARS.4609443
[15]
Gegout P, Oberlé P, Desjardins C, et al. Ray-tracing of GNSS signal through the atmosphere powered by CUDA,HMPP and GPUs technologies[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2014, 7(5):1592-1602.
doi: 10.1109/JSTARS.4609443
[16]
Norman M, Larkin J, Vose A, et al. A case study of CUDA FORTRAN and OpenACC for an atmospheric climate kernel[J]. Journal of Computational Science, 2015, 9(1):1-6.
doi: 10.1016/j.jocs.2015.04.022
[17]
Peña A J, Reaño C, Silla F, et al. A complete and efficient CUDA-sharing solution for HPC clusters[J]. Parallel Computing, 2014, 40(10):574-588.
doi: 10.1016/j.parco.2014.09.011