Skip to content

ck324/ck324.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 

Repository files navigation

UVE-Net

LICENSE Python PyTorch

UVEB: A Large-scale Benchmark and Baseline Towards Real-World Underwater Video Enhancement


Abstract: Learning-based underwater image enhancement (UIE) methods have made great progress. However, the lack of large-scale and high-quality paired training samples has become the main bottleneck hindering the development of UIE. The inter-frame information in underwater videos can accelerate or optimize the UIE process. Thus, we constructed the first large-scale high-resolution underwater video enhancement benchmark (UVEB) to promote the development of underwater vision. UVEB is 500 times larger than the existing underwater image enhancement benchmark. It contains 1,308 pairs of video sequences and more than 453,000 high-resolution with 38% Ultra-High-Definition (UHD) 4K frame pairs. UVEB comes from multiple countries, containing various scenes and video degradation types to adapt to diverse and complex underwater environments. We also propose the first supervised underwater video enhancement method, UVE-Net. UVE-Net converts the current frame information into convolutional kernels and passes them to adjacent frames for efficient inter-frame information exchange. By fully utilizing the redundant degraded information of underwater videos, UVE-Net completes video enhancement better. Experiments show the effective network design and good performance of UVE-Net.


This repository is the official PyTorch implementation of our CVPR2024 paper "UVEB: A Large-scale Benchmark and Baseline Towards Real-World Underwater Video Enhancement".

Network Architecture

Architecture

Updates

[2024-02-27] Paper has been accepted by CVPR2024
[2024-03-25] Training & Testing code is available!

Experimental Results

Quantitative comparisons of enhanced video quality on UVEB dataset. In the Memory column, ∗ represents the CPU, while without ∗ represents the GPU. Top 1st, 2nd results are marked in red and blue respectively.
quantitative

Ablation studies of major components in UVE-Net.
ablation

Visual comparisons with state-of-the-art methods on real underwater scenes.
vision

Dependencies

  • Linux (Tested on Ubuntu 18.04)
  • python 3.7
  • Install dependent packages :pip install -r requirements.txt

Get Started

Dataset

link(dataset)

Pretrained models

  • Models are available in './experiments/model_name'

Dataset Organization Form

If you prepare your own dataset, please follow the following form like UVEB:

|--dataset  
    |--blur  
        |--video 1
            |--frame 1
            |--frame 2
                :  
        |--video 2
            :
        |--video n
    |--gt
        |--video 1
            |--frame 1
            |--frame 2
                :  
        |--video 2
        	:
        |--video n

Training

  • Download training dataset like above form.
  • Run the following commands:
Single GPU
python basicsr/train.py -opt options/train/Deblur/train_Deblur_GOPRO.yml
Multi-GPUs
python -m torch.distributed.launch --nproc_per_node=4 --master_port=4321 basicsr/train.py -opt options/train/Deblur/train_Deblur_GOPRO.yml --launcher pytorch

Testing

  • Models are available in './experiments/'.
  • Organize your dataset(GOPRO/DVD/BSD) like the above form.
  • Run the following commands:
python basicsr/test.py -opt options/test/Deblur/test_Deblur_GOPRO.yml
cd results
python merge_full.py
python calculate_psnr.py
  • Before running merge_full.py, you should change the parameters in this file of Line 5,6,7,8.
  • The deblured result will be in './results/dataset_name/'.
  • Before running calculate_psnr.py, you should change the parameters in this file of Line 5,6.
  • We calculate PSNRs/SSIMs by running calculate_psnr.py

Citation

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published