Measuring from one picture

The dish no outline reaches

An outline is a pair of numbers per direction and nothing more, so a shape built from outlines has two errors that behave differently. The part outside the convex hull falls as one over the square of the view count. The part inside a concavity is the same area at four views and at a hundred and twenty-eight, because no pair of supporting lines ever reaches into a bite.

Worth reading first: One picture of a ball · The ball a drawing does not draw round · Another picture of the same sweep.

Two pictures of a ball finishes the ball, and it finishes it because a sphere has no shape beyond a size and a place. Ask the same question of an object that does have a shape and the answer changes character completely.

An outline is a pair of numbers per direction: where the object’s shadow starts and where it ends, in that direction. That is all the information a silhouette contains. Everything a reconstruction from outlines can produce has to be built out of a finite set of such pairs.

Every outline this object has, from 8 directionsA cross-section with a bite taken out of it, and the region every one of 8 outlines admits. Each view contributes a pair of supporting lines — an outline is a pair of numbers per direction and nothing more — and the visual hull is what is left when all of them have cut. It has area 3.1098 against the object's 2.9193. Adding views shaves the corners between the tangents, and no number of them touches the notch: the convex hull, at 3.0749, is the floor. The bite is 5.3% of the object and it is invisible to outlines from every direction at once.hull 3.1098 · object 2.9193 · floor 3.07498 outlinesthe notch survives all of them
Fig. 1 A cross-section with a bite taken out of it, and the region every one of eight outlines admits. Each view contributes a pair of supporting lines, and the visual hull is what is left when all of them have cut.

Two error terms, and they are not the same kind

Compare the visual hull with the object and the difference splits into two pieces that behave completely differently.

The outside term is the area the hull has beyond the object’s convex hull — the corners between adjacent tangent lines, which are cut away as more views arrive. It falls, and it falls fast.

The unreachable term is the area inside the convex hull that is not the object. The bite. No pair of supporting lines from any direction ever reaches into a concavity, so it is the same area at every view count.

Reporting them as one number — “the reconstruction is out by five per cent” — hides the whole finding, because one half responds to effort and the other does not.

The first term falls as one over the square

Take more views and the polygon circumscribing the convex hull gets more sides, so the little triangles between the tangents and the true boundary shrink.

The rate is measured rather than argued: fit a power law to the excess area against the view count and the exponent comes out at minus two, to within a few hundredths. Four views to a hundred and twenty-eight is a factor of thirty-two in count and close to a thousand in excess.

Every outline this object has, from 24 directionsA cross-section with a bite taken out of it, and the region every one of 24 outlines admits. Each view contributes a pair of supporting lines — an outline is a pair of numbers per direction and nothing more — and the visual hull is what is left when all of them have cut. It has area 3.0786 against the object's 2.9193. Adding views shaves the corners between the tangents, and no number of them touches the notch: the convex hull, at 3.0749, is the floor. The bite is 5.3% of the object and it is invisible to outlines from every direction at once.hull 3.0786 · object 2.9193 · floor 3.074924 outlinesthe notch survives all of them
Fig. 2 Twenty-four views. The hull has crept in toward the convex hull almost everywhere, and the bite is exactly where it was.

The fitted exponent is the right way to state it, for the same reason a resampling kernel’s order is fitted rather than quoted: an asserted rate is a claim about the theory, and a fitted one is a claim about the computation. Here the two agree, which is the outcome that makes the assertion worth making.

The second term does not move at all

The bite is a twentieth of the object’s area, and it is that at four views, at eight, at a hundred and twenty-eight.

Not approximately unchanged. The visual hull is by construction a superset of the convex hull — a supporting line cannot cut inside it, because the convex hull is exactly the intersection of all half-planes containing the object — so the area inside the convex hull is untouched by any number of views.

Every outline this object has, from 8 directionsA cross-section with a bite taken out of it, and the region every one of 8 outlines admits. Each view contributes a pair of supporting lines — an outline is a pair of numbers per direction and nothing more — and the visual hull is what is left when all of them have cut. It has area 2.8888 against the object's 2.7711. Adding views shaves the corners between the tangents, and no number of them touches the notch: the convex hull, at 2.8580, is the floor. The bite is 3.1% of the object and it is invisible to outlines from every direction at once.hull 2.8888 · object 2.7711 · floor 2.85808 outlinesthe notch survives all of them
Fig. 3 A wider bite. The unreachable term grows with the notch and the falling term does not notice, because the two are about different parts of the boundary.

