# A 4K-Capable FPGA Implementation of Single Image Haze Removal Using Hazy Particle Maps
## 2 Haze Removal with Hazy Particle Maps
This could be verified by the results of processing time analysis in Table 1.  
In Reference [11], authors provided a comprehensive assessment of the dehazing performance with three benchmarking methods [6; 7; 9] on both real hazy image dataset [27] and synthetic dataset [28]. In order to replicate their work, we carry out a thorough evaluation on three new image datasets, including D-HAZY [29], O-HAZE [30] and I-HAZE [31]. D-HAZY is a synthetic dataset consisting of over 1400 images of real scenes and corresponding depth maps captured by a Microsoft Kinect camera. The atmospheric scattering model is then employed to synthesize hazy images with two assumptions: (i) the atmospheric light is uniform and (ii) the haze is homogeneous. O-HAZE and I-HAZE, on the other hand, are real datasets comprising pairs of hazy and clear images of outdoor and indoor scenes, respectively. To evaluate performance of haze removal algorithms, Mean Squared Error (MSE), Structural Similarity (SSIM) [32], Tone-Mapped image Quality Index (TMQI) [33] and Fog Aware Density Evaluator (FADE) [34] are used. SSIM and TMQI take on values within the range [0,1], in which higher values are better. In contrast, FADE is used to assess the haze density in a scene, a smaller FADE usually means that haze is more efficiently removed. Table 2 displays the average MSE, SSIM, TMQI and FADE results on D-HAZY, O-HAZE and I-HAZE datasets, respectively. The best result is marked bold. On D-HAZY dataset, [PERSON] et al. 's algorithm is best performing method under the MSE and SSIM metrics, while [PERSON] et al. 's algorithm exhibits best performance under the TMQI and FADE metrics. On O-HAZE and I-HAZE datasets, the dehazing methods proposed by [PERSON] et al. and [PERSON] et al. show the best results in general, respectively. \[\hat{I}(x,y)=J(x,y)t(x,y)+1-t(x,y), \tag{2}\]0 Block diagram of the haze removal using hazy particle maps. Interestingly, [PERSON] et al. 's method possesses the best TMQI score over all three datasets due largely to the adaptive tone remapping. This post-processing step efficiently resolves the narrow dynamic range of the haze removal process. Hazy scenes with corresponding dehazed images are presented in Figure 2 to visually assess the dehazing performance of four methods. In this case, it is evident that dehazing approaches proposed by [PERSON] et al. and [PERSON] et al. share the top performance. This is consistent with the quantitative results in \[\hat{I}(x,y)=J(x,y)t(x,y)+1-t(x,y), \tag{2}\]1 [PERSON] et al. 's method accidentally enlarges the sun after dehazing in the first row and suffers from background noise in the sky of the second row. [PERSON] et al. 's method introduces halo artifacts at small edges like the tree twigs or the pointed roofs in the first two rows. [PERSON] et al. 's method produces too dark image because of large haze removal in the first and third rows. Only [PERSON] et al. 's method shows visually-good results for three input hazy images. Based on this quantitative and qualitative evaluations, as well as the comparison of running time for various image sizes in Table 1, we decided to implement [PERSON] et al. 's algorithm by the means of FPGA to meet the real-time processing requirement. Consequently, our proposed FPGA design is highly appropriate for smart surveillance system or self-driving vehicles. The first step in the hardware design procedure is to convert the floating-point algorithm into its fixed-point version. The brief introduction to this conversion is in order. A real number can be represented by a 32-bit, 64-bit, or 128-bit floating-point value \(FL\) with high precision (IEEE Standard 754-2019 [35]) or by a reduced-precision \(N\)-bit fixed-point value \(FI\), where \(N\) is greatly smaller than 32. Floating-point number representation is