Giter Club home page Giter Club logo

dbpn-tf's Introduction

Deep BackProjection Networks for Image Super Resolution

Unofficial Tensorflow implementation of DBPN CVPR 2018.

Whats DBPN?

Paper presentation is here.

  • One of the Deep Super-resolution networks that learn representations of low-res inputs, and the non linear mapping to high-res output.
  • This network exploits iterative up and down convolution layers thereby providing a negative feedback mechanism for projection errors at each stage.
  • Stacking of each up and down sampling stage in this fasion is DBPN.
  • Concatenation of all other previous feature layers with the current layer lead to the Dense version of DBPN. This is proven to have performance enhancements.

Whats New?

  • We have added Perceptual Loss which is generally used for Realtime style transfer and super resolution.
  • This loss emphasizes on optimization of high level features, learnt in pre trained networks (VGG16 used here, support can be extended), to be reconstructed by our network.
  • We have used only Feature Reconstruction Loss of perceptual loss for training purposes. Style Transfer Loss is implemented though.
  • Total Loss function

f: Non Linear Mapping (DBPN)
g_j: Pre-trained Network layer j

How to use this?

Code Utilities Run Command
dbpn_lite.py Implementation of DBPN with no dense connections. It has implementations of various scales 2x, 4x, 8x. It contains utility functions and model definitions.
main.py Main training program python main.py --no_epoch 10000 --batch_size 8 --train_dir <path to train dataset>

Training dataset for DBPN is only a folder full of HR images. LR down conversion is taken care by the input pipeline.

Up Projection Block

up

Down Projection Block

down

Sample Outputs (8x)

[Trained for limited number of iterations. Further improvements wrt to training can be done]

Input LR Predicted HR True HR

Weight Files will be released Soon !!!!

dbpn-tf's People

Contributors

rishi307 avatar tlokeshkumar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dbpn-tf's Issues

about training result

it seems your train result is too poor, I mean x8 case, also I use tf to do other SR algorithm also not get good result. I am confused for it

FailedPreconditionError: Attempting to use uninitialized value global_step

I have a problem in training stage, can you share a requirements.txt

Thank you

2019-12-25 19:21:53.745340: W tensorflow/core/framework/allocator.cc:107] Allocation of 18874368 exceeds 10% of system memory.
Traceback (most recent call last):
File "/home/akif/.conda/envs/DBPN/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1356, in _do_call
return fn(*args)
File "/home/akif/.conda/envs/DBPN/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1341, in _run_fn
options, feed_dict, fetch_list, target_list, run_metadata)
File "/home/akif/.conda/envs/DBPN/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1429, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value global_step
[[{{node _retval_global_step_0_0}}]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/akif/Workspaces/SuperResolution/DBPN-tf/main.py", line 105, in
global_step,_ = sess.run([global_step_tensor,opA],options = runopts)
File "/home/akif/.conda/envs/DBPN/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 950, in run
run_metadata_ptr)
File "/home/akif/.conda/envs/DBPN/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1173, in _run
feed_dict_tensor, options, run_metadata)
File "/home/akif/.conda/envs/DBPN/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1350, in _do_run
run_metadata)
File "/home/akif/.conda/envs/DBPN/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1370, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value global_step
[[{{node _retval_global_step_0_0}}]]

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.