Underwater image enhancement using a mixed generative adversarial network

IET Image ProcessingVolume 17, Issue 4 p. 1149-1160 ORIGINAL RESEARCHOpen Access Underwater image enhancement using a mixed generative adversarial network Delang Mu, Delang Mu orcid.org/0000-0002-2302-8116 Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, China Contribution: Methodology, Software, Writing - original draftSearch for more papers by this authorHeng Li, Corresponding Author Heng Li [email protected] Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, China Correspondence Heng Li, Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, China. Email: [email protected] Contribution: Conceptualization, Methodology, Project administrationSearch for more papers by this authorHui Liu, Hui Liu Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, China Contribution: Funding acquisition, Writing - review & editingSearch for more papers by this authorLing Dong, Ling Dong Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, ChinaSearch for more papers by this authorGuoyin Zhang, Guoyin Zhang Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, China Contribution: Conceptualization, Formal analysisSearch for more papers by this author Delang Mu, Delang Mu orcid.org/0000-0002-2302-8116 Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, China Contribution: Methodology, Software, Writing - original draftSearch for more papers by this authorHeng Li, Corresponding Author Heng Li [email protected] Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, China Correspondence Heng Li, Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, China. Email: [email protected] Contribution: Conceptualization, Methodology, Project administrationSearch for more papers by this authorHui Liu, Hui Liu Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, China Contribution: Funding acquisition, Writing - review & editingSearch for more papers by this authorLing Dong, Ling Dong Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, ChinaSearch for more papers by this authorGuoyin Zhang, Guoyin Zhang Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, China Contribution: Conceptualization, Formal analysisSearch for more papers by this author First published: 30 November 2022 https://doi.org/10.1049/ipr2.12702AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onFacebookTwitterLinkedInRedditWechat Abstract Underwater images intuitively reflect the underwater environment information. However, underwater images have defects such as colour distortion and low contrast, which seriously affect the processing of complex underwater visual tasks. Here, a novel mixed model called mixed underwater image generative adversarial network (MUGAN) is presented, consisting of a generator and corresponding discriminator. The generator is built following the U-shaped architecture, where a mixed block of convolution and self-attention is developed. It effectively exploits the complementarity between the two paradigms. In addition, a dual discriminator is employed to induce the generator to produce realistic images at both the global semantic and local detail levels, which is only discriminates based on the patch-level information. Meanwhile, a multi-term loss function is formulated to supervise adversarial training by evaluating the perceptual quality of an image based on its global content, local texture and illumination smoothness. To validate the proposed approach, extensive experiments are conducted on the public underwater datasets. MUGAN achieves promising performance in terms of colour, contrast and naturalness, showing a significant improvement over other competitive models in visual quality and quantitative metrics. 1 INTRODUCTION Underwater image is an essential chief vector for underwater information and is widely used in the development of marine resources. Because of the uniqueness of the underwater environment, underwater vehicle is fast becoming a key instrument in exploring the ocean [1]. Autonomous underwater vehicle is also frequently prescribed for offshore petroleum engineering, underwater archaeology, underwater shipwreck observation, deep-water net fishery farming, artificial fishing reef expeditions, and more. High-quality underwater images pledge the security of intelligent underwater robotic systems and improve their ability to identify the underwater environment. In contrast to images of the terrestrial environment, underwater images often suffer from substantial degradation [2]. Previous research has established that underwater images have lower visibility and colour deviations due to the scattering and absorption by the particles existing in water [3]. Researchers provide some significant insights into alleviating the degradation of underwater image quality and enhancing image perception. Physical model-based approaches, non-physical model methods, and data-driven methods are the three types of underwater image enhancement methods now available [4]. Physical model-based methods create a physical model for the underwater degradation process. Use this model to reverse the image degradation process to obtain an ideal underwater image [5-7]. Non-physical model-based methods increase visual quality by adjusting image pixel values directly [2, 8, 9]. It does not need to consider the physical process of underwater image degradation. Deep learning has made much progress in the underwater image enhancement field during the past few years. Underwater image enhancement is an important low-level task of reconstructing a high-quality image from a degraded input. Several models based on Convolutional Neural Networks (CNNs) [1, 10] and Generative Adversarial Networks (GANs) [11-13] are the most prominent deep network in this regard, which has been the most popular architecture. These models rely on abundant paired or unpaired training data to improve the quality of underwater images in terms of colour correction, image denoising, and contrast enhancement. However, after conducting extensive experiments on challenging datasets, we discovered that existing methods frequently result in blurry images or introduce unrealistic colour shifts. More recently, the ViT [14] and Swin Transformer [15] have shown great potential in many vision tasks. Extensive efforts also have been devoted to reconciling transformers for low-level tasks. These methods rely on attention for highly effective capture of long-range pixel interactions. Therefore, many researchers believe that convolution can be completely replaced by attention. However, the ACmix [16] unearths the closer relationship between self-attention and convolution, in the sense that they perform the majority of their computations using the same operations. And the ACmix achieves state-of-the-art results including image classification, semantic segmentation and object detection tasks. The success of ACmix inspires us to tailor a model to improve the perception of underwater images. For this, we design a novel generative adversarial network for underwater image enhancement. The generator is built following the U-shaped architecture [17, 18], where we develop a mixed block so that it alleviates the problem of the limited receptive field of convolution. In parallel, we keep the same overall hierarchical encoder-decoder structure. Yet, we further introduce convolutional layer instead of skip-connections to alleviate semantic differences between encoder and decoder. For the discriminator, only discriminates based on the patch-level information. We adopt a dual discriminator to induce the generator to produce more natural-looking images at the local level of detail. We conduct extensive ablations experiments to confirm the validity of architectural designs. We also perform qualitative and quantitative comparisons with competitive models. Experimental results show that MUGAN achieves better performance in terms of colour, contrast and naturalness. An example of enhancing an underwater image is shown in Figure 1. FIGURE 1Open in figure viewerPowerPoint Visual comparisons of a typical underwater image. In terms of colour, contrast, and naturalness, the proposed model achieves better performance. (a) Input, (b) ShallowUWnet [51], (c) URSCT-SESR [52], (d) Our model Overall, we make the contributions are summarized as follows: We design a novel generative adversarial network for underwater image enhancement. Considering that self-attention operates similarly to convolution, there exists a potential possibility to benefit from both paradigms by integrating these modules. We carefully tailor the generator, which is a mixed network of self-attention and convolution. Experiments show that the mixed network outperforms its pure convolutional network. We apply dual discriminators to induce the generator to produce more natural-looking images at the local level of detail. The reason for this design is that Patch-GAN is limited in guiding the generator to produce realistic detail. We formulate a multi-term loss function to train the model by evaluating the perceptual quality of an image based on its global content, local texture and illumination smoothness. We conduct qualitative and quantitative evaluations on the public dataset, and our model achieves better performance when compared to competitive models. 2 RELATED WORK Attention and convolution Dramatic developments in convolution and attention, convolution and attention are considered to be two powerful techniques for representation learning. Convolution neural networks are well-accepted and widely adopted for image classification, object detection and image super-resolution reconstruction [19-21]. On the other hand, attention-based modules provide the best performance in natural language processing because of their ability to capture long-distance interactions [22, 23]. More recently, researchers have tried to introduce attention mechanism into vision tasks [24-26]. ViT applies a standard transformer directly to images. With large-scale data pre-training, ViT has achieved better accuracy than its CNN counterparts on image classification tasks. Immediately after this work, instead of focusing on image classification, the Swin Transformer, as a general-purpose backbone for computer vision, has achieved excellent performance in an extensive range of visual tasks by merging deeper image patches to build hierarchical feature maps. Considering the overwhelming success of convolution and attention, there exists a potential possibility to benefit from both paradigms by integrating these modules. Therefore, many researchers explore the possibility of employing attention modules to improve the performance of convolutions. SENET [27] and CBAM [28] show that self-attention can serve as an augmentation for convolution modules. Specifically, SENET and CBAM are plug-and-play models that can be plugged into the classical convolutional networks. Despite these models improve the performance of convolution, they still treat attention and convolution as distinct parts. Unlike these models, we develop a mixed model integrating convolution and self-attention. We use both convolution and self-attention to extract image features. The model achieves excellent performance in underwater image enhancement and the mixed network outperforms its pure convolutional network. Image restoration To date, a large amount of image restoration models have been proposed to remove noise, blur and rain drops. Early on, prior-based models employ some hand-crafted priors to estimate transmission map and atmospheric light [29]. Though these prior-based models have gained promising performance, the performance of image restoration is not always ideal due to the inconsistency between the adopted prior and the variable environment [30]. Distinct from the prior-based models, deep learning methods rely on strong feature learning capabilities to learn transmission maps and atmospheric light. For instance, Gao et al. analyse the parameter strategies for the deblurring networks and develop a general principle for constraining the deblurring network [31]. RCDNet [32] proposes an efficient deraining model using a convolutional dictionary learning mechanism for representing rain. In particular, RCDNet utilizes the proximal gradient descent technique and designs an iterative algorithm that only contains simple operators for solving the model, so it has sufficient interpretability. Li et al. build an independent detail recovery network that not only emphasizes haze removal, but also restores image details to the greatest extent [33]. The above methods all achieve satisfactory results for a single-degradation case. However, these models cannot handle the multiple-degradations case. Recently, some works show general applicability to multiple-degradations case. As a representative all-in-one image restoration method, AirNet [34] can recover images from various unknown damage types. And it achieves state-of-the-art results on dehazing, rain, and deblurring tasks. Underwater image enhancement Since the unpredictability of the underwater environment, underwater image enhancement is more difficult. Deep learning methods have been shown to be powerful and can refine the visual perception of underwater images in a variety of situations. The super-resolution reconstruction model is introduced into underwater image processing in the literature [35]. And Li et al. [36] propose a complex underwater image enhancing approach. Before being fed into a gated fusion CNN, the image is improved with white balance (WB), gamma correction (GC), and histogram equalization (HE). It is affected by backward information. Furthermore, the GAN-based models generate fresh insight into underwater image enhancement problems. GAN benefits from the adversarial training process. It simultaneously trains two models, namely the generator (G) and the discriminator (D) [37]. They play a game of max-min G tries to fool D, D and tries to figure out whether G is creating a real or a false image. GAN has two main research directions [38]. The first is to improve the stability of training and alleviate the problem of model collapse. The ideal circumstance is for G and D to be more balanced and can reach the best at the same time. To get the desired balance, several tricks are proposed in the literature. WGAN and LSGAN are pioneering variants of GAN. WGAN [39] uses Wasserstein distance instead of JS divergence to measure the distance between model distribution and real data to improve model stability. Whereas the LSGAN [40] alleviates the gradient disappearance by adopting a least-square loss function. On the other hand, progressive GANs expand the architecture of the standard network [41]. Its key idea is to incrementally increase the generator and discriminator. Specifically, the generator and discriminator start with only one layer for lower resolution images, and gradually increase G and D as the training progresses. The second focus of GAN is its application in various fields, such as image denoising, image synthesis and underwater enhancement. The initial utilization of GAN in the field of underwater images is to augment datasets. This can help to alleviate the issue of difficult underwater image acquisition. Subsequently, by adding conditions to the original GAN, the conditional generation adversarial network (CGAN) is obtained [42]. So far, further improving the application of CGAN in the field of underwater image enhancement is still a topic of concern. Guo et al. [43] introduced the UWGAN model for underwater image enhancement, which is a new multi-scale dense generative adversarial network model. UWGAN introduces residual multi-scale dense blocks in the generator to improve model performance. The discriminator employs the approach of computing spectral normalization to stabilize the training. Liu et al. [44] proposed a feature fusion network for the underwater image colour correction model MLFcGAN. The core of the method lies in the realization of multi-scale global and local feature fusion in the generator. DewaterNet [45] proposes a fusion adversarial network that combines fusion-enhanced image loss, SSIM loss and PSNR loss optimization model. This method has great advantages in quantitative evaluation, but requires meticulous hyper-parameter tuning. To learn the nonlinear mapping between distorted images and clear images, Islam presents an efficient conditional GAN-based model named FunieGAN [46]. FunieGAN defines image content loss using a trained VGG-19 network to extract advanced features. The purpose of the content loss is to encourage G to generate the same image as the clear image feature representation. We found better numeric stability for content loss with pre-trained ConvXNet [47] compared to pre-trained VGG-19. Considering that the illumination of natural images is generally locally smooth, we also include the illumination smoothness loss as a part of the loss function of the generator in MUGAN. 3 PROPOSED APPROACH In this section, we first introduce the details of the proposed model architecture and then the loss function. Network architecture Our main goal is to develop an efficient Generative Adversarial Network for underwater image enhancement that can effectively address the issue of underwater image quality degradation. Given a desired underwater image I C ∈ R H × W × C ${I^C} \in {R^{H \times W \times C}}$ and degraded underwater image I D ∈ R H × W × C ${I^D} \in {R^{H \times W \times C}}$ , we train G to learn a mapping G : I D → I C $G:{I}^{D}\to {I}^{C}$ . The generator is built upon an elegant U-shaped architecture. It is a 5-level symmetric encoder-decoder network, with encoding being used to extract features and decoding being used to construct the image map as output. In order to alleviate semantic differences between encoder and decoder, the encoder's features are connected to the decoder after going through a deep convolutional layer. The network's input is set to 256 × 256 × 3 $256 \times 256 \times 3$ , and the encoder only learns 512 feature maps of size 16 × 16. The decoder learns to build a 256 × 256 × 3 $256 \times 256 \times 3$ (enhanced) image using these feature maps and inputs from the residual connection. Each level of encoder-decoder contains a "Mixed Block", which is a mixed model of convolution and self-attention. The generator model's architectural details are shown in Figure 2. Since the harsh nature and diversity of the underwater environment, we hope that our model can be robust enough to capture a diversity of natural variability. Following the Inception network principles [48], 3 × 3, 5 × 5 and 7 × 7 convolutional filters can be used in parallel to extract spatial features from different scales. Yet, this Inception-like block extravagantly increases the memory requirement. Therefore, we factorize the more expensive and convolutional filters. Specifically, we use smaller 3 × 3 convolutional blocks and concatenate the outputs from the three convolutional layers to capture the dependencies between different pixels. For the attention path, the model first generates Q, K and V by 1 × 1 convolution and 3 × 3 convolution. It was performed by1 × 1 convolution to aggregate pixel-wise cross-channel context, followed by 3 × 3 convolution to encode channel-wise spatial context. Given an input tensor X ∈ R H × W × C $X \in {R^{H \times W \times C}}$ , yielding Q = W d Q W p Q X $Q = W_d^QW_p^QX$ , K = W d K W p K X $K = W_d^KW_p^KX$ and V = W d V W p V X $V = W_d^VW_p^VX$ . Where W p ( • ) $W_p^{( \bullet )}$ is the 1 × 1 convolution and W d ( • ) $W_d^{( \bullet )}$ is the 3 × 3 convolution. Finally, the outputs of both pathways are added together, as depicted in Figure 4. The self-attention calculation process is defined as: A t t e n t i o n ( Q , K , V ) = S o f t M a x Q K T d k V $$\begin{equation} Attention(Q,K,V) = SoftMax\left(\frac{{Q{K^T}}}{{\sqrt {{d_k}} }}\right)V \end{equation}$$ (1)where Q, K and V are the query, key and value matrices, and d k ${d_k}$ is the dimension. FIGURE 2Open in figure viewerPowerPoint Network architecture of the Generator. It is a 5-level symmetric encoder-decoder network, and each level of encoder-decoder contains a "Mixed Block", which is a mixed model of convolution and self-attention. For the discriminator, only discriminates based on the patch-level information. As shown in Figure 3, five densely connected Gated Blocks are used to transform a 256 × 256 × 6 $256 \times 256 \times 6$ input to a 16 × 16 × 1 $16 \times 16 \times 1$ output. We draw on ideas from Markovian Patch-GAN [49], which is effective in capturing style-related information. In particular, Markovian Patch-GAN can effectively capture blue-green backgrounds for underwater images. And our discriminator is a dual discriminator with the same network structure. The dual discriminator's purpose is to direct the generator to produce realistic images at both the global semantic and local detail levels. The reason for this design is that Markovian Patch-GAN is limited in the details of guiding the generator to generate images. To do this, we feed the discriminator both the original image and the corresponding 2× down-sampled image I h a l f C $I_{half}^C$ and I h a l f D $I_{half}^D$ . Gated Block is illustrated in Figure 5, and we propose a core design in Gated Block to improve the discriminative ability. We employ a gating mechanism to control the flow of information. The gating mechanism is defined as the element-by-element product of two parallel paths. One of the paths is activated by Tanh's non-linearity, and Tanh's role is to help suppress the value flowing through the network so that the value is always limited between −1 and 1. This is designed to suppress information and avoid producing overexposed images. The training process of our model is shown in Algorithm 1. FIGURE 3Open in figure viewerPowerPoint Network architecture of the Discriminator. Only discriminates based on the patch-level information and a patch 16 × 16 FIGURE 4Open in figure viewerPowerPoint The mixed block. For the convolution path, it is a succession of 3 × 3 filters. For the attention path, the model first generates Q, K and V by 1 × 1 convolution and 3 × 3 convolution FIGURE 5Open in figure viewerPowerPoint The gated block. Employing a gating mechanism to control the flow of information ALGORITHM 1. Minibatch stochastic gradient descent training of our model. K is the total number of images used for training for number of training iterations do for K steps do Sample minibatch of m examples { I C ( 1 ) ${I^{C(1)}}$ ,…., I C ( m ) ${I^{C(m)}}$ } and { I h a l f C ( 1 ) $I_{half}^{C(1)}$ ,…., I h a l f C ( m ) $I_{half}^{C(m)}$ } for desired image I C ${I^C}$ and I h a l f C $I_{half}^C$ Sample minibatch of m examples { I D ( 1 ) ${I^{D(1)}}$ ,…., I D ( m ) ${I^{D(m)}}$ } and { I h a l f D ( 1 ) $I_{half}^{D(1)}$ ,…., I h a l f D ( m ) $I_{half}^{D(m)}$ }for degraded image I D ${I^D}$ and I h a l f D $I_{half}^D$ Update the discriminator by ascending its stochastic gradient: ∇ θ D 1 M ∑ m = 1 M [ log D ( I C ) + log ( 1 − D ( G ( I D ) ) ) ] + 1 M ∑ m = 1 M [ log D ( I C h a l f ) + log ( 1 − D ( G ( I D h a l f ) ) ) ] $\hspace*{36pt}{\nabla_{{\theta _D}}}\frac{1}{M}\displaystyle\sum_{m = 1}^M [\log D({I^C}) + \log (1 - D(G({I^D})))]\vspace*{6pt} \hspace*{48pt} + \frac{1}{M}\displaystyle\sum_{m = 1}^M [\log D({I^C}_{half}) + \log (1 - D(G({I^D}_{half})))]$ end Update the generator by descending its stochastic gradient: ∇ θ G 1 M ∑ m = 1 M [ log ( 1 − D ( G ( I D ) ) ) ] + 1 M ∑ m = 1 M [ log ( 1 − D ( G ( I D h a l f ) ) ) ] $\hspace*{12pt}{\nabla _{{\theta _G}}}\frac{1}{M}\displaystyle\sum_{m = 1}^M {[\log (1 - D(G({I^D})))] + \frac{1}{M}\displaystyle\sum_{m = 1}^M [ \log (1 - D(G({I^D}_{half})))} ]$ end Objective function formulation We formulate a loss function with four components to train our model. Adversarial Loss: To train dual discriminators, we use the optimization method described below. min G max D E I C [ log D ( I C ) ] + E I D [ log ( 1 − D ( G ( I D ) ) ) ] $$\begin{equation}\mathop {\min }\limits_G \mathop {\max }\limits_D {E_{{I^C}}}[\log D({I^C})] + {E_{{I^D}}}[\log (1 - D(G({I^D})))]\end{equation}$$ (2) min G max D E I C [ log D ( I C h a l f ) ] + E I D [ log ( 1 − D ( G ( I D h a l f ) ) ) ] $$\begin{eqnarray} \mathop {\min }\limits_G \mathop {\max }\limits_D {E_{{I^C}}}[\log D({I^C}_{half})] + {E_{{I^D}}}[\log (1 - D(G({I^D}_{half})))]\nonumber\\ \end{eqnarray}$$ (3) Here, G is for MUGAN's generator, while D stands for the discriminator. The D tries to maximize this function while G tries to minimize it. Let I C ${I^C}$ be an underwater image with no distortion, and I D ${I^D}$ be the same image with distortion. I h a l f C $I_{half}^C$ and I h a l f D $I_{half}^D$ means the 2× down-sampled results. The adversarial losses L ∂ 1 ${L_{\partial 1}}$ and L ∂ 2 ${L_{\partial 2}}$ can be expressed as: L ∂ 1 = E | | log ( 1 − D ( G ( I D ) ) ) | | 1 $$\begin{equation}{L_\partial }_1 = E||\log (1 - D(G({I^D})))|{|_1}\end{equation}$$ (4) L ∂ 2 = E | | log ( 1 − D ( G ( I D h a l f ) ) ) | | 1 $$\begin{equation}{L_\partial }_2 = E||\log (1 - D(G({I^D}_{half})))|{|_1}\end{equation}$$ (5) Global similarity: To make G learn to sample from the global similarity space, we add the L1 loss to the objective function. We calculate the difference between the generated image G ( I D ) $G({I^D})$ and the clear ground truth image I C ${I^C}$ . L 1 = E | | ( I C − G ( I D ) ) | | 1 $$\begin{equation}{L_1} = E||({I^C} - G({I^D}))|{|_1}\end{equation}$$ (6) Image content: We set the function Φ ( · ) $\Phi (\cdot )$ as the high-level features extracted by the pre-trained ConvXNet network. We measure the distance between the feature representations of the generated results and the feature representations of the corresponding ground truth images. L con = E | | Φ ( I C ) − Φ ( G ( I D ) ) | | 2 $$\begin{equation}{L_{{\rm{con}}}} = E||\Phi ({I^C}) - \Phi (G({I^D}))|{|_2}\end{equation}$$ (7) Illumination Smoothness Loss: To keep adjacent pixels in a monotonic connection and increase the network's generalization capacity, we add an illumination smoothness loss to the objective. L t v A = 1 N ∑ n = 1 N ∑ c ∈ ξ ( | ∇ x A n c | + | ∇ y A n c | ) 2 , ξ = { R , G , B } $$\begin{equation}{L_{tvA}} = \frac{1}{N}\sum_{n = 1}^N {\sum_{c \in \xi } {{{(|{\nabla _x}A_n^c| + |{\nabla _y}A_n^c|)}^2},\xi = \{ R,G,B\} } } \end{equation}$$ (8) Here, N represents the number of iterations, ∇ x ${\nabla _x}$ and ∇ y ${\nabla _y}$ are gradient operations in horizontal and vertical directions. A represents illumination parameter map, which is obtained by a simple network. It is a fully convolutional network with 3 × 3 convolution kernels in each layer. We present an example of getting illumination parameter map in Figure 6. FIGURE 6Open in figure viewerPowerPoint An example of the parameter maps. A n R $A_n^R$ , A n G $A_n^G$ and A n B $A_n^B$ represent the parameter maps of R, G and B channels Total Loss: The total loss can be expressed as: L t o t a l = λ 1 ( L ∂ 1 + L ∂ 2 ) + λ 2 L 1 + λ 3 L c o n + λ 4 L t v A $$\begin{equation}{L_{total}} = {\lambda _1}({L_{\partial 1}} + {L_{\partial 2}}) + {\lambda _2}{L_1} + {\lambda _3}{L_{con}} + {\lambda _4}{L_{tvA}}\end{equation}$$ (9)where λ1, λ2, λ3 and λ4 are the weights of the losses, with parameters λ1 = 0.5, λ2 = 0.3, λ3 = 0.7 and λ4 = 20. We adjust to these hyperparameters based on experiments. 4 EXPERIMENTAL RESULTS We use PyTorch as the deep learning framework and our model is trained on an NVIDIA GTX 3090 GPU for 100 epochs. In order to extend our model to other underwater images, we use a subset of EUVP [46] to train and evaluate our model. EUVP is collected for ocean exploration under different visibility conditions in different locations and can adapt to different scenarios. The model was trained on 11,435 images while 1270 images were used for verification and 550 images were used f