The second eye

The road under a car ahead gives its growth a distance, while the road stays flat

One camera that knows its own height reads the row where the car in front meets the road, and that row is the camera's height seen from the car: a baseline of 1.3 metres standing on the road, read in every picture. With the car's growth it ranges a car 20 metres ahead to 0.80 per cent a pixel, six times better than a stereo pair's disparity, and reads the car's width to 0.74. A camera height a few centimetres out scales the distance and leaves the time untouched. A road that starts rising by one degree between the camera and the car moves the distance by up to 24 per cent, and neither horizon puts it right. The lane's own edges bend where the road does and read the rise back.

Worth reading first: The image of the other eye · Depth is a reciprocal.

A growing car times the gap without its width watched a car ahead grow in a single camera’s pictures and read the time until the gap to it closes, four and a half times better than a stereo pair reads it from disparity, without knowing how wide the car is. What the growth could not give was the distance. The distance and the rate at which it shrinks both scale with the car’s unknown width, and only their ratio, the time, escapes it. A pair could supply the width by reading its disparities alongside the growth, and then range the car to 3.02 per cent a pixel.

The essay ended on a length a single camera has without a pair: its own height above the road. A car ahead stands on the same road, and the row where its tyres meet the tarmac is fixed by how far off it is and how high the camera stands. A height, out of one photograph read a building’s height from the photographer’s own; this is that argument turned round, reading the distance to a point on the ground from the height of the eye above it. The question was how well that row scales the growth into a distance, whether it beats the pair, and how much a road that is not flat takes back.

It beats the pair by six times while the road stays flat, and a road that starts to rise by a degree takes back far more than that.

The foot’s row is a baseline standing on the road

The row where a car ahead meets the road, read with the camera's height, ranges it to 0.80% a pixel at 20 m with its growth — 6.2 times better than a pair's disparity, and still 2.25% at 60 mA camera 1.3 m above a flat road, focal 598 px, driving at 15 m/s and wandering ±0.2 m across its lane every 4 s, 30 pictures a second over the last second; a car 1.8 m wide, 10, 15, 20, 30, 40, 60 m ahead now, closing at 5 m/s. The depth error a pixel in every picture costs, as a share of the distance, median over the wander. One camera reading the row where the car's tyres meet the road and the car's width in the picture, the width unknown: 0.44%, 0.62%, 0.80%, 1.17%, 1.53%, 2.25%. The same camera reading the foot's row alone: 0.55%, 0.77%, 1.00%, 1.46%, 1.91%, 2.81%. A pair 0.3 m apart reading its disparities and the growth: 1.65%, 2.34%, 3.02%, 4.39%, 5.75%, 8.46%; by its disparities alone: 2.70%, 3.84%, 4.97%, 7.22%, 9.47%, 14.0%. The foot's row is the camera's height seen from the car's distance, a baseline of 1.3 m standing on the road, and it is read in every picture; every curve rises close to the distance itself, because a length seen from twice as far subtends half the angle and the reading's share error doubles.1015203040600.0050.010.020.050.1how far ahead the car is now, metres (log)depth error a pixel costs, share of the distance (log)one camera, foot and growthone camera, foot alonea pair, disparity and growtha pair, by disparitya second's look, closing at 5 m/seach edge and each row to a pixel
Fig. 1 The depth error a pixel costs, as a share of the distance, for a car closing at 5 m/s over a second’s look, at 10 to 60 m: one camera reading the car’s foot and its growth, the foot alone, a pair reading disparity and growth, a pair by disparity alone.

The camera is the earlier essays’: 1.3 metres above the road, a focal length of 598 pixels, driving at fifteen metres a second and wandering a fifth of a metre across its lane every four seconds, thirty pictures a second over the last second. The car ahead is 1.8 metres wide and twenty metres off, closing at five metres a second. On a flat road, a point of the road twenty metres out is drawn 598 × 1.3 / 20, about 39 pixels, below the horizon; a point ten metres out, 78. So the row of the car’s foot, read against the horizon, gives its distance at once, as the focal length times the camera’s height over the foot’s drop below the horizon.

