1. A method for segmenting a video including a plurality of pixels into a plurality of video objects, comprising: assigning a feature vector to each pixel of the video; identifying selected pixels of the video as marker pixels; assembling each marker pixel and pixels adjacent to the marker pixel into a corresponding a volume if the distance between the feature vector of the marker pixel and the feature vector of the adjacent pixels is less than a first predetermined threshold; assigning a first score and descriptors to each volume; sorting the volumes in a high-to-low order according to the first scores; and processing the volumes in the high-to-low order, the processing for each volume comprising: comparing the descriptor of the volume to the descriptor of an adjacent volume to determine a second score; combining the volume with the adjacent volume if the second score passes a second threshold to generate a video object in a multi-resolution video object tree; and repeating the comparing and combining steps until a single video representing the video remains.