A system for generating a three-dimensional image of a target from lidar measurements and video images, the system comprising: a lidar subsystem that directs at least two beams (112-1 to 112.n) toward the target and that generates a range measurement and a Doppler velocity measurement for each of a plurality of points on the target for each of the at least two beams; a video subsystem (150, 155) that provides a plurality of two-dimensional images of the target; and a processor that: receives, from the lidar subsystem, the range measurement and the Doppler velocity measurement for each of the plurality of points on the target for each of the at least two beams, receives, from the video subsystem, the plurality of images of the target, estimates first stage motion aspects of the target from the range measurements and Doppler velocity measurements from the lidar subsystem and from two-dimensional position and velocity measurements of at least one feature of the target obtained from the plurality of images of the target, characterized in that the processor estimates second stage motion aspects of the target by subtracting a first one of the plurality of images from a second one of the plurality of images, wherein the first one of the plurality of images and the second one of the plurality of images are each referenced to a same particular time using the first stage motion aspects of the target, and generates the three-dimensional image of the target using the second stage motion aspects. a lidar subsystem that directs at least two beams (112-1 to 112.n) toward the target and that generates a range measurement and a Doppler velocity measurement for each of a plurality of points on the target for each of the at least two beams; a video subsystem (150, 155) that provides a plurality of two-dimensional images of the target; and a processor that: receives, from the lidar subsystem, the range measurement and the Doppler velocity measurement for each of the plurality of points on the target for each of the at least two beams, receives, from the video subsystem, the plurality of images of the target, estimates first stage motion aspects of the target from the range measurements and Doppler velocity measurements from the lidar subsystem and from two-dimensional position and velocity measurements of at least one feature of the target obtained from the plurality of images of the target, characterized in that the processor estimates second stage motion aspects of the target by subtracting a first one of the plurality of images from a second one of the plurality of images, wherein the first one of the plurality of images and the second one of the plurality of images are each referenced to a same particular time using the first stage motion aspects of the target, and generates the three-dimensional image of the target using the second stage motion aspects. receives, from the lidar subsystem, the range measurement and the Doppler velocity measurement for each of the plurality of points on the target for each of the at least two beams, receives, from the video subsystem, the plurality of images of the target, estimates first stage motion aspects of the target from the range measurements and Doppler velocity measurements from the lidar subsystem and from two-dimensional position and velocity measurements of at least one feature of the target obtained from the plurality of images of the target, characterized in that the processor estimates second stage motion aspects of the target by subtracting a first one of the plurality of images from a second one of the plurality of images, wherein the first one of the plurality of images and the second one of the plurality of images are each referenced to a same particular time using the first stage motion aspects of the target, and generates the three-dimensional image of the target using the second stage motion aspects.