Read that way in every picture, the foot alone ranges the car to 1.00 per cent a pixel. Read together with the car’s growth, its width left unknown, 0.80 per cent. The pair that read its disparities and the growth together reached 3.02; by disparity alone, 4.97. The single camera with its foot is 6.2 times better than the pair’s disparity and nearly four times better than the pair’s best.

The reason is the one the earlier essay gave for the growth: a longer baseline wins. A pair reads distance from two pictures thirty centimetres apart, and the growth from the car’s two edges 1.8 metres apart. The foot reads it from the camera’s own height, the vertical separation between the eye and the road under it. At 1.3 metres that is shorter than the car’s width, but it is known, and a known length ranges directly where an unknown one only times. The growth adds its own baseline on top, and the two together read the car’s width as a by-product.

Every curve in the figure rises with the distance at almost the same rate. From ten metres to sixty the foot and growth go from 0.44 per cent to 2.25, the pair’s best from 1.65 to 8.46, its disparity from 2.70 to 13.96: each about five times worse over a sixfold distance. A length seen from twice as far subtends half the angle, so the same pixel is twice the share; the foot’s row is no exception. Far enough away, a pair is one eye found that rule for disparity, and the foot obeys it from a better start. At sixty metres a single camera still ranges the car to about two per cent, which is better than the pair does at ten.

What each reading gives of distance, width and time

With its foot's row, one camera reads the car's distance to 0.80% a pixel, its width to 0.74% and the time until the gap closes to 6.18% — the distance and the width nearly four times better than a pair reading disparity and growth, and the time as well as the pairA car 1.8 m wide 20 m ahead closing at 5 m/s, a second's look at 30 pictures a second, every edge and every row read to a pixel, the camera 1.3 m above a flat road and known to be. The error a pixel costs, as a share of each quantity, median over the wander: one camera, growth only — distance 11.0%, time 8.84%, width 10.9%; one camera, foot only — distance 1.00%, time 8.64%; one camera, foot and growth — distance 0.80%, time 6.18%, width 0.74%; a pair, disparity and growth — distance 3.02%, time 6.18%, width 2.95%; a pair, with foot and growth — distance 0.56%, time 4.35%, width 0.52%. The foot alone gives a distance in every picture and so the closing speed and the time from their change; the growth gives the time again from a different baseline, and the two together read the width as the foot's distance times the car's size in the picture over the focal length. A pair adds its disparities, which are now the weakest of three ways to the same distance.one camera, growth only: distance11.0%the time until the gap closes8.84%the car's width10.9%one camera, foot only: distance1.00%the time until the gap closes8.64%one camera, foot and growth: distance0.80%the time until the gap closes6.18%the car's width0.74%a pair, disparity and growth: distance3.02%the time until the gap closes6.18%the car's width2.95%a pair, with foot and growth: distance0.56%the time until the gap closes4.35%the car's width0.52%error a pixel, a second's look, a car 20 m aheadlight: one camera · dark: a pair
Fig. 2 The error a pixel costs a car 20 m ahead, closing at 5 m/s, over a second’s look: its distance, the time until the gap closes, and its width, from the growth alone, the foot alone, both, a pair’s disparity and growth, and a pair with all three.

The three things a driver might want of the car ahead — how far, how soon, how big — come out differently from each reading, and the figure lays them side by side.

The growth alone gives the time, to 8.84 per cent a pixel, and leaves the distance and the width almost unread: 11.0 and 10.9 per cent, held only by the small baseline of the camera’s wander across its lane. The foot alone gives the distance in every picture, to 1.00 per cent, and the time from how that distance changes, to 8.64 — about what the growth gave, from a different source. The foot and the growth together read the distance to 0.80, the width to 0.74 and the time to 6.18, because the time is now read twice, once from the shrinking distance and once from the growing size, and the width is simply the foot’s distance times the car’s size in the picture over the focal length.

That time is exactly what a pair reading disparity and growth reached, 6.18, and the distance and width are nearly four times better than the pair’s 3.02 and 2.95. A pair that reads its foot as well comes to 0.56, 4.35 and 0.52: its disparities, which were the whole of its ranging a few essays ago, are now the weakest of three ways to the same number.

