All Projects → guochengqian → Tenet

guochengqian / Tenet

Licence: mit
Official Pytorch Implementation for Trinity of Pixel Enhancement: a Joint Solution for Demosaicing, Denoising and Super-Resolution

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Tenet

Supper Resolution
Super-resolution (SR) is a method of creating images with higher resolution from a set of low resolution images.
Stars: ✭ 105 (-33.12%)
Mutual labels:  super-resolution
Rdn Tensorflow
A TensorFlow implementation of CVPR 2018 paper "Residual Dense Network for Image Super-Resolution".
Stars: ✭ 136 (-13.38%)
Mutual labels:  super-resolution
Adafm
CVPR2019 (oral) Modulating Image Restoration with Continual Levels via Adaptive Feature Modification Layers (AdaFM). PyTorch implementation
Stars: ✭ 151 (-3.82%)
Mutual labels:  super-resolution
Awesome Eccv2020 Low Level Vision
A Collection of Papers and Codes for ECCV2020 Low Level Vision or Image Reconstruction
Stars: ✭ 111 (-29.3%)
Mutual labels:  super-resolution
Awesome Gan For Medical Imaging
Awesome GAN for Medical Imaging
Stars: ✭ 1,814 (+1055.41%)
Mutual labels:  super-resolution
Keras Image Super Resolution
EDSR, RCAN, SRGAN, SRFEAT, ESRGAN
Stars: ✭ 143 (-8.92%)
Mutual labels:  super-resolution
Idn Caffe
Caffe implementation of "Fast and Accurate Single Image Super-Resolution via Information Distillation Network" (CVPR 2018)
Stars: ✭ 104 (-33.76%)
Mutual labels:  super-resolution
Mmediting
OpenMMLab Image and Video Editing Toolbox
Stars: ✭ 2,618 (+1567.52%)
Mutual labels:  super-resolution
3pu
Patch-base progressive 3D Point Set Upsampling
Stars: ✭ 131 (-16.56%)
Mutual labels:  super-resolution
Basicsr
Open Source Image and Video Restoration Toolbox for Super-resolution, Denoise, Deblurring, etc. Currently, it includes EDSR, RCAN, SRResNet, SRGAN, ESRGAN, EDVR, BasicVSR, SwinIR, ECBSR, etc. Also support StyleGAN2, DFDNet.
Stars: ✭ 2,708 (+1624.84%)
Mutual labels:  super-resolution
Deeply Recursive Cnn Tf
Test implementation of Deeply-Recursive Convolutional Network for Image Super-Resolution
Stars: ✭ 116 (-26.11%)
Mutual labels:  super-resolution
Upscalerjs
Image Upscaling in Javascript. Increase image resolution up to 4x using Tensorflow.js.
Stars: ✭ 126 (-19.75%)
Mutual labels:  super-resolution
Awesome Cvpr2021 Cvpr2020 Low Level Vision
A Collection of Papers and Codes for CVPR2021/CVPR2020 Low Level Vision
Stars: ✭ 139 (-11.46%)
Mutual labels:  super-resolution
Edafa
Test Time Augmentation (TTA) wrapper for computer vision tasks: segmentation, classification, super-resolution, ... etc.
Stars: ✭ 107 (-31.85%)
Mutual labels:  super-resolution
Pan
[Params: Only 272K!!!] Efficient Image Super-Resolution Using Pixel Attention, in ECCV Workshop, 2020.
Stars: ✭ 151 (-3.82%)
Mutual labels:  super-resolution
Natsr
Natural and Realistic Single Image Super-Resolution with Explicit Natural Manifold Discrimination (CVPR, 2019)
Stars: ✭ 105 (-33.12%)
Mutual labels:  super-resolution
Enhancenet Code
EnhanceNet: Single Image Super-Resolution Through Automated Texture Synthesis (official repository)
Stars: ✭ 142 (-9.55%)
Mutual labels:  super-resolution
A Pytorch Tutorial To Super Resolution
Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network | a PyTorch Tutorial to Super-Resolution
Stars: ✭ 157 (+0%)
Mutual labels:  super-resolution
Frvsr
Frame-Recurrent Video Super-Resolution (official repository)
Stars: ✭ 157 (+0%)
Mutual labels:  super-resolution
Waifu2x Extension
Image, GIF and Video enlarger/upscaler achieved with waifu2x and Anime4K. [NO LONGER UPDATED]
Stars: ✭ 149 (-5.1%)
Mutual labels:  super-resolution

