Retinex图像增强在GPU平台上的实现
作者简介:王 浩(1986-),男,吉林长春人,助理研究员,研究方向为航空数字图像处理。E-mail: wanghao7600@163.com
收稿日期: 2018-11-13
要求修回日期: 2019-03-20
网络出版日期: 2019-04-24
基金资助
国家重点研发计划项目(2017YFB0503001、2016YFC0803000)
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
伴随着无人机时代的到来,对海量数据处理的实时性要求越来越高。本文在GPU(Graphic Processing Unit)平台上实现了Retinex图像增强算法的并行处理,提升了Retinex图像增强算法处理高分辨率数字图像的处理速度。首先,通过数据合并访问和内存数据交互技术实现了数据的快速访问,缩短了数据在不同种类内存间的传输时间,提升了数据访问的效率;然后,采用内核指令优化和数据并行计算技术,实现了Retinex图像增强算法在GPU平台上的多核程序设计;最后,采用主机端和设备端的异步执行模式,在数据传输的同时进行内核数据的并行计算,通过任务级的并行进一步缩短了算法在GPU平台上的执行时间。研究表明,对于不同分辨率的图像,Retinex图像增强算法的处理速度相比于CPU平台均有数十倍的提高,如处理一帧分辨率为2048像元×2048像元的图像仅需要38.04 ms,算法的处理速度较CPU提高了40倍。
王浩 , 王含宇 , 杨名宇 , 许永森 . Retinex图像增强在GPU平台上的实现[J]. 地球信息科学学报, 2019 , 21(4) : 623 -629 . DOI: 10.12082/dqxxkx.2019.180576
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
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] |
|
/
〈 | 〉 |