So the single camera’s growth needed one thing to become a range, a known length, and the road under the car provides one. This is what two views give shape and no size meant by a scale waiting to be set. The width set it for the pair. The camera’s height sets it for a single eye, and sets it better, because the camera’s height is known before the car arrives.

A camera height sets the distance and not the time

A camera mounted 3 cm higher than believed reads the car 2.31% too near and its time 0.06% out; one pitched a tenth of a degree lower reads it 2.83% too near and its time 1.61% too longOne camera reading a car 1.8 m wide 20 m ahead, closing at 5 m/s, from its foot's row and its growth over a second, the camera believed to stand 1.3 m above a flat road and to point level. The bias each mistake leaves, as a share: camera 1 cm higher than believed: distance, -0.77%; the time until the gap closes, -0.02%; camera 3 cm higher than believed: distance, -2.31%; the time until the gap closes, -0.06%; camera 5 cm higher than believed: distance, -3.85%; the time until the gap closes, -0.11%; camera 0.05° lower than believed: distance, -1.41%; the time until the gap closes, 0.81%; camera 0.1° lower than believed: distance, -2.83%; the time until the gap closes, 1.61%; camera 0.25° lower than believed: distance, -7.07%; the time until the gap closes, 4.03%; camera 0.5° lower than believed: distance, -14.1%; the time until the gap closes, 8.07%. A camera standing higher than believed sees every point of the road nearer the horizon than the believed height would put it, and the reading scales every distance by the believed height over the true; but the time until the gap closes is a distance over the rate it shrinks, and a scale multiplies both, so it is left alone. A pitch is not a scale: it moves every row by the focal length times the angle, which moves the near rows a small share and the far ones a large one, so the car's distance and its rate of closing are biased differently and the time takes some of it.camera 1 cm higher than believed: distance-0.77%the time until the gap closes-0.02%camera 3 cm higher than believed: distance-2.31%the time until the gap closes-0.06%camera 5 cm higher than believed: distance-3.85%the time until the gap closes-0.11%camera 0.05° lower than believed: distance-1.41%the time until the gap closes0.81%camera 0.1° lower than believed: distance-2.83%the time until the gap closes1.61%camera 0.25° lower than believed: distance-7.07%the time until the gap closes4.03%camera 0.5° lower than believed: distance-14.1%the time until the gap closes8.07%bias in a reading of a car 20 m aheadnegative: too near or too short
Fig. 3 The bias left in a reading of a car 20 m ahead from its foot and growth by a camera standing 1, 3 or 5 cm higher than believed, and by a camera pitched 0.05° to 0.5° lower than believed: in the distance, and in the time until the gap closes.

The new length brings new assumptions, and the first is the length itself. A camera mounted at 1.3 metres is at 1.3 metres only with the car unladen and its tyres at their pressure; four passengers and a full boot lower a car by a few centimetres. A camera standing higher than the reading believes sees every point of the road nearer the horizon than it would from the believed height, and so every distance read from the foot is scaled by the believed height over the true one. Three centimetres in 1.3 metres reads the car 2.31 per cent too near; five centimetres, 3.85.

The time until the gap closes hardly notices: 0.06 per cent from three centimetres, 0.11 from five. It is a distance over the rate the distance shrinks, and a wrong scale multiplies both, so it divides out. The essay before this one found the time needing no width; it needs no camera height either. Whatever ranges the car, the time is the safer number.

A pitch is a different mistake. A camera that points a tenth of a degree lower than the reading believes moves every row of every picture by the focal length times the angle, here a little over one pixel. That one pixel is a small share of the large drop of a near point below the horizon and a large share of the small drop of a far one, so it does not scale the scene; it bends it. A tenth of a degree reads the car 2.83 per cent too near and the time 1.61 per cent too long; half a degree, 14.1 and 8.07. The time takes some of a pitch because the car was further off in the older pictures, where the same pixel was a larger share.

These two numbers decide what the method demands of its mounting. Three centimetres of sag costs as much as a tenth of a degree of tilt, and a car’s body pitches by a degree or more under firm braking, the very moment the reading is wanted, and rings on its springs over every bump in between, as a scroll camera rings with its vehicle’s suspension found of a camera on a sprung body. A calibration made in the car park is therefore not enough. The horizon has to be read in every picture.