TENet [PDF] [pixelshift200]

Trinity of Pixel Enhancement: a Joint Solution for Demosaicing, Denoising and Super-Resolution

By Guocheng Qian, Jinjin Gu, Jimmy S. Ren, Chao Dong, Furong Zhao, Juan Lin

Citation

Please cite the following paper if you feel TENet is useful to your research

@article{qian2019trinity,
  title={Trinity of Pixel Enhancement: a Joint Solution for Demosaicking, Denoising and Super-Resolution},
  author={Qian, Guocheng and Gu, Jinjin and Ren, Jimmy S and Dong, Chao and Zhao, Furong and Lin, Juan},
  journal={arXiv preprint arXiv:1905.02538},
  year={2019}
}

Resources Collection

Pretrained models

GoogleDrive

Test data

GoogleDrive

PixelShift200 dataset

Pixelshift200 website

Quick Test

Dependencies

  • Python >= 3
  • PyTorch 0.4.1 (CUDA version >= 7.5 if installing with CUDA. More details)
  • Tensorflow (cpu version is enough, only used for visualization in training)
  • Python packages: pip install opencv-python scipy scikit-image
conda create --name pytorch04
conda activate pytorch04
conda install pytorch=0.4.1 cuda90 torchvision tensorflow -c pytorch   
pip install opencv-python scipy scikit-image  

Test Models

  1. Clone this github repo.

    git clone https://github.com/guochengqian/TENet
    cd TENet
    
  2. Place your own input images in $YourInputPath folder. You will save output in $YourSavePath folder. Input images should be Bayer Raw images (bayer pattern is rggb).

  3. Run test.

    1. test model trained by synthesis datasets

      sh ./script/test_tennet2-dn-df2k.sh  
      
    2. test model trained by PixelShift200 datasets

      sh ./script/test_tenet2-dn-ps200.sh  
      

      Don't forget to change $YourInputPath and $YourSavePath in .sh file.

How to Train

We train our model both on synthesis datasets(DF2k) and our proposed full color sampled real word 4k dataset PixelShift200 (to be released soon).

  1. Data preparation

    1. Synthesis data preparation

      1. Download (DF2k) dataset, which is a combination dataset of DIV2K and Flickr2K
      2. Crop images into resolution 256*256, using followed code:
        python ./dataset/crop_images.py
        
      3. generate txt file used for training
        python ./dataset/generate_train_df2k.py
        
    2. PixelShift200 data preparation

      1. Download Pixelshift200. They are .mat format, having 4 channels (R, Gr, Gb, B).
      2. Crop images into 512*512, using followed code:
        python ./dataset/crop_mats.py
        
      3. generate txt file used for training
        python ./dataset/generate_train_mat.py
        
  2. Train model on synthesis dataset

    sh script/run_tenet2-dn-df2k.sh
    
  3. Train model on PixelShift200 dataset

    sh script/run_tenet2-dn-ps200.sh    
    

TENet

Our approach can be divided into two parts, the first part is a mapping of joint denoising and SR, and the second part converts the SR mosaic image into a full color image. The two parts can be trained and performed jointly. The network structure is illustrated as follows.

PixelShift200 dataset

We employ advanced pixel shift technology to perform a full color sampling of the image. Pixel shift technology takes four samples of the same image, and physically controls the camera sensor to move one pixel horizontally or vertically at each sampling to capture all color information at each pixel. The pixel shift technology ensures that the sampled images follow the distribution of natural images sampled by the camera, and the full information of the color is completely obtained. In this way, the collected images are artifacts-free, which leads to better training results for demosaicing related tasks.

Download dataset from pxielshift200 website.

Result

Results on Real Images

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].