Lighting affects appearanceHow do we represent light? (1)Ideal distant point source:- No cast shadows- Light distant- Three parameters- Example: lab with controlled lightHow do we represent light? (2)Environment map: l(θ,φ)- Light from all directions- Diffuse or point sources- Still distant- Still no cast shadows.- Example: outdoors (sky and sun)Sky`Lambertian + Point SourceSurface normalLightθθθθlˆnormal surface isˆ isradiance is)ˆ(,0max(light ofintensity islight ofdirection isnalbedoinlilllllλλ•= •=Lambertian, point sources, no shadows. (Shashua, Moses)WhiteboardSolution linearLinear ambiguity in recovering scaled normalsLighting not known.Recognition by linear combinations.Linear basis for lightingλZλYλXA brief Detour: Fourier Transform, the other linear basisAnalytic geometry gives a coordinate system for describing geometric objects.Fourier transform gives a coordinate system for functions.BasisP=(x,y) means P = x(1,0)+y(0,1)Similarly: ++++=)2sin()2cos()sin()cos()(22122111θθθθθaaaafNote, I’m showing non-standard basis, these are from basis using complex functions.Exampleθθθsincos)cos(:such that ,,2121aacaac+=+∃∀Orthonormal Basis||(1,0)||=||(0,1)||=1(1,0).(0,1)=0Similarly we use normal basis elements eg:While, eg:=πθθθθθ202cos)cos()cos()cos(d=πθθθ200sincos d2D ExampleConvolution−=∗=000)()()(dxxhxxghgxfImagine that we generate a point in f by centering h over the corresponding point in g, then multiplying g and h together, and integrating.Convolution TheoremGFTgf* 1−=⊗• F,G are transform of f,gThat is, F contains coefficients, when we write f as linear combinations of harmonic basis.Examples?)3cos1.2cos2.(cos?cos?2coscos?coscos=⊗++=⊗=⊗=⊗ffθθθθθθθθLow-pass filter removes low frequencies from signal. Hi-pass filter removes high frequencies. Examples?ShadowsAttached ShadowCast Shadow90.797.296.399.5#988.596.395.399.1#784.794.193.597.9#576.388.290.294.4#342.867.953.748.2#1ParrotPhoneFaceBall(Epstein, Hallinan and Yuille; see also Hallinan; Belhumeur and Kriegman)5 2D±Dimension:With Shadows: PCADomainDomainLambertianEnvironment mapnlθ lλmax (cosθ, 0)Images...LightingReflectance0 1 2 300.510 1 2 300.511.52 rLighting to Reflectance: Intuition(See D’Zmura, ‘91; Ramamoorthi and Hanrahan ‘00)++++++++++++Spherical HarmonicsOrthonormal basis, , for functions on the sphere. n’th order harmonics have 2n+1 components.Rotation = phase shift (same n, different m). In space coordinates: polynomials of degree n.S.H. used for BRDFs (Cabral et al.; Westin et al;). (See also Koenderink and van Doorn.)φθπφθimnmnmePmnmnnh )(cos)!()!(4)12(),(+−+=nmnmnnmnmzdzdnzzP )1(!2)1()(222−−=++nmhS.H. analog to convolution theorem• Funk-Hecke theorem: “Convolution” in function domain is multiplication in spherical harmonic domain.• k is low-pass filter.kHarmonic Transform of Kernel00( ) max(cos ,0)n nnk k hθ θ∞== =12( 2)! (2 1)13( 1) 2, even2 ( 1)!( 1)!0 2, od22d20nnnn nnn nknnnπππ+− +− ≥− ==≥+=0.8860.5910.2220.0370.0140.00700.511.50 1 2 3 4 5 6 7 8Amplitudes of KernelnnAEnergy of Lambertian Kernel in low order harmonicsAccumulated Energy37.587.599.299.81 99.93 99.970204060801001200 1 2 4 6 8Reflectance Functions Near Low-dimensional Linear Subspace0( )nnm nm nmn m nr k l K L h= =−∞= ∗ = Yields 9D linear subspace. = −=≈20)(nnnmnmnmnmhLKHow accurate is approximation?Point light sourceAmplitude of k-0.500.511.522.533.50 1 2 4 6 8Amplitude of l = point source00.20.40.60.811.20 1 2 4 6 89D space captures 99.2% of energy = −=∞= −=≈=∗=200)()(nnnmnmnmnmnnnmnmnmnmhLKhLKlkrHow accurate is approximation? (2)Worst case.9D space captures 98% of energyDC component as big as any other.1st and 2nd harmonics of light could have zero energyAmplitude of k-0.500.511.522.533.50 1 2 4 6 8Amplitude of l = point source00.20.40.60.811.20 1 2 4 6 8Forming Harmonic Imagesnm nmb (p)=r (X,Y,Z)λ λZ λYλX2 2 22(Z -X -Y )λXZ λYZ2 2(X -Y )λXYCompare this to 3D SubspaceλZλYλXAccuracy of Approximation of ImagesNormals present to varying amounts.Albedo makes some pixels more important.Worst case approximation arbitrarily bad.“Average” case approximation should be good.ModelsQueryFind PoseCompareVector: IMatrix: BHarmonic
View Full Document