[2]\fnmAdeline \surPaiement

1]\orgnameUniversité de Lille, Centrale Lille, \orgaddress\cityLille, \countryFrance

2]\orgnameUniversité de Toulon, Aix Marseille Univ, CNRS, LIS, \orgaddress\cityMarseille, \countryFrance

3]\orgnameObservatoire de Paris/PSL, LESIA, CNRS, \orgaddress\cityParis, \countryFrance

Removing cloud shadows from ground-based solar imagery

\fnmAmal \surChaoui [email protected]    \fnmJay Paul \surMorgan [email protected]    [email protected]    \fnmJean \surAboudarham [email protected] [ [ [
Abstract

The study and prediction of space weather entails the analysis of solar images showing structures of the Sun’s atmosphere. When imaged from the Earth’s ground, images may be polluted by terrestrial clouds which hinder the detection of solar structures. We propose a new method to remove cloud shadows, based on a U-Net architecture, and compare classical supervision with conditional GAN. We evaluate our method on two different imaging modalities, using both real images and a new dataset of synthetic clouds. Quantitative assessments are obtained through image quality indices (RMSE, PSNR, SSIM, and FID). We demonstrate improved results with regards to the traditional cloud removal technique and a sparse coding baseline, on different cloud types and textures.

keywords:
Image cleaning, solar imaging, deep learning, U-Net, C-GAN

Acknowledgments

This work was funded by ANR grant N° ANR-20-CE23-0014-01. One of the authors (JA) thanks CNES (Centre National d’Etudes Spatiale, the French space agency) for its support in this project.

1 Introduction and previous works

Refer to caption
Figure 1: Overview of cloud removal from solar imagery. A cloud mask is predicted and subtracted from the original image, to prepare for a subsequent detection of solar structures (here ARs in red boxes). Our proposed method only deals with the cloud removal stage.

This paper addresses the problem of cleaning ground-based solar imagery from cloud shadow contaminants, as illustrated in Fig. 1, in support to forthcoming analyses with solar physics and space weather applications. Monitoring the activity of the Sun is a task of growing importance in the frame of space weather research. The main sources of severe space weather disturbances at Earth are energetic outbursts from the Sun, e.g. solar flares and coronal mass ejections. They are strongly associated with solar structures of the chromosphere (e.g. active regions (AR) and filaments, as illustrated in Fig. 5), visible from the Earth ground in the light emitted by ionised calcium (Ca-II, at a wavelength of 3933.7Å) and the H-α𝛼\alphaitalic_α line of neutral hydrogen (6562.8Å). Despite their affordability, images taken from the ground present a particular difficulty: they are prone to be tainted by cloud shadows when the sky is not clear. These shadows are rarely uniform and may be mistaken for solar structures (e.g. filaments). Thus, it is substantial to remove them before automatic solar structure detection and monitoring.

Very few previous works addressed this problem. [1, 2] designed denoising methods for H-α𝛼\alphaitalic_α images. Feng et al. [1] proposed a metric for assessing the level of cloud coverage in an image by considering the homogeneity of image intensity between different quadrants of the solar disk. Additionally, they proposed a denoising method that first estimates the pixel-wise transmittance of clouds I^tsubscript^𝐼𝑡\hat{I}_{t}over^ start_ARG italic_I end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT from a cloud-free temporal neighbour using a low-pass morphological filter to smooth out solar structures (i.e. filaments). Second, it uses it to normalise the original image Iinisubscript𝐼iniI_{\text{ini}}italic_I start_POSTSUBSCRIPT ini end_POSTSUBSCRIPT:

I^clean=Iini/I^tsubscript^𝐼cleansubscript𝐼inisubscript^𝐼𝑡\hat{I}_{\text{clean}}=I_{\text{ini}}/\hat{I}_{t}over^ start_ARG italic_I end_ARG start_POSTSUBSCRIPT clean end_POSTSUBSCRIPT = italic_I start_POSTSUBSCRIPT ini end_POSTSUBSCRIPT / over^ start_ARG italic_I end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT (1)

In [2], Fuller and Aboudarham perform two stages of median filtering to identify large scale intensity variations that correspond to clouds, while thresholding out the solar structures. In both methods, the use of low-pass filtering to distinguish clouds from solar structures is a possible limitation when their spatial scales are similar in at least one direction.

In other application domains, some works removed large contaminants, such as clouds and shadows, from remote sensing or natural images. Due to clouds transparency, the task of removing clouds in Sun observations resembles to a degree to these tasks. While there is a large literature on denoising methods e.g. [3], we focus on the removal of large and semi-transparent contaminants, as this is the closest to our task. Methods that perform inpainting over opaque contaminants, such as [4] for thick clouds, are not considered to avoid introducing artefacts in the study of solar structures (images with thick clouds are therefore not usable). We also discard methods that exploit the physics of image formation for natural images, e.g. [5, 6, 7, 8], as solar imaging follows a different physics. Thin cloud and shadow removal methods are good candidates for our task of removing semi-transparent clouds while preserving the background solar structures.

Some shadow suppression methods e.g. [9] rely upon the sparse approximation theory. A local dictionary of atoms is learnt from image patches as a basis for sparse coding. This allows decomposing the image into reflectance (invariant to shading), geometry (fine structural details), and shadow components, the latter being excluded during image reconstruction. The use of local dictionaries, rather than generic ones (e.g. wavelets, curvelets), helps in learning atoms that adapt to each single image. However, this approach cannot gather further insights from multiple examples.

This limitation is addressed by (deep) learning-based methods. [10, 11] use encoder-decoder deep neural networks (DNN) to remove shadows by learning a mapping between the initial images Iinisubscript𝐼𝑖𝑛𝑖I_{ini}italic_I start_POSTSUBSCRIPT italic_i italic_n italic_i end_POSTSUBSCRIPT and their binary mask M^^𝑀\hat{M}over^ start_ARG italic_M end_ARG of shadow ratio, which is reminiscent of the transmittance image of [1]:

I^clean=Iini/M^subscript^𝐼cleansubscript𝐼ini^𝑀\hat{I}_{\text{clean}}=I_{\text{ini}}/\hat{M}over^ start_ARG italic_I end_ARG start_POSTSUBSCRIPT clean end_POSTSUBSCRIPT = italic_I start_POSTSUBSCRIPT ini end_POSTSUBSCRIPT / over^ start_ARG italic_M end_ARG (2)

[12] and pix2pix [13] in [4] rely on skip connections (U-Net-style) to preserve spatial resolution, and a conditional generative adversarial network (C-GAN) for more efficient training. They obtain state-of-the-art (SoTA) results in shadow and thin cloud removal. In [12], an additional C-GAN outputs the denoised image from predicted shadow mask, while pix2pix of [4] outputs the cleaned image directly.

We explore the applicability of these denoising methods for the new application of removing cloud shadows from solar imagery. We evaluate sparse representation-based and deep learning-based approaches, and compare against [1, 2] (Section 4). Inspired by [12, 4], we use a combination of U-Net and C-GAN (Section 3) to obtain the new SoTA for this task.

The methods are comparatively assessed on two imaging modalities. To support these experiments, we introduce two new datasets of Sun images with artificial and real clouds.

2 Data

Our images are from Paris-Meudon (PM) observatory111The Paris-Meudon observatory is part of Observatoire de Paris-PSL: https://www.observatoiredeparis.psl.eu/-observatoire-de-paris-.html?lang=en. They are 1024×1024102410241024\times 10241024 × 1024 px full-disk spectroheliograms. Care has been taken in their collection to ensure a good representativity. We used images of two modalities: Ca-II (for studying ARs), and H-α𝛼\alphaitalic_α (for filaments), as highlighted in Fig. 5. These are major modalities in ground-based solar imaging. Observations span different periods of the solar cycle in order to reflect variations in the Sun’s activity and number / size of the solar structures that may be observed at the surface of the Sun. 96 Ca-II and 111 H-α𝛼\alphaitalic_α images are sampled between May 2002 and June 2017. Sampling uses the metric of cloud coverage level proposed by [1] to select the images that are tainted with cloud shadows.

PM images are taken in principle during clear sky days. However, even during those days, small thin clouds emerging in the horizon cannot be prevented and result in light cloud stains. Cloud shadows can come with different textures. In PM observatory, the Sun disk is scanned by a thin moving slit over 20 to 100 sec. [14]. In case of fast enough cloud motion, due to the slit movement alongside the motion of clouds, cloud spots may be shifted along the scanning process, creating straight lines on the image (denoted as “streaked” texture). Slower cloud motions result in the “fluffy” texture that is customary of many terrestrial clouds. It is also a common texture in solar observations from observatories that use 2D cameras rather than a spectrograph. The “streaked” texture may provide more challenges to denoising methods, due to having different spatial scales in different directions. Fig. 5 illustrates samples of streaked and fluffy textures with different cloud cover thicknesses and streak orientations.

Refer to caption
Figure 2: Examples of real (top) and synthetic (bottom) cloud contamination in Ca-II images.

The cloudy images don’t have cloud-free counterparts for training DNNs. Thus, we introduce a dataset of real (initially cloud-free) images with added synthetic cloud shadows. Using the cloud coverage level metric of [1], we selected reasonably cloud-free images in the same time period as above. A basic cloud texture was obtained from [15]. For each cloud-free image, a new cloud shadow was composed by summing a random number (in range [2, 3]) of duplicates of the basic texture with horizontal and vertical random resizing between 50-100% of the original size, random flips (around one or two axes), and random transparencies (in range [0.1, 0.4]). It was then overlapped to the cloud-free image. This procedure provides realistic images of fluffy and semi-transparent cloud shadow contamination. They are diverse and representative of possible cloud shapes and opacity levels. The Ca-II and H-α𝛼\alphaitalic_α synthetic datasets comprise respectively 319 and 367 pairs of shadow/shadow-free images, split into 179/44/96 and 205/51/111 training/validation/testing pairs. The combination of our real and artificial cloud datasets provides a variety of streaked and fluffy cloud textures. They are publicly available222https://doi.org/10.5281/zenodo.7684200, along with the pretrained cloud-removal DNNs333The source code and model weights are available via https://gitlab.lis-lab.fr/presage/cloud-removal-from-solar-imagery..

Images have their intensity normalised in range [0,1]01[0,1][ 0 , 1 ], centred solar disks with normalised radii, and background pixels are set to zero outside of the solar disk to remove any distracting features from background stars and imaging artefacts.

3 Methodology

We adopt the deep learning approach due to its SoTA results in large contaminants removal. As in [12, 13], we use skip connections to preserve spatial resolution and details444We use the U-Net implementation from https://github.com/mateuszbuda/brain-segmentation-pytorch.. Inspired by the results of previous methods, we compare the classical fully supervised and the C-GAN training strategies.

We experiment with our DNNs predicting either the cleaned image directly, or a cloud shadow mask, to be used as in [1, 10, 11]. To avoid division by zero and improve stability, we compute the clean image as:

I^clean=IiniM^+ϵsubscript^𝐼cleansubscript𝐼ini^𝑀italic-ϵ\hat{I}_{\text{clean}}=\frac{I_{\text{ini}}}{\hat{M}+\epsilon}over^ start_ARG italic_I end_ARG start_POSTSUBSCRIPT clean end_POSTSUBSCRIPT = divide start_ARG italic_I start_POSTSUBSCRIPT ini end_POSTSUBSCRIPT end_ARG start_ARG over^ start_ARG italic_M end_ARG + italic_ϵ end_ARG (3)

We empirically verified that the exact value of ϵitalic-ϵ\epsilonitalic_ϵ has little impact on the results, and we set it to 1e51superscript𝑒51e^{-5}1 italic_e start_POSTSUPERSCRIPT - 5 end_POSTSUPERSCRIPT in our experiments. Regressing a shadow mask instead of the cleaned image directly is motivated by the physics of solar imaging, as in [1]. In addition, estimating a transmittance or shadow ratio, rather than the pixel’s absolute intensity, reduces the risk to create artefacts that would hinder the forthcoming study of solar structures. Finally, estimating a shadow mask should be a less complex task for the DNN, which may be learnt more efficiently. Indeed, reproducing the exact patterns of the more complex and diverse solar structures in the output image would be an unnecessary additional task for the DNN.

With Eq. 3, the loss gradient varies as Iini/M^2subscript𝐼inisuperscript^𝑀2I_{\text{ini}}/\hat{M}^{2}italic_I start_POSTSUBSCRIPT ini end_POSTSUBSCRIPT / over^ start_ARG italic_M end_ARG start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT, meaning that the darkest pixels of the images, where cloud thickness is high, see higher loss gradients and require a finer adjustment of their mask value. In an attempt to improve stability during training through more consistent loss gradient magnitudes, we also experiment with an alternative implementation, i.e. adding in the intensity that was removed by clouds. This is similar to predicting a residual mask:

I^clean=Iini+M^subscript^𝐼cleansubscript𝐼ini^𝑀\hat{I}_{\text{clean}}=I_{\text{ini}}+\hat{M}over^ start_ARG italic_I end_ARG start_POSTSUBSCRIPT clean end_POSTSUBSCRIPT = italic_I start_POSTSUBSCRIPT ini end_POSTSUBSCRIPT + over^ start_ARG italic_M end_ARG (4)

We compare two training strategies: a fully supervised DNN (denoted as FS) and a C-GAN following the pix2pix setup. For ease of comparison, the FS DNN and C-GAN generator have the same U-Net-style architecture44{}^{\ref{foot:unet}}start_FLOATSUPERSCRIPT end_FLOATSUPERSCRIPT: down-sampling and up-sampling blocks along with skip connections, each block as defined in [16]. We experiment with a varying number of blocks to determine the optimal complexity and receptive field needed to account for both large scale contaminants and smaller scale solar structures. Due to memory constraints, we go up to 6 down/up-sampling blocks, and find it to be the best performing architecture (see supplementary materials). In the future, and on a different hardware, more blocks could be tried.

We use a linear activation in the last block when predicting I^cleansubscript^𝐼clean\hat{I}_{\text{clean}}over^ start_ARG italic_I end_ARG start_POSTSUBSCRIPT clean end_POSTSUBSCRIPT directly or M^^𝑀\hat{M}over^ start_ARG italic_M end_ARG as in Eq. 4. For Eq. 3, we find that imposing the output to be in range [0,1]01[0,1][ 0 , 1 ] is necessary to avoid instability issues, so we use 0.5×tanh+0.50.50.50.5\times\tanh+0.50.5 × roman_tanh + 0.5 as activation.

The discriminator in the C-GAN is the same as in pix2pix [13]: a PatchGAN network that considers image patches (small receptive fields) to capture high-frequencies. We experimentally verified that the recommended receptive field of 70×70707070\times 7070 × 70 is also optimal in our application. The discriminator is applied to the cleaned image rather than the predicted shadow mask to assess the preservation of solar structures.

For the C-GAN, we use the loss function suggested in [13]. The loss function of the FS network and of the C-GAN generator uses the pixel-wise L1subscript𝐿1L_{1}italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT-norm since it promotes sparsity and encourages less blurring as noted in [13]. The pixel-level loss is computed between the target Itsubscript𝐼𝑡I_{t}italic_I start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT and cleaned image I^cleansubscript^𝐼clean\hat{I}_{\text{clean}}over^ start_ARG italic_I end_ARG start_POSTSUBSCRIPT clean end_POSTSUBSCRIPT:

L1(It,I^clean)=1Ni=1N|ItiI^cleani|subscriptsubscript𝐿1subscript𝐼𝑡subscript^𝐼clean1𝑁superscriptsubscript𝑖1𝑁superscriptsubscript𝐼𝑡𝑖superscriptsubscript^𝐼clean𝑖\mathcal{L}_{L_{1}}(I_{t},\hat{I}_{\text{clean}})=\frac{1}{N}\sum_{i=1}^{N}|I_% {t}^{i}-\hat{I}_{\text{clean}}^{i}|caligraphic_L start_POSTSUBSCRIPT italic_L start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_I start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , over^ start_ARG italic_I end_ARG start_POSTSUBSCRIPT clean end_POSTSUBSCRIPT ) = divide start_ARG 1 end_ARG start_ARG italic_N end_ARG ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT | italic_I start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT - over^ start_ARG italic_I end_ARG start_POSTSUBSCRIPT clean end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT | (5)

For both DNNs, we use the default U-Net44{}^{\ref{foot:unet}}start_FLOATSUPERSCRIPT end_FLOATSUPERSCRIPT training scheme and batch size of 3. We train for 100 epochs and test on the epoch with the best validation loss (FS DNN) or generator’s training loss (C-GAN, following the usual practice for GANs). During testing of the C-GAN, the generator is run with dropout, and batch normalisation considers the statistics of the batch, as in [13].

4 Results

4.1 Choice of DNN output

We compare the three possible outputs of our DNNs, i.e. direct cleaned image and shadow masks to be used as in Eqs. 3 (transmittance) and 4 (residual). Table 1 reports the metrics on the Ca-II synthetic dataset and Fig. 4 provides some illustration examples. For both DNNs, Eq. 3 is less stable than Eq. 4 during training, with poorer metrics and more noisy loss curves as shown in Fig. 3. This more unstable training results in a poor convergence. Poorer results are observed in the sensitive cases of strong cloud coverage (i.e. low values in Iinisubscript𝐼iniI_{\text{ini}}italic_I start_POSTSUBSCRIPT ini end_POSTSUBSCRIPT) where more subtle adjustments are needed in the mask’s values to correct for the clouds. Predicting a residual mask M^^𝑀\hat{M}over^ start_ARG italic_M end_ARG for Eq. 4 performs slightly better than the direct prediction of I^cleansubscript^𝐼clean\hat{I}_{\text{clean}}over^ start_ARG italic_I end_ARG start_POSTSUBSCRIPT clean end_POSTSUBSCRIPT, which, in rare cases, created artefacts that may be confused with solar structures. The better performance of Eq. 4 is in line with other works on residual prediction. Following these observations, we choose Eq. 4 to be used in the rest of this paper.

Table 1: Comparison of the three DNN outputs on the Ca-II synthesised dataset. Results are in format mean(std) over 10 runs. SSIM and RMSE are as e2𝑒2e-2italic_e - 2.
DNN Output PSNR \uparrow SSIM \uparrow RMSE \downarrow FID \downarrow
Fully sup. I^cleansubscript^𝐼clean\hat{I}_{\text{clean}}over^ start_ARG italic_I end_ARG start_POSTSUBSCRIPT clean end_POSTSUBSCRIPT 30.2(0.4) 98.2(0.5) 3.9(0.1) 17.2(5.0)
M^^𝑀\hat{M}over^ start_ARG italic_M end_ARG Eq. 3 28.9(0.2) 98.8(0.1) 4.5(0.1) 20.2(2.4)
M^^𝑀\hat{M}over^ start_ARG italic_M end_ARG Eq. 4 30.6(0.3) 98.9(0.1) 3.7(0.1) 16.8(5.3)
C-GAN I^cleansubscript^𝐼clean\hat{I}_{\text{clean}}over^ start_ARG italic_I end_ARG start_POSTSUBSCRIPT clean end_POSTSUBSCRIPT 29.4(0.6) 97.7(0.4) 4.1(0.2) 22.0(10.2)
M^^𝑀\hat{M}over^ start_ARG italic_M end_ARG Eq. 3 27.3(0.6) 97.6(0.8) 5.1(0.2) 49.0(10.8)
M^^𝑀\hat{M}over^ start_ARG italic_M end_ARG Eq. 4 30.0(0.4) 98.8(0.2) 3.9(0.1) 18.4(6.3)
Refer to caption
Figure 3: Loss curves when training the proposed models using Eqs. 3 and 4.
Refer to caption
Figure 4: Comparative illustration of the three DNN outputs on some Ca-II images with synthetic clouds. We display the results of a random run of each network, since all runs produced roughly the same results.

4.2 Comparative evaluation of the methods

We compare the proposed DNNs against the SoTA [1, 2] and the sparse approximation method of [9] as non-learning baselines. [1] requires a clean temporal neighbour image (within 24 hours), which may not be always available. We consider these cases a failure and report their numbers. The first reflectance step of [9] is skipped, as reflection plays no role in solar imaging. We use the Peak Signal-to-Noise Ratio (PSNR), Structured Similarity Index Measure (SSIM) and Root Mean Squared Error (RMSE) metrics to assess the quality of the predicted shadow-free images. In addition, the Fréchet Inception Distance (FID) metric [17] is used to compare the distribution of cleaned images against that of targets. For [1], the metrics are computed over non-failure cases. For the DNNs, they are averaged over 10 runs.

Table 2: Performance on synthesised datasets. Results are in format mean(std) over 10 runs for the DNNs. SSIM and RMSE are as e2𝑒2e-2italic_e - 2.
Data Method PSNR \uparrow SSIM \uparrow RMSE \downarrow FID \downarrow
Ca-II [1] (15 failures) 21.90 94.8 8.6 104.8
[2] 26.0 98.1 5.4 70.3
[9] 23.2 92.7 7.3 45.5
Fully sup. 30.6(0.3) 98.9(0.1) 3.7(0.1) 16.8(5.3)
C-GAN 30.0(0.4) 98.8(0.2) 3.9(0.1) 18.4(6.3)
H-α𝛼\alphaitalic_α [1] (5 failures) 14.8 91.4 19.6 118.3
[2] 23.3 98.4 7.0 134.7
[9] 21.0 96.0 9.2 110.9
Fully sup. 28.6(0.3) 98.9(0.1) 4.5(0.2) 33.0(4.9)
C-GAN 28.3(0.5) 98.9(0.2) 4.6(0.2) 37.5(3.5)

Table 2 presents results on the synthetic cloud datasets, and Fig. 5 illustrates how the algorithms perform on real/synthetic clouds. More illustrations are provided in the supplementary materials. [1] obtains the worst results on both imaging modalities. It struggles to preserve solar structures when their spatial scale is similar to the scale of clouds in at least one direction, as often happens in the case of streaked textures. It is also less robust to strong cloud thickness. [2] also struggles with the spatial scale of streaked clouds. [9] fails to recover the underlying solar structures and results in poor contrast.

The proposed DNNs outperform non-learning methods on all datasets. On synthesised images, the DNN’s respective metrics are not significantly different. Upon visual inspection of artificial and real images, FS produces a slightly more uniform contrast across the solar disk, while the C-GAN’s discriminator, focusing on small patches, allows more diversity of contrasts. However, FS tends to over-compensate strong clouds resulting in a lower contrast there, while C-GAN benefits from enforcing a patch-wise visually pleasant output.

Refer to caption
Figure 5: Examples of removal of real and synthetic clouds from Ca-II and H-α𝛼\alphaitalic_α images by compared algorithms. Images with real clouds (Real Ca-II, Real H-α𝛼\alphaitalic_α, Ca-II AR, H-α𝛼\alphaitalic_α Filament) do not have a clean target counterpart, as explained in Section 2. Therefore, for these columns, the target row is left blank.

It is worth noting that in our real-cloud dataset, most clouds are streaked, while the DNNs are trained on the fluffy synthetic textures. Both DNNs generalised well to this new cloud texture. While, in some cases, faint streaks remain from the cleaned images, this happens for the strongest clouds and generally doesn’t prevent the restoration of underlying solar structures. C-GAN performs slightly better than FS in this particular case of strong streaked clouds. We expect that in the future, training the DNNs with examples of streaked clouds may help in handling the strongest streaked clouds.

Both DNNs provide a detailed restoration of ARs, with the aforementioned contrast differences. Filaments suffer from a lower contrast, likely due to their dark appearance, making them harder to distinguish from clouds. This is confirmed by the thicker and therefore blurrier ones being the most affected (erased) by this contrast reduction. C-GAN preserves slightly better these thick filaments.

5 Conclusion

We investigated deep learning methods for removing large cloud shadow contaminants from ground-based solar imagery. We adopted the U-Net-style architecture for more detailed outputs. We compared three possible inference methods (i.e. direct and through a transmittance or residual mask), and two training setups: fully-supervised and C-GAN. The DNNs obtained better results than the domain’s SoTA and a non-leaning method based on sparse approximation, with better restoration of the underlying solar structures, and are the new SoTA. The two training setups have different strengths and weaknesses: full supervision produces more homogeneous solar disks that are more physically plausible, and C-GAN better handles strong clouds and thick filament restoration. Thus, there is no obvious “best setup”, and the choice of training setup depends on the intended usage.

The DNNs have been trained on fluffy cloud textures only. While they demonstrate a good generalisation to streaked cloud textures, further improvement might be obtained from training on streaked clouds in the future. Future work may also further focus on filament restoration, and evaluate the effect of cloud removal on a subsequent image analysis e.g. the automatic detection of solar structures.

\bmhead

Supplementary information

Supplementary materials are provided with additional comparative results.

\bmhead

Acknowledgments

This work was funded by ANR grant N° ANR-20-CE23-0014-01. One of the authors (JA) thanks CNES (Centre National d’Etudes Spatiale, the French space agency) for its support in this project.

Declarations

The data used in this study is available at https://doi.org/10.5281/zenodo.7684200. The code is available at https://gitlab.lis-lab.fr/presage/cloud-removal-from-solar-imagery.

Adeline Paiement and Jean Aboudarham contributed to the study conception and design. Data preparation was performed by Jay Paul Morgan, experiments were performed by Amal Chaoui and Jay Paul Morgan, analysis was performed by Amal Chaoui, Jay Paul Morgan and Adeline Paiement. All authors contributed to the manuscript.

References

  • \bibcommenthead
  • Feng et al. [2014] Feng, S., Lin, J., Yang, Y., Zhu, H., Wang, F., Ji, K.: Automated Detecting and Removing Cloud Shadows in Full-Disk Solar Images. New Astronomy 32, 24–30 (2014)
  • Fuller and Aboudarham [2004] Fuller, N., Aboudarham, J.: Automatic detection of solar filaments versus manual digitization. In: Knowledge-Based and Intelligent Information and Engineering Systems (KES), pp. 467–475 (2004)
  • Chen et al. [2020] Chen, Z., Zeng, Z., Shen, H., Zheng, X., Dai, P., Ouyang, P.: DN-GAN: Denoising Generative Adversarial Networks For Speckle Noise Reduction in Optical Coherence Tomography Images. Biomedical Signal Processing and Control 55, 101632 (2020)
  • Zheng et al. [2021] Zheng, J., Liu, X.-Y., Wang, X.: Single Image Cloud Removal Using U-Net and Generative Adversarial Networks. IEEE Transactions on Geoscience and Remote Sensing 59(8), 6371–6385 (2021)
  • Finlayson et al. [2006] Finlayson, G.D., Hordley, S.D., Lu, C., Drew, M.S.: On the removal of shadows from images. IEEE Trans. Pattern Anal. Mach. Intell. 28, 59–68 (2006)
  • Yang et al. [2012] Yang, Q., Tan, K.H., Ahuja, N.: Shadow removal using bilateral filtering. IEEE Trans. Image Process. 21, 4361–4368 (2012)
  • Guo et al. [2013] Guo, R., Dai, Q., Hoiem, D.: Paired regions for shadow detection and removal. IEEE Trans. Pattern Anal. Mach. Intell. 35, 2956–2967 (2013)
  • Yu et al. [2017] Yu, X., Li, G., Ying, Z., Guo, X.: A new shadow removal method using color-lines. In: Computer Analysis of Images and Patterns, pp. 307–309 (2017)
  • Sasi and Govindan [2016] Sasi, R.K., Govindan, V.K.: Shadow Removal Using Sparse Representation Over Local Dictionaries. Engineering Science and Technology, an International Journal 19(2), 1067–1075 (2016)
  • Fan et al. [2019] Fan, H., Han, M., Li, J.: Image shadow removal using end-to-end deep convolutional neural networks. Applied Sciences (2019)
  • Qu et al. [2017] Qu, L., Tian, J., He, S., Tang, Y., Lau, R.W.H.: Deshadownet: A multi-context embedding deep network for shadow removal. In: Computer Vision and Pattern Recognition, pp. 2308–2316 (2017)
  • Wang et al. [2018] Wang, J., Li, X., Yang, J.: Stacked conditional generative adversarial networks for jointly learning shadow detection and shadow removal. In: Computer Vision and Pattern Recognition, pp. 1788–1797 (2018)
  • Isola et al. [2017] Isola, P., Zhu, J.-Y., Zhou, T., Efros, A.A.: Image-to-image translation with conditional adversarial networks. In: Computer Vision and Pattern Recognition, pp. 5967–5976 (2017)
  • Malherbe and Dalmasse [2019] Malherbe, J.-M., Dalmasse, K.: The new 2018 version of the meudon spectroheliograph. Solar Physics 294 (2019)
  • [15] pngkey.com: Transparent Cloud Texture Download. https://www.pngkey.com/maxpic/u2a9o0u2i1i1y3r5/
  • Ronneberger et al. [2015] Ronneberger, O., Fischer, P., Brox, T.: U-net: Convolutional networks for biomedical image segmentation. In: Navab, N., Hornegger, J., Wells, W.M., Frangi, A.F. (eds.) Medical Image Computing and Computer-Assisted Intervention (MICCAI) (2015)
  • Heusel et al. [2017] Heusel, M., Ramsauer, H., Unterthiner, T., Nessler, B., Hochreiter, S.: Gans trained by a two time-scale update rule converge to a local nash equilibrium. Advances in neural information processing systems 30 (2017)