New Method for Measuring Movement in Security and Surveillance Video

Security Camera When you have a sequence of images containing data/evidence spread over several frames recorded from the same position, for example, a series of frames from a fixed security camera, you can use PhotoModeler’s image sequence feature to measure or track objects in the scene over time!

Here are some possible uses:

  • Calculating and comparing the heights of multiple suspects who enter and exit the frame at different times.
  • A suspect reaches across a counter in a store, and the locations of limbs and weapons touching surfaces have to be measured.
  • A vehicle passing by appears to cross the center line, and the path of the vehicle has to be traced.
  • A vehicle makes an unsafe maneuver at an intersection, and the party at fault has to be determined. Here is an example with video.
  • A heavy object at a construction site has moved, and its position needs to be compared over time.

In a traditional PhotoModeler project, there is one image per camera position. Here instead, a number of images are assigned to a single camera position.  Even though the scene has changed; with a fixed camera, the scene can be modeled over time.

Also, with accurate timestamps, the distance of an object passing through the scene can be measured and therefore a speed can be calculated.

Tip Video

This video as a link: Using Image Sequences to measure moving objects from a security camera.   

Example Image Sequence Solution

The following is an example of vehicle movement from a single security camera video married to a laser scan of the scene – as shown in the above video.

Shot of parking lot from security camea

Distinct features in the scene are surveyed to solve the security camera’s position, the camera’s characteristics, and to model the road surface.   This survey can be done a) by using PhotoModeler (taking multiple photos with a calibrated camera of the area and measuring key 3D points), b) by using a laser scanner and importing the data into PhotoModeler, or c) by using traditional survey tools (e.g., total-station) and importing control points into PhotoModeler.  There are numerous tip videos and tutorials on ways to use survey data to solve a single photo/inverse camera project (see the list of videos below).  This project was carried out using a laser scanner point cloud.

Once you have a single photo project solved using the imported control points, a surface defining the road surface is modeled using control points surveyed on the road surface, such as those shown on the right.

On the Photo Properties Pane, the Image Sequence is formed by importing additional image frames. As you scroll through the sequence, important data points can be marked using surface draw on that road surface. The right front tire of the passing vehicle is marked to establish the vehicle’s path.

Frame 1 – point marked in the first image from the sequence from the security camera:

Car Position 1


Frame 2 – the second point marked in the second image from the sequence, with the first point still showing:

Car Position 2


The vehicle path is formed, by repeating the steps in additional image frames:

Car Position 3

Once a series of Surface Draw points are marked, their path is modeled and shown in 3D overlayed over the laser scan data:

The path angle, intersection, length, etc. can be accurately measured. In this case, it was determined that the moving vehicle did not come within a certain distance of the parked cars to its right.

PhotoModeler provides this powerful technique of using a single security camera and multiple images captured from it, with the new PhotoModeler Image Sequence tool to extract accurate and useful movement data.

Other videos

Solving the position, accounting for the lens distortion, and extracting measurements from a single security camera frame has been discussed in these previous articles:

The solution for a single security camera position can also be seen in these Youtube videos:

To find out more, contact the PhotoModeler team at

Please share!