1. A method for converting video to text, comprising the steps of: receiving at least one frame of video; partitioning the at least one frame of a video into a plurality of blobs; providing a semantic class label for each blob; constructing a graph from a plurality of the semantic class labels representing blobs at the vertices and a plurality of edges represent the spatial interactions between blobs; and traversing the graph to generate text associated with the video.