All Projects → atiyo → Deep_image_prior

atiyo / Deep_image_prior

Licence: apache-2.0
Image reconstruction done with untrained neural networks.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Deep image prior

Tensorflow Book
Accompanying source code for Machine Learning with TensorFlow. Refer to the book for step-by-step explanations.
Stars: ✭ 4,448 (+2547.62%)
Mutual labels:  convolutional-neural-networks, autoencoder
Awesome Tensorlayer
A curated list of dedicated resources and applications
Stars: ✭ 248 (+47.62%)
Mutual labels:  convolutional-neural-networks, autoencoder
Tensorflow Tutorial
TensorFlow and Deep Learning Tutorials
Stars: ✭ 748 (+345.24%)
Mutual labels:  convolutional-neural-networks, autoencoder
Zhihu
This repo contains the source code in my personal column (https://zhuanlan.zhihu.com/zhaoyeyu), implemented using Python 3.6. Including Natural Language Processing and Computer Vision projects, such as text generation, machine translation, deep convolution GAN and other actual combat code.
Stars: ✭ 3,307 (+1868.45%)
Mutual labels:  convolutional-neural-networks, autoencoder
Motion Sense
MotionSense Dataset for Human Activity and Attribute Recognition ( time-series data generated by smartphone's sensors: accelerometer and gyroscope)
Stars: ✭ 159 (-5.36%)
Mutual labels:  convolutional-neural-networks, autoencoder
Neurec
Next RecSys Library
Stars: ✭ 731 (+335.12%)
Mutual labels:  convolutional-neural-networks, autoencoder
Niftynet
[unmaintained] An open-source convolutional neural networks platform for research in medical image analysis and image-guided therapy
Stars: ✭ 1,276 (+659.52%)
Mutual labels:  convolutional-neural-networks, autoencoder
Sign Language Interpreter Using Deep Learning
A sign language interpreter using live video feed from the camera.
Stars: ✭ 157 (-6.55%)
Mutual labels:  convolutional-neural-networks
Tf Adnet Tracking
Deep Object Tracking Implementation in Tensorflow for 'Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning(CVPR 2017)'
Stars: ✭ 162 (-3.57%)
Mutual labels:  convolutional-neural-networks
Human Action Recognition With Keras
Keras implementation of Human Action Recognition for the data set State Farm Distracted Driver Detection (Kaggle)
Stars: ✭ 156 (-7.14%)
Mutual labels:  convolutional-neural-networks
Sparse Winograd Cnn
Efficient Sparse-Winograd Convolutional Neural Networks (ICLR 2018)
Stars: ✭ 156 (-7.14%)
Mutual labels:  convolutional-neural-networks
Vdcnn
Implementation of Very Deep Convolutional Neural Network for Text Classification
Stars: ✭ 158 (-5.95%)
Mutual labels:  convolutional-neural-networks
Sequitur
Library of autoencoders for sequential data
Stars: ✭ 162 (-3.57%)
Mutual labels:  autoencoder
Brain.js
brain.js is a GPU accelerated library for Neural Networks written in JavaScript.
Stars: ✭ 12,358 (+7255.95%)
Mutual labels:  convolutional-neural-networks
A Journey Into Convolutional Neural Network Visualization
A journey into Convolutional Neural Network visualization
Stars: ✭ 165 (-1.79%)
Mutual labels:  convolutional-neural-networks
Imagenet
TensorFlow implementation of AlexNet and its training and testing on ImageNet ILSVRC 2012 dataset
Stars: ✭ 155 (-7.74%)
Mutual labels:  convolutional-neural-networks
Tensorflow Cnn Finetune
Finetuning AlexNet, VGGNet and ResNet with TensorFlow
Stars: ✭ 166 (-1.19%)
Mutual labels:  convolutional-neural-networks
Visual Interaction Networks Pytorch
This's an implementation of deepmind Visual Interaction Networks paper using pytorch
Stars: ✭ 164 (-2.38%)
Mutual labels:  convolutional-neural-networks
Danmf
A sparsity aware implementation of "Deep Autoencoder-like Nonnegative Matrix Factorization for Community Detection" (CIKM 2018).
Stars: ✭ 161 (-4.17%)
Mutual labels:  autoencoder
Iresnet
Improved Residual Networks (https://arxiv.org/pdf/2004.04989.pdf)
Stars: ✭ 163 (-2.98%)
Mutual labels:  convolutional-neural-networks

PyTorch Deep Image Prior

An implementation of image reconstruction methods from Deep Image Prior (Ulyanov et al., 2017) in PyTorch.

The point of the paper is to execute some common image manipulation tasks using neural networks untrained on data prior to use.

Architectures differ from those used in the actual paper. The authors use some specific networks for specific tasks. This repo uses a couple of alternative architectures to produce similar results. One where upsampling is done on the basis of pixel shuffling, and the other using transposed convolutions. Pixel shuffling results in some hotspots that do not disappear with further training.

Requirements

Python3 with PyTorch, torchvision and NumPy. CUDA and cuDNN are optional (settable within the script in a self-explanatory way) but strongly recommended.

To use

It's relatively easy to play around with the settings from within the scripts. To reproduce the results in the repo, do the following.

Make a directory to hold the network output:

mkdir output

Generate output images with:

python3 deep_image_prior.py

Consolidate output images into a training gif and sample some actual data with:

python3 parse_ec2_results.py

Results

Note that the images here have been downsampled for formatting sensibly in the README. Full sized samples are in the repo if you would like to have a closer look.

Training was done over 25k iterations on an Amazon GPU instance. Takes roughly an hour on 512x512 images.

Upsampling with transposed convolutions:

Note the grid like speckles during training. These are caused by convolutional kernels overlapping with one another during upsampling.

Ground truth Input Output Training
truth deconstructed actuals actuals

Upsampling with pixel shuffling:

No speckles, however there is a hotspot (in the out of focus region towards the bunny's behind) that becomes a black spot. The appearance of these hotspots seems commonplace through both architectures, but the extra smoothness given by the convolution transpose layers repairs these more effectively.

Ground truth Input Output Training
truth deconstructed actuals actuals
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].