1. A method for three-dimensional (3D) pose estimation comprising: receiving, from a camera, a first image at time t that includes an object of interest; extracting FN features from the object in the first image to generate a first feature array {f p } t ; projecting the FN features onto a 3D model of the object to generate a first 3D sample point array {F p } t ; estimating an initial pose P t of the object from the first feature array {f p } t and the first 3D sample point array {F p } t ; receiving, from the camera, a second image at time t+1 that includes the object; identifying Q (Q≦FN) features {f q } t+1 in the second image that are also present in the first feature array {f p } t ; estimating a new pose P t+1 of the object from the Q features {f q } t+1 identified in the second image that are also present in the first feature array {f p } t , and from Q sample points {F q } t in the first 3D sample point array {F p } t corresponding to the Q features {f q } t+1 ; extracting N (N=FN-Q) new features {nif n } t+1 of the object from the second image that are not present in the first image; projecting the N new features {nif n } t+1 onto the 3D model of the object to generate N new sample points {F n } t+1 ; generating, for subsequent pose estimation, a second feature array {f p } t+1 that consists of the Q features {f q } t+1 found in the second image that are also present in the first feature array {f p } t , and the N new features {nif n } t+1 extracted from the second image; and generating, for subsequent pose estimation, a second 3D sample point array {F p } t+1 that consists of the Q sample points {F q } t from the first 3D sample point array {F p } t , and the N new sample points {F n } t+1 .