Cleaning a reconstruction, not just measuring it
Plenty of tools will tell you a COLMAP model has bad points. This one removes them and writes the model back out — three files that COLMAP, a bundle adjustment, or a 3D Gaussian Splatting training run will accept without complaint.
That is only trustworthy because the writers behind it round-trip a real 45-image reconstruction byte for byte: run the cleaner with every filter turned off and the output is bit-identical to the input. If the no-op is exact, the edits are safe.
The four filters
- Reprojection error — drop points above a pixel threshold. The long right-hand tail of the error histogram is where badly triangulated points live.
- Track length — drop points seen in fewer than N photographs. A point seen in only two cannot be cross-checked at all; three or more is far safer.
- Distance from the centre — drop points beyond a multiple of the median distance from the cloud's centroid. The median, not the mean, because the outliers this is meant to catch would drag a mean out with them and hide.
- Observations per image — drop images contributing fewer than N observations. Blurred frames, badly exposed frames, and frames shot from somewhere nothing else saw.
Keeping the model consistent
Deleting from a COLMAP model without breaking it takes care in both directions. Tracks name images; images name points. So after the filters run, every surviving point loses the track entries that named a deleted image — and if that leaves it below two observations, COLMAP would consider it untriangulated, so it goes too. Then every surviving image has its 2D features re-pointed, with the deleted 3D points marked −1.
Nothing is re-indexed and no IDs change, so nothing downstream has to be told what happened. Cameras are never removed: an unused camera is legal and costs 64 bytes.
Everything runs in your browser; the reconstruction is never uploaded.
Tiny Online Tools







