Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
38 lines (28 sloc) 1.64 KB

End-to-End Trainable Triangulation Embedding

This code implements end-to-end trainable Triangulation Embedding layer. The work is inspired by NetVLAD, an end-to-end trainable VLAD layer.

The module was implemented & tested in TensorFlow 1.8.0. NetTriangulationEmbedding is distributed under Apache-2 License (see the LICENCE file).

Usage

NetTriangulationEmbedding has potential usages in image classification and retrieval tasks. It is applicable to end-to-end trainable models, which is an improvement from origianl Triangulation Embedding method described in [1].

from NetTriangulationEmbedding import TriangulationEmbeddingModule, 
                                      TemporalDifferenceDescriptors
import tensorflow as tf

te = TriangulationEmbedding(feature_size=1024, 
                            num_descriptors=30, 
                            num_anchor=16, 
                            add_batch_norm=True, 
                            is_training=True)

with tf.variable_scope("t_emb"):
  activation = te.forward(tensor)

References

Please note that we are not the author of the following reference.

[1] Jégou, Hervé, and Andrew Zisserman. "Triangulation embedding and democratic aggregation for image search." Proceedings of the IEEE conference on computer vision and pattern recognition. 2014.

Changes

  • 1.00 (08 July 2018)
    • Initial public release
  • 1.01 (17 September 2018)
    • Removed class TemporalDifferenceDescriptors. The purpose of this class was to calculate the optical flow in a high dimensional vector.

Contributors

You can’t perform that action at this time.