Projected Length Analysis Speed Estimator
Speed from video using a known length carried by the moving object. No camera calibration, no ground reference points.
project settings
Sets the length and speed units together for every figure below. Acceleration is reported in g either way.
examples
Pick a validation case to load its tracked points and settings and see where the points sit in the video. Editing the tracked points returns the page to your own data.
reference length
A fixed distance on the object measured along the direction connecting the two tracked features. Wheelbase is the usual choice. Speed estimates strongly depend on this value.
When the object comes toward the camera or goes away from it at a steep angle, the length looks short in the image, so each pixel of placement error matters more. Enter the uncertainty accordingly and use frames where both features are sharp.
The range of the length is the width of the window within which the true length could reasonably lie, in the same unit as the length. If a wheelbase entered as 4.79 could be anywhere from 4.74 to 4.84, enter 0.10. The length is taken as uniform across that window, centered on the value entered. Each simulated trial draws one length and uses it for every frame, so this uncertainty moves all the speeds of a trial up or down together and does not average away over more frames.
Fills the true length from the Canadian Vehicle Specifications set, served by the NHTSA vPIC API. Applies only when the two tracked features are the front and rear wheel centers on one side of the vehicle.
curved path
Optional. On a curve the two tracked features, on one side of the object, follow a path of smaller or larger radius than the object's center. This scales the result from the tracked side to the center, after Choi et al.
The correction covers the difference in radius only, and assumes a constant radius and no sideslip. In simulation it recovers the speed for a camera looking straight down. A camera at an angle adds an error on a curve that this does not remove: about 1% or less for a view from the side, 10% or more for a view along the path.
pixel uncertainty
The width in pixels of the range within which each feature could reasonably be sitting. If the wheel contact patch could be anywhere across about three pixels, enter 3. Errors are taken as uniform across that range and independent between the front and rear points.
Judge it on the frame that reads most clearly and say which one that was. The range is carried to the other frames in proportion to the feature length, which holds the uncertainty in real units constant across the run. Choose Every frame to apply one range throughout.
acceleration limit
Optional. Each simulated trial moves the tracked points within the pixel range, and some trials produce speeds that jump between neighboring intervals by more than the object could manage. With a limit set, a trial is kept only if no pair of neighboring intervals implies an acceleration or deceleration above it. Trials continue until 2,000 are kept or the time allowed runs out.
With the limit on, the best estimate is the median of the kept trials, not the value computed from the points as tracked, and the bands are those of the kept trials. The note under the result reports how many trials were needed and what was kept. Check "Show individual trials" on the speed chart to watch the kept trials arrive.
tracked points
Paste the Video section of a Virtual CRASH report, headings and all.
If you name your tracks in Virtual CRASH, they will be matched by name, which is the more reliable approach. Use "front feature" and "rear feature" for the two ends of your known length, then "reference point 1", "reference point 2", and so on. Capitalization does not matter, and the words "feature" and "point" may be left off.
Tracks left with their default names are assigned by number instead: track 1 becomes the front feature, track 2 the rear feature, and track 3 onward become reference points. Note, the report lists tracks alphabetically, so you will see track 10 appear before track 2. The numbers are read and put back into order, so this is not a problem. Since the track number follows the order in which you created the tracks rather than their role, take a moment to check the summary below the box before calculating.
One observation per row: time, X, Y, and an optional fourth column that is read and ignored. Columns may be separated by spaces, commas, semicolons or pipes. Both datasets are matched by timestamp to determine the feature length in pixel units and the object position.
Use this when the camera was not stationary, or when your footage is a video of a screen. Any movement of the camera itself, whether panning, drifting, or zooming, looks like the object moving and will throw off the speed. By tracking a few things that are standing still, the tool can work out what the camera did and take it back out.
Track at least six points on the road surface the vehicle is driving on, such as markings, cracks, patches or joints. Spread them around the vehicle's path in the frames you use (beyond it, beside it and nearer the camera) rather than in one group, and keep every point in every frame. This applies whether the camera turned, moved, or both. Four points is the minimum the tool accepts, but more is better.
Using anything above the road surface, such as signs, poles, trees or parked vehicles, is not recommended.
For a video of a screen whose original camera was stationary, the four screen corners can serve instead. If the original camera moved, track road points inside the picture on the screen, as above. If the camera did not move at all, uncheck the box.
After calculating, read the Robustness line under the result. Under 1 percent, no single point controls the answer. Above 3 percent, consider adjusting your reference points or adding more before relying on it.
One point per box, same format as the boxes above, and track each one in the same frames as the object.
Five or more lets the tool compare the points against each other and report how well they agree, which is the best sign that the tracking is sound. All eight lets it go further and tell you which point looks wrong.
results
Cross ratio. Four collinear points, the rear and front features at the start (a) and end (b) of an interval, are spaced L, D, L on the line of travel and L′a, D′, L′b in the image. Their cross ratio is the same in both, which gives the distance traveled. D and D′ are signed: both are negative when the two positions overlap, zero when the front at a meets the rear at b. Click the diagram to enlarge it.
Length scale tracking. The known length L sets the local scale r = L / L′ at each frame. The image displacement d′ of the midpoint between the features is scaled by the geometric mean of ra and rb. Click the diagram to enlarge it.
Length scale tracking
Cross ratio
| Interval (s) | Δt (s) | L′a (px) | L′b (px) | d′ (px) | Off axis | Off line (px) | Distance (ft) | Speed (mph) | 1 sigma (mph) | 68% (mph) | 95% (mph) |
|---|
- Interval
- the times ta and tb of the two observations that bound it
- Δt
- elapsed time, tb − ta
- L′a, L′b
- length of the reference in the image at the start and end of the interval
- d′
- image displacement of the midpoint between the two features
- Off axis
- angle in the image between that displacement and the reference length
- Off line
- RMS distance of the four tracked points from the line through the two midpoints
- Distance
- distance traveled in the interval, from the selected estimator
- Speed
- distance over Δt
- 1 sigma, 68%, 95%
- standard deviation and percentile ranges of the speed over the Monte Carlo trials
| t (s) | x′F (px) | y′F (px) | x′R (px) | y′R (px) | L′ (px) | r (ft/px) |
|---|
- t
- time of the observation
- x′F, y′F
- image coordinates of the front feature
- x′R, y′R
- image coordinates of the rear feature
- L′
- length of the reference in the image, the distance between the two features
- r
- local scale, the true length L divided by L′
method
A rigid length carried by the object, normally the wheelbase, is measured in the image at every observation. The apparent length L' in pixels against the known true length L gives the local image scale r = L / L'. Scaled displacement over elapsed time gives speed.
Because the reference is measured in the same frame, and the same part of the image, as the displacement it scales, no camera calibration is needed and lens distortion largely divides out.
Two solvers are offered. The cross ratio, selected by default, uses the projective invariance of the two features seen in two frames, after Choi et al. It is exact under a projective camera but requires the object to travel along its own axis. Length scale tracking applies the local scale to the image displacement. The other solver's result is reported alongside for comparison, and the diagram under the results shows the geometry and the distance equation of the one selected. Click it to enlarge it.
The speed chart plots the speed of each interval with its Monte Carlo bands, or the individual trials when that box is ticked. The cumulative distance chart plots distance against time with the selected fit, a line for constant speed or a parabola for uniform acceleration, and under it the speed from that fit: a histogram over the trials for constant speed, the speed against time for uniform acceleration. The uncertainty of the fitted speed comes from refitting every Monte Carlo trial, not from the regression.
On a curve, the optional curved path correction scales the result from the tracked side of the object to its center. It does not remove the error a camera at an angle adds on a curve, which is small for a view from the side and large for a view along the path.
If the camera moved, or the footage is a video of a display, four or more tracked points that hold still are enough to work out how the view shifted, turned and zoomed between frames. Undoing that puts every observation into a single fixed view, which is what both solvers assume to begin with.
Uncertainty is propagated by Monte Carlo from the selection range you enter. Speed is exactly proportional to the reference length.
Cross-ratio solver after Y. Choi, J. Park, Y. Yun, W.-J. Jeon and S.-H. Kong, "Cross-ratio and vehicle dynamics-based speed estimation for traffic accident analysis," Forensic Science International 378 (2026) 112675. doi:10.1016/j.forsciint.2025.112675
Use of this tool is subject to the Virtual CRASH End User License Agreement.
Projected Length Analysis Speed Estimator, interface 3.15.3
go beyond simple speed calculations
Projected Length Analysis speed estimators cover one narrow case. They need a rigid feature of known length on the object, travel that stays close to the direction of that feature, and a path straight enough that the local scale can be carried across each interval. Sideslip, post-impact rotation, a curving trajectory, or a subject with no measurable reference all fall outside them, and none of it is recoverable from a single scale factor.
Virtual CRASH 6 can also work with your scene geometry. Calibrate the camera against surveyed points and every pixel gains a position in three dimensions, so trajectory shape, rotation and motion in any direction are measured rather than assumed.
- Camera calibration and matching. Solve camera position, orientation, field of view and radial and tangential distortion from reference points, on or off the ground, taken from point clouds, orthomosaics, scanner data or Google Maps imagery.
- Orthorectification. Rectify a perspective video or photograph for use as an analysis underlay. Video can be dragged straight into the scene.
- Projection into the scene. A calibrated camera projects its video or still back onto the terrain and any object set to receive projection, so footage and survey data can be compared directly.
- Point and object tracking. Manual point tracking, automatic point tracking and automatic object tracking, each producing speed against time.
- Track editing. Added in the Summer 2026 update. Tracks become editable polylines. Drag a control vertex in 3D and the pixel location is recomputed, or open the image plane to set the pixel and the frame time directly. Insert or delete points, merge tracks built by any method, and watch the speed graph update as you work.
- Projection error control. Constrain tracked points to a chosen path or to a known height, which removes the scatter that comes from projecting an elevated point onto the terrain.
- Volatility reduction. Minimum delta time, linear average and Butterworth filters, and pixel averaging across neighbouring frames.
- Dashcam workflows. Frame by frame camera tracking for position and speed from a moving camera, and point tracking against surveyed scene features.
- Export. Track point position against time appears in the dynamics report, which is the format this tool reads.
See Easy Video and Image Analysis for worked examples, and the Summer 2026 update for the track editing tools. Free trial.