Acceleration of an Improved Retinex Algorithm

Abstract

Retinex is an image restoration method and the center/surround Retinex is appropriate for parallelization because it utilizes a convolution operation with large kernel size to achieve dynamic range compression and color/lightness rendition. However, its great capability for image enhancement comes with intensive computation. This paper presents a GPURetinex, which is a data parallel algorithm based on GPGPU/CUDA. The GPURetinex exploits GPGPU's massively parallel architecture and hierarchical memory to improve efficiency. The GPURetinex has been further improved by optimizing the memory usage and out-of-boundary extrapolation in the convolution step. In our experiments, the GPURetinex can gain 72 times speedup compared with the optimized single-threaded CPU implementation by OpenCV for the images with 2048 × 2048 resolution. The proposed method also outperforms a Retinex implementation based on the NPP (nVidia Performance Primitives).

Cite

Text

Wang and Huang. "Acceleration of an Improved Retinex Algorithm." IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, 2011. doi:10.1109/CVPRW.2011.5981816

Markdown

[Wang and Huang. "Acceleration of an Improved Retinex Algorithm." IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, 2011.](https://mlanthology.org/cvprw/2011/wang2011cvprw-acceleration/) doi:10.1109/CVPRW.2011.5981816

BibTeX

@inproceedings{wang2011cvprw-acceleration,
  title     = {{Acceleration of an Improved Retinex Algorithm}},
  author    = {Wang, Yuan-Kai and Huang, Wen-Bin},
  booktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops},
  year      = {2011},
  pages     = {72-77},
  doi       = {10.1109/CVPRW.2011.5981816},
  url       = {https://mlanthology.org/cvprw/2011/wang2011cvprw-acceleration/}
}