Many pictures at once

A wall's twist can be tested against the error the adjustment reports

A wall reconstructed from two groups of cameras either side of it is likeliest to come out twisted, and the adjustment that found it also reports how far to believe the twist. The report is honest — a flat wall's twist clears twice its stated error one time in twenty, at every layout — so the question is only how large a real twist must be to be seen. Ten marks in two rows state ±5.05 millimetres and see a five-millimetre twist seventeen times in a hundred; fifteen in three rows state ±2.31 and see it fifty-six. The test goes wrong only when its error is assumed rather than measured, and a mismatched mark big enough to fake a twist always shows in its own residual.

Worth reading first: Another picture of the same sweep · The track and the scene together.

The bundle keeps the needles turned, if the wall has three rows followed a survey of a facade’s flatness from six cameras in two groups, sixty degrees either side of the wall’s normal. With the cameras’ poses known, the arrangement measured each mark’s departure from the wall’s plane four and a half times better than six cameras on a narrow arc. With the poses found from the same pictures in one bundle adjustment, it still did, provided the wall carried its marks in three rows. With ten marks in two rows, the adjustment’s uncertainty collapsed onto one shape: a twist, the top row’s left end forward and right end back and the bottom row the reverse, carrying seventy-one per cent of all the flatness error. A surveyor whose reconstructed wall came out as a saddle should suspect the reconstruction before the wall.

The essay ended on what the surveyor actually has. An adjustment does not only return the wall; it returns the covariance of everything it fitted, and so an uncertainty for the twist itself. The question was whether that uncertainty is worth believing: how often a fitted twist clears twice its own reported error when the wall is flat and when it is truly twisted, and whether the third row of marks that shrinks the twist also lets the adjustment say when to believe it.

It does both, and the report is honest at every layout. What changes with the layout is not the report’s truthfulness but its size.

The twist, estimated and reported

The rig is the earlier essay’s: a wall six metres wide with marks from half a metre to two and a half metres up, eight metres from two groups of three cameras centred sixty degrees either side of its normal, every mark found in every picture and read with half a pixel of error, every camera’s pose found with the points. A twisted wall is a saddle: each mark pushed out of the wall in proportion to its place across the marked area times its place up it, so the four corners move by a stated amount, two forward and two back, and the middle does not move.

The twist is estimated by least squares along that saddle’s pattern of departures, weighted by the departures’ full covariance from the adjustment, and reported with the standard deviation the same covariance implies. Both the estimate and its reported error come out of numbers the adjustment already computes; nothing is added to the survey but a line of arithmetic.

A wall twisted 5 mm: ten marks in two rows report the twist ±10.1 mm and call it real in 1 of twelve reconstructions; fifteen in three rows, ±4.6 and 7A wall twisted by 5 mm — its marked corners pushed ±5 mm out of the plane, the middle left — photographed from 8 m by two groups of three cameras 60° either side of its normal, every mark read with half a pixel of error and every pose found in one bundle adjustment. For twelve random reconstructions of each layout, the fitted twist (dot) and twice the standard deviation the adjustment reports for it (bar). Ten marks in two rows report ±10.10 mm: -3.1, 12.4, 1.0, 5.0, 7.7, 1.9, 4.2, 2.0, 1.9, 5.4, 2.4, 1.4 mm, 1 of twelve clear of zero. Fifteen marks in three rows report ±4.63 mm: 0.3, 4.0, 5.9, 6.8, 6.1, 6.9, 6.4, 3.7, 4.8, 1.2, 7.2, 0.1 mm, 7 of twelve clear. The dashed line is the true twist; the slider sets it from 0 to 20 mm.-1001020twelve reconstructions of each wallfitted twist at the marked corners, ± twice its reported error (mm)ten marks, two rowsfifteen marks, three rowstrue twist 5 mm±60° groups, marks to 0.5 pxcalled real: 1/12 and 7/12
Fig. 1 A wall twisted 5 mm, twelve random reconstructions of each layout: the fitted twist and twice its reported error. Ten marks in two rows report ±10.1 mm and clear zero in 1 of 12; fifteen in three rows report ±4.6 and clear it in 7. The slider sets the true twist from 0 to 20 mm.