The check asserts both halves and it asserts the second one as an identity rather than as a bound: at every view count the hull’s area is greater than or equal to the convex hull’s, at the arithmetic floor. A version that checked “the concavity is not much reduced” would pass an implementation that reduced it a little, which would be an implementation with a bug in it.

And the control, which is a convex object

Take the notch out and everything changes. A convex object’s convex hull is itself, so the second term is zero and the first is the whole error — and the reconstruction converges to the object as the views multiply.

That control is what turns the finding from a statement about this object into a statement about concavity. Without it, “the error does not go to zero” could be a fact about the hull algorithm; with it, the error goes to zero exactly when there is nothing concave for it to be about.

The exponent has a constant, and the constant is a shape

The falling term is fitted to n−2n^{-2} and the fit is worth completing, because the coefficient can be computed and because the exponent turns out to be evidence about the object rather than about the method.

For a smooth convex boundary the excess is a ring of little caps between each supporting line and the arc it touches. On a circle the arithmetic is exact: nn tangents give a circumscribed polygon of area R2ntan⁡(π/n)R^{2}n\tan(\pi/n) against the circle’s πR2\pi R^{2}, so

excessarea  =  ntan⁡(π/n)π−1  ≈  π23n2.\frac{\text{excess}}{\text{area}} \;=\; \frac{n\tan(\pi/n)}{\pi} - 1 \;\approx\; \frac{\pi^{2}}{3n^{2}}.

Exponent minus two, with a coefficient of π2/3=3.29\pi^{2}/3 = 3.29. Inverted, the count of tangents for a stated tolerance is n≈π/3ϵn \approx \pi/\sqrt{3\epsilon}: eighteen tangents for one per cent and fifty-eight for a tenth. Each view supplies two tangents, one on either side, so that is nine views and twenty-nine, which is a much gentler requirement than the phrase “a thousandfold over thirty-two views” suggests, and it is the useful form of the same statement.

For a faceted boundary the accounting is completely different and the exponent changes. A supporting line whose normal falls between two adjacent face normals touches only the vertex between them, so it constrains nothing along either face; a face of length LL is left capped by a triangle whose height is about LΔθ/4L\Delta\theta/4 for an angular spacing Δθ\Delta\theta, giving an excess of order L2Δθ/8L^{2}\Delta\theta/8 per face. Summed over the faces that is proportional to Δθ=2π/n\Delta\theta = 2\pi/n, so

excess  ∝  1n\text{excess} \;\propto\; \frac{1}{n}

— one power slower, and the reason is worth stating plainly: a smooth boundary is touched everywhere by some tangent and a flat face is touched properly only by the one direction that is its own normal. Every other view touches it at a corner and buys almost nothing.

That inverts the intuition a reader is likely to bring. A faceted object looks like the easy case for a silhouette method, because a polygon seems simpler than a curve. It is the harder case, and it stays harder however many views arrive, unless the view directions are chosen to include the face normals — at which point the hull is exact in a handful of views rather than convergent in a hundred. Silhouette reconstruction of a faceted object is a sampling problem with a right answer available, and of a smooth object a convergence problem with none.

So the fitted exponent is doing more work than confirming an asymptotic rate. A measured −2.0-2.0 says the convex part of this boundary is smooth; a measured −1-1 would have said it was flat-sided; and an exponent between them would say the boundary is mixed, which most real objects are. That is an unusually cheap piece of shape information — it comes out of the convergence of the reconstruction rather than out of the reconstruction — and it says nothing whatever about the notch, which is the whole subject of the next section and is where none of these rates apply.

Only part of the boundary is ever on a silhouette

There is a second way of saying the same thing and it is the one a reader can picture.

Walk every viewing direction and mark the boundary point that is extreme in it. On a convex outline every point gets marked eventually. On a notched one, eighty-five per cent of the boundary is marked and the rest never is — and the rest is exactly the inside of the notch, which is the fraction of the perimeter the notch occupies.

Every outline this object has, from 48 directionsA cross-section with a bite taken out of it, and the region every one of 48 outlines admits. Each view contributes a pair of supporting lines — an outline is a pair of numbers per direction and nothing more — and the visual hull is what is left when all of them have cut. It has area 3.0758 against the object's 2.9193. Adding views shaves the corners between the tangents, and no number of them touches the notch: the convex hull, at 3.0749, is the floor. The bite is 5.3% of the object and it is invisible to outlines from every direction at once.hull 3.0758 · object 2.9193 · floor 3.074948 outlinesthe notch survives all of them
Fig. 4 Forty-eight views. The supporting lines have accumulated into something very close to the convex hull and the inside of the notch has never been touched by one.

