Git Product home page Git Product logo

insp's Introduction

Signal Processing for Implicit Neural Representations

License: MIT

The official implementation of NeurIPS 2022 paper "Signal Processing for Implicit Neural Representations".

Dejia Xu*, Peihao Wang*, Yifan Jiang, Zhiwen Fan, Zhangyang (Atlas) Wang

[Paper] [Website]

Method Overview

Environment

You can then set up a conda environment with all dependencies like so:

conda env create -f environment.yml
conda activate INSP

High-Level structure

  • Fit INR
  • Export gradients for INR
  • Train INSP-Net
  • Inference INSP-Net

Image Processing

For image processing, we experiment on div2k dataset.

wget http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_train_HR.zip &
unzip DIV2K_train_HR.zip
  • Fit multiple INR

    Use --type to specify the type of images you want to train on.

    python gen_div2k.py | zsh

  • Export gradients for INR

    --load is used for glob to filter out corresponding INRs.

    python export_colorray.py --save_dir grad/train_color_noise/ --load 'div2k*.png_color_noise_'
    

    Then, manually divide grad/train_color_noise and put a few of them into grad/test_color_noise (in our case we used first 100 images in DIV2K for training and the following 100 images for testing)

  • Train INSP-Net

    --img_num changes the number of images that are used for training.

    The training should converge in a couple of minutes.

    python experiment_scripts/train_img_grad_offline.py --model_type=sine --experiment_name denoise --noise_level 0 --target denoise --img_num 100 --overwrite --sigma 7 --sz 256 --batch_size 10240 --lr 1e-4
    
  • Inference INSP-Net

    python eval_insp.py --save_path output/denoise --target denoise --ckpt_path logs/denoise/checkpoints/model_current.pth
    

The INRs used in our experiments can be found here.

Audio Denoising

  • Fit INR

    python experiment_scripts/train_audio.py --model_type=sine --wav_path=data/gt_bach.wav --experiment_name audio_noisy_10
    
  • Export gradients for INR

    python export_audio.py
    
  • Train INSP-Net

    python experiment_scripts/train_audio_insp.py --experiment_name audio_denoise --batch_size 10240
    
  • Inference INSP-Net

    python eval_audio_insp.py
    

SDF Smoothing

  • Fit INR

    
    
  • Export gradients for INR

    python export_sdf_ray.py
    
  • Train INSP-Net

    python experiment_scripts/train_sdf_insp.py --experiment_name smooth_armadillo --sz 256 --ti 10 --batch_size 1
    
  • Inference INSP-Net

    python eval_sdf_insp.py
    

Image Classification

Due to the large size of MNIST and CIFAR INRs, we can't provide all of the checkpoints. However, we share the scripts to generate the INRs.

Citation

@inproceedings{Xu_2022_INSP,
    title={Signal Processing for Implicit Neural Representations},
    author={Xu, Dejia and Wang, Peihao and Jiang, Yifan and Fan, Zhiwen and Wang, Zhangyang},
    booktitle={Advances in Neural Information Processing Systems (NeurIPS)},
    year={2022}
}

insp's People

Contributors

ir1d avatar peihaowang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.