In this paper an algorithm for real-time estimation of the position and orientation of a moving object using a video camera is presented. The algorithm is based on the extended Kalman filter which iteratively computes the object pose from the position measured in the image plane of a set of feature points of the object. A new technique is proposed for the selection of the optimal feature points based on the representation of the object geometry by means of a Binary Space Partitioning (BSP) tree. At each sample time, a visit algorithm of the tree allows pre-selecting all the feature points of the object that are visible from the camera in the pose predicted by the Kalman filter. A further selection is performed to find the optimal set of visible points to be used for image feature extraction. Experimental results are presented which confirm the feasibility and effectiveness of the proposed technique.