# Reversible 2D Shape Descriptor

This is a research problem and I am just wondering if there is any already existing answer in any computer vision related paper that may have skipped my notice since this is not my active area of research.

Imagine you have a shape. Now there is a large class of algorithm in existence collectively known as visual descriptor with properties such as rotation invariance & scale invariance (say Histogram of Oriented Gradients) used in computer vision algorithm such as image recognition.

The pipeline of this is as follows : Shape ---> Visual Descriptors ---> Neural Nets/Other ML Techniques

However, it is my understanding that such a descriptor is not reversible. That is given the Histogram of Oriented Gradients, I cannot reconstruct the original shape. Which is in general fine because such Networks/NN-Search algorithms usually return a probabilistic value of distances which can be used to match the shape descriptor to some already existing shape.

My question is this : Does there exist any algorithm in Computer Vision which takes a 2D shape and produces a vector representation (it doesn't have to be rotation or scale invariant) from where I can reconstruct the original shape ?

That is : Shape --> Visual Contour Descriptor_1 ---> Algorithm ---> Visual Contour Descriptor_2 ---> Some New Shape

Additional Clarifications: I have already tried general approaches such as using densely sampled points in the shape, using Spline Reps etc? If someone knows any existing literature/techniques in computer vision that produce shape vector representations, that would be of much help. I don't want to spend time trying out my own representation and claiming it to be my contribution only to find out that the problem has already been solved by someone in the Computer Vision community.

Any help is welcome.

• Sure. An 2D image is a vector, so the identity map meets all of your requirements (i.e., just use the 2D image itself as your vector representation, and boom, you've got something that meets all your listed requirements). Presumably that isn't what you intended. I think you need to think a bit more about your question and how to articulate a specific question that matches what you're actually looking for. Finally, I think you have a confusion about how neural nets are used; usually we either use a shape descriptor or a deep convolutional neural net, but not both. – D.W. Apr 24 '17 at 1:53
• Right... But the problem with that approach is that the vectorization of the image may have very unwieldy size (read dimensions) for use by Neural networks. More specifically, this vectorizes the entire shape and I am only interested in representing the contour. – rajaditya_m Apr 24 '17 at 15:05
• @D.W. Also you are right about my confusing usage of Shape Descriptor vs Feature Descriptor. I believe the latter is used in NNets. Please correct me if I wrong. – rajaditya_m Apr 24 '17 at 15:11