David Dao 41c52d60fe Spatial Transformer model 10 năm trước cách đây
..
data 41c52d60fe Spatial Transformer model 10 năm trước cách đây
README.md 41c52d60fe Spatial Transformer model 10 năm trước cách đây
cluttered_mnist.py 41c52d60fe Spatial Transformer model 10 năm trước cách đây
example.py 41c52d60fe Spatial Transformer model 10 năm trước cách đây
spatial_transformer.py 41c52d60fe Spatial Transformer model 10 năm trước cách đây
tf_utils.py 41c52d60fe Spatial Transformer model 10 năm trước cách đây

README.md

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 0.7 and based on [2].

How to use



transformer(U, theta, downsample_factor=1)

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].
downsample_factor : float
    A value of 1 will keep the original size of the image
    Values larger than 1 will downsample the image. 
    Values below 1 will upsample the image
    example image: height = 100, width = 200
    downsample_factor = 2
    output image will then be 50, 100

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