1. A method for temporally segmenting a video, the method comprising: selecting sample video frames from a plurality of decoded video frames of the video; training an annotation model on a corpus of training images with a neural network model; annotating each of the selected sample video frames with the trained annotation model, wherein annotating a selected sample video frame comprises: applying the trained annotation model to each selected sample video frame; identifying one or more entities present in the selected sample video frame based on the application of the trained annotation model, an identified entity of the video representing an object of interest in the selected sample video frame; representing each identified entity by a set of annotation parameters; segmenting the selected sample video frames into a plurality of segments for each entity of the video based on the annotation of the selected sample video frames, a segment for an entity of the video representing a semantically meaningful spatial-temporal region of the video; and generating an overall temporal segmentation of the video based on the plurality of segments of each entity of the video.