Skip to content

Latest commit

 

History

History
59 lines (40 loc) · 1.49 KB

README.md

File metadata and controls

59 lines (40 loc) · 1.49 KB

Spatial Transformer Network

The Spatial Transformer Network [1] allows the spatial manipulation of data within the network.



API

A Spatial Transformer Network implemented in Tensorflow 1.0 and based on [2].

How to use



transformer(U, theta, out_size)

Parameters

U : float 
    The output of a convolutional net should have the
    shape [num_batch, height, width, num_channels]. 
theta: float   
    The output of the
    localisation network should be [num_batch, 6].
out_size: tuple of two ints
    The size of the output of the network

Notes

To initialize the network to the identity transform init theta to :

identity = np.array([[1., 0., 0.],
                    [0., 1., 0.]]) 
identity = identity.flatten()
theta = tf.Variable(initial_value=identity)

Experiments



We used cluttered MNIST. Left column are the input images, right are the attended parts of the image by an STN.

All experiments were run in Tensorflow 0.7.

References

[1] Jaderberg, Max, et al. "Spatial Transformer Networks." arXiv preprint arXiv:1506.02025 (2015)

[2] https://github.com/skaae/transformer_network/blob/master/transformerlayer.py