System and Method Overview
It should also be noted that the emitter can emit signals in any part of the electromagnetic spectrum, and the sensors responsive to the appropriate frequencies can be designed to detect the signals. In addition, the emitter does not need to be an electronic device. For example, the human body 102 itself can emit a detectable infrared signal, in which case the invention can be used to track the body with infrared sensors without placing any active emitters on the body.
The scene 101 can be illuminated by ambient lighting 103, indoor or outdoor. However, it is important to note that, unlike conventional camera based tracking, the invention can also operate in the dark because infrared light is used to illuminate the tags 200. Because a camera is not used to locate the tags as in conventional computer vision systems, challenging ambient light conditions or a lack of contrast with the background is not a problem. The tags can be tracked, and the scene can be acquired in bright light as well as in complete darkness.
By strategically arranging the tags 200 and the optical emitters 140, it is possible to use light modulation and demodulation techniques to estimate individual scene attributes at locations of the tags. Although optical sensing is at a sparse set of scene locations, the richness of the sensing enables extrapolation within a small neighborhood of the tags. These measured scene attributes can therefore be used to factorize images, e.g., a video or sequence of frames, acquired by the camera 120, and to manipulate the images based on the factored attributes.
In addition, the factorization can be accomplished at a very high speed, much faster than is possible with a conventional camera based factorization. Thus, individual images can be manipulated at an intra-image level. All this is done using strikingly simple and cheap hardware components.
We describe an economical and scalable system where the optical emitters 140 are configured as space-labeling light ‘beamers.’ Each ‘beamer’ includes a linear array of solid state LEDs with a passive binary film or mask disposed between the emitters and a lens. A light intensity sequencing provides a temporal modulation, and the mask provides a spatial modulation. We use a linear array of such beamers, where the binary masks of individual beamers are carefully selected to exploit an epipolar geometry of the complete beamer arrangement. Each optical emitter 140 projects invisible (infrared) binary patterns thousands of times per second into the scene 101. In one embodiment of the invention, the LEDs are turned on and off one at a time.
Optical sensors in the tags 200 decode the transmitted space-dependent patterns and their intensities to enable us to determine the poses of the tags. As defined herein, the 6D ‘pose’ of a tag 200 specifies both its 3D location and its 3D orientation. The location and orientation data for each tag is determined hundreds of times per second. Therefore, the rate of change of the location and the orientation can also be determined.
The tags 200 in the scene 101 yield the locations and orientations of scene locations at a very high frequency. In addition, the tags can measure the incident ambient illumination 103. When the scene is imaged with the camera 120, we can factor, in real time, the radiances measured at the corresponding camera pixels into the incident illuminations and the intrinsic reflectance of the corresponding scene locations.
Because the scene 101 is optically labeled by the tags 200, the processing time requirements of the system remain constant, regardless of how many tags are arranged in the scene.
Optical Tags antenna 224 can be in the form of a tuned induction coil, as known in the field of RFID.
If the locations of the emitters and sensors are reversed as shown in
The tag 200 can detect the optical beams or signals 131 received by the photo sensor 225. The optical signals can be analyzed by software and hardware means. The hardware means can include A/D converters, comparators, timers, filters, and the like as known in the art. The software means can include instructions executed in the microcontroller 221 and data stored in the memory 222.
The tag 200 is enabled to factorize the scene 101. In contrast with the prior art, the factorization can be performed by a simple, solid state photo sensor coupled to the microcontroller, instead of cameras and complex computer systems as in the prior art.
The scene factorization, as defined herein, determines scene attributes, such as scene geometry and scene photometry. The geometry defines the 3D locations, orientations, and shapes of objects in the scene, and the photometry defines the interaction of light with the objects. The light can be due to illumination, reflectance, radiance, and translucency. In any case, the factored attributes or parameters are available as signals for further processing. The signals indicative of the scene factorization can be communicated to other devices such as the RF reader 110, or provided to an output device part 240 of the tag, e.g., indicators or displays.
By using multiple tags, a scene can be factorized by using simple, cheap, low-power components, instead of complex, expensive, high-power cameras as in the prior art. For example, the scene can be populated with hundreds of simple to install, low cost tags.
The tag reader 110, if used, can identify the tag by transmitting an RF signal to which the tag is responsive. Typically, the memory 222 of the tag stores a unique identification that can be detected when the antenna 224 of the tag couples inductively with an antenna 111 of the reader 110. This coupling changes the impedance, hence the load at the receiving antenna. The load can be modulated according to the identification code stored in the memory 222, by switching the coil 224 in and out. Similarly, the scene attribute parameters, as detected by the photo sensor 225, can be transmitted and processed by the processor 130 by methods as described herein.
The optical emitters 140 transmit spatio-modulated optical beams or signals 131 to the tag 200. Preferably, the optical signals are in the range of infrared light, but other light wavelengths, e.g., ultraviolet, visible light, near-infrared or far-infrared, can also be used depending on scene and illumination conditions. Otherwise expressed, the wavelength of the optical signals can be in a range of about 0.01 to 1000 micrometers.
The optical signal 131 can be modulated spatially and/or temporally to carry spatial and/or temporal data. More specifically, the modulation can be amplitude, frequency, phase, polarization, time-division, code-division, or combinations thereof. In an alternative embodiment, the tag 200 can also communicate with the RF reader 110 using a RF signal 232. Unlike a camera, the photo sensor 225 is without its customary lens.
The tag 200 can decode data encoded in the optical signals 131. The tag can also determine a signal strength by low pass filtering the sensed optical signal. The tag can also measure an amount of ambient light 103, i.e., the total incident DC illumination. In one embodiment, the microcontroller 221, which can perform all of the above functions, is a Microchip PIC 16F876, Datasheet, 2004, incorporated herein by reference. The PIC16F876 CMOS FLASH-based 8-bit microcontroller includes 256 bytes of EEPROM data memory, self programming, an ICD, two comparators, five channels of 10-bit A/D, two capture/compare/PWM functions, and a synchronous serial port.
It should be noted that semiconductor fabrication techniques can be used to manufacture tags according to embodiments of the invention as mass produced, very small scale, integrated circuits.
In the arrangement shown in
As shown in
The binary mask achieves a fixed spatial modulation of the signals. The optical signals 131 are received by the photo sensor 225 in parts where the mask is transparent and not received where the mask is opaque. Thus the LED can determine its relative horizontal and vertical position. Note, that the pattern has a one dimensional symmetry. It is possible for the mask to be in a form of a diffraction grating, a moire pattern or a parallax barrier. The light can be projected via a mirror or a lens. By sensing light transmitted through the mask, one essentially performs a binary search of the locations. For example, if sensors associated with the mask parts 321, 322 and 323 are all “on” at the same time, then the scene location must correspond to the speckled mask portion 399.
It should be noted that the location of the emitters and detectors can be reversed. In one embodiment the emitters are arranged along side the mask and lens, and the photo detectors are placed in the scene. That is the light travels from the emitter, through the mask and then the lens to the detector. In another embodiment, the emitters are placed in the scene, and the light travels from the emitter through the lens and mask to the photo detector. In the later case, the emitter and all of the detectors can remain on all the time, and only spatial modulation is used by a single emitter/detector pair. If there are multiple emitters placed in the scene, then each emitter can take a turn to indicate its location using a time multiplexing scheme.
The lens 330 and 430 partitions the light source into multiple lines of light that each illuminate one ‘strip’ of the Gray code. As can be seen in
Estimating Scene Parameters
The optical tags can determine scene parameters, such as location, surface orientation, and incident illumination. The parameters can then be used to estimate other scene attributes.
Location
The core idea in a location of a tag by sensing only a single spatial ‘bit’ is in exploiting an epipolar relationship, which is a fundamental geometric relationship between at least two perspective cameras, in our case the emitters 140 . An epipole is a point of intersection of a line joining optical centers with the image plane. The epipole is the image in one camera of the optical centre of the other camera. An epipolar plane is a plane defined by a 3D point and the optical centers, or equivalently, by an image point and the optical centers. This family of planes is known as an epipolar pencil. An epipolar line is a straight line of intersection of the epipolar plane with the image plane. It is the image in one camera of a ray through the optical centre and image point in the other camera. All epipolar lines intersect at the epipole.
We use Gray coded patterns in a novel arrangement, as described above. Conventional Gray codes typically originate from a single projector. Our goal is to achieve binary codes, such as Gray codes, with a different code from each of the non-collocated optical emitters. In FDM or CDM techniques, all the emitters are on simultaneously.
As seen in the
Additional LEDs can be added to this set by ensuring that the corresponding epipolar planes 501 are identical. This is possible if a center of projection of the additional LED is collinear with the first two LEDs.
To construct a multi-bit ‘projector,’ we make the center of projection of all LEDs collinear. For collinear centers, the epipoles are at infinity and the corresponding epipolar lines are parallel to each other.
However, it is difficult to build N different 1-bit emitters with collinear centers of projection and align them such that the patterns share the parallel epipolar constraints. The patterns are aligned to within the angular resolution of a least significant bit (LSB). For a ten bit code on a 10 mm-wide mask, one LSB is 10 mm. It is difficult mechanically to align the emitters to within this tolerance.
Our solution is based on observation that within a single transmitter, the pattern is constant along the direction of the epipolar line, and the pattern changes perpendicular to the epipolar lines. Hence, there is no need to use spherical lenses, which focus in both directions. Instead, we can use lenticular-like lenses 330 and 430 so that the lenses focus along a direction perpendicular to epipolar lines. We achieve precision by using a single lens and a single multi-pattern mask, as shown in
The set of N light emitters behind one common lens and mask provide a compact array for coding one dimension of the geometry. The tags decode the presence and absence of the carrier as ones and zeroes to directly measure scene coordinates. By using three or more optical emitters 140, we can determine the 3D location of the tags 200.
As shown in
We have selected to exploit a geometric constraint and simplify the decoding process on the tag. The coding is optimal in the sense that we use the minimum number of bits to uniquely label the scene with optical signals.
It is also possible to use an arbitrary arrangement of individual optical emitters with masks corresponding to a random bit pattern to label the scene. This maybe sub-optimal encoding but provides greater flexibility. Given a perspective projection matrix of the N LED-emitters along with the pattern, we can determine the label by back projecting the ones and zeroes into the scene and finding the intersection.
Orientation
Conventional techniques to determine the orientation of tags include magnetic trackers or are based on integrating readings from inertial sensors. Optical solutions include position sensitive detectors (PSD), see Welch above. However, that technique requires a large form factor due to a lens used in the system.
Another sensor detects an angle of incidence by differentially processing an output current of dual photodiodes. However, that sensor can detect tilt in only one known dimension. It is also possible to estimate tag orientation by sensing the relative location of three or more sensors rigidly mounted on the tag. However, this becomes unreliable as the distance between the sensors approaches resolvable location resolution.
One embodiment of the invention estimates an instantaneous orientation of the tag 200 by exploiting a natural cosine falloff due to foreshortening and employing the known instantaneous location estimation.
As shown in
By measuring light intensities at the tag 200 from multiple optical emitters 140 with known locations and intensities, we can determine the surface normal 500 associated with the tag 200.
We measure multiple values at a single moving tag to achieve self-calibration, i.e., we concurrently estimate a relative brightness of the emitters and the tag orientation. The intensity due to a minimum of three light sources measured at three or more distinct locations is used. Then, we can unambiguously determine the orientation of the tag with respect to each of the emitters.
Note that this problem differs from using trilateration to determine locations using a set of received signal strengths. We estimate the intensities of I light sources by moving a tag to m locations. At each tag location, we have two unknowns for orientation, and hence, we have l+2 m unknowns.
At each of the m locations, we have 1 readings, and hence l×m equations. Because, l×m>l+2 m for l>3 and m≧l/(l−2), it follows that we need a minimum of three light sources and three tag positions.
As shown in
We can estimate the normal N using the intensities Ii measured for the ith light source as
I
i
=k·(Vi·N)(Pi/d2i)
where k is an unknown gain of the sensor. Substituting, Qi=Iid2i/kPi, and
we have, V·N=b, and, N=V+b, where V+ is the pseudo-inverse of V.
Because |N|2=1, we have NTN=1, i.e., bTV+T V+b=1, where T is a vector transpose operator.
We substitute, V+TV+=C, so that, for each location j of the tag, we have the quadratic constraint on the unknown light source powers, bTCjb=1.
From three or more locations, we can estimate Qi, using a nonlinear optimization. We restate the quadratic constraint in terms of C2l+1=(l(l+1)=2), scalars ci from the l×l symmetric matrix C.
In practice, we use six or more locations. We estimate the quadratic terms and employ the estimated intensities as an initial estimate for non-linear optimization. After the intensities are known, the tag orientation estimation is a linear process. More light sources improve the estimate at a cost of reducing the frame rate. In practice, four light sources are sufficiently reliable. Typically, we perform the self-calibration once at the beginning.
Illumination
In a preferred embodiment, we measure the optical flux arriving at the photo sensor 225 using the photo current, which is a measure of an ambient irradiance multiplied by a sensor area. The ambient flux is measured in the visible range, and hence, it is not affected by near-IR emissions. Because the area of the detector is fixed, the photo current is proportional to an integration of the irradiance over a hemisphere.
One can use a temporal low pass filtered version of the optical signal to estimate the ambient illumination because the ambient illumination is temporally smooth compared to the modulating signal. To sense color, we can use a separate triplet of closely placed sensors 226, tuned for red, green and blue wavelengths, as shown in
If cross-sectional area of each photo sensor is dA, a photo current for a given irradiance E is given by a product of incident light radiance multiplied by the cosine of the angle ω between a light vector L and a tag normal N, integrated over a hemisphere W.
Note that irradiance integrated over the whole hemisphere includes direct as well as global illumination.
Reflectance
A common problem in photometry is factoring radiance measured at a camera sensor into illumination and surface reflectance. This is an inverse ill-posed problem. However, given the estimates of location, surface orientation, and incident irradiance, as described above, we can determine the reflectance of the scene location if we also sample the reflected radiance using the camera 120.
The radiance B is related to the irradiance and a Lambertian reflectance ρ. Because, B ∝ Eρ, for each wavelength λ, we have ργ∝Bγ/Eγ∝ (CameraPixel Valueγ/Γ(SensorPhotocurrentγ/dA), where Γ(.) is the color transform function matching the RGB sensor reading to the camera colors and A is an approximate cross-sectional area of the sensor.
Thus, the surface albedo determination is greatly simplified. The albedo is estimated up to an unknown scale by taking the ratio of the camera pixel intensities values and RGB sensor values at the tag. The physical sampling means the irradiance is known at specific locations and the albedo computation is valid at the tag. We determine intrinsic reflectance for pixels around the tag sensor assuming a low frequency ambient illumination. However, the instantaneous photocurrent is noisy. Therefore, we exploit the fact that the scene location is visible over several camera frames under varying location, orientation, and illumination values, and take a weighted average to get a more accurate estimate of the true reflectance.
Before the division, we perform geometric and photometric calibration. Unlike conventional systems, the camera does not directly ‘see’ the tag, which is quite small. Hence, we determine Euclidean calibration between the world coordinates, the light source coordinates and the camera coordinates. Given the source coordinates, we triangulate to determine the tag location in 3D, then use a camera perspective projection matrix to estimate the 2D pixel location in the camera images. We also determine the color transform function Γ(.) to match the color response of the camera and the RGB sensors on the tag via a color chart.
To verify our method, we estimate the intrinsic reflectance of a color chart under varying illumination, orientation, and location values. The ratio of color pixel intensities and RGB sensor values transformed via Γ(.) remains nearly constant, and the standard deviation is under 7% of the mean value.
Applications
The above described embodiments of the invention can be used in a number of applications.
Tracking
Tags can be placed on a moving object to track the object directly, or to enhance the tracking of the object in a video acquired of the object.
Deblurring
The tags can acquire geometric data at a much higher rate than the frame rate of conventional cameras. We can use this higher temporal resolution information in various ways. For example, we attach a tag to a fast moving object and determine a point spread function (PSF) based on the geometric information. Deblurring is an ill-posed problem. However, if the PSF is accurately known, some spatial frequencies of the original signal can be recovered. High speed acquisition of incident illumination can be similarly used for recovering temporally aliased scene attributes.
Capturing Higher Dimensional Reflectance
By simply moving a surface patch in our system, an estimate of a bidirectional reflectance distribution function (BRDF) of that patch is possible. The BRDF for a given incident and exit direction is the ratio of irradiance and radiance in the corresponding directions. In every camera frame, we get a direct estimate of scene irradiance and radiance. A single fixed illumination source, a fixed camera, a fixed scene location but varying surface orientation produces a 2D slice of the 4D reflectance function. By varying the position of the scene location, several 2D slices can be recovered. Because we know the irradiance, this tag-based procedure is more accurate than a pure camera-based measurement. In addition, all the data is automatically annotated with location and identification allowing BRDF capture of a non-homogeneous reflectance surface.
Capturing Participating Media
In addition to photometric attributes of scene locations, our system can also estimate attributes of a participating media such as fog. Two or more sensors can be positioned in the environment to measure the attenuation due to the participating media. Conventional systems measure only local attenuation, e.g., practical visibility distance at an airport. In our case, the location computation system works as is, and by measuring the attenuation of the same source at two or more distinct tag locations, one can find the factor of attenuation. Because the tags are lightweight with no need for power intensive LEDs, they could be passively implemented allowing batteryless operation via a RF reader at close range. Possible uses of such tags can include fluid capture.
Illumination Manipulation
The intensity, color, or configuration of illuminators can be changed dynamically based on feedback from the tags. Photographers and videographers typically take a light meter reading to estimate the illumination and then set camera or flash parameters. Our method offers real time estimates of illumination at multiple locations, including correction terms such as orientation and reflectance.
Camera Adaptation and Factorization
Optimal camera parameters can be estimated by taking readings from the tags. Typically, conventional cameras use ‘onboard’ light meters to estimate, for instance, focus and exposure duration settings. However, it is difficult for on-board sensors to produce useful estimates when the scene is constantly changing or the camera is moving.
With several light sensors wirelessly transmitting information regarding irradiance and location, such parameter settings can be made more accurately and with added functionality. For example, the focus or gain for a current image or frame acquired by an automatic camera are determined from a recently acquired previous image or frame.
Because the tags in our system are fixed in world coordinates rather than camera coordinates, the tags can provide appropriate scene data even before the camera acquires any frame. In addition, given irradiance versus reflectance estimates, it is possible to select appropriate spatially varying gain to capture an albedo-image rather than a radiance-image. A reflectance-illumination factorization of camera images opens up many opportunities in computer and machine vision.
In one embodiment of the invention, an intrinsic reflectance of objects is determined. Photo sensors, in the form of the tags 200 are arranged in a scene, as shown in
An image of the scene is also acquired. The pixel values in the image are divided by the appropriate photo sensor reading, e.g., photo current, this is fine because it says ‘e.g.’ (for example) to determine the true reflectance. As those skilled in the art will recognize, a variety of electronic signals could be used for photo sensor readings, such as, but not limited to, photo current or voltage current. The division by the photo sensor reading is effectively a normalization that cancels the effect of incident light. Thus, a gray surface can be detected as specific value of gray independent of whether the surface is illuminated with bright light or dim light.
It is also possible to set parameters of a camera using information from the photo sensors. Conventional automatic cameras set their parameters, e.g., exposure and focus, according to on-board sensors. In an embodiment of the invention, the pixel values in an image acquired by the camera are divided by the data sensed by the tags to determine the camera parameters. The camera parameters can also include aperture, sensor gain, white balance, color filters, polarization filters, anti-blooming, anti-ghosting, and combinations thereof.
Improved Communication
Our choice of time division multiplexing is driven by availability of low cost off-the-shelf IR sensors and programmable microcontrollers. However, our system is scalable. In tests, we have shown that we can achieve very high ID update rates using transceivers intended for use with IrDA communication. We can operate the system at 250 Kbits per second, which means an effective frame rate of 20,000 frames per second for a single axis. We can also use optical FDMA or CDMA for ‘always on’ space labeling that does not require temporal synchronization.
Spatially Coded Light Sources
We can use a dense array of emitters to simplify decoding of the tags along orthogonal directions. It is also possible to use a disorganized set of emitters that are randomly distributed in environment. For some applications, a low resolution is sufficient, e.g., in more casual environments of home or office. When high resolution is desired, such as for industrial or motion capture applications, the number of emitters can be increased.
In the near future, light sources used in movie studios, television sets, conference rooms, offices and even homes will be based on solid-state technology. These fast-switching light sources naturally lend themselves to applications beyond simple illumination. The invention provides a scheme in which a modern solid-state light source can be employed to estimate useful parameters related to locations in the environment, both geometric (location, orientation) as well as photometric (incident intensity, incident spectrum, surface reflectance). The spatio-temporal coded projection of light that we have described is a powerful way to label 2D or 3D space because fast switching light emission is one of the simplest forms of optical transmission.
The invention uses spatio modulation that exploits the epipolar geometry of a carefully configured cluster of light emitters to determine locations of optical tags in a 3D scene. Because the optical light sensed at any location in a scene is unique, we essentially have a space labeling projection of the light.
The invention can use an intensity-based technique for determining the orientation of the tags, a feature not available in most prior art optical markers.
The invention provides a simple method to determine the intrinsic reflectance of each scene location by sensing its irradiance and factorizing radiance measured by a camera.
In motion capture applications, the invention facilitates the use of imperceptible markers that can be integrated with an actor's desired costume and shot under natural or theatrical lighting conditions. Unlike conventional markers, the tags also provide photometric attributes. The invention provides methods for supporting graphics/vision applications that exploit both geometric and photometric sensed quantities.
One advantage of the invention is that it is based on components developed by the rapidly advancing fields of optical communication and solid-state lighting and sensing. In addition, the invention enables one to capture photometric quantities without added software or hardware overhead. Conventional tag-based techniques that use other physical media cannot capture photometric attributes.
Because the photo sensors (or the emitters in a reversed configuration) are barely discernible, the characters can wear natural clothing with the photo sensing element of the tag poking out of the clothing. The ambient lighting can also be natural because the photo sensors receive well-powered IR light. The power is comparable to IR emission from TV remote controls. So, in studio settings, the actor may wear the final costume, and can be shot under theatrical lighting.
The bandwidth efficiency is the ratio of useful pixels in a frame to the total number of pixels. For an n×n image at f frames per second observing k tags, the efficiency is (f×k)/(f×n2)=k/2 n with f updates per second. The efficiency is (f/2)/(f×n)=1/2 n with f/k updates per second and hence such a system is ideally suited for high-speed tracking of a small number of markers. By using continuously streaming beamers and an unlimited number of photo sensing markers (or tags), the number of useful pixels (single pixel photo sensor on each of the k tags) and total number of pixels (k tags) become equal, yielding the maximum bandwidth efficiency.
Our approach greatly simplifies this problem by using probes (tags) at the scene locations of interest to directly sample location, orientation, and irradiance. We sample physically at scene locations. We solve the correspondence problem over successive frames via assigned tag IDs. Hence, we can analyze the history of the geometric and photometric parameters computed for a tag even when the scene location leaves the camera's field of view. Furthermore, our scene parameters are updated much faster than possible at a camera frame-rate. Therefore, we are able to demonstrate new video manipulation capabilities that are not possible by using the video alone.
We achieve functionality similar to multiplexed radio frequency (RF) communication by constructing ‘always on’ emitters. The data are transmitted without synchronization and without prior knowledge of tag locations. The optical spectrum has the added attributes that the signal is directional, its strength is dependent on receiver orientation and its interaction can be sampled by an external observer (camera) at a lower frame rate.
Similar to radio frequencies, for transmitting multiple signals to a single receiver, we can select to modulate light by multiplexing and demultiplexing amplitude, frequency, polarization, phase, time-division, code or combinations thereof. We can also use polarization and wavelength. Our use of passive binary spatial masks in a strategic configuration exploits epipolar constraints results in a system that is effective and yet simple.
Although the invention has been described by way of examples of preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.
This application is a Continuation in Part of U.S. patent application Ser. No. 11/435,703, “Apparatus and Method for Illuminating a Scene with Multiplexed Illumination for Motion Capture” filed by Raskar et al. on May 17, 2006.
Number | Date | Country | |
---|---|---|---|
Parent | 11435703 | May 2006 | US |
Child | 11495946 | US |