One property of the estimate matters before any number is read. A reconstruction from pictures alone can be placed, turned and scaled freely — seven numbers no picture can name — and every coordinate the adjustment reports moves with that choice. The twist does not. It is read from each mark’s departure from the plane fitted through all the marks, and a translation, a turn or a change of scale of the whole reconstruction moves every mark along a plane the fit absorbs. So the fitted twist and its reported error are the same whichever seven numbers the adjustment held, and a surveyor comparing two reports from two programs that fix the frame differently is comparing like with like. That is not true of most numbers an adjustment prints, and it is why the twist is a quantity a test can be built on.

The bars are the reported error, doubled, around each fitted twist, and the dashed line is the truth. For ten marks in two rows the adjustment states its twist to ±5.05 millimetres — ±10.1 doubled — and the twelve reconstructions of a wall truly twisted five millimetres scatter from −3.1 to 12.4 millimetres around it. One of the twelve clears zero by twice its error. For fifteen marks in three rows the stated error is ±2.31 millimetres, the reconstructions sit between 0.1 and 7.2, and seven clear zero.

The slider moves the truth. At zero, neither layout should call a twist, and over these twelve draws the two-row wall never does while the three-row wall does twice, which is the size of chance that twelve draws allow. At twenty millimetres both see it every time. The interesting range is between, and it is set by the reported error: five millimetres is one stated error on the two-row wall and more than two on the three-row one.

The report is honest at every layout

A reported error is worth believing only if a test against it has the false-alarm rate it promises. A test at twice the reported error promises about one false alarm in twenty.

A 5 mm twist stands 1.0 reported errors clear on ten marks in two rows and 2.2 on fifteen in three: called real 17 and 56 times in a hundredThe share of 2,000 random reconstructions in which the fitted twist exceeds twice the error the adjustment reports for it, against the true twist, for 10 marks in two rows (reported error 5.05 mm), 26 marks in two rows (reported error 3.61 mm), 15 marks in three rows (reported error 2.31 mm), 39 marks in three rows (reported error 1.50 mm); ±60° groups, marks to half a pixel. 10 marks in two rows: 4% 6% 17% 33% 48% 84% 98%; 26 marks in two rows: 4% 8% 30% 57% 78% 98% 100%; 15 marks in three rows: 5% 13% 56% 92% 99% 100% 100%; 39 marks in three rows: 5% 25% 91% 100% 100% 100% 100% at 0, 2, 5, 8, 10, 15, 20 mm. On a flat wall every layout calls the twist real about one time in twenty, which is what a test at twice its reported error should do: the adjustment's own number is honest. What the layout decides is how large a real twist must be before it is seen.00.2500.5000.75010258101520how far the wall is truly twisted at its marked corners, mmshare of reconstructions calling the twist real10 marks in two rows26 marks in two rows15 marks in three rows39 marks in three rows±60° groups, 2,000 reconstructions a pointdashed: one in twenty
Fig. 2 The share of 2,000 reconstructions calling the twist real, against the true twist. Every layout calls a flat wall twisted 4–5% of the time. A 5 mm twist: 17% (10 marks, two rows), 30% (26, two rows), 56% (15, three rows), 91% (39, three rows). A 10 mm twist: 48%, 78%, 99%, 100%.

On a flat wall every layout calls the twist real four or five times in a hundred, as a test at twice its error should. That is the half of the question with the cleanest answer: the adjustment’s own number is honest about the twist, at ten marks as at thirty-nine, in two rows as in three. It is honest because the adjustment’s covariance is the covariance of a linear estimate under the error model it was given, and the error model here is right — the marks really are read with independent errors of half a pixel. When it is not right the test misleads, and a later section takes that apart.

What the layout decides is the power. A real twist of five millimetres is called real 17 times in a hundred from ten marks in two rows, 30 from twenty-six marks in two rows, 56 from fifteen in three rows and 91 from thirty-nine in three. To be called real nine times in ten a twist must be about sixteen millimetres on the ten-mark wall, twelve on twenty-six marks in two rows, eight on fifteen in three, and five on thirty-nine.

