Journal of Geo-information Science >
Implementation of Retinex Image Enhancement Algorithm on GPU Platform
Received date: 2018-11-13
Request revised date: 2019-03-20
Online published: 2019-04-24
Supported by
The National Key Research and Development Program of China, No.2017YFB0503001, 2016YFC0803000
Copyright
With the advent of the era of UAV,the real-time requriements for massive data processing are getting higher.Achieve parallel processing of Retinex image enhancement algorithm on the GPU (Graphic Processing Unit) platform, which improves the processing speed of Retinex image enhancement algorithm for processing high resolution digital images.Firstly, by data combine-accessing and memory data interaction technology realize fast access of data, shorten the transmission time of data between different kinds of memory, and improve the efficiency of data access. Then, using kernel instruction optimization and data parallel computing technology, the multi-core programming of Retinex image enhancement algorithm on GPU platform is realized.Finally, the asynchronous execution mode of the host and the device is used to perform parallel calculation of the kernel data while data transmission, and the execution time of the algorithm on the GPU platform is further shortened by the parallel of the task level. With the powerful parallel computing power of the GPU, the processing speed of the Retinex algorithm is greatly improved. For images of different resolutions, the processing speed of the Retinex image enhancement algorithm is tens of times higher than that of the CPU platform. Processing an image with a resolution of 2048×2048 pixels requires only 38.04 ms, and the processing speed of the algorithm is 40 times higher than that of the CPU.
Key words: GPU; image enhancement; Retinex algorithm; parallel computing; UAV
WANG Hao , WANG Hanyu , YANG Mingyu , XU Yongsen . Implementation of Retinex Image Enhancement Algorithm on GPU Platform[J]. Journal of Geo-information Science, 2019 , 21(4) : 623 -629 . DOI: 10.12082/dqxxkx.2019.180576
Fig. 1 Flow chart of implementation of Retinex algorithm on GPU图1 Retinex算法在GPU上实现流程 |
Fig. 2 Relationship of data access in CUDA storage图2 CUDA存储器中的数据访问关系 |
Fig. 3 Memory access of Retinex图3 Retinex算法的存储器使用 |
Fig. 4 Tasks parallel of Retinex algorithm图4 Retinex算法任务间并行 |
Fig. 5 Results of image enhancement图5 图像增强效果 |
Tab. 1 Objective evaluation of image quality表1 图像质量客观评价 |
信息熵 | 图像均值 | 图像标准差 | |
---|---|---|---|
原始图像1 | 6.7452 | 138.2679 | 45.1426 |
增强图像1 | 7.1960 | 157.8206 | 60.9217 |
原始图像2 | 5.8062 | 125.9326 | 40.8128 |
增强图像2 | 6.4915 | 136.2894 | 65.9286 |
原始图像3 | 6.2948 | 140.5862 | 51.8146 |
增强图像3 | 6.5042 | 150.6439 | 69.2931 |
Tab. 2 Results of time test for Retinex algorithm on different platform (ms)表2 Retinex算法在不同平台上运行时间测试结果 |
图像大小 | 1024×1024 | 2048×1050 | 2048×2048 |
---|---|---|---|
CPU处理时间① | 395.80 | 816.73 | 1572.59 |
GPU处理时间② | 13.62 | 23.15 | 38.04 |
①/② | 29.06 | 35.28 | 41.34 |
The authors have declared that no competing interests exist.
[1] |
[
|
[2] |
[
|
[3] |
[
|
[4] |
[
|
[5] |
[
|
[6] |
[
|
[7] |
|
[8] |
[
|
[9] |
[
|
[10] |
[
|
[11] |
[
|
[12] |
[
|
[13] |
[
|
[14] |
[
|
[15] |
[
|
[16] |
[
|
[17] |
[
|
[18] |
|
[19] |
|
[20] |
[
|
[21] |
|
/
〈 | 〉 |