What a pair is for

A facade matched a column out comes forward, not back

A railing matched one post along is rebuilt 2.2 times further away. A facade of windows 2.4 metres apart cannot be: a one-column shift that way needs a negative disparity, and the only mistake left in front of the cameras brings the facade to 6.3 metres from twenty, a third its size, hanging 1.1 metres off the ground with nothing under it to sink into. Its corners hold it only if the wall is assumed flat. Two corners then convict it at every period; one corner and a drainpipe need the pipe half a metre in for windows and four and a half for a fine repeat.

Worth reading first: A wrong match is not a small error · Two rays that do not meet.

A railing matched one along stands underground found that a stereo pair which matches every post of a railing to the next one along builds a perfect railing 2.2 times further away, and that what convicts it is not anything near it but what it stands on: its feet sink 1.32 metres into the ground. It ended with the case a real photograph offers more often than a railing — a facade of identical windows, matched one column out — and predicted that the windows would reconstruct as a facade 2.2 times further away and 2.2 times wider, with nothing beneath it to sink into. What the facade does have is corners, where the wall turns and the windows stop, and the question was what those are worth.

The prediction was wrong about the direction, and the reason is worth more than the correction. A facade’s windows are usually further apart than a pair of cameras, and a repeated structure whose period is longer than the baseline cannot be pushed further away by a one-period mistake at all. It can only be pulled nearer. And the corners turn out to hold the facade only through an assumption about the wall between them, which the pictures cannot supply.

Windows further apart than the eyes come forward

The facade below stands twenty metres from the same pair as before — two cameras 1.1 metres apart, nine hundred pixels of focal length — and faces them squarely. It carries two storeys of five windows, 2.4 metres apart, and a metre and a half of plain wall at each end before its corners.

Windows 2.4 m apart matched a column back put the facade at 6.29 m instead of 20, 0.31 times its size, between the cameras and the cornersA frontal facade at 20 m with 5 columns of windows 2.4 m apart and 1.5 m of plain wall before each corner, seen in plan by two cameras 1.1 m apart. Matching every window in the left picture to the window one column along in the right would need a disparity of -58.5 px, which is behind the cameras; the only mistake in front of them is one column back, which builds 4 windows a row at 6.29 m, 0.75 m apart, each on both of its rays to 7e-15 m — the true facade scaled 0.314 times about the left eye, standing 13.7 m in front of its own corners. The corners, matched correctly, stay at 20 m; the plain wall between them and the windows carries no marks and is not reconstructed at all.05101520-505across, metresdepth from the cameras, metresthe wall and corners, 20 mas built, 6.3 mthe two cameras5 columns 2.4000000000000004 m apart, matched one column backscaled 0.314
Fig. 1 The facade at 20 m, five columns of windows 2.4 m apart. Matched a column back, the pair builds four windows a row at 6.29 m, 0.75 m apart, each on both its rays to 7e-15 m — the true facade scaled 0.314 about the left eye, 13.7 m in front of its own corners.

In the left picture the windows are 108 pixels apart and each one’s partner in the right picture sits 49.5 pixels to its left. A matcher that confuses a window with its neighbour one column to the right asks for a disparity of 49.5 minus 108, which is minus 58.5 pixels: the two rays meet behind the cameras. Four cameras fit and one can see called that refusal cheirality, and it removes the mistake the earlier essay predicted. The mistake that survives is the other neighbour, one column to the left, which asks for 49.5 plus 108 — a disparity of 157.5 pixels — and puts every window at 6.29 metres.

The wrong facade is the true one scaled 0.314 times about the left eye, for the same reason the wrong railing was scaled 2.2: each wrong window lies on its true window’s ray from the left camera, since the left mark never moved, and the disparity sets how far along that ray. It is perfectly consistent. Every window lies on both its rays to 7×10−157\times10^{-15} metres, the windows are evenly spaced 0.75 metres apart in a straight row, and a mismatch on its own line needs a third eye already established that every test two photographs can run is at its floor for a mistake that slides along the epipolar line. The pair has built a small facade 13.7 metres in front of the corners of the real one.