All four curves are one curve read at different scales. The fitted twist is the true twist plus a normal scatter of exactly the stated error, so the chance of clearing twice that error depends on the true twist only through its ratio to the stated error: about one in six at one error, a half at two, nineteen in twenty at a little under four. A layout’s whole contribution is the stated error it produces, and a surveyor can read the power of the test off the adjustment’s report before deciding what a saddle of a given size would mean.

The earlier essay guessed that a real five-millimetre twist would stand at one stated error from the two-row wall and at three from the three-row one. The two-row guess was exact: 5.05 millimetres stated, one error. The three-row wall of fifteen marks states 2.31, so five millimetres is 2.2 errors; thirty-nine marks state 1.50, so it is 3.3. The third row is what lets the survey see a twist of this size at all, and adding marks along the two rows a two-row wall already has buys much less — twenty-six marks in two rows are worse than fifteen in three.

What the groups’ opening buys

The twist is the two groups’ relative turn about the wall’s vertical showing through the marks: if one group’s estimated pose is turned a little against the other’s, every point they triangulate together is pushed forward on one side and back on the other, more at the top than the bottom of the wall’s marked area. The groups’ separation and the marks’ spread both pin that turn, as the spread a point gets found the spread of directions, not the count of cameras, pinning a single point.

Opening the groups from ±15° to ±75° takes the reported twist error from 9.7 to 3.3 mm on two rows of marks and from 8.1 to 1.5 on threeThe standard deviation a bundle adjustment reports for the wall's fitted twist, two groups of three cameras at ±15°, ±25°, ±35°, ±45°, ±55°, ±65°, ±75° off the wall's normal, 8 m away, marks to half a pixel. 10 marks in two rows: 9.74, 7.16, 6.29, 5.83, 5.37, 4.61, 3.30 mm; 15 marks in three rows: 8.07, 5.48, 4.26, 3.38, 2.65, 2.00, 1.46 mm; 39 marks in three rows: 5.33, 3.67, 2.82, 2.22, 1.72, 1.31, 0.98 mm. Opening the groups helps every layout, and a third row helps at every opening: the twist is the groups' relative turn about the wall's vertical showing through the marks, and both a wider separation and a mark off the two rows' lines pin that turn harder.0.51251015253545556575how far each group stands off the wall's normal, degreestwist error the adjustment reports, mm (log)10 marks in two rows15 marks in three rows39 marks in three rowstwo groups of three, 8 m offthe error the adjustment states
Fig. 3 The twist error the adjustment reports as the groups open from ±15° to ±75°. Ten marks in two rows: 9.74 to 3.30 mm. Fifteen in three rows: 8.07 to 1.46. Thirty-nine in three rows: 5.33 to 0.98. Every layout gains at every opening, and the third row gains at every opening too.

Opening the groups helps every layout and helps steadily: from fifteen degrees to seventy-five, the two-row wall’s stated error falls by a factor of three and the three-row wall’s by more than five. The third row helps at every opening, and its advantage grows as the groups open, since a mark off the two rows’ lines is exactly what a turn of one group against the other moves differently from the rest. Split the track and the needles turn found the groups’ opening paying for each point’s depth; the twist is the bundle’s version of the same purchase, made with the marks’ layout as well as the cameras’.

So the earlier essay’s advice about the wall — three rows, a few dozen marks — is also advice about the adjustment’s honesty in the useful sense. A survey whose stated twist error is a millimetre and a half can tell a five-millimetre twist from a flat wall; one whose stated error is five millimetres can only report that it does not know.

A test against an assumed error tests the assumption

Every figure so far has given the adjustment the right reading error. A surveyor rarely knows it. Marks are read to half a pixel on a good day with sharp targets; on a soft wall with natural features they may be read to two.