Each picture reads its own horizon from its lane

Each picture reads its own horizon from its lane's two edges: to 1.27 px from the first 10 m of them, 0.16 from the first 40 — and the car's distance then costs 0.81% a pixel against 0.80% with the horizon givenThe two painted edges of the camera's own lane, 1.8 m either side of it on a flat road, read for their column to a pixel at every metre of road from 6 m out to 10, 15, 20, 30, 40, 60 m; the camera 1.3 m up, focal 598 px. Both edges run to the vanishing point, and the fit finds its column and row and the two edges' slopes together. The horizon row's spread: 10 m, 1.270 px; 15 m, 0.560 px; 20 m, 0.364 px; 30 m, 0.222 px; 40 m, 0.165 px; 60 m, 0.114 px. Added to the foot's own pixel in every picture, the depth error a pixel costs a car 20 m ahead read from its foot and growth over a second: 1.12%, 0.88%, 0.84%, 0.82%, 0.81%, 0.81%; with the horizon given exactly, 0.80%. A body that pitches on its springs moves the horizon in every picture, so it has to be read in every picture, and the lane gives it there.10152030406000.5001how far out the lane's edges are read, metres (log)pixelsthe horizon's spreadthe foot's own pixeledges read to a pixel every metre from 6 mdashed: the foot's row, a pixel
Fig. 4 How well the horizon row is read from the two painted edges of the camera’s own lane, each read to a pixel at every metre from 6 m out to 10–60 m; dashed, the foot’s own pixel.

Every picture of a road carries its horizon in it. The two painted edges of the camera’s lane are parallel lines on the road, and their drawings meet at the vanishing point, which lies on the horizon of the road’s plane: the horizon is at eye level, and two parallels on the ground find it wherever the camera points. A body that pitches moves the horizon, and moves the vanishing point with it, picture by picture.

The figure reads the two edges for their column to a pixel at every metre of road from six metres out, and fits the vanishing point’s column and row and the two edges’ slopes together. From the first ten metres of lane, the horizon row is read only to 1.27 pixels, worse than the foot itself: ten metres of lane is short, and the two lines meet at a shallow angle. From the first twenty metres it is read to 0.36 pixels; from forty, 0.16; from sixty, 0.11. Lines read further out pin their meeting point better, because the far points sit close to it.

Added to the foot’s own pixel, a horizon read from forty metres of lane costs the range almost nothing: 0.81 per cent a pixel against 0.80 with the horizon given exactly. Read from fifteen metres it costs 0.88. So the road marks a camera already sees answer the pitch at the rate the body produces it, in every picture, for a tenth of the price of the foot. The one condition is in the reading’s own premise: the lane’s edges are parallel lines on the same flat plane as the car’s foot.

A road that starts to rise between the two cars

A road that starts rising by one degree between the camera and the car moves its distance by up to 24.1%: 10.6% with the horizon of the road under the camera and -13.4% with the risen road's own, when the rise begins halfway — where a pixel costs 0.80%One camera 1.3 m up reading a car 1.8 m wide 20 m ahead, closing at 5 m/s, from its foot's row and its growth over a second, believing the road flat. The road is flat under the camera and rises at 1° from 0, 2.5, 5, 7.5, 10, 12.5, 15, 17.5, 20 m ahead. Read with the horizon of the road under the camera, the distance's bias is 24.1%, 20.7%, 17.3%, 14.0%, 10.6%, 7.17%, 3.85%, 1.21%, 0.00% and the time's 34.6%, 34.5%, 34.4%, 34.3%, 34.2%, 29.3%, 18.5%, 6.55%, 0.00%. Read with the horizon of the risen road around the car, the distance's bias is 0.00%, -3.36%, -6.72%, -10.1%, -13.4%, -16.9%, -20.2%, -22.9%, -24.1%. The foot of a car on the risen road stands higher than a flat road would put it by the angle times the rise's length, and a camera 1.3 m up reads that height as distance at a rate of its height over the rise: a degree over ten metres is 17 cm, a seventh of the camera's height. The risen road's horizon is right if the rise begins under the camera and wrong by the angle times the flat stretch otherwise. Neither horizon is right in between, and the guides mark one pixel's error either way.-30-20-10010203005101520where the road starts to rise by 1°, metres ahead of the camerabias in the car's distance, per centhorizon of the road underfoothorizon of the risen roada car 20 m ahead, a road rising 1°dashed guides: a pixel's error
Fig. 5 The bias in the distance of a car 20 m ahead read from its foot and growth when the road, flat under the camera, starts rising by 1° somewhere between the camera and the car: with the horizon of the road underfoot, and with the horizon of the risen road.