One column of windows has gone. A shift of one column leaves one end column without a partner in the other picture, the count the railing’s length entered through its ends by. It is a real witness, but a weak one on a facade whose ends are plain wall, since a matcher that finds nothing for one column simply leaves it out. Drag the plan’s period and the counterfeit slides along the left camera’s rays: windows 1.2 metres apart are built at 9.57 metres, windows 3.6 metres apart at 4.68, so the coarser the repeat against a baseline of 1.1 metres, the nearer the wrong facade stands and the smaller it is drawn.

The period over the baseline decides the direction

The railing’s posts were 0.6 metres apart and the facade’s windows 2.4. That difference is the whole story, and it can be stated without any distance in it.

A repeated structure can be pushed further away only while its period is shorter than the baseline; it can always be pulled nearerThe depth at which a pair puts a structure matched k periods out, as a multiple of its true depth: B/(B − k·p), which depends on the period and the baseline alone and not on how far away the structure is. One period further (k = 1) runs from just over 1 for a fine texture to infinity as the period reaches the baseline, and past it there is no such reading in front of the cameras; two periods further ends at half the baseline. One period nearer (k = −1) is always there, falling from 1 towards 0. The railing of the earlier essays (posts 0.6 m apart on a 1.1 m baseline, p/B = 0.55) has both: 2.20 and 0.647. A facade with windows 2.4 m apart (p/B = 2.18) has only the nearer ones: 0.314 and 0.186.0.10.20.51250.10.20.512510the period over the baseline, p/B (log scale)the wrong reading's depth over the true one (log scale)period = baselinerailingfacade2 periods further1 period further1 period nearer2 periods nearerdepth ratio B/(B − k·p)the distance cancels
Fig. 2 The wrong reading’s depth over the true one for a structure matched k periods out: B/(B − k·p). One period further runs off to infinity as p reaches B and does not exist past it; one period nearer always exists. The railing (p/B 0.55) has both, 2.20 and 0.647; the facade (p/B 2.18) only the nearer, 0.314 and 0.186.

A structure at distance ZZ with a period of pp metres repeats every fp/Zfp/Z pixels in both pictures, and its true disparity is fB/ZfB/Z. Matching every element kk periods out changes the disparity by kk periods, so the wrong depth is Z⋅B/(B−kp)Z \cdot B/(B - kp). The distance cancels: whether a repeated structure can be pushed back, and how far, depends only on its period measured in baselines.

While the period is shorter than the baseline there is exactly one reading further away for each whole number of periods that fits inside the baseline — the railing, at p/B=0.55p/B = 0.55, has one, at 2.2 times its distance — and one nearer reading for every whole number of periods in the other direction. Once the period exceeds the baseline, the further readings are gone and only the nearer ones remain: the facade’s windows can be misread at 0.314 of their distance, or 0.186, or less, and never further. Whole pixels cut space into shells and depth is a reciprocal described every depth a pair reports as a reciprocal of its disparity; the family here is the same reciprocal, stepped by a period instead of a pixel.

The practical reading is short. A matcher confused by a repeated structure with a period shorter than its baseline can make either mistake, and the further one is the one that looks like the scene’s background. A matcher confused by windows, columns, bays or balconies spaced wider than its baseline — which is nearly all of them for a hand-held pair — can make only the nearer mistake, and its false facade hangs in the air between the cameras and the building.

A nearer facade floats, and nothing under it can say so

The railing was convicted by its feet. The facade’s wrong reading has a foot too, and it is in the wrong place, but not in a way the pair can see.

Seen from the side, the nearer facade is a block 1.89 m tall hanging 1.10 m above the ground at 6.3 m — and its lower edge carries no depth to show itThe same facade from the side, the eyes 1.6 m up. The true wall runs from the ground to its roof at 6 m, 20 m away, with its windows at 1.5 and 4.5 m. Matched a column back, every point is carried along its ray from the left eye to 0.314 of its distance, so heights close in on eye height: the windows to 1.57 and 2.51 m, the roofline to 2.98 m and the foot of the wall to 1.10 m above the ground. The wrong facade floats. What would convict it is its foot meeting the ground, as a railing's feet did — but a wall's foot is a horizontal edge, and a horizontal edge lies along the pair's epipolar rows and matches equally well at every disparity.024605101520depth from the cameras, metresheight, metresthe groundthe wallthe facade the pair buildsthe left eyeeyes 1.6 m up, wall 6 m tallfoot 1.10 m above the ground
Fig. 3 The same facade from the side, the eyes 1.6 m up. Matched a column back, every point moves along its ray to 0.314 of its distance: the windows to 1.57 and 2.51 m, the roofline to 2.98 m and the wall’s foot to 1.10 m. The wrong facade is a block 1.89 m tall hanging 1.1 m above the ground at 6.3 m.

