The input to the algorithm is a wire-frame model of the object. This model is used during the initialization step where the initial pose the object relative to the camera coordinate system is estimated. The main loop starts with a prediction step where the state of the object is predicted using the current pose (velocity, acceleration) estimate and a motion model. The visible parts of the object are then projected into the image (projection and rendering step). After the detection step, where a number of features are extracted in the vicinity of the projected ones, these new features are matched to the projected ones and used to estimate the new pose of the object. Finally, the calculated pose is input to the update step.