{'fraction_non_alphanumeric': 0.019262981574539362, 'fraction_numerical': 0.005862646566164154, 'mean_word_length': 5.494565217391305, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
GPU implementation of multi-scale Retinex image enhancement algorithm

Multi-scale Retinex algorithm is an image enhancement algorithm that aims at image reconstruction. The algorithm maintains the high fidelity and the dynamic range compression of the image, so the enhancement effect is obvious. The algorithm exploits a large number of convolution operations to achieve dynamic range compression and color/brightness rendition, and the calculation time increased significantly with the increase of the image resolution. In order to improve the real-time performance of the algorithm, a multi-scale Retinex image enhancement algorithm based on GPU CUDA is proposed in this paper. Through the data mining and parallel analysis of the algorithm, time-consuming modules of the calculation, such as Gauss filter, convolution, logarithm difference, are implemented in GPU by exploiting the massively parallel threading and heterogeneous memory hierarchy of GPGPU to improve efficiency. The experimental results show that the algorithm can improve the computing speed significantly in NVIDIA Tesla K20 and CUDA7.5, and with the increase of image resolution, the maximum speedup can reach 202 times.