Carried 0.314 of the way along the rays from the left eye, every height closes in on the height of the eye. The upper windows at 4.5 metres come down to 2.51, the lower ones at 1.5 go up to 1.57, and the wall’s foot, where it meets the pavement, rises to 1.10 metres. A two-storey building becomes a block less than two metres tall floating at head height — which, like the sunken railing, is a relation to the ground that the true facade satisfies and the wrong one cannot.

The difference is that the railing’s feet were matched, because a post’s foot is a point on a vertical edge and repeats as the post does. A wall’s foot is a horizontal line, the join of the wall and the pavement, and the next section shows why a pair reads nothing from it. The wrong facade’s foot is floating, and there is no mark on it that the pair could carry to the ground to find out.

Only the vertical edges carry depth

Everything the pair knows about depth comes from sliding a patch of one picture along a row of the other until it fits. What the patch holds decides whether the slide has one answer, several, or none.

Along the pair's row a corner has one match, a window a match every 108 px, and the roofline a match everywhereThe mismatch between a 13-pixel patch of the left picture and the patch of the right one at each disparity along the same row, for a facade drawn in flat tones — wall, windows, sky. A patch on a corner, where the wall meets the sky beside it, matches only at the true disparity, 49.5 px. A patch on a window matches wherever a window is: at 49.5 px, 157.5 px within this range, one period of 108 px apart, and the pair has no way to prefer the true one. A patch on the roofline matches equally at every disparity (the mismatch varies by 0e+0 across the whole range), because the roof's edge runs along the row and slides into itself. So of the facade's edges only the vertical ones — the corners, a drainpipe, the sides of a door — say how far away anything is, and of those only the ones that do not repeat.00.0500.1000.1500.200050100150200disparity tried along the row (px)mismatch between the two patchestrue disparityon a corneron the rooflineon a window13 × 13 px patches, flat tonesonly a vertical edge carries depth
Fig. 4 The mismatch between a 13-pixel patch of the left picture and the right one’s, at each disparity along the row. On a corner, one match, at 49.5 px. On a window, one every period: 49.5 and 157.5 px. On the roofline, the same at every disparity: an edge that runs along the row slides into itself.

A patch on a corner, where the wall stops and the sky beyond it begins, fits at one disparity only, the true one. A patch on a window fits wherever a window is, once a period, and the true disparity is one of those fits with nothing to mark it as better. A patch on the roofline fits equally well everywhere. The roof’s edge runs horizontally, which is along the pair’s rows, and a horizontal edge slid along itself looks the same at every offset; the figure’s mismatch for it does not vary at all across two hundred pixels. The same is true of every string course, every window sill and head, and the wall’s foot.

So of all the edges a facade has, only the vertical ones say how far away anything is — corners, drainpipes, the jambs of a door — and of those, only the ones that do not repeat. The windows’ own verticals repeat. What is left is the corners and whatever plain-wall features happen to be vertical. That is why the question the earlier essay asked is the right one, and why it has to be asked about lines rather than points.

Two corners hold the wall, by an assumption

The corners are matched correctly and reconstructed at twenty metres. The windows are reconstructed at 6.3. The plain wall between them carries no marks, so it is not reconstructed at all, and nothing in the two pictures says the windows and the corners belong to one surface. Two rays that do not meet is the reminder that a pair’s evidence about each point is its own two rays: the windows satisfy theirs at 6.3 metres, the corners theirs at twenty, and a textureless wall between them is consistent with any depth at all.

