extended gaussian images

Upload: danut-stanciu

Post on 09-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 Extended Gaussian images

    1/16

    Extended Gauss ian ImagesBERTHOLD K . P . HORN

    This is a primer onextended Caussian images. Extended Gauss/animages are useful for representing the shapes of surfaces. They canbe computed easily from:1. needle maps obtained using photometric stereo; or2. depth maps generated by ranging devices or binocular stereo.Importantly, they can also be determned simply from geometricmodels of the objects. Extended Caussian images can be of use inat least two of the tasks facing a machinevision system1. recognition, and2. determning the attitude in space of an object.Here, the extended Caussian image is defined and some of itsproperties discussed. An elaboration for nonconvex objects is pre-sented and several examples are shown.

    I. INTRODUCTIONIn order to recognize an object and to determine its

    attitude in space, it is necessary to have a way of repre-senting the shape of its surface. Giving the distance to thesurface along parallel rays on a regularly spaced grid pro-vides one way of doing this. This simple representation iscalled a depth map. A range finder produces surface de-scriptions in this form, as does automated binocular stereo[1]. Unfortunately,depth maps do not transform ina simpleway when the object rotates. (For one thing, interpolationmust be used to get a new depth map ona regularly spacedgrid.)

    Alternatively,surface orientationmight be given for pointson the surface on some regular sampling grid. This grid mayconveniently correspond to the picture cells in an image.Such a simple representation is called a needle map (Fig. 1)[2]. Photometric stereo is a method for recovering surfaceorientation using multiple images taking with differentlighting conditions [3]-[8]. It produces surface descriptionsin this form. A needle map also is not directly helpful whenit comes to comparing surfaces of objects that may berotated relative to one another. (Both depth maps andneedle maps depend on the position of the object as wellas its attitude.)

    The extended Gaussian image, on the other hand, doesmake it easy to deal with the varying attitude of an objectin space as we shall see [2], [9]-[13]. For one thing, it isinsensitive to the position of the object. Some informationappears to be discarded in the formation of the extendedGaussian image. Curiously, in the case of convex objects,

    Manuscript received December 31, 1983; revised J uly 18, 1984.This paper describes research done at the Artificial IntelligenceLaboratory of the Massachusetts Institute of Technology. Supportfor the laboratory's artificial intelligence research is provided in partby the Office of Naval Research (ONR) under ON R C ontractN00014-77C-0389 and in part by the Advanced Research P rojectsAgency of the Department of Defense under ONR Research Con-tract N00014-80-C-0505.The author is with the Artificial Intelligence Laboratory, Mas-sachusetts Institute of Technology, Cambridge, MA 02139, USA.

    Fig. 1. A needle map shows unit surface normals a t pointson the surface on a regular grid. Normals which pointtowards the viewer will be seen as dots, while tilted surfacepatches give rise to normals which are shown a s lines point-ing in the direction of steepest descent.

    the representation is nevertheless unique. That is, no twoconvex objects have the same extended Gaussian image.

    This representation of the shape of the surface of anobject allows one to match information obtained fromimage or range sensors with that contained in computermodels of the objects and has proven most useful in workon automatic bin picking [14]-[16], A recent report de-scribes a system that picks one object out of a jumbled pileof similar objects using this approach [17]. We start ourdiscussion with objects having planar faces. Later we con-sider smoothly curved objects. Methods for computing dis-crete approximations of extended Gaussian images, calledorientation histograms, are presented too. Orientationhistograms can be computed from experimental data ormathematical descriptions of the objects. Sections markedwith an asterisk may be omitted on first reading or if yourinterest in the mathematical details is limited.II. D I S C R E T E CASE: CONVEX POLYHEDRA

    Minkowski showed in 1897 that a convex polyhedron isfully specified (up to translation) by the area and orienta-tion of its faces [18]-[20]. We can represent area and orien-tation of the faces conveniently by point masses on asphere. Imagine moving the unit surface normal of eachface so that its tail is at the center of a unit sphere. The

    0018-9219/84/1200-1671$01.00 1984 IEEE

    PROCEEDINGS OF THE IEEE, VOL. 72, NO. 12, DECEMBER 1984 1671

  • 8/7/2019 Extended Gaussian images

    2/16

    head of the unit normal then lies on the surface of the unitsphere. This sphere is called the Gaussian sphere and eachpoint on it corresponds to a particular surface orientation.The extended Gaussian image of the polyhedron is ob-tained by placing a mass at each point equal to the surfacearea of the corresponding face (Fig. 2).

    Fig. 2. The extended Gaussian image of polyhedron can bethought of a s a collection of point masses on the Gaussiansphere. E a c h mass is proportional to the area of the corre-sponding face. Point masses on the visible hemisphere areshown a s solid marks, the others a s open marks. The centerof mass (shown a s the symbol ) must be at the center ofthe sphere if the polyhedron is a closed subject.

    It seems at first, as if some information is lost in thismapping, since the position of the surface normals is dis-carded. Viewed another way, no note is made of the shapeof the faces or their adjacency relationships. It can never-theless be shown that (up to translation) the extendedGaussian image uniquely defines a convex polyhedron [9].An iterative algorithm has recently been invented for re-covering a convex polyhedron from its extended Caussianimage [21].A. Properties of the Extended Caussian Image

    The extended Gaussian image is not affected by transla-tion of the object. Rotation of the object induces an equalrotation of the extended Gaussian image, since the unitsurface normals rotate with the object.Mass distributions which lie entirely within one hemi-sphere, that is, are zero in the complementary hemisphere,do not correspond to closed objects. As we shall see, thecenter of mass of an extended Gaussian image has to lie atthe origin. This is clearly not possible if a whole hemisphereis empty. Also, a mass distribution which is nonzero only ona great circle of the sphere corresponds to the limit of asequence of cylindrical objects of increasing length anddecreasing diameter (Fig. 3). We will exclude such patho-logical cases and confine our attention to closed, boundedobjects [9], [20].Some properties of the extended Gaussian image areimportant: First, the total mass of the extended Gaussianimage is obviously just equal to the total surface area of thepolyhedron. If the polyhedron is closed, it will have thesame projected area when viewed from any pair of oppo-site directions. This allows us to compute the location ofthe center of mass of the extended Gaussian image.

    Imagine viewing a convex polyhedron from a great dis-tance. Let the direction from the object towards the viewer

    Fig. 3. A mass distribution confined to a great circle corre-sponds to the limit of a sequence of cylindrical objects ofincreasing length and decreasing diameter. Such pathologi-cal mass distributions can be avoided if we confine ourattention to bounded objects.

    be given by the unit vector v. A face, with unit normal s,,will be visible only if s , y>0. Suppose that the surfacearea of this face is 0;.Due to foreshortening it will appearonly as large as would a face of areaa o onormal to v (Fig. 4). The total apparent area of the visiblesurface is

    A(v)- (S,-v)0,{\S,-f>0}

    when viewed from the direction v. The total apparent areaof the visible surface when viewed from the opposite

    Fig. 4. A surface element appears smaller because of fore-shortening. The apparent area is the true area times thecosine of the angle between the surface normal and thevector pointing towards the viewer.direction is

    A(-f)- (S,-v)0,{\S,-fsiO}

    This should be the same, that is, A(v)=A(v). Conse-quently,

    v)0,= s,0,\-v =00all i

    where the sum now is over all faces of the object. Thisholds true for all view vectors, v, so we must have

    s , o , =o .al l i

    That is, the center of mass of the extended Gaussian imageis at the origin.

    An equivalent representation, called a spike model, is acollection of vectors each of which is parallel to one of thesurface normals and of length equal to the area of thecorresponding face. The result regarding the center of massis equivalent to the statement that these vectors must forma closed chain when placed end to end (Fig. 5).

    1672 PROCEEDINGS OF THE IEEE, VOL. 72, NO. 12, DECEMBER 1984

  • 8/7/2019 Extended Gaussian images

    3/16

    Fig. 5. Vectors parallel to the normals of the faces of apolyhedron, and of length equal to the areas of the corre-sponding faces, form a closed chain when placed end toend.

    B . Reconstruction of a TetrahedronFaces that share a common edge are said to be adjacent.Th e masses on the Gaussian sphere corresponding to two

    adjacent faces need not be each others closest neighbors.Recovering a polyhedron from its extended Gaussian imageis not easy in the general case because it is hard to de-termine which faces are adjacent [21]. Finding the actualoffsets of each of the faces from the center of mass of thepolyhedron is not as hard.The structure of a tetrahedron, however, is very simple:Every face is adjacent to the other three. The shape of thetetrahedron is completely determined by the surface nor-mals of the four faces, only the size of the tetrahedronremaining to be determined. In other words: There is onlyone degree of freedom left. Another way to look at it is tonote that the four faces must have areas that place thecenter of mass of the extended Gaussian image at theorigin, as we have just seen. This condition places threeconstraints on the four parameters.

    Le t the given unit surface normals be a, b, c, and d, andthe areas of the corresponding faces. A, B, C, and D(Fig.6). We have to determine the distances, a, b, c, and d, of

    tetrahedron, the distance from the center of mass to aparticular face is equal to one quarter of the distance of thevertex opposite that face. We start by finding a formula forthe distance of the face with area D, say, from the oppositevertex d. The desired distance, d, will be just a quarter ofthe result obtained in this fashion. The remaining threedistances, a, b, and c, can then be computed using for-mulas obtained by cyclical permutation of the variables.

    The position of the reconstructed tetrahedron is arbitrary,since the extended Gaussian image is insensitive to transla-tion. To make the result unique, we might place the centerof mass at the origin. To reduce the size of the expressionsto be manipulated here, however, it is convenient to movethe tetrahedron so that one vertex, D, say, is at the origin.The distances of the faces from the center of mass areobviously not affected by this.Suppose for now that we know the locations of thevertices A, B , and C relative to D. We can then computethe directions of the six edges of the tetrahedron, by takingall of the distinct pairwise differences of the four vertexpositions. Four surface normals can then be found by takingcross-products of these edge-direction vectors. We actuallyneed only four of the edge vectors forming a closed circuitto do this. The results can then be normalized to obtainunit surface normals CX Aa= B X CI B X C I c=

    AX B\AX B\CXA\

    andA X B + B X C + C X A\ A X B + B X C+ C X A \=

    (A-C) X(B- A)|(/1-C)X(B-/1)|

    Now the perpendicular distance of the plane with area Dfrom the origin can be found by taking the dot-product ofany of the three vertices. A, B , and C with the unit normald. Thus

    [ABC]4c /=

  • 8/7/2019 Extended Gaussian images

    4/16

    since [xy(x +y +z)]=[xyz]. Formulas for [bed] and [cad]can be found by cyclical permutation of the variables.

    Multiplying the three formulas found this way togetherwe get[abd}[bcd\[cad}___________[ABCf_____________(AX B)\BX C)\CX A) AX B +B X C +C X A \ 3

    and so[abd}[bcd][cad] ^ [ABC]2t a b ] 2 [ A X B +B X C+CxA\

    =(4 20).S o that finally

    2D)[abd}[bcd][cad]-[abc]4(/=

    and the Gaussian sphere are rotated in the same fashion. Arotation of the object thus corresponds to an equal rotationof the Gaussian sphere.B . Caussian Curvature

    Consider a small patch 80on the object. Each point inthis patch corresponds to a particular point on the Gaussiansphere. The patch 50on the object maps into a patch, 65say, on the Gaussian sphere (Fig. 8). If the surface is strongly

    The other distances, a, b, and c, can be computed usingsimilar formulas obtained by cyclical permutation of thevariables.

    III. CONTINUOUS C A S E : SMOOTHLY CURVED OBJECTSThe ideas presented in the previous section can be ex-

    tended to apply to smoothly curved surfaces.A. Caussian Image

    One can associate a point on the Gaussian sphere with agiven point on a surface by finding the point on the spherewhich has the same surface normal (Fig. 7) [20], [22], [25].Thus it is possible to map information associated with

    Fig. 8. A patch on the object maps into a patch on theGauss ian sphere. The Gaussian curvature is the limit of theratio of the area of the patch on the Gaussian sphere tothe area of the patch on the subject a s these become smallerand smaller.

    curved, the normals of points in the patch will point into awide fan of directions. The corresponding points on theGaussian sphere will be spread out. Conversely, if thesurface is planar, the surface normals are parallel and mapinto a single point.

    These considerations suggest a suitable definition ofcurvature. The Gaussian curvature is defined to be equal tothe limit of the ratio of the two areas as they tend to zero.That is,

    Fig. 7. The Gaussian image of an object is obtained byassociating with each point on its surface the point on theGaussian sphere which has the same surface orientation. Themapping is invertible if the object has positive Gaussiancurvature everywhere.

    K= lim"o-o 0 dSd0-From this differential relationship we can obtain two usefulintegrals. Consider first integrating K over a finite patch0on the object:

    U -!.! 5where 5 is the area of the corresponding patch on theGaussian sphere. The expression on the left is called theintegral curvature. This relationship allows one to deal withsurfaces which have discontinuities in surface normal.

    Now consider instead integrating 1//C over a patch 5 onthe Gaussian sphere

    points on the surface onto points on the Gaussian sphere.In the case of a convex object with positive Gaussiancurvature everywhere, no two points have the same surfacenormal. The mapping from the object to the Gaussiansphere in this case is invertible: Corresponding to eachpoint on the Gaussian sphere there is a unique point on thesurface. (If the convex surface has patches with zero Gauss-ian curvature, curves or even areas on it may correspond toa single point on the Gaussian sphere.)

    One useful property of the Gaussian image is that itrotates with the object. Consider two parallel surface nor-mals, one on the object and the other on the Gaussiansphere. The two normals will remain parallel if the object

    s ^/ K d s =

    udo=o

    where 0is the area of the corresponding patch on theobject. This relationship suggests the use of the inverse ofthe Gaussian curvature in the definition of the extendedGaussian image of a smoothly curved object, as we shallsee. It also shows, by the way, that the integral of 1//C overthe whole Gaussian sphere equals the total area of theobject.C Alternate Definition of Gaussian Curvature

    Consider a plane which includes the surface normal atsome point on a smooth surface. The surface cuts this plane

    1674 PROCEEDINGS OF THE I E EE , VOL. 72, NO. 12, DECEMBER 1984

  • 8/7/2019 Extended Gaussian images

    5/16

    Fig. 9. Normal sections of the surface are made with planeswhich include the surface normal. The planes correspondingto the largest and smallest values of curvature are referred toa s the principal planes. The Gaussian curvature is equal tothe product of the largest and smallest values of curvature.

    along a curve called a normal section (Fig. 9) [19], [22]-[25].Let the curvature of the normal section be denoted by K^Consider the one-parameter family of planes containing thesurface normal. Suppose that 6 is the angle between aparticular plane and a given reference plane. Then K^ varieswith 0 in a periodic fashion. In fact, if we measure 0 fromthe plane that gives maximum curvature, then it can beshown that

    K 6) =l c . l C O S 2^-^ ic sin^where K -] is the maximum and K ^ is the minimum curvature.These two values of K are called the principal curvatures.T he corresponding planes are called the principal planes.T he two principal planes are orthogonal, provided that theprincipal curvatures are distinct (Fig. 9).

    It turns out thatK =K K ^

    is equal to the Gaussian curvature introduced earlier. This isclearly zero for a plane. It is equal to 1//?2 for a sphericalsurface of radius R , since the curvature of any normalsection is 1//?.A ruledsurface is one which can be generated by sweep-ing a line through space. A hyperboloid provides one exam-ple of such a surface. Developable surfaces are special casesof ruled surfaces [22], [23], [25]. Cylindrical and conicalsurfaces are examples of developable surfaces (Fig. 10). Ona developable surface at least one of the two principal

    Fig. 10. A conical surface is an example of a developablesurface. On it the Gaussian curvature is everywhere zero,because (at least) one of the principal curvatures is zero.

    curvatures is zero at all points. Consequently, the Gaussiancurvature is zero everywhere too.D. The Extended Gaussian Image

    We can define a mapping which associates the inverse ofthe Gaussian curvature at a point on the surface of theobject with the correspondingpoint on the Gaussian sphere.Let u and v be parameters used to identify points on theoriginal surface. Similarly, let ^and i) be parameters used toidentify points on the Gaussian sphere. (These could belongitude and latitude, for example.) Then we define theextended Gaussian image asca')=where ($,>}) is the point onthe Gaussian sphere which hasthe same normal as the point (u,v) on the original surface.It can be shown that this mapping is unique (up to transla-tion) for convex objects. That is, there is only one convexobject corresponding to a particular extended Gaussianimage [9], [19], [26]. T he proof is unfortunately nonconstruc-tive and no direct method for recovering the object isknown.E . Properties of the Extended Gauss/an Image

    The center of mass of the extended Gaussian image of asmoothly curved object is at the origin. We show this in away similar to that used earlier for extended Gaussianimages of polyhedral objects. Consider viewing a convexobject from a great distance. Le t the direction from theobject towards the viewer be given by the unit vector v. Asurface patch with unit normal s will be visible only ifs - v>0. Suppose its surface area is SO (Fig. 4). Due toforeshortening it will appear only as large as would a patchof area

    ( s - v)SOnormal to v. Le t H(v) be the unit hemisphere for whichs v>0. Then the apparent area of the visible surface is

    A(v)={ fc(S)(S-v)dSH( v)"

    when viewed from the direction v. T he apparent area of thevisible surface when viewed from the opposite direction is

    A(-v)= fc(S)(S--v)dS.H(-v)-'

    This should be the same, that is, A(v)=A(-v). Conse-quently,

    fJc(S)(S-v) dS=(fJc(S)SdS\ - v=0where the integral now is over the whole sphere S . Thisholds true for all view vectors, v, so we must have

    j fc(s)SdS=0.That is, the center of mass of the extended Gaussian imageis at the origin. (This, by the way, is not a very helpfulconstraint in practice, since one usually only sees one sideof the object.)

    Another property of the extended Gaussian image is alsoeasily demonstrated. T he total mass of the extended Gauss-

    HORN: EXTENDED CAUSSIAN IMAGES 1675

  • 8/7/2019 Extended Gaussian images

    6/16

    ian image equals the total surface area of the object. If onewishes to deal with objects of the same shape but differingsize one may normalize the extended Gaussian image bydividing by the total mass.

    We can think of the extended Gaussian image in terms ofmass density on the Gaussian sphere. It is possible then todeal in a consistent way with places on the surface wherethe Gaussian curvature is zero, using the integral of 1//Cshown earlier. A planar region, for example, corresponds toa point mass. This in turn corresponds to an impulse func-tion on the Gaussian sphere with magnitude proportionalto the area of the planar region.A mass distribution has inertia about an axis passingthrough its center of mass that depends on the direction ofthe axis. This inertia takes on three stationary values, forthree particular orthogonal directions, called the principalaxes of the object. It is tempting to imagine that one canfind the attitude of an object by lining up the principal axesof inertia of the observed extended Gaussian image and theone computed from the geometric model [9]. This would berather straightforward, requiring only the calculation of theeigenvectors of a three by three inertia matrix. In practice,one typically has information only about the visible hemi-sphere and thus cannot compute the required first andsecond moments over the whole sphere.F . Objects that are not Convex

    Three things happen when the surface is nonconvex:1. The Gaussian curvature for some points will be nega-

    tive.2. More than one point on the object will contribute to a

    given point on the Gaussian sphere.3. Parts of the object may be obscured by other parts.We chose to extend the definition of the extended

    Gaussian image in this case to be the sum of the absolutevalues of the inverses of the Gaussian curvature at all pointshaving the same surface orientation

    C( ==:"v l''/ , i / c ( u , , v o rThis definition is motivated by the method used to com-pute the extended Gaussian image in the discrete case, aswe will see later.

    The above extension makes sense if there are a finite, orat most a countable, number of points on the surface withthe same orientation. At times, however, all points on acurve or even an area on the surface have parallel surfacenormals. In this case we may use

    C (n)=f{s (ft-S )f{8(6-s )dOdS

    where ri is a unit vector on the Gaussian sphere, while s isa unit vector on the surface of the object. The integration isover the whole surface of the object0and 8 is the unitimpulse function defined on a sphere.

    We can be more specific, if we let r(u,v) be a vectorgiving the point onthe surface corresponding to the param-eters u and v, then

    C(i,r,)cosr,=ffs(^-9(u, i/),i-

  • 8/7/2019 Extended Gaussian images

    7/16

    If we let ^ be the longitude and i) be the latitude on theCaussian sphere, then a unit normal at the point ( 1;) onthe sphere is given by (Fig. 12)

    A =(cos I; cos i ], sin t; cos i),sin i)1

    Fig. 12. Latitude and longitude can be used to identifypoints on the G aussian sphere. E a c h point on the Gaussiansphere corresponds to a unique surface orientation.

    Now n=nft. Identifying terms in the two expressions forsurface normals at corresponding points on the ellipsoidand the G aussian sphere we get

    faccosffcos == ncos cosi;ca sin9 cos < f> == n sin cos f\

    absin=nsini)so thatn2 [(acos $ cos 2 +(fccos sini})2 +(csinT))j =(abc)2and finally, substituting for n2 in the equation for K, we get

    1K(i.r))

    abc[(a cos icos if)2 +(6sinfcosi})2 +(csini})2The extended G aussian image, in this case, varies smoothlyand has the stationary values

    ab>hc]l Sf~b) and . c Iat the points where r is equal to (1,0,0)7, (0, 1,0)7, and(0,0, 1) respectively. These results can be easily checkedby sectioning the ellipsoid using the xy, yz,and zx planes.The G aussian curvature, in this case, equals the product ofthe curvatures of the resulting ellipses. One then uses thefact that the maximum and minimum curvatures of anellipse with semi-axes a and b are a/b2 and b/a2.Later we will derive the extended G aussian image of atorus, an object that is not convex.IV. D I S C R E T E APPROXIMATION: N E E D L E MAPS

    Consider the surface broken up into small patches ofequal area. Let there be p patches per unit area. Erect asurface normal on each patch. Consider the polyhedralobject formed by the intersection of the tangent planesperpendicular to these surface normals. It approximates theoriginal surface. The smaller the patches, the better theapproximation.

    The extended G aussian image of the original (smoothlycurved) convex object is approximated by impulses corre-sponding to the small patches. The magnitude of eachimpulse is about 1/p, corresponding to the area of thepatch it rests on (Fig. 13). S trongly curved areas will distrib-ute their impulses over a large region on the G aussiansphere, while areas which are nearly planar will have themconcentrated in a small region. In fact, the number ofimpulses per unit area on the G aussian sphere approaches ptimes the absolute value of the G aussian curvature as wemake p larger and larger. This can be shown using theintegral of 1//C given earlier.

    Fig. 13. M apping of discrete patches on an object onto theGaussian sphere. The patches in this case correspond to aregular tesselation of the image plane. Since the patches lieon a conical surface they contribute to the extended Gauss-ian image along a small circle.

    The tesselation of the surface can be based on an arbi-trary division into triangular patches as long as the magni-tude of each impulse on the G aussian sphere is madeproportional to the area of the corresponding patch on thesurface. Alternatively, one can divide the surface up accord-ing to the division of the image into picture cells. In thiscase one has to take into account that the area occupied inthe image by a given patch is affected by foreshortening.The actual surface area is proportional to 1/(s; v), wheres, is the normal of the patch, while v is the vector pointingtowards the viewer (Fig. 4).

    Measurements of surface orientation from images willnot be perfect, since they are affected by the noise inbrightness measurements. Similarly, surface orientations ob-tained from range data will be somewhat inaccurate. Con-sequently, the impulses on the G aussian sphere will bedisplaced a little from their true positions. The expecteddensity on the G aussian sphere will nevertheless tend to beequal to the inverse of the G aussian curvature. One cannot,however, expect the impulses corresponding to a planarsurface to be coincident. Instead, they will tend to form asmall cluster. To be precise, the effect of noise is to smearout the information on the sphere. The extended G aussianimage is convolved with a smoothing function of widthproportional to the magnitude of the noise.A. Using Object Models

    E xtended Caussian images also have to be computed forsurfaces of prototypical object models. In this case it is bestto find a convenient way to parameterize the surface andbreak it up into many small patches. S uppose the surface is

    HORN: EXTENDED CAUSSIAN IMAGES 1677

  • 8/7/2019 Extended Gaussian images

    8/16

    given interms of two parameters u and i/as r(u,v). Then atthe point (u,v) we see that r^ and are two tangents (Fig.14). The cross product of these tangents is normal to thesurface. The unit normal

    r, x r ,ri=\r,, X r,,|

    Fig. 14. A surface normal can be computed by taking thecross product of two tangent vectors. The tangent vectorscan be obtained by differentiation of the parametric form ofthe equation of the surface.

    allows us to determine to which point on the Gaussiansphere this patch corresponds. Suppose that we divided therange of u into segments of size 8u and the range of v intosegments of size Sv. Then the area of the patch

    8A=\r^ X r SuSvcanbe used to determine what contribution it makes to thecorresponding place on the Gaussian sphere. Note that wedo not have to explicitly compute the Gaussian curvature ortake second partial derivatives.V. TESSELATION O F TH E GAUSSIAN S P H E R E : ORIENTAT IONHISTOGRAMS

    It is useful to divide the sphere up into cells in order torepresent the information on the Gaussian sphere in acomputer. Ideally the cells should satisfy the followingcriteria:

    1. all cells should have the same area;2. all cells should have the same shape;3. the cells should have regular shapes that are compact;4. the division should be fine enough to provide good

    angular resolution;5. for some rotations, the cells should be brought into

    coincidence with themselves.Cells which are compact combine information only fromsurface patches which have nearly the same orientation.Elongated cells of the same area combine information fromsurface patches which have more widely differing orienta-tions. The area of a regular polygon with n sides inscribedin a circle of radius r is

    J sin(2g/n)1Tl-(2Vn

    So the area of a hexagon inscribed in a circle is (3/3/2)r2,twice that of a triangle inscribed in the same circle. Tessela-tions with near-triangular cells will thus combine informa-tion from orientations which are -fl times as far from theaverage as do tesselations using near-hexagonal cells.

    If cells occur ina regular pattern, the relationshipof a cellto its neighbors will be the same for all cells. Such arrange-

    ments are to be preferred. Unfortunately, it is not possibleto simultaneously satisfy the criteria listed above.

    A simple tesselation consists of a division into latitudebands, each of which is then further divided along longitu-dinal strips (Fig. 15). The cells could be made more nearlyequal in area by having fewer at higher latitudes, or bymaking the latitude bands wider there, or both. One ad-vantage of this scheme is that it makes it easy to computeto which cell a particular surface normal should be as-signed. Still, this arrangement does not come close tosatisfying the criteria stated above. In particular, the cells

    Fig. 15. The Gaussian sphere can be divided into cellsalong meridians and lines of longitude. The resulting cells donot have the same areas, however, and only align with eachother for certain rotations about the axis through the poles.

    are brought into alignment only for a few rotations aboutthe axis of the globe. Rotations about any other axis cannotbring thecells into alignment.A. Tesselations Based on Regular Polyhedra

    Better tesselations may be found by projecting regularpolyhedra onto the unit sphere after bringing their centerto the center of the sphere [27]. Regular polyhedra areuniform and have faces which are all of one kind of regularpolygon. (They are also called the Platonic solids) [19], [20],[28]-[32]. The vertices of a regular polyhedron are con-gruent. A division obtained by projecting a regular poly-hedron has the desirable property that the resulting cells allhave the same shape and area. Also, all cells have the samegeometric relationship to their neighbors. In the case of thedodecahedron, the cells are even fairly well rounded. Thedodecahedron, however, has only twelve cells (Fig. 16(a)).Even the icosahedron, with twenty triangular cells, providestoo coarse a sampling of orientations (Fig. 16(b)). Further-more, its cells are not well rounded. Unfortunately, there

    Fig. 16. Tesselation of the Gaussian sphere using (a) theregular dodecahedron and (b) the regular icosahedron.

    1678 PROCEEDINGS OF THE I E E E , VOL. 72, NO. 12, DECEMBER 1984

  • 8/7/2019 Extended Gaussian images

    9/16

    are only five regular solids (tetrahedron, hexahedron, oc-tahedron, dodecahedron,and icosahedron).

    One can go a little further by considering semi-regularpolyhedra. A semi-regular polyhedron has regular polygonsas faces, but the faces are not all of the same kind [19], [20],[28H32]. (They are also called the Archimedean polyhedra.)As for regular polyhedra, the vertices are congruent. Therecan be either two or three different types of faces and thesehave different areas. An illustration of a tesselation using asemi-regular polyhedron is provided by a soccer ball (Fig.17(a)). It is based on the truncated icosahedron, a semi-reg-ular polyhedron which has 12 pentagonal faces and 20hexagonal faces.

    Fig. 17. Tesselation of the Gaussian sphere using (a) thetruncated icosahedron and (b) the pentakis dodecahedron.

    Unfortunately there are only 13 semi-regular polyhedra.(The five truncated regular polyhedra, cuboctahedron,icosidodecahedron, snub cuboctahedron, snub icosido-decahedron, truncated cuboctahedron, rhombicubocta-hedron, truncated icosidodecahedron, and the rhombico-sidodecahedron.) Overall, these objects do not provide uswith fine enough tesselations. The snub icosidodecahedronhas the largest number of faces, but each of its 80 trianglesis much smaller than each of its 12 pentagons.The edges of a semi-regular polyhedron are all the samelength. One consequence of this is that the different typesof faces have different areas. The area of a regular polygonof n sides and edge-length e equals

    ne24tan(w/n)

    so it is very roughly proportional to n2. This is a problemgenerally with semi-regular polyhedra. It is sometimes pos-sible to derive a new polyhedron which has the sameadjacency relationships between faces as a given semi-regu-lar polyhedron but also has faces of equal area. The shapesof some of these faces then are no longer regular, however.

    If we desire a finer subdivision still, we can considersplitting each face of a given tesselation further into trian-gular facets. If, for example, we split each pentagonal faceof a dodecahedron into five equal triangles we obtain apentakis dodecahedronwith 60 faces (Fig. 17(b)). This hap-pens to be the dual of the truncated icosahedron, discussedabove. If we apply this method instead to the truncatedicosahedron we construct an object with 180 faces. Thisobject, as well as the pentakis dodecahedron, form suitablebases for further subdivision, as we shall show later.

    To see how fine a division we might need, let us calcu-late the angular spread of surface normals which map into aparticular cell. If there are n equal cells, then each one will

    have areaA=(47r)/n

    since the total area of the unit sphere is 4w . (This areaequals the solid angle of the cone formed by the cell whenconnected to the center of the sphere.) The shape whichminimizes the angular spread for given surface area is thecircular disc. The area of a circular disc on the unit sphere is

    A =27r(l-cosO)where 0 is the half-angle of the cone formed by the discwhen connected to the center of the sphere. If 9 is small,the area can be approximated by

    A vO2.Thus if there are many cells and if they could be madecircular, the angular spread would be

    6 1/{n.The best we can hope for, however, are near-hexagonalcells. The area of a hexagon inscribed in a circle of radius ris (Sy /'2, as already mentioned. The area of the circle,Tf2, is about 20 percent more. So a hexagonal shape has aspread which is

    =1.0996

    as large as that of a circular shape of equal area. A lowerbound on the angular spread for a tesselation with n cellsthen is

    2.1993

    For n=60, for example, the spread is at greater than 16.2.One should also remember that the spread for triangularcells is even more, namely -fl times that for hexagonalcells.B . Geodesic Domes

    To proceed further, we candivide the triangular cells intofour smaller triangles according to the well known geodesicdome constructions [27], [30], [33]. We attain high resolutionby relenting on several of the criteria given above (Fig. 18).S pecifically, the cells of a geodesic tesselation do not allhave the same area and shape. The cells are also notcompact, being shaped like (irregular) triangles. The dualsof geodesic domes are better in this respect, since theyhave facets that are mostly (irregular) hexagons, with a

    Fig. 18. Tesselation of the Gaussian sphere using a fre-quoncy-four geodesic tesselation based on the isosahedron.(There are 1 6 X 20 =320 f a c e s . )

    HORN:mENDED GAUSSIAN IMAGES 1679

  • 8/7/2019 Extended Gaussian images

    10/16

    dozen (regular) pentagons thrown in. Tesselations of arbi-trary fineness can be constructed in this fashion. The penta-kis dodecahedron is a good starting point for a geodesicdivision, as is the object constructed earlier from the trun-cated icosahedron by dividing the faces into triangles.

    Each of the edges of the triangular cells of the originalpolyhedron are divided into f sections, where / is calledthe frequency of the geodesic division. The result is thateach face is divided into f2 (irregular) triangles. Tessela-tions where the frequency is a power of two are particularlywell suited to the method suggested here, as we see next.

    One has to be able to efficiently compute to which cell aparticular surface normal belongs. In the case of the tessela-tions derived from regular polyhedra, one first computesthe dot-product of the given unit vector and the vector tothe center of each cell. (These reference vectors correspondto the vertices of the dual of the original regular poly-hedron.) This gives one the cosine of the angle betwen thetwo. The closest reference vector is the one which gives thelargest dot-product. The given vector is then assigned tothe cell corresponding to that reference vector.

    In the case of a geodesic dome, it is possible to proceedhierarchically, particularly if the frequency is a power oftwo. The geodesic dome is based on some regular poly-hedron. The appropriate facet of this polyhedron is foundas above. Next, one determines into which of the trianglesof the first division of this facet the given unit normal falls.This can be done by considering which dot-product has thesecond largest value. No new dot-products need to becomputed. The process is then repeated with the fourtriangles into which this facet is divided, and so on. Inpractice, lookup table methods can be used, which, whilenot exact, are very quick.

    Let the area occupied by one of the cells on the Gaussiansphere be u (in the case of the icosahedron i>> =4ir/20).The expected number of surface normals mapped into acell equals

    pw\G\for a convex object, where C is the average of G(^T)) overthe cell.

    It is clear that the extended Gaussian image can becomputed locally. One simply counts the number of surfacenormals that belong in each cell. The expression for theGaussian curvature, on the other hand, includes first andsecond partial derivatives of the surface function. In prac-tice, estimates of derivatives are unreliable, because ofnoise. It is important therefore that the extended Gaussianimage can be computed without estimating the derivatives.The values in the cells can be thought of as an orienta-tion histogram. It has recently been brought to my attentionthat this is analogous to a scheme used for histogramingdirections of dendrites on neurons [34].

    The result can be displayed graphically using normalvectors on each of the cells to represent the weight of theaccumulated surface normals. A frequency-two subdivisionof the pentakis dodecahedron provides 240 cells, enoughfor most practical purposes (Fig. 19). The angular spread inthis case is about 11.5. An alternative way to present theextended Caussian image graphically is by means of agrey-level image where brightness in each cell is propor-tional to the count. The surface of the Gaussian sphere maybe projected stereographically instead of orthographicallyin order to preserve the shapes of the cells. Their areas willbe scaled unequally however.

    Fig. 19. Orientation histogram collected on a geodesicdome derived from the pentakis dodecahedron. (There are1 2 X 5 X 4 = 240 faces.) This is a discrete approximation ofthe extended Gaussian image. The length of the vectorattached to the center of a cell is proportional to the numberof surface normals on the surface of the original objectwhich have orientations falling within the range of direc-tions spanned by that cell.

    A further refinement of the orientation histogram has usstore the sum of the vectors, scaled according to the area ofthe corresponding patch, rather than just the sum of theareas of the patches. This requires three times as muchmemory space, but provides more accuracy. In fact, in thecase of polyhedra, this representation is exact.VI. SOLIDS OF REVOLUTION

    In the case of the surface of a solid of revolution, theGaussian curvature is rather easy to determine. The solid ofrevolution can be produced by rotating a (planar) gener-ating curve about an axis (Fig. 20). Let the generating, curvebe specified by the perpendicular distance from the axis,r(s), given as a function of arc length 5 along the curve. Let0 be the angle of rotation around the axis. Now consider

    Fig. 20. A solid of revolution can be generated by rotatinga curve around an axis. The curve can be specified by givingthe distance from the a x i s a s a function of the arc lengthalong the curve.

    1680 PROCEEDINGS OF THE I EEE , VOL. 72,NO, 12, DECEMBER 1984

  • 8/7/2019 Extended Gaussian images

    11/16

    the Gaussian sphere positioned so that its axis is alignedwith the axis of the solid of revolution. Let !, be thelongitude and i) be the latitude on the Gaussian sphere.

    We can let ^correspond to 6. That is, a point on theobject produced when the generating curve has rotatedthrough an angle 0 has a surface normal that lies on theGaussian sphere at a point with longitude ^=0.A. Gaussian Curvature of Solid of Revolution

    Consider a small patch on the Gaussian sphere lyingbetween ^and ^+8 in longitude and between T ) andT ) +S T ) in latitude. Its area is

    CO SII ST),We need only determine the area of the correspondingpatch on the object. It is

    r808swhere 8s is the change in arc distance along the generatingcurve corresponding to the change S -q in surface orienta-tion. The Gaussian curvature is the limit of the ratio of thetwo areas as they tend to zero. That is,

    COST) 8ij ST) _ ^ . COST) ST) _ COST) C/T)__ . _ -K= limSi)->0St-O limi)->00 8s Ss

    r as a function of the distance along the axis, rather than asa function of arc length along the curve. Let the distancealong the axis be denoted by z. It is easy to see that (Fig.21) tanr)= r ^, and so, differentiating with respect to s,

    dz(A) d , sec--T )=(-r,)ds ds' z' lz dswhere, from the figure, we see that C O S T ) =z;, so that

    A, -r cos -T )OST)COST ) dsand finally

    K'=-r(l+d)2

    sincesec''T ) =1+ r^

    B . Alternate Derivation of Caussian Curvature of a Solid ofRevolution^

    We first need to review Meusnier's theorem [22]-[24].Consider a normal section of a surface at a particular point.It is obtained by cutting the surface with one of the planesincluding the local normal (Fig. 22). Suppose that the curva-

    since & =SO . The curvature of the generating curve, K^ isjust the rate of change of direction with arc length along it[22]-[24]. So cds cand hence

    K G C O S T )r

    It is easy to see that (Fig. 21), sini)= /;, where r, is the

    Fig. 22. The curvature of the curve obtained by cutting asurface using an inclined plane is greater than that obtainedby cutting it using a plane which includes the surface nor-mal. Meusnier's theorem tells us that the ratio of the twocurvatures is equal to the cosine of the angle between thetwo planes.Fig. 21. The figure shows the relationships between theinfinitesimal increments in arc length along the curve, dis-tance from the axis of rotation, and distance along the axis ofrotation.

    partial derivative of r with respect to s. Differentiatingwithrespect to s we get

    eh) d , .co ~ds=~ds(~rs)=~ss

    and so we obtain the simple formularr

    In the case of a sphere of radius R , for example, we haver=Rcos(s/R) for -(w/2)/?

  • 8/7/2019 Extended Gaussian images

    12/16

    of revolution. So one of the two principal curvatures isequal to the curvature K^ of the generating curve at thecorresponding point.

    Nowconsider a plane perpendicular to the axis of revolu-tion through the same surface point (Fig. 23). It cuts thesurface in a circle. The curvature in this plane equals (1/0,

    points on the Gaussian sphere. Suppose that we introduceapolar angle 8 such thatx r co s f f and y= ,\n9.

    Then a unit normal to the surface is given by(cos0,s'in0, -r Y+l

    Equating this to the unit normal on the Gaussian sphere(cos cos i\,sin cos i),sin-q)

    we get i=0 and tani)=r,.C Extended Gauss/an Image of a Torus

    As an illustration we will now determine the extendedGaussian image of a torus. Let the torus have major axis Rand minor axis p (Fig. 24). A point on the surface can be

    Fig. 23. If the solid of revolution is cut by a plane per-pendicular to the a x i s of rotation, a circle is obtained. Thecurvature in this plane is just the inverse of the distance ofthe surface from the a x i s . The curvature of the correspondingnormal section can be obtained using Meusnier's theorem.where r is the radius of the solid of revolutionat that point.This horizontal plane, however, is not a normal section.Suppose that the normal makes an angle >) relative to thisplane. (The local tangent plane also makes an angle i]relative to the axis of revolution.) Nowconstruct the planeincluding the local normal which intersects the horizontalplane in a line perpendicular to the axis. This plane will beinclined i) relative to the one we have just studied. It alsoproduces the second principal normal section sought after.By Meusnier's theorem we see that the curvature of thecurve found in this normal section is K^=(1/r)cos^ F i-nally, the Gaussian curvature is found by multiplication tobe

    K G cos^K =In the case of a sphere of radius R, for example, we haver =RCOSI] and K^=1//?, so that K =1//?2, as expected.

    To make this result more usable, erect a coordinatesystem with the z-axis aligned with the axis of revolution.The generating curve is given as r(z). Let the first andsecond derivatives of r with respect to z be denoted by r,and r,^respectively. It is easy to see that (Fig. 21), tani)=r,,so that

    cos i)=

    Furthermore3/2(1+^

    so that finallyK=-.(1+^

    In order to use this result in deriving extended Gaussianimages it is necessary to identify points on the surface with

    Fig. 24. A torus obtained by spinning a circle around anaxis. The resulting object is not convex. Its extended Gauss-ian image can be computed nevertheless.

    identified by 0 and s, where 0 is the angle around the axisof the torus, while s is the arc length along the surfacemeasured from the plane of symmetry. Then

    r=R +pcos(s/p)and =-(1/p)cos(..,/p)so that

    _ r,, 1 cos(s/p)r p R +pcos(s/p) '

    Two points, Pand P ' (Fig. 24), separated byv in 0, have thesame surface orientationonthe torus. The surface normal atone of these places points away from the axis of rotation,while it points towards the axis at the other place. Accord-ingly, two points on the object,

    ((?,s )=(^p7,) and ((?,s)=( -Hr,p( -T)))correspond to the point ( i)) on the Gaussian sphere. Thecurvatures at these two points have opposite signs/+1___-L- and /

  • 8/7/2019 Extended Gaussian images

    13/16

    inverses of the curvature we get ^ 1 1

    Nowd_dz( = 2/?pseci)./oo as r ->0. Thus c=0. Nextnote that the term on the left equals C O S T ) . So we also have

    cos T)=or, using an earlier expression for K(;,

    This is an implicit equation for the curve of least energy[35]! The curve of least energy is the curve which minimizesthe integral of the square of the curvature KQ . It can besolved for z in terms of r to yieldz=v 2f(cos-1(r/2),1/72) -/-(cos-1(r/2),1/^2)]

    where E and F are incomplete elliptic integrals. If we let 5be the arc length along the curve we can also write thesolution in Whewell form

    5 =/ cos-t cosit.l/v^or Cesaro form

    ^-(cos- Kc),!/ .The length of the curve from the pole to the equator is

    V 1/ 2)=/2 sin( 4))=rwhere K is the complete elliptic integral of the first kind,andris the gamma function [24]. The height from equatorto the pole isThe equation states that the curvature of the generatingcurves varies linearly with the distance from the axis of

    rotation. This deceptively simple equation represents a non-linear second-order differential equation for r in terms of zsince

    (1 - 1so that r ^ r-

    3/2(2^W- r(i/4/while the maximum radius is

    H=2.The minimum radius of curvature equals one, so that acircle tangent at the outermost point is also tangent at theorigin [35]. This circle, when rotated about the vertical axis,produces a torus with the same extended Gaussian image(Fig. 25). Both objects have total surface area 4w 2.

    HORN: EXTENDED GAUSSIAN IMAGES 1683

  • 8/7/2019 Extended Gaussian images

    14/16

    Fig. 25. The unique convex object with the same extended Gaussian image a s a torus hasan interesting shape. It is a solid of revolution whose generating curve is the curve of leastenergy. This is the shape which a uniform bar constrained to p a s s through two points inspace with given o rientation will adopt.

    VII. GAUSSIAN C U RVATU RE IN T H E G E N E R A L C A S EWhen the object is not a solid of revolution we need towork a little harder to obtain the Gaussian curvature. Le t

    x == x(u,v),y =y(u,v),and z =z(u,v) be parametric equa-tions for points on a given surface. Le t r=(x,y,z)7 be avector to a point on the surface. Then

    3r . BrTU ="a ''=-T-" 9u 9v

    are two tangents to the surface, as already noted earlier.T he cross-product of these two vectorsn=r x fy

    will be perpendicular to the local tangent plane (Fig. 14).T he length of this normal vector squared e quals

    n2 =n n=(r /J(r rj-(r rj2since (a X b) (c X d)=(a c)(b d)-(a d)(b c). Aunit vector ft =n/nca n be computed using this result.A. Caussian Curvature from Variation in Normals

    The Gauss ian curvature is the limit of the ratio of the areaof a patch on the C auss ian sphere to the area of thecorresponding patch on the surface, as the area shrinks tozero. Consider an infinitesimal triangle formed by the threepoints on the surface corresponding to (u,v), (u+Su, v),and(u,v+8v). T he lengths of two sides of this triangle are

    |rj5u and |rJ8i/while the sine of the angle between these sides equals

    \r,. X r,,|

    ft, f t+f tJ S u , and ft +ft^vif we ignore terms of higher order in 8u and 8v. Here ft^and fty are the partial derivatives of ft with respect to u andv. Note that ft^ and ri y are perpendicular to ft. T he area ofthe patch on the C aussian sphere equals the magnitude of

    ft,X 8u8vby reasoning similar to that used in determining the area ofthe original patch on the given surface. We need to find ft^and ft^ to compute this area. Now

    9 n nn nn^" 9u n n2 '

    From n2=n nwe getnn,,=n n,,

    so that(n- n)n -(n-nn (nxnjxnft,,=

    and(n n) f y -(nnn_ (nX ry) X n3 ~ ~3n" n

    since (a X b) X c=(a c)b-(b c)a. ThenX =".[(" ")("oX "J+" "u)("vX ")

    n"+n-0(nxn]or

    so that an outward normal with size equal to the area of thetriangle is given by since

    ' ["'vJ "XrSuSv -n8u8v.

    To determine the area of the corresponding triangular patchon the Gaussian sphere we need to find the unit surfacenormals at the three points. T he unit surface normals willbe

    [abc]p=(a p)(bX c ) + ( b - p)(c X a)+ ( c - p ) ( a x b )

    where [abc]=(a X b) c.This shows that the patch on the Gaussian sphere has thesame orientation as the patch on the surface, as it should.

    1684 PROCEEDINGS OF THE I E E E , VOL. 72, NO. 12, DECEMBER 1984

  • 8/7/2019 Extended Gaussian images

    15/16

    An outward pointing normal of size equal to the area isgiven by- [nn nJnSuSv.

    The ratio of the two areas, the Gaussian curvature, is thenjust

    ., [""u"JK=

    and

    orN= r, n^

    L u v uu\L =

    M =/ E C -F 2L u v uvl

    Now a n dN= [Wvso that

    so that [24]and

    K = LN- A /)2

    EC - F 2Now using

    (a x b) x(c x d) =[abd}c ~[abc]dor

    (a X b) x(c X d) =[ acd} b-[ bed] awe get"X "v=-[ uvvv'V +[ uy'u-[ dIv

    L u uv v\ uv Iu uv vv\ uso that[nn nj=n(n^ X /) =[r,,rJ[ rJ -[r r ]2

    and finally [ UWJ-kUK x ll4/ C = =

    This result can be used to derive the expression for curva-ture of a solid of revolution in a more rigorous fashion.8. Fundamental Forms of a Surface^

    Le t , as befo r e , . r ^ X r ,n =" "be the unit surface normal vector. The first fundamentalform of a surface gives the square of the element ofdistance as [24]ds1 = |c/r|2 = E ( u,v) du1 +2f(u,v) du dv + C( u,v) dv2.

    The second fundamental form of a sur face gives the normalcurvature using the equation [24]- d r - dft= L(u,v)du2 +2M(u,v)dudv +N(u, v) dv1.

    The coefficients can be expressed in terms of derivatives ofr as follows:

    f =^ ^F = fu 1 'v

    andC =r, r

    an d

    Finally, if the surface is given as z(x,y), the above reducesto the familiar

    / < =(1 + + '

    C . Application of the General Formula to the Ellipsoid^In the case of the ellipsoid we have, as discussed before

    r= ( a c o s 0 c o s ^ , b s i n 6 c o s 4 > , c s i n < f > )r y = ( a sin0 co s < j > , bco s 6 cos ip , 0)r ^ , = (-acos(?sin , c c os< (> )

    andfs s = ( - a c o s 6 c o s < ( > , -bsinffcos^.O) 7r = ( a s i n f f s i n < ( > , -bcosffsin^.O)7^

    ^,4, = ( a c o s ^ c o s < f > , b s i n ^ c o s < ( > , c s i n < ^ ) .A surface normal can be found by taking cross-productsn = ry X r^ = ( be co s f f co s < j > , casino co s ,abs\n^>) cosand the coefficients of the f i r s t fundamental form aref=r - ie= (a in2^+ b2cos2 0)cos2 < t>

    F = ff f r^ = (a2 +b2) s in0cos(?s in< f>cos .Hence

    EC- F 2 = [ ( b c c o s ^ c o s < ? > )2+( c a s i n o co s < f > ) 2 -(-(absinif))2] cos2^.

    To compute the coefficients of the second fundamentalform we need

    { 99}=" '99= -abccos3^kJ=" r =0[ r }=" ^o, = -abccos^

    L= 'u ^M =r,

  • 8/7/2019 Extended Gaussian images

    16/16

    Finally then

    ^aoccos 2fC-^and

    LN-M2EC- F2K

    abc(bccosffcos)1+cas\n0cos )2 +(absin)2

    This result was used earlier in the discussion of the ex-tended Gaussian image of the ellipsoid.

    VIII. SUMMARY AND CONCLUSIONSWe have defined the extended Gaussian image, dis-

    cussed its properties, and given examples. Methods fordetermning the extended Caussian images of polyhedra,solids of revolution,andsmoothly curved objects in generalwere shown. The orientation histogram, a discrete ap-proximation of the extendedGaussian image, was describedalong with a variety of ways of tesselating the sphere.Machine vision methods for obtaining the surface orienta-tion information required to buildan orientation histogramare discussed elsewhere [1], [3]-[8]. Extended Gaussianimages basedonobject models can be matchedwiththosederived from experimental data. The application of ex-tended Gaussian images to object recognition and, moreimportantly, to finding the attitude in space of an object,are discussed ina recent article [17].

    ACKNOWLEDGMENT

    The author wishes to thank E. Crimson and T. Lozano-Perez who madea number of very helpful suggestions afterreadinga draft of this paper.

    REFERENCES[1] W. E . L. Crimson, From Images toSurfaces. Cambridge,MA:M. I. T. Press, 1981.[2] B. K. P. Horn,"Sequins and quillsRepresentations forsurface

    topography," M.l.T. A.I. Lab. Memo 536, May1979.[3] R. J . Woodham "Photometric stereo: A reflectancemaptech-nique for determningsurfaceorientation froma singleview,"in Image Understanding Systems and Industrial Applications

    (Proc. S.P.I.E. 22nd Annu. Tech. Symp.), vol.155, pp. 136-143,Aug. 1978.[4] B. K. P. Horn, R. J . Woodham andW.M. Silver, "Determning

    shapeand reflectance usingmultiple images," M.l.T.A.I. Lab.Memo 490,Aug. 1978.[5] R. J . Woodham "Photometric method fordetermningsurfaceorientation from multiple images," Opr. Eng., vol. 19, no. 1,pp. 139-144, J an./Feb.1980.

    [6] W. M. Silver, "Determningshapeand reflectance usingmul-tiple images," S. M. thesis, Dep. Elec. Eng. Comput. Sci.,M.l.T., J une1980.[7] K. Ikeuchi, "Determning surface orientation of specular

    surfaces using the photometric stereo method," IEEE Trans.

    Pattern Anal. Mach. Intell., vol. PAMI-3, no. 6, pp. 661-669,Nov. 1981.[8] E. N. ColemanandR. J ain, "Obtaining3-dimensional shape of

    textured andspecularsurfaces using four-sourcephotometry,"Comput. Graph. Image Process., vol. 18, no. 4, pp. 309-328,1982.

    [9] D. A. Smth, "Using enhanced spherical images," M.l.T. A.I.Lab. Memo No. 530, May1979.[10] R. Bajcsy, "Three-dimensional scene analysis," in Proc. 5thInt. Pattern Recognition Conf. (Miam, FL, Dec. 1980), pp.1064-1074.

    [11] K. Ikeuchi, "Recognitionof objects usingthe extendedGauss-ian image," in Proc. //C4/-87 (Vancouver, B. C, Canada,Aug.1981), pp. 595-600.

    [12] C. Dane and R. Bajcsy, "Three-dimensional segmentationusing the Gaussian image and spatial information," in Proc.IEEE Comput. Soc. Conf. on Pattern Recognition and ImageProcessing (Dallas, TX , Aug. 198r> pp. 54-56.

    [13] D. H. Ballard and D. Sabbah, "detecting object orientationfromsurfacenormals," in Proc. Int. Pattern RecognitionConf.(Munchen, Germany, Dec. 1981), pp. 63-67.

    [14] P. Brou, "Findingobjects indepth maps," Ph.D. dissertation,M.l.T. Dep. Elec. Eng. Comput.Sci., Sept. 1983.[15] K. Ikeuchi, "Determning the attitude of an object from a

    needle map using the extendedGaussian image," M.l.T. A.I.Lab. Memo No. 714, Apr. 1983.[16] K. Ikeuchi, B. K. P. Horn, S. Nagata, T. Callahan and 0.Feingold, "Picking an object from a pile of objects," M.l.T.A.I. Lab. Memo No. 726, May1983.[17] B. K. P. Horn and K . Ikeuchi, "Mechanically manipulatingrandomy orientedparts," Scientific American, vol. 251, no. 2,pp.100-113,Aug. 1984.[18] H. Minkowski, "Allgemeine Lehrsatze uber die konvexenPolyeder," Nachrichten von der Koniglichen Gesellschaft derWssenschaften, mathematisch-physikalische Klasse, Gottin-gen, pp. 198-219, 1897. (Also in H. Minkowski, CesammelteAbhandlungen. Leipzig, Germany:1911).[19] A. V. Pogorelov, Differential Geometry. Noordhoff-Gronin-gen: The Netherlands, 1956.[20] L. A. Lyusternik, Convex Figures and Poyhedra. New York:Dover, 1963.

    [21] J . J . Little, "An iterative method for reconstructing convexpolyhedra from extended Gaussian images," in Proc. Nat.Conf. on Artificial Intelligence (Washington,D C,Aug.1983),pp.247-254.

    [22] D. Hilbert and S. Cohn-Vossen, Geometry and the Imagin-ation. New York: Chelsea,1952.[23] B. O'Neill, Elementary Differential Geometry. New York:

    Academc Press, 1966.[24] G. A. Korn and T. M. Korn, Mathematical HandbookFor

    Scientists and Engineers. NewYork: McGraw-Hill,1968.[25] M. P. do Carmo, Differential Geometry of Curves and Surfaces.EnglewoodCliffs, NJ : PrenticeHall, 1976.[26] A.Alexandroff, "Existenceanduniqueness of a convexsurfacewithagiven integral curvature," C. R . (Dokl.) de I'Academie

    des Sciences de I 'URSS, vol. 35, no. 5, pp. 131-134,1942.[27] M. ). Wenninger, Spherical Models. Cambridge, England:

    CambridgeUniv. Press, 1979.[28] L. F ejes Toth, R egular Figures. NewYork: Pergamon, 1964.[29] M. J . Wenninger, PolyhedronModels. Cambridge, England:CambridgeUniv. Press, 1971.[30] H. S. M.Coxeter, R egular Poytopes. NewYork:Dover,1973.[31] H. Kenner, Geodesic MathAnd How To Use It. Los

    Angeles, CA: Univ.of California Press, 1976.[32] P. Pearce and S. Pearce, Poyhedra Primer. New York: VanNostrand Reinhold, 1978.[33] A. Pugh, PolyhedraA Visual Approach. Los Angeles, CA:Univ.ofCalifornia Press, 1976.[34] C.M. Brown, "Representing theorientationofdendritic fieldswith geodesic tesselations," Internal Rep. TR-13, ComputerSci. Dep., Univ. of Rochester, Rochester, NY,1977.[35] B. K. P. Horn, "Thecurveof least energy," ACM Trans. Math.

    Software, vol. 9, no . 4, pp. 441-460, Dec. 1983.

    1686 PROCEEDINGS OF THE I E EE , VOL. 72,NO.12,DECEMBER 1964