So the concavity is not poorly sampled. It is not sampled at all, from any direction, ever. There is no view from which the inside of a bite is on the object’s outline, because a point in a concavity always has some of the object between it and the outside in every direction that would make it extreme.

That is a different kind of limit from the ones this site usually reports. Seven numbers no picture can name is a gauge freedom: the reconstruction is determined up to a transformation, and every member of the family is an equally good answer. This is not a freedom; it is a region the measurement never touches, and the answer it produces there is a definite wrong shape rather than a family.

Why parallel views and not perspective ones

The whole essay is built on parallel silhouettes and it is worth saying why, because the choice makes the result cleaner and slightly narrower.

Under a parallel projection a silhouette is an interval: the object’s extent in one direction, bounded by two supporting lines perpendicular to it. So each view contributes a slab, and the intersection of slabs over all directions is exactly the convex hull — a classical fact, and the reason the second term has such a sharp statement.

Under a perspective projection each view contributes a cone rather than a slab, and a cone is larger than the slab in the same direction. So a perspective visual hull contains the parallel one, strictly, and it shrinks toward it as the viewpoints move away.

Choosing parallel views therefore gives the best case for the method: any real camera does worse on the first term. The second term is unaffected — a cone cannot reach into a concavity any more than a slab can — so the finding that matters is unchanged and the finding that is a rate is stated for the friendliest arrangement there is.

That is the right way round for a limit. A negative result proved on the favourable case holds on the unfavourable one, and quoting the convergence order for perspective views would have mixed the method’s limit with the rig’s geometry.

A parallel projection is a perspective one with the eye taken awayThe four small boxes are photographs from 3 m, 8 m, 30 m, 300 m with the lens lengthened to match. The isometric drawing is the limit, and its bundles stay parallel to 0e+0 radians.isometric — the limit3 m8 m30 m300 msame box, same drawn sizethe eye recedes
Fig. 5 The limit the parallel case is, from the parallel field: an eye taken to infinity, where every ray is parallel and the picture has no station point at all.

What this makes of the previous rungs

The row’s three earlier essays now sit in an order that says something.

The wall under the paint recovers a surface exactly, and it can because the design supplies the correspondence: each mark’s ray is known, so the surface is measured point by point and a step comes back as a step.

One and two pictures of a ball recover it exactly, and they can because a sphere has no shape to recover beyond four numbers.

Outlines of a general object recover the visual hull, which is not the object, and no number of them fixes it. The difference between the first two cases and this one is not the number of pictures; it is whether the pictures carry information about where on the surface each mark came from.

That is what the parallel field found about transfer lines, followed one step further. There it costs a draughtsman a correspondence that does not matter because the drawing is right anyway; here it costs a reconstruction the concavities, because a method built on outlines has nothing else to be built on.

The shape of the answer, met twice on this site

There is a pattern here that this collection has now found twice, from two directions that have nothing to do with each other.

A stitched panorama’s parallax has a horizontal half that falls as the sine of half a frame spacing — buy it off by shooting more — and a vertical half that is the sine of half the frame’s own height and does not move at any frame count.

A silhouette reconstruction’s error has a term outside the convex hull that falls as one over the square of the view count, and a term inside a concavity that does not move at any count.

Different subjects, different machinery, same structure: one term that responds to effort and one that does not. And in both cases the useful engineering statement is which is which rather than how large either is, because the first belongs in an instruction and the second belongs in the description of what the method is.

One half falls away and the other does not moveThe worst miss across the seam and the worst miss at the top of the frame, against the number of frames, for a pivot 60 mm off the pupil and a frame 38° tall. The first is e·sin(π/n) and falls from 60.0 mm to 2.9 mm; the second is e·sin(β) and is 19.53 mm at every count, bit for bit. They cross at π/β = 9.47, so past 10 frames every remaining pixel of parallax is vertical and no further shooting touches it. The upper curve is the corner of the strip, which is what a reader actually gets.0204060204060frames in the panoramadistance from the pivot (mm)π/β = 9.5across the seamup the framepivot 60 mm · frame 38° tallfloor 19.53 mm
Fig. 6 The other instance, from the curved field. One curve falls away as the frames multiply and one line is flat, and the flat one is what the arrangement cannot do rather than what it has not done yet.

The bite this object has, and why it is a bite

The object is a disc with a notch cut into its rim, and the shape of the notch is worth a sentence because a reader might reasonably suspect it of being chosen to make the point.