What ties them is an assumption from outside the pictures: that a facade is flat. It is the same kind of import as the level ground that let one stone convict a railing, and it is usually safe. Given it, the two corners define the wall — two parallel vertical lines lie in exactly one plane — and every window can be tested against it. Carry each window’s left mark along its ray to the wall and into the right picture, and compare with the mark the matcher paired it with. An honest window lands on its mark. A window matched a column out lands exactly one period away, 108 pixels here, because a one-column shift is a one-period change of disparity and the wall knows the true disparity.

Two corners hold a facade at every period down to 2.3 px; a corner and a pipe half a metre in hold windows 93 times in a hundred and fine repeats neverFacades 9.6 m wide at 20 m, their repeat anything from 5 cm (2.3 px) to 2.4 m (108 px) — periods of 2.3 px, 3.6 px, 5.4 px, 9.0 px, 13.5 px, 22.5 px, 36.0 px, 54.0 px, 81.0 px, 108.0 px — matched one period back. The wall is read as a plane through vertical lines, each sampled at 24 heights and read across itself to a pixel in both pictures, and the test convicts a repeat whose matched mark lies more than half a period from where the wall puts it and clears one less. The share of 80 pictures in which every shifted repeat is convicted and every honest one cleared. Both corners, the repeats between them: 100%, 100%, 100%, 100%, 100%, 100%, 100%, 100%, 100%, 100%. One corner and a pipe 2 m in: 15%, 25%, 51%, 86%, 99%, 100%, 100%, 100%, 100%, 100%. One corner and a pipe 0.5 m in: 0%, 0%, 0%, 0%, 0%, 0%, 1%, 13%, 74%, 93%. Between two corners the wall is interpolated; beyond a corner and a pipe it is extrapolated, and the lever is the whole facade over the pipe's distance.510205010000.2500.5000.7501the repeat's period in the picture (px, log scale)share of pictures whose wall convicts every shifted repeatboth cornersa corner and a pipe 2 m ina corner and a pipe 0.5 m inlines read to 1 px, 80 pictures a point, the wall assumed flathalf a period either way
Fig. 5 Facades 9.6 m wide at 20 m, repeats from 5 cm (2.3 px) to 2.4 m (108 px), matched a period back; the wall read from vertical lines at 24 heights to a pixel. Both corners convict every shifted repeat in 100% of pictures at every period. A corner and a pipe 2 m in: 15% at 2.3 px, 86% at 9.0 px, 100% from 22.5 px. A pipe 0.5 m in: 13% at 54.0 px, 93% at 108.

With both corners visible the test never fails, from windows 2.4 metres apart down to a repeat of five centimetres, 2.3 pixels in the picture. Each corner is read across itself at two dozen heights, so its disparity is known to a fraction of a pixel, and the windows lie between the corners: the wall at the windows is interpolated, and interpolation between two well-read lines carries no more than their own error. Half a period is the margin, and on any repeat a matcher could resolve at all, the corners’ plane is better than that.

One corner and a pipe: the lever is the facade

The case the earlier essay worried about is the one with only one corner in view — a facade that runs out of the frame, or a building seen from its end — and a single mark on the plain stretch beside it: a drainpipe, the edge of a sign, a crack. A vertical line of that kind is as good as a corner for the pair, since it too is read across itself. What changes is the geometry of the two lines.

