This paper describes an algorithm for multiple moving targets detection, tracking and recognition from a moving observer. When the camera is placed on a moving observer, the whole background of the scene appears to be moving and the actual motion of the targets must be distinguished from the background motion. To do this, an affine motion model between consecutive frames is estimated, and then moving targets can be extracted. Next, the target tracking employs a similarity measure which is based on the joint feature-spatial space. At last, the target recognition is performed by matching moving targets with target database. The average processing time is 680 ms per frame, which corresponds to a processing rate of 1.5 frames per second. The algorithm was tested on the Vivid datasets provided the Air Force Research Laboratory and experimental results show that this method is efficient and fast for real-time application.