Roads are not one plane. They rise and fall, and where they change grade between the camera and the car, the foot of the car stands above or below the plane the camera stands on. A degree of rise over ten metres lifts the road by seventeen centimetres, about a seventh of the camera’s height, and a reading that believes the road flat converts that lift straight into distance.

The figure starts the rise at every place from under the camera to under the car, and reads the car twice. With the horizon of the road under the camera — the one the near lane gives, or a calibration — a rise that starts at the camera reads the car 24.1 per cent too far, because its foot is lifted the whole twenty metres; one that starts halfway, 10.6 per cent; one that starts under the car, nothing. With the horizon of the risen road, the one the lane’s edges give if they are read out around the car, the error runs the other way: nothing if the rise starts under the camera, since the camera’s height above the risen plane is then still 1.3 metres, and 13.4 per cent too near if it starts halfway, because the camera stands above that plane’s extension by the angle times the flat stretch.

The ramp has its own horizon: every plane in a picture carries its own, and a reading that uses one plane’s horizon to range a point on another is wrong by their difference. Neither horizon is right between the ends, and a one-degree change of grade, which is a gentle one, leaves a bias ten to thirty times the pixel’s error over most of the stretch. The time until the gap closes takes it worse than the distance: with the horizon underfoot it is 34 per cent too long wherever the rise starts in the first half, because the car was on the risen road in every older picture as well, and its apparent closing was too slow throughout.

This is the real price of the foot. Everything else in the reading is a pixel; this is a property of the road, and it moves the answer by a quarter.

The lane’s edges bend where the road does

A lane's edges bend in the picture where the road starts to rise, and one picture's edges read the rise under a car 20 m ahead closely enough to range it to 1.93% a pixel when a 1° rise begins 10 m out — where a flat road believed leaves it 10.6% wrongThe two edges of the camera's lane, read for their column to a pixel at every metre from 6 to 40 m in one picture, fitted for the vanishing point, the lane's width over the camera's height, the place where the road starts to rise and the angle it rises at; the road rises by 0.5, 1, 2° from 8, 10, 12, 15, 18 m out. Solid: the error a pixel costs the distance of a car 20 m ahead that the fitted road gives through the foot's row — the rise under the car and the horizon together — 0.5°: 3.49%, 1.68%, 1.16%, 0.89%, 0.88%; 1°: 4.02%, 1.93%, 1.32%, 1.01%, 0.99%; 2°: 5.45%, 2.55%, 1.72%, 1.27%, 1.21%. Dashed: the bias a flat road believed leaves in the same reading, 0.5°: 6.66%, 5.31%, 3.93%, 1.92%, 0.41%; 1°: 13.3%, 10.6%, 7.87%, 3.85%, 0.82%; 2°: 26.6%, 21.3%, 15.7%, 7.70%, 1.64%. The angle is read to 0.34, 0.15, 0.10, 0.07, 0.07° and the place to 0.48, 0.48, 0.52, 0.59, 0.70 m for the 1° rise. A rise that begins near the camera leaves too little flat road to fix the camera's own horizon and is read worst; one near the car is short and matters little.0.0050.010.020.050.10.20.5810121518where the road starts to rise, metres ahead of the camerashare of the car's 20 m (log)a 0.5° rise, unreada 1° rise, unreada 2° rise, unreadsolid: the rise read from the lane's edgesdashed: a flat road believed
Fig. 6 Fitting one picture’s lane edges for the place where the road starts to rise and its angle, as well as the vanishing point and the lane’s width: the error a pixel then costs the distance of a car 20 m ahead (solid), against the bias left by believing the road flat (dashed), for rises of 0.5°, 1° and 2° starting 8 to 18 m out.