With one corner visible, a drainpipe has to stand 0.5 m in to hold windows 2.4 m apart and 4.5 m in to hold a repeat of 10 cmOne corner of the facade and one more vertical line on the plain wall — a drainpipe, a sign's edge, a crack — at a stated distance in from it, each read across itself at 24 heights to a pixel; the wall is the plane through them, and the repeats beyond are tested against it. The share of 80 pictures convicting every shifted repeat and clearing every honest one: windows 2.4 m apart (108 px), 0%, 0%, 93%, 100%, 100%, 100%, 100%, 100%, 100% for lines 0.2, 0.3, 0.5, 0.75, 1, 1.5, 2, 3, 4.5 m in; a repeat of 40 cm (18 px), 0%, 0%, 0%, 8%, 36%, 95%, 100%, 100%, 100%; of 10 cm (4.5 px), 0%, 0%, 0%, 1%, 5%, 21%, 34%, 81%, 99%. The two lines fix the wall's turn by their difference in depth over their distance apart, and that turn is carried across ten metres of facade to the far repeats, so the distance needed shrinks as the period grows but not in proportion: the far windows of a coarse facade are also further from the corner.0.20.512400.2500.5000.7501how far in from the corner the second line is (m, log scale)share of pictures whose wall convicts every shifted repeatwindows 2.4 m aparta repeat of 40 cma repeat of 10 cmone corner and one line, read to 1 px, 80 pictures a pointthe lever is the facade
Fig. 6 One corner and a second vertical line a stated distance in, the wall through them and the repeats beyond tested against it. Windows 2.4 m apart (108 px) are held 93% of the time with the line 0.5 m in and every time from 0.75 m. A 40 cm repeat needs 1.5 m (95%); a 10 cm repeat, 4.5 m (99%).

Two lines close together fix the wall’s depth well near them and its turn badly: the turn is their difference in depth divided by their distance apart, and a small distance divides a reading error into a large one. The windows are not between the lines but beyond them, up to ten metres further along the wall, so the turn’s error is multiplied by that lever when it reaches them. For windows the margin is 54 pixels and a pipe half a metre in from the corner is enough nine times in ten; a pipe twenty or thirty centimetres in, which is where drainpipes often run, is not enough at all. A fine repeat — the ribs of cladding, a louvred screen, tiles — has a margin of a few pixels, and the second line has to stand metres in from the corner before the wall’s turn is known well enough to carry it across the facade.

So the answer to how far from the corner a single mark can be has the opposite shape to what the question expected. A mark close to the corner is the weak witness, because it adds almost nothing the corner did not already say; a mark far from it is strong, because it fixes the wall’s turn. The best second line is the other corner, and failing that, the furthest vertical thing on the plain wall. A wrong match is not a small error found that one bad correspondence spreads its error across a whole fit; here one well-placed good one, far from the first, is what lets the fit reach the whole facade.

What the wall’s own relief spends

The flat-wall assumption is the one the whole test rests on, and a real facade is not flat. Windows sit in reveals a quarter of a metre deep, bays project, a centre section may be set back several metres. Every one of those puts an honest window off the corners’ plane, and the test charges it for the difference.

Repeats set 1 m behind the corners' plane are cleared only from 4.7 px of period: the wall's relief spends the margin the corners giveHonest repeats that do not lie in the corners' plane — windows in deep reveals, a recessed centre bay — are off the wall by their relief, which the test pays in disparity: f·B·r/(Z(Z + r)) pixels. They are cleared only while that is under half a period, so the smallest period the corners can clear is twice it: 0.25 px at 0.05 m, 0.49 px at 0.1 m, 1.22 px at 0.25 m, 2.41 px at 0.5 m, 4.71 px at 1 m, 9.00 px at 2 m, 16.50 px at 4 m (the line). Measured on facades whose repeats sit that far back, both corners read to a pixel, the smallest period cleared nine times in ten: 2.3 px, 2.3 px, 3.6 px, 5.4 px, 9.0 px, 13.5 px, 36.0 px (the points). A window reveal of a quarter of a metre costs 0.61 px and matters only to repeats finer than about 1.2 px; a centre bay set back 4 m needs a period of 16.5 px before its honest repeats can be told from shifted ones by the corners' plane. The points sit on a coarse grid of periods and above the line, because the corners' own reading error spends a little of the margin too.0.050.10.250.51240.51251020how far the repeats sit behind the corners' plane (m, log scale)smallest period the corners still clear (px, log scale)twice the relief's disparityboth corners read to 1 px; points: 90% clearedrelief spends the margin
Fig. 7 The smallest period the corners’ plane can clear, against how far the honest repeats sit behind it. Closed form, twice the relief’s disparity f·B·r/(Z(Z + r)): 1.22 px at 0.25 m, 4.71 px at 1 m, 16.5 px at 4 m. Measured on a grid of periods, both corners read to a pixel: 3.6, 9.0 and 36 px.