It is chosen to make the point, and the point survives any other choice. What a concavity is, for this purpose, is any region of the boundary that is not on the convex hull — and every non-convex object has one by definition. The notch’s depth sets how large the unreachable term is; its width sets what fraction of the perimeter is never on a silhouette; and neither of them changes the fact that the term does not fall with the view count.

That is why both of those are on a slider. Widen the notch and the unreachable area grows and the falling term is untouched; narrow it to nothing and the unreachable term reaches exactly zero, which is the control. Nothing in between behaves differently in kind.

The one property that does matter is that the boundary stays simple — the notch runs in to a chord and back out without the outline crossing itself. A self-intersecting boundary would have an area that depends on a winding convention, and the areas quoted here would be answering a question about the convention rather than about the shape.

Every outline this object has, from 4 directionsA cross-section with a bite taken out of it, and the region every one of 4 outlines admits. Each view contributes a pair of supporting lines — an outline is a pair of numbers per direction and nothing more — and the visual hull is what is left when all of them have cut. It has area 3.2115 against the object's 2.9193. Adding views shaves the corners between the tangents, and no number of them touches the notch: the convex hull, at 3.0749, is the floor. The bite is 5.3% of the object and it is invisible to outlines from every direction at once.hull 3.2115 · object 2.9193 · floor 3.07494 outlinesthe notch survives all of them
Fig. 7 Four views, which is the coarsest the plot uses. The hull is visibly a polygon and the notch is visibly untouched, so both terms can be read off one picture at the count where the first is largest.

What a reconstruction does about it

Two things, and both of them amount to adding a different kind of measurement.

Stop using outlines. Texture, stereo correspondence, structured light and time-of-flight all produce points on the surface rather than tangents to it, and a point in a concavity is a point in a concavity. The visual hull is what a method uses when the object has no texture to match, which is exactly when the concavities are hardest to see any other way.

Or accept the hull and say so. A visual hull is a genuine and useful object — it bounds the truth, it is cheap, and it is exactly right for a convex object — and calling it a reconstruction is what causes the trouble.

The uncomfortable version is that the two terms fail in opposite directions for a reader trying to judge the result. The falling term makes a reconstruction from many views look excellent — smooth, tight, converged. The unreachable term is invisible in exactly the same picture, because a filled-in concavity looks like a surface.

The refusal, and what it is protecting

visualHull2D builds its hull by clipping a large starting region with every view’s two half-planes, and it asserts that what is left is still a region.

Handed a clipping box that does not contain the object, every clip removes everything and the hull collapses to nothing. The routine refuses, and the refusal is worth having because the failure is silent otherwise: an empty polygon has area zero, and an area of zero is a perfectly plausible number that would have gone into the plot as a very good reconstruction.

That is the same class of trap as a figure whose clip removed every mark — the symptom is absence, and absence is what no check notices unless it is asked to.

What this does not settle

It does not treat three dimensions. Everything here is a cross-section, on purpose: the argument is about supporting lines and a third dimension adds arithmetic and no argument. The 1/n² rate is the two-dimensional one, and the three-dimensional version has its own.

It does not treat an object whose concavity is visible through another part of it — a torus seen through its own hole, where the silhouette has an inner boundary as well as an outer one and carries more than two numbers per direction.

It does not treat perspective silhouettes. Views from finite points give cones rather than slabs, so the hull is larger and converges to the convex hull only as the viewpoints recede — which changes the first term’s rate and not the second term at all.

And it does not say the visual hull is the wrong thing to compute. It says what the two halves of its error are, which of them a reader can buy off, and that the other one is not small and does not shrink.

An error that falls with effort and an error that does not are different objects, and averaging them into one figure of merit destroys the only thing about them worth knowing. Measure the rate of the first and the size of the second, and report them apart.

Every outline this object has, from 12 directionsA cross-section with a bite taken out of it, and the region every one of 12 outlines admits. Each view contributes a pair of supporting lines — an outline is a pair of numbers per direction and nothing more — and the visual hull is what is left when all of them have cut. It has area 3.0900 against the object's 2.9193. Adding views shaves the corners between the tangents, and no number of them touches the notch: the convex hull, at 3.0749, is the floor. The bite is 5.3% of the object and it is invisible to outlines from every direction at once.hull 3.0900 · object 2.9193 · floor 3.074912 outlinesthe notch survives all of them
Fig. 8 Twelve views, which is where a reader’s eye stops seeing a polygon. The first term is already small enough to look converged and the second is exactly where it was at four.

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.

Contour generatorConvergence orderConvex hullDemonstrationinstrument limitOrthographicReconstructionreconstruction ambiguitySilhouetteVisual hull