Claims
- 1. A method of utilizing a computer to determine surface spectral reflectances of an object's illuminated surface, comprising developing signals representing the responses of at least N+1 sensor classes to said illuminated object, and operating on said signals to recover N parameters describing the surface reflectance of the illuminated object, the surface reflectance being described and recovered separately from parameters describing an illuminant of the object, N representing the number of components (degrees of freedom) of said surface reflectance of said object's surface.
- 2. A method as in claim 1 wherein the step of operating on said signals comprises the steps of analyzing the response of said sensor class according to the equation
- .rho..sup.x.sub.k =.intg.E(.lambda.)S.sup.x (.lambda.)R.sub.k (.lambda.)d.lambda.
- the responses of all said sensors being represented by a vector
- .rho.-(.rho..sub.1 . . . .rho..sub.p)
- the term E(.lambda.) representing the illumination of the object;
- the term S(.lambda.) representing said surface spectral reflectance;
- the term R.sub.k (.lambda.) representing spectral sensitivity of each of said sensors in terms of the fraction of light incident upon each said sensor absorbed at each wavelength.
- 3. A method as claimed in claim 2 wherein illumination is computed in terms of a weighted sum of fixed basis illuminants E.sub.i (.lambda.), wherein ##EQU8## the computed vector .epsilon. describing the illumination of the surface.
- 4. A method as claimed in claim 2 wherein the surface reflectance of the surface under study is expressed as a weighted sum of basis spectral reflectance functions ##EQU9## wherein r.sup.x is the vector representation of the surface.
- 5. A method as in claim 2 wherein the analyzing step includes inputting the sensor data .rho..sup.x from said N+1 sensors to said computer programmed according to the equation of claim 2.
- 6. A method as in claim 5 including the step of providing an array of sensors facing said illuminated surface, wherein said sensor data is read in for a plurality of locations on said surface.
- 7. A system for determining the surface spectral reflectances and ambient light of an object, having N parameters representing the number of components of surface reflectance, comprising N+1 sensors responsive to light reflected from said object, means for reading the response of at least N+1 sensors to said illuminated object, and means for recovering N parameters describing the surface reflectance of the sensed object separately from the illuminant of the sensed object.
- 8. A system as claimed in claim 7 wherein the means for recovering comprises means for analyzing the sensor response according to the equation
- .rho..sub.k =.intg.E(.lambda.)S(.lambda.)R.sub.k (.lambda.)d.lambda.
- the responses of all the sensors being represented by a vector
- .rho.=(.rho..sub.1 . . . .rho..sub.p)
- the term E(.lambda.) representing ambient light on the object;
- the term S(.lambda.) representing surface reflectance;
- the term R.sub.k (.lambda.) representing spectral sensitivity of each of said sensors in terms of the fraction of light incident upon each said sensor absorbed at each wavelength.
- 9. A system as claimed in claim 8 including means responsive to the sensors for recovering the illuminant of the sensed object in terms of a weighted sum of fixed basis illuminants E.sub.i (.lambda.), wherein ##EQU10## wherein the computed vector .epsilon. describes the illuminant of the surface.
- 10. A system as claimed in claim 8 including means for recovering the surface reflectance of the object in response to the output of the sensors as a weighted sum of basis spectral reflectance functions ##EQU11## wherein r.sup.x is the vector representation of the surface.
- 11. A system as in claim 7 including means for operating on the computed illumination vector .epsilon. and computing values of the matrix .LAMBDA..sub..epsilon. to map a vector representation of said surface .sigma..sup.x into said sensor data .rho..sup.x derived from said data.
- 12. A system for defining points x on a surface in terms of N parameters separately defining surface spectral reflectance and illumination of each of said points, comprising N+1 sensors responsive to light received from each said point on said object, means for providing data .rho..sup.x collected by said sensors to processing means for developing separate values representing surface reflectance .sigma..sup.x and illumination .epsilon..sup.x for each of said points x, means for generating an estimated illumination vector .epsilon. that would generate the data .rho..sup.x detected, means responsive to the means for generating the estimated ambient light vector for generating a matrix .LAMBDA..sub..epsilon. that maps a vector representation of the surface into the sensor data, the surface reflectance .sigma..sup.x thereby being recovered for each location x.
- 13. A system as in claim 12 wherein said N+1 sensors are N+1 emulsions on film.
- 14. A system as in claim 12 including means responsive to said recovered surface reflectance .sigma..sup.x for estimating surface spectral reflectance at point x by the relation ##EQU12##
- 15. A system as in claim 14 including means responsive to said illumination vector .epsilon..sup.x for estimating illumination of said surface by the relation ##EQU13##
- 16. A system as in claim 15 including means for operating on said estimated surface spectral reflectance and said estimated illumination to generate a desired output color on a display device according to the relation ##EQU14## and calculating Y and Z by the same relationship, substituting y(.lambda.) and z(.lambda.).
Government Interests
The subject invention was developed under NIH grant 5-RO1-EY03164 and the government has a non-exclusive license for its own use hereunder.
US Referenced Citations (4)