The same marks that give the horizon show the rise. A lane edge drawn on a road that is flat and then rises is two straight segments in the picture, meeting at the row where the road bends: the near part runs to the flat road’s vanishing point and the far part to the risen road’s, which is higher. A fit that allows the bend reads where it is and how sharp.

The figure fits one picture’s two edges, read to a pixel every metre from six to forty metres, for six numbers: the vanishing point’s column and row, each edge’s slope, the place where the road starts to rise, and the angle. A one-degree rise starting ten metres out is read to 0.15 degrees and its place to half a metre, and the road’s rise under the car, together with the horizon, ranges the car to 1.93 per cent a pixel — against the 10.6 per cent bias of a road believed flat. Starting fifteen metres out, 1.01 per cent against 3.85. Starting eight metres out, 4.02 against 13.3: a rise that starts close to the camera leaves too little flat lane to fix the camera’s own horizon, and the near stretch is where the reading is weakest.

Near the car the comparison turns. A one-degree rise starting eighteen metres out lifts the car’s foot by three centimetres, and believing the road flat leaves a bias of 0.82 per cent; fitting the bend costs 0.99 a pixel, a little more than ignoring it. The two-degree and half-degree rises follow the same pattern at their own scale: the bend is worth reading when it lies well between the camera and the car, and harmless to ignore when it lies at the car’s feet.

This is one picture’s lanes. Over a second the camera reads the same bend thirty times from thirty places as it drives towards it, so the road’s profile is read better than the figure shows, while the pitch, which changes from picture to picture, still has to come from each one.

What the road scales and what it does not

Put together, a single camera that knows its height turns the car ahead’s growth into a range by reading where the car meets the road, and ranges the car six times better than a pair thirty centimetres wide reads it from disparity. It reads the car’s width to under one per cent, which no single camera could read before, and the time until the gap closes as well as a pair that reads both its disparities and the growth.

The image of the other eye began this sequence with the point in each picture where the other camera stands, and every essay since has been about separations — a baseline, a wander, a lever arm, the car’s own width. An epipole in the picture leaves a blind disc found that a camera driving straight learns no depth of whatever lies dead ahead, and a car in the same lane lies exactly there. The camera’s height is a baseline that the blind disc does not touch, because it runs across the line of sight rather than along it: up and down, between the eye and the road beneath it. That is why the foot ranges what the motion cannot.

What the reading takes from outside the pictures

The road is one plane between the camera and the car, or its bends are read. The last two figures measured what a change of grade does when it is not read and how well the lane edges read it when it is. A crest that hides the car’s foot leaves nothing to read, and a road that banks or twists across its width tilts the lane edges’ meeting point sideways as well.

The camera’s height is known to a few centimetres. The distance scales with it and the time does not. A camera that reads the lane’s painted width, which a road authority fixes, could check its height against it, since the lane’s two edges in the picture give the lane’s width over the camera’s height.

The car’s foot is where its tyres meet the road. A car’s shadow, its bumper’s lower edge or a spray of water lies above or below that row by an amount that is a distance error at the rate the figures give, a pixel for each 0.8 per cent at twenty metres.

The lane’s edges are visible and parallel. A merging lane, a worn line or a road with no marks returns the reading to the horizon of a calibration, which a pitching body does not respect.

Still open: whether the camera’s height can be read from the lane itself

Everything here assumed the camera’s height known, and found the distance scaling with any mistake in it while the time stays put. The road carries a length of its own that a road authority fixes: the lane’s width, or the spacing of the dashes between lanes, painted to a standard and repeated. A camera that reads the lane’s edges reads the lane’s width over its own height, so a lane of known width gives the camera its height in every picture, and with it the scale, without a tape measure or a calibration.

The measurement that settles what that is worth reads the camera’s height from the lane’s painted width and from the dash spacing over a second of pictures, asks how well each fixes the scale against the few centimetres a loaded car sinks, and asks how much a lane painted a little wider or narrower than the standard, as lanes are, takes back.

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.

BaselineDepth uncertaintyEpipoleGround planeHorizonModel errorVanishing point