Efficient Parallel Implementation of Non-Local Means Algorithm on GPU
The Non-Local Means (NLM) algorithm has become a crucial preprocessing technique for image processing due to its effectiveness in denoising while preserving fine details.This method has been proven to be highly efficient in high-demand tasks within industrial applications such as medical imaging and remote sensing.However, the computation intensive and memory access intensive characteristics of the NLM algorithm hinder its real-time applications.To address this issue, we propose an efficient GPU parallel kernel to minimize redundant computations and memory accesses.The kernel integrates two nested reuse strategies to handle redundant computations in two dimensions: for columns, we leverage the fast data exchange mechanism to reuse column computation results via on-chip registers; for rows, we use a sliding window strategy, utilizing GPU global memory as an intermediary to store and reuse similarity values between filtered rows.Experimental results demonstrate that, compared to OpenCV, our kernel achieves an average speedup of 4.5x on the RTX 3080 platform across a range of image data, showcasing exceptional performance. CCS Concepts
Authors
- Qiong Chang (ORCID: https://orcid.org/0000-0002-4447-0480)
- Jun Miyazaki (ORCID: https://orcid.org/0000-0002-3038-7678)
- Yun Li (ORCID: https://orcid.org/0000-0003-1753-7317)
- Xiang Li (ORCID: https://orcid.org/0000-0001-6933-6491)
Institutions
- Institute of Science Tokyo (JP)
- Nanjing University (CN)
Publication Details
- Published
- 2025-03-01
- DOI
- https://doi.org/10.1145/3725798.3725807
- Citations
- 2
- Primary Topic
- Image and Signal Denoising Methods
- Type
- article
- Field-Weighted Citation Impact
- 2.55
Funders
- Japan Society for the Promotion of Science