Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/trevor-m/tensorflow-bicubic-downsample

tf.image.resize_images has aliasing when downsampling and does not have gradients for bicubic mode. This implementation fixes those problems.
https://github.com/trevor-m/tensorflow-bicubic-downsample

aliasing bicubic deep-learning downsample gradients image-processing image-resizing images resize-images super-resolution tensorflow

Last synced: about 2 months ago
JSON representation

tf.image.resize_images has aliasing when downsampling and does not have gradients for bicubic mode. This implementation fixes those problems.

Awesome Lists containing this project

README

        

# tensorflow-bicubic-downsample
tf.image.resize_images has aliasing when downsampling and does not define gradients for bicubic mode. This implementation fixes those problems.

# Example
These images have been downsampled by a factor of 4 from the original. The results from this code matches the scipy.misc.imresize results exactly.

Method | Result | Comments
--- | --- | ---
Original | | This is the original full res image.
tf.images.resize_images | | TF's implementation has aliasing
scipy.misc.imresize | | Proper bicubic downsampling
This code | | Matches scipy exactly

# Usage
```python
from bicubic_downsample import build_filter, apply_bicubic_downsample

# First, create the bicubic kernel. This can be reused in multiple downsample operations
k = build_filter(factor=4)

# Downsample x which is a tensor with shape [N, H, W, 3]
y = apply_bicubic_downsample(x, filter=k, factor=4)

# y now contains x downsampled to [N, H/4, W/4, 3]
```