# Retinex Based Image Enhancement via General Dictionary Convolutional Sparse Coding
## 4 Experimental Result
### Real Image  
As a first experiment with a real image, we test an image with a complex structure using a dictionary learned from an image with a simple structure. By comparing this with the dictionary of sparse coding and the dictionary of CSC, we can see that the reflectance dictionary of CSC is superior to sparse coding. Through the learned dictionary using Figure 3(a), the reflectance and enhancement images can be obtained through each CSC and sparse coding. Since the image used in training and the image used in the test in a single image are different, the separation of illumination and reflectance through CSC and sparse coding is not good. Although separation through CSC is not complete, it still yields better results than sparse coding. The reflectance of Figure 3(b) and the enhancement image of Figure 3(c) obtained through the CSC show that the details are better restored in the cat's hair and texture. Second, in Figure 5, the results of sparse coding in a single image, CSC in a single image, CSC in generating a general dictionary through large datasets, SVD-CSC in a single image and SVD-CSC in generating a general dictionary through large datasets are compared. These comparisons help contrast the performance of the general dictionary generated from large datasets to a single image dictionary. Figure 0(a) is an original image used as a training and test image for single image sparse coding, single image CSC, and single image SVD-CSC. In addition, it is used as a test image in the general dictionary. As shown in Figures 4(c), the result of using SVD-CSC in a single image had a better quality with regard to image contrast than the result using a general dictionary. However, this difference is minimal, and Figures 4(e) using general dictionary in SVD-CSC also show good results. Figure 4(e) using the SVD-CSC general dictionary looks almost the same as Figure 4(b) using the CSC single dictionary. Figure 3: Proposed Retinex algorithm dictionary; (**a**) Our CSC dictionary in large datasets, (**b**) Our SVD-CSC dictionary in large datasets. This is because SVD is not used for training in large datasets, and thus, important basis data is not extracted and used in the iteration. Therefore, only the cost function value of the reflectance function itself is minimized, and local reflectance differences are not preserved. Figure 4: Results of using different images for training and test in a single image: (**a**) Training image; (**b**) Reflectance using CSC dictionary; (**c**) Image enhancement using CSC dictionary; (**d**) Original Test image; (**e**) Reflectance using sparse coding dictionary; (**f**) Image enhancement using sparse coding dictionary. Figure 5: Comparison of single image dictionary and large datasets general dictionary in enhancement image: (**a**) Image enhancement using SCR same as Figure 2\(c\); (**b**) Image enhancement using CSC Retinex, same as Figure 2\(f\); (**c**) Image enhancement using CSC general dictionary; (**d**) Image enhancement using SVD-CSC single dictionary; (**e**) Image enhancement using SVD-CSC general dictionary. Third, we compare the SVD-CSC method with the CSC method without SVD. We show through this comparison that a dictionary using SVD can be more general than the one without SVD. As mentioned before, both dictionaries were trained with ImageNet [23] datasets. In Figures 6-8, the results of the general dictionary through SVD-CSC have better image quality than those without SVD. In particular, the SVD-CSC shows better local reflectance than the CSC, when looking at the wheels of the bicycle in Figure 6, the hourglass and candlestick in Figure 7, and the frames in Figure 8. As mentioned earlier, this difference is even more pronounced in the absence of SVD, especially in terms of local reflection, because dictionaries do not contain important information, but are only directed at minimizing the energy in the least-squares problem. On the other hand, SVD-CSC generates a dictionary using SVD to decompose on the best basis in the least-squares problem.