Marks read to 1 px where the surveyor assumed half a pixel call a flat wall twisted 32 times in a hundred; the error rescaled by the residuals, 5Flat walls reconstructed from marks read with 0.25, 0.5, 1, 2 px of error by a surveyor who assumes half a pixel, ±60° groups, 800 reconstructions a point. Called twisted at twice the reported error, the error taken as the adjustment computes it from the assumed half pixel: 10 marks in two rows 0% 5% 32% 61%; 15 marks in three rows 0% 5% 31% 64%. With the reported error rescaled by the reading error the residuals imply — the adjustment's variance factor, from 61 and 106 redundant observations: 7% 5% 5% 5%; 4% 4% 3% 4%. A test against an assumed error is a test of the assumption; the residuals measure the error the test needs.0.250.51200.2000.4000.600the marks' true reading error, px (the surveyor assumes 0.5; log)share of flat walls called twisted10 in two rows: assumed10 in two rows: residuals15 in three rows: assumed15 in three rows: residualsflat walls, 800 reconstructions a pointdotted: one in twenty
Fig. 4 Flat walls read with 0.25 to 2 px of error by a surveyor who assumes 0.5. At the assumed error: called twisted 0%, 5%, 32%, 61% (ten marks, two rows) and 0%, 5%, 31%, 64% (fifteen, three). Rescaled by the residuals’ variance factor: 7%, 5%, 5%, 5% and 4%, 4%, 3%, 4%.

The reported error is computed from the reading error the surveyor supplies. Marks read twice as badly as assumed make every fitted twist twice as noisy and leave the reported error where it was, so a flat wall clears twice its stated error 32 times in a hundred; read four times as badly, 61 times. The layout does not help, because the failure is in the assumption and not in the geometry: the three-row wall’s false alarms climb exactly as the two-row wall’s do. A wall read better than assumed calls fewer twists than it should, real ones included.

The repair is already in the adjustment. Its residuals — how far each reading sits from where the fitted cameras and points put it — measure the reading error directly, and with sixty-one redundant observations on the ten-mark wall and a hundred and six on the fifteen-mark one, they measure it well. Rescale the reported error by the reading error the residuals imply and the false-alarm rate returns to about one in twenty at every true error. Where the adjustment stops found the reading error setting the floor of every residual; here that floor is the instrument the twist test needs.

This is the same lesson an uncertainty is quoted from something drew about the gauge: a stated uncertainty means what its inputs mean. A twist error computed from an assumed half pixel is a statement about half a pixel. One computed from the residuals is a statement about the survey.

A mismatch that fakes a twist shows in its own residual

The earlier essay warned that a single mismatched mark carries far more weight among ten than among thirty-nine. A mark matched to the wrong feature in one picture is not a small error, and an adjustment that absorbs it could spread it into the weakest shape it has, which is the twist.

One reading 10 px wrong makes a flat wall look twisted 24 times in a hundred on two rows of marks, and its own residual gives it away 100Flat walls, ±60° groups, every reading at half a pixel except one coordinate of one mark in one picture, wrong by 2, 3, 5, 10, 20 px; every observation in turn, six reconstructions each. Called twisted at twice the reported error: 10 marks in two rows 6% 9% 13% 24% 33%; 15 marks in three rows 5% 6% 12% 26% 53%. The wrong reading's normalised residual over 3 — a data-snooping test: 45% 85% 100% 100% 100%; 52% 93% 100% 100% 100%. A twist called and the reading not caught: 3.5% 1.5% 0.0% 0.0% 0.0%; 2.6% 0.1% 0.0% 0.0% 0.0%. No reading's leverage exceeds 0.75, so the adjustment never absorbs a reading whole: a mismatch large enough to fake a twist is large enough to leave a residual.235102000.2500.5000.7501how far one reading of one mark is wrong, px (log)share of flat walls10 in two rows: called10 in two rows: caught15 in three rows: called15 in three rows: caughtone wrong reading among all of themdashed: caught by its residual
Fig. 5 Flat walls with one reading of one mark wrong by 2 to 20 px, every reading in turn. Called twisted: 6%, 9%, 13%, 24%, 33% (ten marks, two rows); 5%, 6%, 12%, 26%, 53% (fifteen, three). The wrong reading caught by its residual: 45%, 85%, 100%, 100%, 100% and 52%, 93%, 100%, 100%, 100%.

A wrong match is not a small error made the point about a single point: a mismatch moves it somewhere else rather than slightly off its own place. Inside an adjustment the same mismatch is shared out. Part of it stays in the bad reading’s residual, part moves the point that reading belongs to, and part moves the cameras that saw it — and a camera moved is a group turned, which is a twist.

