Range camera
09958383 ยท 2018-05-01
Assignee
Inventors
- Michael Anthony Hall (Bellevue, WA, US)
- Kameron Rausch (Sammamish, WA, US)
- Abdelrehim Ahmed (Santa Clara, CA, US)
- Beibei Cheng (Redmond, WA, US)
- Ben Walker (Seattle, WA, US)
- Jonathan Hoof (Kenmore, WA, US)
- Daniel Kennett (Bellevue, WA, US)
Cpc classification
G01N21/4738
PHYSICS
A61B5/44
HUMAN NECESSITIES
A61B5/0077
HUMAN NECESSITIES
A61B5/441
HUMAN NECESSITIES
International classification
A61B5/00
HUMAN NECESSITIES
Abstract
An active illumination range camera that acquires a range and a picture image of a scene and provides a reflectance for a feature in the scene responsive to a distance for the feature provided by the range image, a registered irradiance for the feature provided by the picture image and registered irradiance for a region of a calibration surface corresponding to the feature provided by an image of the calibration surface acquired by the range camera.
Claims
1. A range camera operable to determine distances to and reflectance for features of a scene that the range camera images, the range camera comprising: a light source operable to transmit light to illuminate a scene that the range camera images; a photosensor having a plurality of light sensitive pixels; optics having an optical axis and optical center configured to receive light reflected from the transmitted light by features in the scene and image the reflected light on the plurality of pixels, each of which pixel of the plurality of pixels registers reflected light from a feature of the scene that the optics images on the pixel to provide a registered scene irradiance (RSI) for the feature; a calibration image comprising a registered calibration irradiance (RCI) for each of the plurality of light sensitive pixels that provides a measure of irradiance that the pixel registers responsive to light reflected from light transmitted by the light source by a region of a calibration surface having known shape, reflectance, and location that the range camera images on the pixel; and a controller operable to determine a reflectance for a feature of the scene imaged on a first pixel of the plurality of pixels responsive to the RSI for the feature and an RCI for a region of the calibration surface imaged on a second pixel of the plurality of pixels corresponding to the feature imaged on the first pixel.
2. The range camera according to claim 1 wherein the feature imaged on the first pixel and the corresponding region of the calibration surface imaged on the second pixel are imaged on their respective pixels with light they reflect from light transmitted along a same direction by the light source.
3. The range camera according to claim 1 wherein the determined reflectance for the feature imaged on the first pixel is a function of a ratio RSI/RCI times reflectance .sub.o of the corresponding region of the calibration surface.
4. The range camera according to claim 1 wherein the range camera determines a distance vector R for the feature that defines a location of the feature in a field of view (FOV) of the camera relative to the optics and a distance vector R that defines a location for the feature imaged on the first pixel in the FOV relative to the light source and uses R and R to determine a location on the calibration surface of the corresponding region of the calibration surface.
5. The range camera according to claim 4 wherein the range camera determines a distance vector R.sub.o for the corresponding region of the calibration surface in the FOV of the range camera relative to the optics, and a distance vector R.sub.o that defines a location of the corresponding region in the FOV relative to a location of the light source responsive to the determined location of the corresponding region of the calibration surface.
6. The range camera according to claim 5 wherein the reflectance for the feature imaged on the first pixel is proportional to .sub.o(RSI/RCI)[(|R|/|R.sub.o|)(|R|/|R.sub.o|)].sup.3 where .sub.o is reflectance of the corresponding region of the calibration surface.
7. The range camera according to claim 6 wherein the calibration surface is oriented perpendicular to an optical axis of the camera at a fixed distance Z.sub.o from the optical center along the optical axis and the feature imaged on the first pixel is located at a distance Z from the optical center along the optical axis.
8. The range camera according to claim 7 wherein the reflectance for the feature imaged on the first pixel is proportional to .sub.o(Z.sub.o/Z).sup.4(RSI/RCI)[(|R|/|R.sub.o|)(|R|/|R.sub.o|)].sup.3 where .sub.o is reflectance of the corresponding region of the calibration surface.
9. The range camera according to claim 1 wherein the controller is operable to determine a tilt factor TF for the feature imaged on the first pixel and use the tilt factor to determine the reflectance for the feature, wherein TF=[Z/(|R|({circumflex over (R)}.Math.{circumflex over (Z)}))][({circumflex over (R)}.Math.{circumflex over ()})/({circumflex over (R)}.Math.{circumflex over ()})] and {circumflex over ()} is a unit normal to a surface of the feature imaged on the first pixel, Z is distance of the feature from the optical center along the optical axis, and {circumflex over (R)} and {circumflex over (R)} are unit vectors pointing from the feature to the optical center and the light source respectively.
10. The range camera according to claim 9 wherein the reflectance for the feature imaged on the first pixel is proportional to TF.sub.o(Z.sub.o/Z).sup.4(RSI/RCI)[(|R|/|R.sub.o|)(|R|/|R.sub.o|)].sup.3 where .sub.o is a known reflectance of the region imaged on the second pixel.
11. The range camera according to claim 9 wherein the controller controls the range camera to acquire a range image of the scene and determines {circumflex over ()} responsive to a gradient of a surface of the feature defined by the range image.
12. The range camera according to claim 1 wherein the reflectance of the calibration surface is substantially the same for all regions of the calibration surface having an RCI comprised in the calibration image.
13. The range camera according to claim 1 wherein the calibration surface is planar.
14. A method of determining reflectance for a feature of a scene, the method comprising: using an active lighting range camera to acquire a range image and a picture image of the scene responsive to light transmitted by the range camera to illuminate the scene that is reflected by features in the scene back to the range camera; determining a location of the feature in the FOV responsive to the range image; determining registered irradiance of the range camera for light reflected from the transmitted light by the feature responsive to the picture image; determining a corresponding region of a calibration surface imaged in a calibration image acquired by the range camera; determining registered irradiance of the range camera for light reflected from the transmitted light by the corresponding region responsive to the calibration image; and using the determined registered irradiances from the feature and the corresponding calibration region and known reflectance of the calibration surface to determine the reflectance of the feature.
15. The method according to claim 14 wherein determining the corresponding region of the calibration surface comprises determining a region of the calibration surface for which light from the range camera that illuminates the region to acquire the calibration image is transmitted along a same direction that the range camera illuminates the feature to acquire the picture image.
16. The method according to claim 14 wherein determining the reflectance of the feature comprises multiplying the known reflectance by a ratio equal to the registered irradiance from the feature divided by the registered irradiance from the corresponding region.
17. The method according to claim 16 and comprising determining a unit normal {circumflex over ()} to a surface of the feature responsive to the range image and using the unit normal to determine the reflectance.
18. The method according to claim 17 wherein using the normal comprises determining a first distance vector from an optical center of the range camera to the feature responsive to the range image and determining a first scalar product of the normal with the first distance vector.
19. The method according to claim 18 wherein using the normal comprises determining a second distance vector from a location from which the range camera transmits light to illuminate the scene to the feature responsive to the range image and determining a second scalar product of the normal with the second distance vector.
20. The method according to claim 19 wherein determining the reflectance comprises determining a ratio between the first scalar product and the second scalar product.
21. A range camera operable to determine distances to and reflectance for features of a scene that the range camera images, the range camera comprising: a light source operable to transmit light to illuminate a scene that the range camera images; a photosensor having a plurality of light sensitive pixels; a look up table (LUT) having for each pixel of the plurality of light sensitive pixels a set of values for a first feature having known reflectance that is imaged on the pixel from a known first distance from the camera and illuminated by light at known intensity from the light source, the set of values comprising a registered calibration irradiance (RCI) for light reflected by the first feature from the illuminating light; and a controller that, determines a reflectance of a second feature imaged on the pixel from a second distance responsive to a square of the ratio of the first distance divided by the second distance, the RCI, and a registered scene irradiance (RSI) that the pixel provides for light from the light source that is reflected by the second feature and imaged on the pixel.
22. The range camera according to claim 21 wherein the LUT comprises at least one coefficient of a power series that provides an expected registered irradiance that the pixel generates for light from the light source reflected by the first feature for a displacement of the first feature from the first distance.
23. The range camera according to claim 22 wherein the controller determines the reflectance responsive to a coefficient of the at least one coefficient.
Description
BRIEF DESCRIPTION OF FIGURES
(1) Non-limiting examples of embodiments of the disclosure are described below with reference to figures attached hereto that are listed following this paragraph. Identical features that appear in more than one figure are generally labeled with a same label in all the figures in which they appear. A label labeling an icon representing a given feature of an embodiment of the disclosure in a figure may be used to reference the given feature. Dimensions of features shown in the figures are chosen for convenience and clarity of presentation and are not necessarily shown to scale.
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION
(6) In the following detailed description a method of operating a range camera to acquire a calibration image of an optionally planar calibration surface in accordance with an embodiment of the disclosure is discussed with reference to
(7) In the discussion, unless otherwise stated, adjectives such as substantially and about modifying a condition or relationship characteristic of a feature or features of an embodiment of the disclosure, are understood to mean that the condition or characteristic is defined to within tolerances that are acceptable for operation of the embodiment for an application for which it is intended. Unless otherwise indicated, the word or in the description and claims is considered to be the inclusive or rather than the exclusive or, and indicates at least one of, or any combination of items it conjoins.
(8) It is noted that methods of providing a range camera with a calibration image and using the calibration image to determine reflectivity of features of a scene imaged by the camera in accordance with an embodiment of the disclosure are substantially independent of camera design and how the range camera determines distance to the features. Different range cameras calibrated and operated in accordance with an embodiment of the disclosure may therefore be expected to provide same reflectance images for a same scene substantially independent of how the range cameras operate to acquire range and picture images of the scene. The reflectance images may also be expected to be substantially independent of imaging conditions, such as, for a same spectrum, intensity of illumination of the scene and distances of the cameras from the scene.
(9) As a result, image processing algorithms that process images of scenes acquired by a range camera calibrated in accordance with an embodiment of the disclosure to provide functionalities that may be responsive to reflectance of features in the scenes may be generic to range camera types. That is, the image processing algorithms may process a reflectance image of a scene to provide functionalities substantially in a same way and provide substantially a same result independent of type and design of a range camera that provides the image and/or imaging conditions under which the range camera acquired the image. Among functionalities responsive to reflectance of features that the image processing algorithms may advantageously provide include by way of example, person identification, gesture recognition, determination of emotional or physiological state from changes in skin tone, and avatar generation.
(10)
(11) Optionally, range camera 20 comprises a light source 30 controllable to transmit, optionally infrared (IR) light to illuminate features in a scene the camera images, a photosensor 22 having pixels 23, and an optical system, which is represented by, and referred to as, a lens 24. Lens 24 collects light reflected by the features from light transmitted by light source 30 and images the reflected light onto pixels 23 of photosensor 22. The lens has an optical axis 25, optical center 26 and a diameter D that optionally defines an optical aperture, =D.sup.2/4, of the lens and the optical system the lens represents. A unit vector {circumflex over ()} lies along, and represents a direction of optical axis 25. Photosensor 22 is substantially perpendicular to optical axis 25 and located at a focal distance, f, from optical center 26. A pixel 23 comprised in photosensor 22 is located in the photosensor by pixel coordinates measured long x and y axes shown along edges of the photosensor. A pixel coordinate origin from which pixel coordinates may be measured is located at an intersection of optical axis 25 and photosensor 22. A pixel located at pixel coordinates x.sub.i and y.sub.j may be represented by p(x.sub.i,y.sub.j) or p(i,j).
(12) A controller 28 controls operation of range camera 20. The controller may by way of example, control intensity and modulation of light that light source 30 transmits to illuminate features in an imaged scene and shuttering of the camera to provide desired exposure periods for imaging transmitted light that is reflected by the features back to the range camera on pixels 23. Controller 28 may process light reflected by the features and registered by pixels 23 during the exposure periods to determine distances to the features and therefrom a range image of the scene and/or a picture image of the scene.
(13) A pixel in a range camera, such as a pixel 23 in photosensor 22, registers incident light that irradiates the pixel by accumulating positive or negative electric charge, also referred to as photocharge, provided by electron-hole pairs generated by photons in the incident light. Circuitry in the range camera may convert photocharge accumulated by the pixels into voltages that are used as measures of the amounts of photocharge they respectively accumulate and thereby of irradiance of the pixels. An amount of light that a pixel registers, also referred to as registered irradiance, may refer to an amount of optical energy that irradiates the pixel, an amount of photocharge accumulated by a pixel responsive to irradiance, or to any representation of the accumulated photocharge such as a voltage, current, or digital data generated responsive to the accumulated photocharge.
(14) Spatial locations of features in a field of view (FOV) of range camera 20 relative to the range camera are defined by spatial coordinates measured along X, Y, and Z axes of an optionally Cartesian coordinate system 41. The Z axis is optionally coincident with optical axis 25 of range camera 20. Light source 30 is located along the X axis at a distance X.sub.S from optical center 26 and has an illumination axis 32, which is optionally parallel to optical axis 25 and intersects the X axis at a distance X.sub.S. Spatial locations of features in the FOV of range camera 20 relative to light source 30 may be defined by spatial coordinates measured along primed axes X, Y, and Z of a primed coordinate system 42. Optionally, the Z axis is coincident with illumination axis 32, and the X and Y axes are respectively parallel to the X and Y axes. Origins of coordinate systems 41 and 42 may be considered to be, and may be referred to as, the locations of lens 24 and light source 30.
(15) Calibration surface 50 is optionally planar, and has a known reflectance .sub.o, which, optionally, is the same for substantially all regions of the calibration surface. The calibration conditions under which range camera 20 images calibration surface 50 optionally comprise a known distance and orientation of calibration surface 50 relative to the range camera optical axis 25, known range camera settings, such as aperture and exposure period, and a known optical output power with which light source 30 illuminates the calibration surface. By way of example, in
(16) Let a region of calibration surface 50 imaged on a given pixel p(i,j,) shown in (X.sub.i,Y.sub.j,Z.sub.o), where X.sub.i and Y.sub.j are X and Y coordinates of region
(X.sub.i,Y.sub.j,Z.sub.o) in coordinate system 41. Coordinates X.sub.i and Y.sub.j correspond to coordinates x.sub.i, y.sub.j of pixel p(i,j) in photosensor 22 and lie along a line that extends from substantially a central point in region
(X.sub.i,Y.sub.j,Z.sub.o), passes through optic center 26 and ends substantially at a central point in pixel p(i,j). Coordinate x.sub.i=(f/Z.sub.o)X.sub.i and coordinate y.sub.j=(f/Z.sub.o)Y.sub.j. Pixel p(i,j) on which
(X.sub.i,y.sub.j,Z.sub.o) is imaged may be represented by p(i,j,Z.sub.o) to associate the pixel with
(X.sub.i,Y.sub.j,Z.sub.o), and to indicate that the feature, region
(X.sub.i,Y.sub.j,Z.sub.o), imaged on the pixel is located at Z coordinate Z.sub.o.
(17) (X.sub.i,Y.sub.j,Z.sub.o) is located at a distance defined by a distance vector, R(i,j,Z.sub.o) that extends from optical center 26 to coordinates X.sub.i,Y.sub.j,Z.sub.o at a zenith angle (i,j,Z.sub.o) relative to the Z axis of coordinate system 41 and at an azimuth angle (i,j,Z.sub.o) relative to the X axis of the coordinate system. The absolute value of |R(i,j,Z.sub.o)|R(i,j,Z.sub.o)=[X.sub.i.sup.2+Y.sub.j.sup.2+Z.sub.o.sup.2].sup.1/2. In primed coordinate system 42, region
(X.sub.i,Y.sub.j,Z.sub.o) has coordinates X.sub.i=(X.sub.iX.sub.S), Y.sub.j=Y.sub.j, and Z=Z.sub.o, and is located at distance defined by a distance vector R(i,j,Z.sub.o) directed from light source 30 at a zenith angle (i,j,Z.sub.o) relative to the Z axis and at an azimuth angle (i,j,Z.sub.o) relative to the X axis. |R(i,j,Z.sub.o)|R(i,j,Z.sub.o)=[X.sub.i.sup.2+Y.sub.j.sup.2+Z.sub.o.sup.2]=.sup.1/2=[X.sub.iX.sub.S).sup.2+Y.sub.j.sup.2+Z.sub.o.sup.2].sup.1/2. Arrows along distance vectors R(i,j,Z.sub.o) and R(i,j,Z.sub.o) indicate direction of propagation of light from light source 30 to region
(X.sub.i,Y.sub.j,Z.sub.o) and therefrom to pixel p(i,j) of photosensor 22. A unit normal to
(X.sub.i,Y.sub.j,Z.sub.o) is represented by {circumflex over ()}(i,j,Z.sub.o). If A.sub.p represents the area of a pixel p(i,j), and
(i,j,Z.sub.o) the area of region
(X.sub.i,Y.sub.j,Z.sub.o), then,
(i,j,Z.sub.o)=A.sub.p(Z.sub.o/f).sup.2.(1)
(18) If, under calibration conditions, optical power per unit solid angle of light that light source 30 transmits in a direction defined by a given zenith angle and azimuth angle is represented by a vector P.sub.o(,), then optical power per unit solid angle that light source 30 transmits in the direction of (X.sub.i,Y.sub.j,Z.sub.o) is P.sub.o((i,j,Z.sub.o),(i,j,Z.sub.o)), which, for convenience, may also be written P.sub.o(,,(i,j,Z.sub.o)). A total amount of optical power, hereinafter also referred to as total irradiance (TIR), incident on
(X.sub.i,Y.sub.j,Z.sub.o) from light source 30 under calibration conditions is therefore equal to the area
(i,j,Z.sub.o) times the scalar product of {circumflex over ()}(i,j,Z.sub.o) and P.sub.o(,,(i,j,Z.sub.o)) divided by the square of the distance from light source 30 to
(X.sub.i,Y.sub.j,Z.sub.o). In symbols, letting TIR(
(X.sub.i,Y.sub.j,Z.sub.o)) represent a total irradiance of region
(X.sub.i,Y.sub.j,Z.sub.o) by light source 30 under calibration conditions, TIR(
(X.sub.i,Y.sub.j,Z.sub.o)) may therefore be written:
TIR((X.sub.i,Y.sub.j,Z.sub.o))=
(i,j,Z.sub.o){circumflex over ()}(i,j,Z.sub.o).Math.P.sub.o(,,(i,j,Z.sub.o))/R(i,j,Z.sub.o).sup.2,(2)
where .Math. indicates a scalar product.
(19) Since calibration plane 50 is assumed parallel to photosensor 22, {circumflex over ()}(i,j,Z.sub.o) is parallel to axis Z and axis Z and,
{circumflex over ()}(i,j,Z.sub.o).Math.P.sub.o(,,(i,j,Z.sub.o))=P.sub.o(,,(i,j,Z.sub.o))cos (i,j,Z.sub.o)=P.sub.o(,,(i,j,Z.sub.o))[Z.sub.o/R(i,j,Z.sub.o)].(3)
The expression for TIR((X.sub.i,Y.sub.j,Z.sub.o)) in equation (2) may therefore be written,
TIR((X.sub.i,Y.sub.j,Z.sub.o))=
(i,j,Z.sub.o)P.sub.o(,,(i,j,Z.sub.o))[Z.sub.o/R(i,j,Z.sub.o).sup.3].(4)
Substituting the expression for (i,j,Z.sub.o) from equation (1) provides
(20)
(21) Assuming that (i,j,Z.sub.o) is a diffuse reflector that reflects light with equal optical power per unit solid angle in all directions in a hemisphere centered on
(i,j,Z.sub.o) and facing range camera 20,
(i,j,Z.sub.o) reflects light towards lens 24 along a direction of R(i,j,Z.sub.o) defined by zenith and azimuth angles (i,j,Z.sub.o) and (i,j,Z.sub.o), with reflected optical power per solid angle,
RP.sub.o(,,(i,j,Z.sub.o))={circumflex over (R)}(i,j,Z.sub.o).sub.oTIR((X.sub.i,Y.sub.j,Z.sub.o))/2,(6)
where {circumflex over (R)}(i,j,Z.sub.o) is a unit vector along R(i,j,Z.sub.o) in a direction from (i,j,Z.sub.o) to lens 24.
(22) Reflected optical power incident on aperture of lens 24 from region (X.sub.i,Y.sub.j,Z.sub.o), that is total irradiance, TIR(,
(X.sub.i,Y.sub.j,Z.sub.o)), of lens 24 by reflected light from
(X.sub.i,Y.sub.j,Z.sub.o) may therefore be given by an expression:
(23)
where (/R(i,j).sup.2){circumflex over ()}.Math.{circumflex over (R)}(i,j,Z.sub.o) is a solid angle subtended by aperture at (X.sub.i,Y.sub.j,Z.sub.o). Noting that {circumflex over ()}.Math.{circumflex over (R)}(i,j,Z.sub.o)=cos (i,j,Z.sub.o)=Z.sub.o/R(i,j,Z.sub.o), expression (7) may be rewritten:
TIR(,(X.sub.i,Y.sub.j,Z.sub.o))=(Z.sub.o/R(i,j,Z.sub.o).sup.3).sub.oTIR(
(X.sub.i,Y.sub.j,Z.sub.o))/2.(8)
Using the expression for TIR((X.sub.i,Y.sub.j,Z.sub.o)) given by equation (5), and rearranging terms, equation (8) becomes,
TIR(,(X.sub.i,Y.sub.j,Z.sub.o))=.sub.o(A.sub.p/2f.sup.2)Z.sub.o.sup.4P.sub.o(,,(i,j,Z.sub.o))[R(i,j,Z.sub.o)R(i,j,Z.sub.o)].sup.3.(9)
(24) Let , represent a coefficient that relates optical power, TIR(,(X.sub.i,Y.sub.j,Z.sub.o)), incident on pixel p(i,j) to the registered calibration irradiance RCI(i,j,Z.sub.o), that the pixel provides as a measure of total irradiance TIR(,
(X.sub.i,Y.sub.j,Z.sub.o)). RCI(i,j,Z.sub.o), may be given by the equation:
(25)
Measurements RCI(i,j,Z.sub.o) acquired for a plurality of pixels p(i,j,Z.sub.o) that image different regions (X.sub.i,Y.sub.j,Z.sub.o) of calibration surface 50 provide a calibration image for range camera 20. The calibration image may be used to determine reflectances of features in a scene imaged in a picture image of the scene acquired by range camera 20, in accordance with an embodiment of the disclosure as described below.
(26)
(27) Let an amount of light, that is, registered scene irradiance RSI, that pixel p(i,j,k) registers for light from region A(X.sub.i,Y.sub.j,Z.sub.k) when acquiring the picture image of the scene comprising A(X.sub.i,Y.sub.j,Z.sub.k) be represented by RSI(i,j,Z.sub.k). Assume that controller 28 operates light source 30 to illuminate the scene with optical power P.sub.o(,,(i,j,Z.sub.o)). Then, similar to determining RCI(i,j,Z.sub.o) in accordance with equation (10) for pixel p(i,j,Z.sub.o) that images region (X.sub.i,Y.sub.j,Z.sub.o) of calibration surface 50 under calibration conditions, RSI(i,j,Z.sub.k), may be determined by an equation:
RSI(i,j,Z.sub.k)=(i,j,k)(A.sub.p/2f.sup.2)Z.sub.k.sup.4P.sub.o(,,(i,j,Z.sub.k))[R(i,j,Z.sub.k)R(i,j,Z.sub.k)].sup.3.(11)
(28) To determine (i,j,k) for A(X.sub.i,Y.sub.j,Z.sub.k) according to an embodiment of the disclosure, controller 28 controls range camera 20 to acquire a range image for the scene comprising region A(X.sub.i,Y.sub.j,Z.sub.k) to determine a distance, R(i,j,Z.sub.k), from the range camera to region A(X.sub.i,Y.sub.j,Z.sub.k). The controller uses distance R(i,j,Z.sub.k), RSI(i,j,Z.sub.k) provided by pixel p(i,j,k) for A(X.sub.i,Y.sub.j,Z.sub.k), and a RCI(i,j,Z.sub.o) acquired for a pixel that images a region of calibration surface 50 in the calibration image acquired for range camera 20 that corresponds to region A(X.sub.i,Y.sub.j,Z.sub.k) to determine reflectance (i,j,k).
(29) In an embodiment of the disclosure, a region of calibration surface 50 that corresponds to region A(X.sub.i,Y.sub.j,Z.sub.k) comprises a region of the calibration surface that is illuminated by light from light source 30 when imaged by range camera 20 to acquire the calibration image along substantially a same direction along which light from light source 30 illuminates region A(X.sub.i,Y.sub.j,Z.sub.k) to acquire the picture image of the scene comprising an image of A(X.sub.i,Y.sub.j,Z.sub.k). In an embodiment of the disclosure, the corresponding region is a region (X*.sub.i,Y*.sub.j,Z.sub.o) shown in
X*.sub.i=X.sub.i+(1(Z.sub.o/Z.sub.k)X.sub.S and Y*.sub.j=(Z.sub.o/Z.sub.k)Y.sub.j,(12)
Using equations (12), the coordinates x.sub.i* and y.sub.j* of pixel p(i*,j*,Z.sub.o) may be written
x.sub.i*=(f/Z.sub.o)X*.sub.i and y.sub.j*=(f/Z.sub.o)Y*.sub.j.(13)
(30) The determined coordinates x.sub.i* and y.sub.j* identify a pixel p(i*,j*, Z.sub.o) that provides a registered calibration irradiation, RCI(i*,j*,Z.sub.o), for region (X.sub.i*,Y.sub.j*,Z.sub.o) corresponding to region A(X.sub.i,Y.sub.j,Z.sub.k). In accordance with an embodiment of the disclosure, RCI(i*,j*,Z.sub.o) is used to determine (i,j,k) for region A(X.sub.i,Y.sub.j,Z.sub.k) as described below.
(31) From equation (10),
RCI(i*,j*,Z.sub.o)=(.sub.oA.sub.p/2f.sup.2)Z.sub.o.sup.4P.sub.o(,,(i*,j*,Z.sub.o))[R(i*,j*,Z.sub.o)R(i*,*j,Z.sub.o)].sup.3.(14)
where R(i*,j*,Z.sub.o)=[X.sub.i*.sup.2+Y.sub.j*.sup.2+Z.sub.o.sup.2].sup.1/2 and R(i*,j*,Z.sub.o)=[X.sub.i*X.sub.S).sup.2+Y.sub.j*.sup.2+Z.sub.o*.sup.2].sup.1/2. In expression (14) P.sub.o(,,(i*,j*,Z.sub.o)) is the magnitude of the optical power per unit solid angle that light source 30 transmits in the direction of region A(X.sub.i,Y.sub.j,Z.sub.k) to illuminate A(X.sub.i,Y.sub.j,Z.sub.k) with light. Rearranging equation (11) provides an equation for reflectance (i,j,k) of A(X.sub.i,Y.sub.j,Z.sub.k):
(i,j,k)=(A.sub.p/2f.sup.2).sup.1Z.sub.k.sup.4[R(i,j,Z.sub.k)R(i,j,Z.sub.k)].sup.3RSI(i,j,Z.sub.k)/P.sub.o(,,(i,j,Z.sub.k)).(15)
Rearranging equation 10 provides an expression for optical power P.sub.o(,,(i,j,Z.sub.k)):
P.sub.o(,,(i*,j*,Z.sub.o))=(2f.sup.2/.sub.oA.sub.p)RCI(i*,j*,Z.sub.o)Z.sub.o.sup.4[R(i*,j*,Z.sub.o)R(i*,*j,Z.sub.o)].sup.3.(16)
Substituting the expression for P.sub.o(,,(i*,j*,Z.sub.o)) from equation (16) into equation (15) provides an equation that determines (i,j,k):
(i,j,k)=.sub.o(Z.sub.o/Z.sub.k).sup.4[RSI(i,j,Z.sub.k)/RCI(i*,j*,Z.sub.o)][(R(i,j,Z.sub.k)/R(i*,j*,Z.sub.o))(R(i,j,Z.sub.k)/R(i*,*j,Z.sub.o))].sup.3(17)
Equation (17) determines reflectance for region A(X.sub.i,Y.sub.j,Z.sub.k) in accordance with an embodiment of the disclosure in terms of calibration reflectance .sub.o, registered irradiances RSI(i,j,Z.sub.k) and RCI(i*,j*,Z.sub.o), and spatial coordinates provided by a range image acquired by range camera 20.
(32) An alternative expression for (i,j,k) may be determined by normalizing coordinates X.sub.i,Y.sub.j and X.sub.i,Y.sub.j to Z.sub.o and writing equations (10) in terms of pixel coordinates x.sub.i and y.sub.j of a pixel p(i,j) to provide:
RCI(i,j,Z.sub.o)={(A.sub.p/2f.sup.2)[1+(x.sub.i/f).sup.2+(y.sub.j/f).sup.2].sup.3/2}.sub.oP.sub.o(,,(i,j,Z.sub.o))Z.sub.o.sup.2[1+((x.sub.i/f)X.sub.S/Z.sub.o).sup.2+(y.sub.j/f).sup.2].sup.3/2.(18)
The quantities in curly brackets are constants and independent of Z.sub.o for a given pixel. Representing the quantities in brackets by a constant K(i,j), the expression (18) may be written.
RCI(i,j,Z.sub.o)=K(i,j).sub.oP.sub.o(,,(i,j,Z.sub.o))Z.sub.o.sup.2[1+((x.sub.i/f)X.sub.S/Z.sub.o).sup.2+(y.sub.j/f).sup.2].sup.3/2.(19)
Similarly, equation (11) for the pixel may be written,
RSI(i,j,Z.sub.k)=K(i,j)(i,j,k)P.sub.o(,,(i,j,Z.sub.k))Z.sub.k.sup.2[1+((x.sub.i/f)X.sub.S/Z.sub.k).sup.2+(y.sub.j/f).sup.2].sup.3/2.(20)
As a result, p(i,j,k) may be determined in accordance with an expression,
(i,j,k)=.sub.o[RSI(i,j,Z.sub.k,)/RCI(i,j,Z.sub.o,.sub.o)](Z.sub.k.sup.2/Z.sub.o.sup.2)P.sub.o(,,(i,j,Z.sub.o))/P.sub.o(,,(i,j,Z.sub.k))[1+((x.sub.i/f)X.sub.S/Z.sub.k).sup.2+(y.sub.j/f).sup.2].sup.3/2/[1+((x.sub.i/f)X.sub.S/Z.sub.o).sup.2+(y.sub.j/f).sup.2].sup.3/2.(21)
(33) In general, the term X.sub.S/Z.sub.k and X.sub.S/Z.sub.o are relatively small compared to the other terms in the expressions [1+((x.sub.i/f)X.sub.S/Z.sub.k).sup.2+(y.sub.j/f).sup.2] and [1+((x.sub.i/f)X.sub.S/Z.sub.o).sup.2+(y.sub.j/f).sup.2], and the ratio is P.sub.o(,,(i,j,Z.sub.o))/P.sub.o(,,(i,j,Z.sub.k)) is a weak function of Z.sub.k. The terms following the term (Z.sub.k.sup.2/Z.sub.o.sup.2) in equation (21) may therefore conveniently be expressed as a power series about the coordinate Z.sub.o optionally of the form (a.sub.o(i,j,Z.sub.o)+a.sub.1(i,j,Z.sub.o)Z.sub.k.sup.1+a.sub.2(i,j,Z.sub.o)Z.sub.k.sup.2. . . ) so that
(i,j,k)=.sub.o[RSI(i,j,Z.sub.k,)/RCI(i,j,Z.sub.o,.sub.o)](Z.sub.k.sup.2/Z.sub.o.sup.2)(a.sub.o(i,j,Z.sub.o)+a.sub.1(i,j,Z.sub.o)Z.sub.k.sup.1+. . . )(22)
(34) In an embodiment of the disclosure range camera 20 is calibrated by imaging calibration surface 50 at each of a plurality of different known calibration distances from the range camera to provide calibration images and registered calibration irradiances RCI(i,j,Z.sub.o) for a plurality of known different distances Z.sub.o from the range camera. Coefficients for the power series may be determined from the calibration irradiances for each of the distances Z.sub.o. Values of the calibration irradiances RCI(i,j,Z.sub.o) and associated coefficients (a.sub.o(i,j,Z.sub.o), a.sub.1(i,j,Z.sub.o), . . . for each pixel may be stored in a look up table (LUT) in controller 28. The controller uses the LUT values for a given pixel p(i,j) to determine a reflectance (i,j,k), optionally in accordance with expression (22) for a feature that range camera 20 images on the given pixel.
(35) In an embodiment, distances between calibration distances Z.sub.o are determined so that a number of power series coefficients stored in the LUT for a pixel p(i,j) occupies a desired amount of memory in controller 28, and is sufficient to provide values for (i,j,k) for the pixel having desired accuracy in a desired controller processing time. In an embodiment, a number of power coefficients stored per pixel is less than or equal to about 5. Optionally, the number is less than or equal to 2.
(36) In an embodiment of the disclosure each of a plurality of range cameras of a same given type and/or make is calibrated in a calibration procedure in which the range camera is operated to image calibration surface 50 at each of a plurality of known distances to acquire an empirical LUT specific to the camera. Values for irradiances and power series coefficients in the acquired empirical LUTs are suitably average to generate a generic LUT. The generic LUT may be installed in a range camera of the same given type and/or make for use in determining reflectances without having to operate the range camera to acquire an empirical LUT.
(37) In deriving equation (17)-(22) it is assumed that reflectance of calibration surface 50 is the same for all regions of the calibration surface, the calibration surface is planar, and that range camera 20 illuminates the scene comprising A(X.sub.i,Y.sub.j,Z.sub.k) with a same optical power P.sub.o(,,(i*,j*,Z.sub.o)) used to acquire a calibration image for the range camera. Embodiments are not limited to planar calibration surfaces having uniform reflectance .sub.o. For example, RCIs useable for determining a reflectance (i,j,k) for features in a scene may be determined for a cylindrical or a spherical calibration surface using a modification of equations (17)-(22) that accounts for the non-planar geometry of the calibration surface. And reflectance of calibration surface 50 may for example, be a known, non-constant function .sub.o(i,j,k) of coordinates X.sub.i,Y.sub.j,Z.sub.k on the calibration surface. Nor is practice of an embodiment of the disclosure limited to illuminating a scene with optical power P.sub.o(,,(i*,j*,Z.sub.o)). Light source 30 may be operated to illuminate scenes imaged by range camera 20 at different levels of optical power. Equations (17)-(22) may be modified to account for illuminating a scene at an optical power different from P.sub.o(,,(i*,j*,Z.sub.o)) by multiplying the right hand side of equation (17) and (22) by a suitable ratio between the different optical power and P.sub.o(,,(i*,j*,Z.sub.o)).
(38) It is noted that in the above description, the normal {circumflex over ()}(i,j,Z.sub.o) to calibration surface region (X.sub.i,Y.sub.j,Z.sub.o), and the normal {circumflex over ()}(i,j,Z.sub.k) to scene region A(X.sub.i,Y.sub.j,Z.sub.k) are assumed parallel to optic axis 25 of range camera 20. However, practice of an embodiment of the disclosure is not limited to determining reflectances for scene regions having normals parallel to optic axis 25 and for tilted scene regions a modification of expression (17) may be used to provide reflectances (i,j,k) for the regions.
(39) For example,
(40)
where [A.sub.p(Z.sub.k/f).sup.2] is the area A(i,j,Z.sub.k) of non-tilted scene region A(X.sub.i,Y.sub.j,Z.sub.k) determined similarly to determining (i,j,Z.sub.o) in accordance with equation (1).
(41) In addition, in an equation for total irradiance TIR(A.sub.T(X.sub.i,Y.sub.j,Z.sub.k)) of tilted scene region A.sub.T(X.sub.i,Y.sub.j,Z.sub.k) similar to equation (2) for TIR((X.sub.i,Y.sub.j,Z.sub.o)), it may not be appropriate, as provided for TIR(
(X.sub.i,Y.sub.j,Z.sub.o)) by equation (3), to replace {circumflex over ()}(i,j,Z.sub.k,T).Math.P.sub.o(,,(i,j,Z.sub.k)) with P.sub.o(,,(i,j,Z.sub.k))[Z.sub.k/R(i,j,Z.sub.k)]. In equation (3), {circumflex over ()}(i,j,Z.sub.o).Math.P.sub.o(,,(i,j,Z.sub.o)) is replaced by P.sub.o(,,(i,j,Z.sub.o))[Z.sub.o/R(i,j,Z.sub.o)] under the assumption that normal {circumflex over ()}(i,j,Z.sub.o) to
(X.sub.i,Y.sub.j,Z.sub.o) is parallel to optic axis 25 and as a result {circumflex over ()}(i,j,Z.sub.o).Math.{circumflex over (P)}.sub.o(,,(i,j,Z.sub.o))=cos (i,j,Z.sub.o)=[Z.sub.o/R(i,j,Z.sub.o)]. Irradiance RSI(i,j,Z.sub.k) of A(X.sub.i,Y.sub.j,Z.sub.k) given by expression (11) is similarly dependent on the assumption that normal {circumflex over ()}(i,j,Z.sub.k) to A(X.sub.i,Y.sub.j,Z.sub.k) is parallel to optic axis 25 and therefore that {circumflex over ()}(i,j,Z.sub.k).Math.{circumflex over (P)}.sub.o(,,(i,j,Z.sub.k))=cos (i,j,Z.sub.k)=[Z.sub.k/R(i,j,Z.sub.k)].
(42) Since the assumption that {circumflex over ()}(i,j,Z.sub.k) is parallel to optic axis 25 and its consequence that cos (i,j,Z.sub.o)=[Z.sub.o/R(i,j,Z.sub.o)] do not obtain for {circumflex over ()}(i,j,Z.sub.k,T), equation (17) may not provide a satisfactory value for (i,j,k) for tilted scene region A.sub.T(X.sub.i,Y.sub.j,Z.sub.k).
(43) Therefore, in an embodiment of the disclosure, for a tilted scene region such as A.sub.T(X.sub.i,Y.sub.j,Z.sub.k) equation (17) may be adjusted for tilt by multiplying the right hand side of the equation by a tilt factor (TF) defined by an expression:
TF=[Z.sub.k/R(i,j,Z.sub.k)cos (i,j,Z.sub.k)][{circumflex over (R)}(i,j,Z.sub.k).Math.{circumflex over ()}(i,j,k,T)/{circumflex over (R)}(i,j,Z.sub.k).Math.{circumflex over ()}(i,j,k,T)].(24)
And if reflectance for a tilted scene region is represented by .sub.T(i,j,k), then .sub.T(i,j,k)=TF(i,j,k), which if (i,j,k) is determined in accordance with equation (17), equals
TF.sub.o(Z.sub.o/Z.sub.k).sup.4[RSI(i,j,Z.sub.k)/RCI(i*,j*,Z.sub.o)][(R(i,j,Z.sub.k)/R(i*,j*,Z.sub.o))(R(i,j,Z.sub.k)/R(i*,*j,Z.sub.o))].sup.3.(25)
(44) The expression for TF assumes that registered calibration irradiance RCI(i,j,Z.sub.o) is determined for a planar calibration surface 50 as shown in
(45)
Total irradiance of tilted scene region A.sub.T(X.sub.i,Y.sub.j,Z.sub.k) by light from light source 42 may similarly be written,
(46)
Using expression (23) for A.sub.T(i,j,Z.sub.k) in equation (27) results in:
(47)
Expression (28) defines TF for planar calibration surface 50 and a tilted scene region TIR(A.sub.T (X.sub.i,Y.sub.j,Z.sub.k)).
(48) Equations (23)-(28) express variables and reflectance of a tilted surface region A.sub.T(i,j,Z.sub.k) of a scene imaged by range camera 20 as a function of a unit normal, {circumflex over ()}(i,j,Z.sub.k,T) of the region, which is not necessarily parallel to optic axis 25. In an embodiment of the disclosure, range camera 20 acquires 3D spatial coordinates, X.sub.i, Y.sub.j, and Z.sub.k, for points in a scene that define a range image of the scene and thereby 3D surfaces for features in the scene. In an embodiment of the disclosure, range camera 20 processes the 3D spatial coordinates to determine gradients for regions of the surfaces and therefrom normals {circumflex over ()}(i,j,Z.sub.k,T) to the surface regions. The normals are optionally used in accordance with equations (23)-(28) or equations similar to equations (23)-(28) to determine reflectances for the surface regions. It is noted that whereas equations (23)-(28) relax a constraint that {circumflex over ()}(i,j,Z.sub.k,T) is parallel to optic axis 50, the equations are constrained by an assumption that intensity of reflected light per unit solid angle from an illuminated surface is independent of angle of reflection relative to normals {circumflex over ()}(i,j,Z.sub.k) and {circumflex over ()}(i,j,Z.sub.k,T). In an embodiment of the disclosure the constraint may be relaxed to determine RCI(i,j,Z.sub.o) and it may be assumed for example that intensity of reflected light decreases proportional to the cosine of an angle that direction of propagation of the reflected light makes relative to normal {circumflex over ()}(i,j,Z.sub.k) and/or normal {circumflex over ()}(i,j,Z.sub.k,T)
(49)
(50) Controller 28 may determine skin reflectance for regions of facial skin of user 180 in accordance with equation (17) or equation (22) under the assumption that normals to regions of the user's facial skin are substantially parallel to optic axis 25 of the range camera. Controller 28 may determine skin reflectance for regions of facial skin of user 180 in accordance with equations (23-28) after determining normals {circumflex over ()}(i,j,Z.sub.k,T) to the user's facial skin regions. Optionally, the normals are determined by calculating gradients to surfaces of the user's facial skin responsive to 3D spatial coordinates provided by the range images.
(51) In an embodiment of the disclosure range camera 20 illuminates the face of user 180 with IR light and monitors changes in IR reflectance of the user's facial skin region to determine the user's heartbeat and/or temperature. Optionally controller 28 uses changes in reflectance to provide information characterizing the user's emotional state. For example to determine if the user is blushing or angry.
(52) There is therefore provided in accordance with an embodiment of the disclosure a range camera operable to determine distances to and reflectance for features of a scene that the range camera images, the range camera comprising: a light source operable to transmit light to illuminate a scene that the range camera images; a photosensor having light sensitive pixels; optics having an optical axis and optical center configured to receive light reflected from the transmitted light by features in the scene and image the reflected light on a plurality of the pixels, each of which plurality of pixels registers reflected light from a feature of the scene that the optics images on the pixel to provide a registered scene irradiance (RSI) for the feature; a calibration image comprising a registered calibration irradiance (RCI) for each of the light sensitive pixels that provides a measure of irradiance that the pixel registers responsive to light reflected from light transmitted by the light source by a region of a calibration surface having known shape, reflectance, and location that the range camera images on the pixel; and a controller operable to determine a reflectance for a feature of the scene imaged on a first pixel of the photosensor comprised in the plurality of pixels responsive to the RSI for the feature and an RCI for a region of the calibration surface imaged on a second pixel of the photosensor corresponding to the feature imaged on the first pixel.
(53) In an embodiment, the feature imaged on the first pixel and the corresponding region of the calibration surface imaged on the second pixel are imaged on their respective pixels with light they reflect from light transmitted along a same direction by the light source. The determined reflectance for the feature imaged on the first pixel may be a function of a ratio RSI/RCI times reflectance .sub.o of the corresponding region of the calibration surface.
(54) In an embodiment, the range camera determines a distance vector R for the feature that defines a location of the feature in a field of view (FOV) of the camera relative to the optics and a distance vector R that defines a location for the feature imaged on the first pixel in the FOV relative to the light source and uses R and R to determine a location on the calibration surface of the corresponding region of the calibration surface. Optionally, the range camera determines a distance vector R.sub.o for the corresponding region of the calibration surface in the FOV of the range camera relative to the optics, and a distance vector R.sub.o that defines a location of the corresponding region in the FOV relative to a location of the light source responsive to the determined location of the corresponding region of the calibration surface.
(55) In an embodiment, the reflectance for the feature imaged on the first pixel is proportional to .sub.o(RSI/RCI)[(|R|/|R.sub.o|)(|R|/|R.sub.o|)].sup.3 where .sub.o is reflectance of the corresponding region of the calibration surface.
(56) Optionally, the calibration surface is oriented perpendicular to an optical axis of the camera at a fixed distance Z.sub.o from the optical center along the optical axis and the feature imaged on the first pixel is located at a distance Z from the optical center along the optical axis.
(57) In an embodiment, the reflectance for the feature imaged on the first pixel is proportional to .sub.o(Z.sub.o/Z).sup.4(RSI/RCI)[(|R|/|R.sub.o|)(|R|/|R.sub.o|)].sup.3 where .sub.o is reflectance of the corresponding region of the calibration surface.
(58) In an embodiment of the disclosure, the controller is operable to determine a tilt factor TF for the feature imaged on the first pixel and use the tilt factor to determine the reflectance for the feature, wherein TF=[Z/(|R|({circumflex over (R)}.Math.{circumflex over (Z)}))][({circumflex over (R)}.Math.{circumflex over ()})/({circumflex over (R)}.Math.{circumflex over ()})] and {circumflex over ()} is a unit normal to a surface of the feature imaged on the first pixel, Z is distance of the feature from the optical center along the optical axis, and {circumflex over (R)} and {circumflex over (R)} are unit vectors pointing from the feature to the optical center and the light source respectively. Optionally, the reflectance for the feature imaged on the first pixel is proportional to TF.sub.o(Z.sub.o/Z).sup.4(RSI/RCI)[(|R|/|R.sub.o|)(|R|/|R.sub.o|)].sup.3 where .sub.o is a known reflectance of the region imaged on the second pixel. The controller may control the range camera to acquire a range image of the scene and determines {circumflex over ()} responsive to a gradient of a surface of the feature defined by the range image.
(59) In an embodiment of the disclosure, the reflectance of the calibration surface is substantially the same for all regions of the calibration surface having an RCI comprised in the calibration image. In an embodiment of the disclosure, the calibration surface is planar.
(60) There is further provided in accordance with an embodiment of the disclosure a method of determining reflectance for a feature of a scene, the method comprising: using an active lighting range camera to acquire a range image and a picture image of the scene responsive to light transmitted by the range camera to illuminate the scene that is reflected by features in the scene back to the range camera; determining a location of the feature in the FOV responsive to the range image; determining registered irradiance of the range camera by light reflected from the transmitted light by the feature responsive to the picture image; determining a corresponding region of a calibration surface imaged in a calibration image acquired by the range camera; determining registered irradiance of the range camera by light reflected from the transmitted light by the corresponding region responsive to the calibration image; and using the determined registered irradiances from the feature and the corresponding calibration region and known reflectance of the calibration surface to determine the reflectance of the feature.
(61) Optionally, determining the corresponding region of the calibration surface comprises determining a region of the calibration surface for which light from the range camera that illuminates the region to acquire the calibration image is transmitted along a same direction that the range camera illuminates the feature to acquire the picture image. Determining the reflectance of the feature may comprise multiplying the known reflectance by a ratio equal to the registered irradiance from the feature divided by the registered irradiance from the corresponding region.
(62) The method may comprise determining a unit normal {circumflex over ()} to a surface of the feature responsive to the range image and using the unit normal to determine the reflectance. Optionally, using the normal comprises determining a first distance vector from an optical center of the range camera to the feature responsive to the range image and determining a first scalar product of the normal with the first distance vector. Using the normal may comprise determining a second distance vector from a location from which the range camera transmits light to illuminate the scene to the feature responsive to the range image and determining a second scalar product of the normal with the second distance vector. Optionally, determining the reflectance comprises determining a ratio between the first scalar product and the second scalar product.
(63) In the description and claims of the present application, each of the verbs, comprise include and have, and conjugates thereof, are used to indicate that the object or objects of the verb are not necessarily a complete listing of components, elements or parts of the subject or subjects of the verb.
(64) Descriptions of embodiments of the disclosure in the present application are provided by way of example and are not intended to limit the scope of the disclosure. The described embodiments comprise different features, not all of which are required in all embodiments. Some embodiments utilize only some of the features or possible combinations of the features. Variations of embodiments of the disclosure that are described, and embodiments comprising different combinations of features noted in the described embodiments, will occur to persons of the art. The scope of the invention is limited only by the claims.