An honest window set rr metres behind the corners’ plane is off by fBr/(Z(Z+r))fBr/(Z(Z+r)) pixels of disparity, and it is cleared only while that is less than half a period. So relief raises the smallest period the corners can defend. A quarter-metre reveal costs 0.61 pixels and matters only for repeats finer than about a pixel and a quarter, which a matcher would not resolve anyway. A centre bay set back a metre needs repeats of 4.7 pixels or more; one set back four metres, 16.5 pixels. The measured points sit above the line because the corners’ own reading error spends a little of the margin too, and because the grid of periods is coarse.

Windows are safe: at 108 pixels the margin is ten times anything a facade’s relief costs. The repeats at risk are the fine ones on an articulated wall — the cladding on a recessed bay, the balusters of a set-back balcony — where the facade’s own shape is as large, in disparity, as the mistake. How flat is flat enough measured the same currency from the other side: there, a scene’s relief had to reach about ten times the marking error before a pair could use it; here, a wall’s relief has to stay under half a period before its flatness can be used to convict a shift. Both are tolerances in pixels of parallax, and both are about whether a shape is large or small against the thing it is being asked to reveal.

What the corners hold

The earlier essay drew a structure matched one period out everywhere as the true structure scaled about the first eye, convicted only by a physical tie to something that was not scaled. The facade adds two things to that statement. The scaling can go either way, and for anything spaced wider than the baseline it goes towards the cameras. And the tie a facade offers — its corners — is not physical in the sense the ground was. The railing’s feet were matched points standing on a matched ground; the facade’s windows and corners are joined only by a wall the pair cannot see, and the tie holds exactly as well as the assumption that the wall is flat.

Given that assumption the corners are an excellent witness: two of them convict a shifted facade at every period a matcher resolves. One corner and a far vertical line are nearly as good. One corner and a near line are not, however carefully read. The one thing a single view cannot give is a reminder of how much of this subject runs on assumptions of that kind: a flat wall is to a facade what a level floor was to the railing, a fact about buildings that the photographs are allowed to use and cannot prove.

What was assumed

The facade faces the pair squarely. A facade turned away from the baseline puts its window rows on slanting lines in the pictures, and every row except the one at the eyes’ height then crosses the epipolar lines. A match one column out on those rows lands off the epipolar line by an amount that grows with the row’s height above the eyes, and the pair catches it unaided. The case measured here is the one the pair cannot catch.

The wall between the corners is flat and unmarked. Marks on the plain wall — weathering, signage, a pipe — are what the pipe test uses; a wall with many of them fixes its own plane without the corners, and the assumption of flatness becomes a measurement.

Lines are read across themselves to a pixel, at two dozen heights. A corner half hidden by a tree, or a pipe read over a metre of its length, carries a fraction of that and moves every threshold here in proportion to the square root of the loss.

The matcher shifts every column by the same amount. A facade matched one column out on its upper storey and honestly on its lower breaks into two planes six metres apart, which is its own witness, and a different failure.

Still open: whether a raised third eye reads the floors as the pair read the columns

The pair here has a horizontal baseline, so its rows run across the facade, its ambiguity is between columns, and its blind edges are horizontal. A third camera raised above one of the pair — a pole, an upper window, a drone — has a vertical baseline with each of the others, so its epipolar lines run up the facade. Horizontal edges then carry depth and vertical ones do not, and the facade’s storeys, which repeat every three metres, take the place of its columns.

The measurement that settles what that eye is worth raises a third camera by a stated height, matches the facade’s floors one storey out along its vertical epipolar lines, and asks two things. First, whether the family of wrong readings is the one drawn here with the floor height in place of the column spacing and the raise in place of the baseline — so that a raise shorter than a storey can only pull the facade nearer, and a raise longer than one can push it back. Second, and more useful, whether the roofline and the wall’s foot, which the level pair could not read at all, pin the facade’s depth for the raised eye the way the corners did for the pair, and whether the two baselines together leave any reading of a lattice of windows that satisfies every picture except the true one.

What links here

Computed from the collection, not written here: the essays that point at this one.

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.

CorrespondenceDegenerate configurationDisparityEpipolar lineOutlierrobust estimationscale ambiguityTriangulation