It does spread. One reading ten pixels wrong makes a flat two-row wall look twisted 24 times in a hundred; twenty pixels wrong, 33 times, and on the fifteen-mark three-row wall 53 times, because a smaller stated error is easier for a bias to clear. A mismatch is a twist-maker, and a surveyor who took the test at face value would be fooled about once in three by a wrong match of that size.

But it is never fooled silently. The wrong reading’s own residual, divided by its expected size, exceeds three every time once the mistake reaches five pixels, on both layouts, and 85 to 93 times in a hundred at three pixels. A twist called and the bad reading not caught happens 1.5 per cent of the time at three pixels on the two-row wall and never at five. The reason is the readings’ leverage: no reading in either layout has more than about three-quarters of its own error absorbed by the adjustment, so a mismatch big enough to push the twist past twice its error leaves about a quarter of itself or more in the residual, where an ordinary test for outliers sees it.

The order of operations follows. Before reading the twist, test the residuals; remove or re-read any reading whose residual is more than three times its expected size; then read the twist against the error the remaining residuals imply. Done in that order, the test keeps its promise of one false alarm in twenty.

What the adjustment can say about its own saddle

Put together, a bundle adjustment can be asked whether the twist it found is real, and its answer is trustworthy on three conditions: the reading error is measured from the residuals rather than assumed, gross mismatches are removed first, and the layout gives the test enough power to matter. On those conditions a flat wall is called twisted one time in twenty and a real twist is called real as often as its size over the stated error allows — five millimetres seventeen times in a hundred from ten marks in two rows, ninety-one from thirty-nine in three.

The earlier essay’s warning about saddles stands, sharpened. A two-row wall that comes out as a five-millimetre saddle is, on these numbers, a wall the adjustment could not have distinguished from a flat one most of the time, and its own report says so: one stated error. A three-row wall that comes out the same way is a twist the adjustment believes at better than two errors, and on a well-marked wall at better than three. The difference between those two statements is a row of marks.

A survey is trusted at its own accuracy found that an adjustment does best when its inputs are weighted by their true accuracy and is not much hurt by being told they are worse. The twist test is the mirror case: a test of the outputs is trustworthy when its error is the true error, and a surveyor who must guess should take the residuals’ word over their own.

The linear world the numbers live in

The errors are small. Every estimate here is the linearised adjustment, exact for errors small beside the geometry, which half a pixel on a six-metre wall at eight metres is. The mismatch figures leave that world by design, but they test only whether a gross error is visible, which the linear residual answers correctly.

The twist is a saddle. A wall that is bowed, bulged or racked in some other pattern projects onto the saddle only partly, and the test reads only that part. A surveyor looking for a different shape should estimate along that shape with the same arithmetic; the reported error will be different, and on the two-row wall it will usually be smaller, since the saddle is the adjustment’s loosest shape.

Every mark is found in every picture. A real matcher loses oblique marks, and a mark seen by one group only ties nothing between the groups. The twist error then grows, and the test’s power falls with it, but its honesty does not: the covariance of a survey with missing marks is still the right covariance for that survey.

The camera calibration is known. Every camera shares one focal length, held fixed. An adjustment that also fits the focal length has a further loose direction, scale against distance, which is a plane and is taken out by the flatness reading, but its coupling to the groups’ relative turn was not measured here.

Still open: whether a third group of cameras does what a third row does

The twist is loose because two groups are tied to each other only through the marks both see, and the third row of marks tightens the tie. A third group of cameras would tighten it differently: a few pictures taken square to the wall see every mark the two oblique groups see, and so tie each to the middle rather than to each other.

The measurement that settles what that is worth adds one, two or three cameras facing the wall squarely to the two groups at sixty degrees, on the ten-mark two-row wall, and asks how far the twist’s reported error falls compared with adding a third row of marks instead — and whether three square-on pictures, which cost a photographer a few seconds, buy the five-millimetre twist the three-row wall sees, so that a plain wall with only a string course and a cornice to mark can still be surveyed for a saddle.

Shares its objects with

Essays that name at least two of the same things, and that neither author linked.

Named objects

A flat tag is an object no other essay names yet.

bundle adjustmentCovariancedegrees of freedomgauge freedomleast squaresOutlierResidual