1. A computer implemented method for object tracking, comprising accessing a video feed that captures an object in at least a portion of the video feed; co-training separate appearance models with the video feed, the models comprise a generative model to capture appearance variations of the object in the video feed and a discriminative model to discriminate the object from the object's background as captured by the video feed; using a sliding window to process data from the video feed; advancing the sliding window to focus the discriminative model on recent appearance variations of the object in the video feed; generating object information corresponding to the object based a Bayesian framework that combines likelihood function outputs corresponding to the generative model and the discriminative model; updating the generative model and the discriminative model using the object information; and tracking the object based on the object information.