The present invention relates generally to interface systems, and specifically to calibration of a gesture recognition interface system.
As the range of activities accomplished with a computer increases, new and innovative ways to provide an interface with a computer are often developed to complement the changes in computer functionality and packaging. For example, touch sensitive screens can allow a user to provide inputs to a computer without a mouse and/or a keyboard, such that desk area is not needed to operate the computer. Examples of touch sensitive screens include pressure sensitive membranes, beam break techniques with circumferential light sources and sensors, and acoustic ranging techniques. However, these types of computer interfaces can only provide information to the computer regarding the touch event, itself, and thus can be limited in application. In addition, such types of interfaces can be limited in the number of touch events that can be handled over a given amount of time, and can be prone to interpret unintended contacts, such as from a shirt cuff or palm, as touch events. Furthermore, touch sensitive screens can be prohibitively expensive and impractical for very large display sizes, such as those used for presentations.
Some interfaces can include imaging equipment to capture images that correspond to inputs. Such interfaces may include one or more cameras that can be registered to a display device in order to properly relate the position of inputs provided by an input device to positions of display content on the display device. Such interfaces typically require a manual calibration step that can be lengthy and can include additional equipment. As a result, such an interface can be expensive, and a setup time for the interface can be complicated and can require a high degree of precision. Furthermore, any change in the interface system (e.g., unintended bump) may require an additional manual calibration.
One embodiment of the invention includes a gesture recognition interface system that determines input gestures based on changes in relative locations of an input object to initiate device inputs associated with the input gestures. The system comprises at least one light source positioned to illuminate a background surface in a first light spectrum to generate a light contrast difference between the input object and the background surface. The system also comprises a display device configured to display at least one calibration pattern on the background surface in a second light spectrum in response to a calibration command and at least one camera configured to receive images of the background surface in both the first light spectrum and the second light spectrum. The system further comprises an automated calibration component configured to issue the calibration command and to associate features of the at least one calibration pattern in the received images with known physical locations.
Another embodiment of the invention includes a method for calibrating a gesture recognition interface system. The method comprises providing at least one light source configured to illuminate a background surface in a first light spectrum to generate a reflected light contrast between an input object and the illuminated background surface and providing at least one camera configured to receive images of the illuminated background surface to a gesture recognition controller that determines input gestures based on the reflected light contrast. The at least one camera comprises a filter configured to pass a first amount of the first light spectrum and a second amount of a second light spectrum. The method also comprises confirming that the at least one light source is deactivated, adjusting an exposure of at least one camera, and displaying at least one calibration pattern on the background surface in the second light spectrum. The method further comprises associating features of the at least one calibration pattern with known physical locations based on the received images.
Another embodiment of the invention includes a gesture recognition interface system. The interface system comprises means for receiving images of a background surface and means for generating infrared (IR) illumination to provide a brightness contrast between the background surface and an input object. The system also comprises means for generating three-dimensional location information associated with the input object based on the received images and means for translating changes in the three-dimensional location information of the input object into a given input gesture. The system further comprises means for displaying at least one calibration pattern in visible light on the background surface and means for calibrating the means for generating the three-dimensional location information based on features of the at least one calibration pattern in the received images.
The present invention relates generally to interface systems, and specifically to calibration of a gesture recognition interface system. For a gesture recognition interface system, a user employs an input object to provide simulated inputs to a computer or other electronic device associated with the visible light images. It is to be understood that the simulated inputs are provided by gestures using the input object. For example, the user could provide gestures that include motion and/or contact with a background surface using the input object. The input object could be, for example, the user's hand; a wand, stylus, pointing stick; or a variety of other devices with which the user can gesture. The simulated inputs could be, for example, simulated mouse inputs.
At least one light source illuminates the input object and the background surface behind the input object in a first light spectrum to generate a plurality of images of the input object that are captured by at least one camera. The first light spectrum can be non-visible light, such as infrared (IR) light. As an example, the at least one camera can include a pair of stereo cameras. As such, the plurality of images of the input object could be a plurality of matched pairs of images of the input object, such that each image of the matched pair corresponds to the input object from a different perspective at substantially the same time. The plurality of images can be employed to determine a three-dimensional location of the input object, with changes in the location being employed to determine physical motion of the input object.
A controller can be operative to receive the plurality of images to determine the three-dimensional location information associated with the input object. The controller could then translate the simulated inputs into device inputs based on the three-dimensional location information. For example, the controller could interpret gesture inputs based on motion associated with the one or more end-points of the input object and translate the gesture inputs into inputs to a computer or other device. The controller could also compare the motion associated with the input object with a plurality of predefined gestures stored in a memory, such that a match with a given predefined gesture could correspond to a particular device input.
For accurate operation of the gesture recognition system, the gesture recognition system can be calibrated prior to operation, such that the gesture recognition system can accurately detect the location of the input object during normal operation. As described herein, the gesture recognition system can be calibrated in an automated manner, such that lengthy and specific manual calibration can be avoided. To calibrate the gesture recognition system, upon entering a calibration mode, the light sources can be deactivated, and a second light spectrum can be shined onto the background surface. The second light spectrum can be, for example, visible light, such that visible white light can be shined onto the background surface. The at least one camera can include a filter that not only permits passage of the first light spectrum, but also permits passage of a small amount of visible light. The at least one camera can thus adjust its exposure to increase the amount of white light that is passed. A calibration pattern can then be displayed in the visible light spectrum on the background surface. The controller can thus associate the features of the calibration pattern with known physical locations, such as based on parallax separation of the features of the calibration pattern. The calibration pattern can include separate calibration patterns, such as to define projection boundaries and to associate physical locations of the features. The light sources can thus be reactivated and the at least one camera exposure can be readjusted, such that the gesture recognition system can be ready to receive and translate simulated inputs.
The first IR light source 16 and the second IR light source 18 each illuminate a background surface 20 which can be retroreflective. As such, IR light from the first IR light source 16 can be reflected substantially directly back to the first camera 12 and IR light from the second IR light source 18 can be reflected substantially directly back to the second camera 14. Accordingly, an object that is placed above the background surface 20 may reflect a significantly lesser amount of IR light back to each of the first camera 12 and the second camera 14, respectively. Therefore, such an object can appear to each of the first camera 12 and the second camera 14 as a silhouette image, such that it can appear as a substantially darker object in the foreground of a highly illuminated background surface. It is to be understood that the background surface 20 may not be completely retroreflective, but may include a Lambertian factor to facilitate viewing by users at various angles relative to the background surface 20.
An input object 22 can provide simulated inputs over the background surface 20. In the example of
In the example of
The first camera 12 and the second camera 14 can each provide their respective separate silhouette images of the input object 22 to a controller 24. The controller 24 could reside, for example, within a computer (not shown) for which the gesture recognition interface system 10 is designed to provide a gesture recognition interface. It is to be understood, however, that the hosting of a controller is not limited to a standalone computer, but could be included in embedded processors. The controller 24 can process the respective silhouette images associated with the input object 22 to generate three-dimensional location data associated with the input object 22.
For example, each of the first camera 12 and the second camera 14 could be mounted at a pre-determined angle relative to the background surface 20. For a given matched pair of images of the input object 22, if the pre-determined angle of each of the cameras 12 and 14 is equal, then each point of the input object 22 in two-dimensional space in a given image from the camera 12 is equidistant from a corresponding point of the input object 22 in the respective matched image from the camera 14. As such, the controller 24 could determine the three-dimensional physical location of the input object 22 based on a relative parallax separation of the matched pair of images of the input object 22 at a given time. In addition, using a computer algorithm, the controller 24 could also determine the three-dimensional physical location of at least one end-point, such as a fingertip, associated with the input object 22.
The gesture recognition interface system 10 can also include a projector 26 configured to project image data. The projector 26 can provide an output interface, such as, for example, computer monitor data, for which the user can interact and provide inputs using the input object 22. In the example of
In the example of
As described above, the first and second camera 12 and 14 can include IR filters that can be configured to pass a relatively small amount of visible light.
The graph 50 demonstrates that, at higher wavelengths (e.g., beginning at approximately 680 nm), the filter passes a substantial amount of the light. As a result, IR light (e.g., around approximately 850 nm) is substantially completely passed by the filter. In addition, as demonstrated in the example of
A filter configured to provide the performance demonstrated by the graph 50 can typically be commercially available at a price that can be significantly cheaper than one that is configured to pass substantially nothing but IR light. As a result, by implementing a filter such as described by the graph 50 in the example of
Referring back to
As an example, the controller 24 can be commanded to provide a first calibration pattern that defines a projection boundary of the projector 26 relative to the background surface 20. Such a calibration pattern could include horizontal and vertical lines that are projected toward the edge of the projection area of the projector 26. Therefore, the controller 24 can determine the presence of the lines and thus indicate that the lines are projected onto the background surface 20, as opposed to the projection being skewed, such as by being projected off one or more edges of the background surface 20.
The calibration pattern is projected onto the background surface 20 in the viewing area of the first and second cameras 12 and 14 by the projector 26 in the visible light spectrum. As an example, the longer side of the non-continuous border 102 with the first gap 104 can be designated a top side, as indicated in the example of
As an example, the projection of the calibration pattern 100 can be zoomed, shifted, and/or otherwise adjusted until the controller 24 can identify each side of the non-continuous border 102. As another example, the projector 26 or the background surface 20 can be moved, such as based on servo control, until the controller 24 can identify each side of the non-continuous border 102. As yet another example, the controller 24 can change the calibration pattern 100, such as by shortening a side of the non-continuous border 102 until the controller 24 can identify each side of the non-continuous border 102. Therefore, upon properly identifying each side of the non-continuous border 102, the automated calibration component 28 and/or the controller 24 can be programmed to recognize the non-continuous border 102 and to identify the orientation of the non-continuous border 102 via the first, second, and third gaps 104, 106, and 108. As a result, the controller 24 can be calibrated to properly identify a two-dimensional X-Y coordinate location on the background surface 20.
Upon defining the projection boundaries, the controller 24 can then be commanded to provide a second calibration pattern that is used to associate the features of the second calibration pattern with known physical locations in two-dimensional space. As an example,
The automated calibration component 28 calibrates the controller 24 by detecting the position of the black dots 152 via the first camera 12 relative to the second camera 14. Specifically, the controller 24 determines a parallax separation between the black dots 152 in the images received from the first camera 12 and the images received from the second camera 14. By identifying the parallax separation of the black dots 152 relative to a zero-height location of the black dots 152 based on their projection onto the background surface 20, the controller 24 can thus calculate a calibrated location of the background surface 20. Therefore, subsequent to calibration, the controller 24 can extrapolate a three-dimensional physical location of the input object 22 in the viewing area of the first camera 12 and the second camera 14 relative to the height of the background surface 20.
It is to be understood that neither the calibration pattern 100 nor the calibration pattern 150 are intended to be limited by the respective examples of
Upon completion of the calibration procedure based on the projection of the one or more calibration patterns, the automated calibration component 28 can reactivate the first and second IR light sources 16 and 18. In addition, the automated calibration component 28 can decrease the exposure of the first and second cameras 12 and 14 to the amount at which the first and second cameras 12 and 14 were set prior to the calibration procedure. As a result, the exposure of the first and second cameras 12 and 14 can be set to receive the IR light that is provided by the first and second IR light sources 16 and 18 and reflected from the background surface 20. Accordingly, the gesture recognition interface system 10 is ready to receive and translate simulated inputs via the input object 22.
The gesture recognition interface system 10 in the example of
As yet another example, the gesture recognition interface system 10 may not include a projector at all. Instead, the background surface 20 could be a liquid crystal display (LCD) screen. As a result, the image data and the calibration pattern could be displayed on the background surface 20 as an LCD image, and not a projected image. Accordingly, gesture inputs can be simulated above it, similar to as described above. For example, the silhouette images can be based on a light contrast of IR light reflected from the input object relative to a substantially less reflective background surface 20 that is the LCD screen. In addition, the calibration pattern(s) can still be displayed in the visible light spectrum upon deactivation of the IR light sources, as described above. Accordingly, the gesture recognition interface system 10 can be configured in any of a variety of ways.
The calibration procedure 200 demonstrates an overhead view of the projector 26 projecting a predefined calibration pattern 202 onto the background surface 20. The projection of the predefined calibration pattern 202 can be performed during a calibration procedure, such as in response to a manual input. As a result, the predefined calibration pattern 202 can be projected in the visible light spectrum to users of the gesture recognition interface system 10 as it is being projected onto the background surface 20 after deactivation of the IR light sources 16 and 18. In the example of
In the example of
The controller 24 can thus correlate the location of the features of the predefined calibration pattern 202 appearing in the images of the cameras 12 and 14 with the precise physical locations on the background surface 20. As a result, the controller 24 can extrapolate three-dimensional locations of the input object 22 based on the calibration information that is calculated based on the physical locations of the dots 204 on the background surface 20. Accordingly, calibration of the gesture recognition interface system 10 is achieved.
In view of the foregoing structural and functional features described above, a methodology in accordance with various aspects of the present invention will be better appreciated with reference to
At 256, at least one calibration pattern is projected onto the background surface in the second light spectrum. The second light spectrum can be visible light. At 258, features of the at least one calibration pattern are associated with known physical locations. The at least one calibration pattern can include a first calibration pattern with features that define the projection boundaries of a projector that projects the calibration pattern relative to the background surface. The at least one calibration pattern can also include a second calibration pattern with features that are associated with the known physical locations in two-dimensional space on the background surface. The association can occur based on a parallax separation of the features in images received at each of multiple stereo cameras.
At 260, the at least one light source can be reactivated to resume providing illumination in the first light spectrum. At 262, the exposure of the at least one camera is readjusted to its pre-calibration setting. The readjustment can be to decrease the exposure. Based on the intensity of the at least one light source and the passing of substantially more of the first light spectrum, the cameras can receive clear images that are substantially unaffected by image data that is projected in the second light spectrum. As a result, images of a reflected light contrast between an input object and the background surface can be provided to the gesture recognition controller. Based on the calibration procedure, a parallax separation of the images can be used to extrapolate a three-dimensional physical location of the input object. Therefore, gesture inputs can be simulated and translated into device inputs.
What have been described above are examples of the present invention. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the present invention, but one of ordinary skill in the art will recognize that many further combinations and permutations of the present invention are possible. Accordingly, the present invention is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
4468694 | Edgar | Aug 1984 | A |
4843568 | Krueger et al. | Jun 1989 | A |
4924506 | Crossley et al. | May 1990 | A |
5220441 | Gerstenberger | Jun 1993 | A |
5239373 | Tang et al. | Aug 1993 | A |
5475422 | Mori et al. | Dec 1995 | A |
5483261 | Yasutake | Jan 1996 | A |
5563988 | Maes et al. | Oct 1996 | A |
5913727 | Ahdoot | Jun 1999 | A |
5999185 | Kato et al. | Dec 1999 | A |
6002808 | Freeman | Dec 1999 | A |
6147678 | Kumar et al. | Nov 2000 | A |
6195104 | Lyons | Feb 2001 | B1 |
6204852 | Kumar et al. | Mar 2001 | B1 |
6222465 | Kumar et al. | Apr 2001 | B1 |
6327381 | Rogina et al. | Dec 2001 | B1 |
6353428 | Maggioni et al. | Mar 2002 | B1 |
6359612 | Peter et al. | Mar 2002 | B1 |
6434255 | Harakawa | Aug 2002 | B1 |
6512507 | Furihata et al. | Jan 2003 | B1 |
6681031 | Cohen et al. | Jan 2004 | B2 |
6695770 | Choy et al. | Feb 2004 | B1 |
6714901 | Cotin et al. | Mar 2004 | B1 |
6720949 | Pryor et al. | Apr 2004 | B1 |
6788809 | Grzeszczuk et al. | Sep 2004 | B1 |
6796656 | Dadourian | Sep 2004 | B1 |
6806849 | Sullivan | Oct 2004 | B2 |
6857746 | Dyner | Feb 2005 | B2 |
6950534 | Cohen et al. | Sep 2005 | B2 |
6956573 | Bergen et al. | Oct 2005 | B1 |
6983065 | Akgul et al. | Jan 2006 | B1 |
7259747 | Bell | Aug 2007 | B2 |
7701439 | Hillis et al. | Apr 2010 | B2 |
20010006426 | Son et al. | Jul 2001 | A1 |
20010043719 | Harakawa et al. | Nov 2001 | A1 |
20020090146 | Heger et al. | Jul 2002 | A1 |
20020093666 | Foote et al. | Jul 2002 | A1 |
20020122113 | Foote | Sep 2002 | A1 |
20020126161 | Kuzunuki et al. | Sep 2002 | A1 |
20020186221 | Bell | Dec 2002 | A1 |
20030058341 | Brodsky et al. | Mar 2003 | A1 |
20030067537 | Myers | Apr 2003 | A1 |
20030085866 | Bimber | May 2003 | A1 |
20030156756 | Gokturk et al. | Aug 2003 | A1 |
20030218761 | Tomasi et al. | Nov 2003 | A1 |
20040046747 | Bustamante | Mar 2004 | A1 |
20040108990 | Lieberman et al. | Jun 2004 | A1 |
20040113885 | Genc et al. | Jun 2004 | A1 |
20040125207 | Mittal et al. | Jul 2004 | A1 |
20040183775 | Bell | Sep 2004 | A1 |
20040193413 | Wilson et al. | Sep 2004 | A1 |
20040239761 | Jin et al. | Dec 2004 | A1 |
20050002074 | McPheters et al. | Jan 2005 | A1 |
20050012817 | Hampapur et al. | Jan 2005 | A1 |
20050052714 | Klug et al. | Mar 2005 | A1 |
20050068537 | Han et al. | Mar 2005 | A1 |
20050088714 | Kremen | Apr 2005 | A1 |
20050110964 | Bell et al. | May 2005 | A1 |
20050151850 | Ahn et al. | Jul 2005 | A1 |
20050166163 | Chang et al. | Jul 2005 | A1 |
20050275628 | Balakrishnan et al. | Dec 2005 | A1 |
20050285945 | Usui et al. | Dec 2005 | A1 |
20050286101 | Garner et al. | Dec 2005 | A1 |
20060010400 | Dehlin et al. | Jan 2006 | A1 |
20060036944 | Wilson | Feb 2006 | A1 |
20060052953 | Vilanova et al. | Mar 2006 | A1 |
20060092178 | Tanguay | May 2006 | A1 |
20060125799 | Hillis et al. | Jun 2006 | A1 |
20060187196 | Underkoffler et al. | Aug 2006 | A1 |
20060203363 | Levy-Rosenthal | Sep 2006 | A1 |
20060209021 | Yoo et al. | Sep 2006 | A1 |
20070024590 | Krepec | Feb 2007 | A1 |
20070064092 | Sandbeg et al. | Mar 2007 | A1 |
20080013826 | Hillis et al. | Jan 2008 | A1 |
20080028325 | Ferren et al. | Jan 2008 | A1 |
20080043106 | Hassapis et al. | Feb 2008 | A1 |
20080150913 | Bell et al. | Jun 2008 | A1 |
20080244468 | Nishihara et al. | Oct 2008 | A1 |
20090015791 | Chang et al. | Jan 2009 | A1 |
20090103780 | Nishihara et al. | Apr 2009 | A1 |
20090135162 | Van De Wijdeven et al. | May 2009 | A1 |
20090316952 | Ferren et al. | Dec 2009 | A1 |
20100050133 | Nishihara et al. | Feb 2010 | A1 |
Number | Date | Country |
---|---|---|
197 39 285 | Nov 1998 | DE |
0 571 702 | Dec 1993 | EP |
0 571 702 | Dec 1993 | EP |
0 913 790 | May 1999 | EP |
1 223 537 | Dec 2001 | EP |
1 689 172 | Aug 2006 | EP |
1 879 129 | Jan 2008 | EP |
1 879 130 | Jan 2008 | EP |
2 056 185 | May 2009 | EP |
2 068 230 | Jun 2009 | EP |
2460937 | Dec 2009 | GB |
62264390 | Jan 1987 | JP |
4271423 | Feb 1991 | JP |
04031996 | Feb 1992 | JP |
WO 9813746 | Apr 1998 | WO |
WO 0002187 | Jan 2000 | WO |
WO 0021023 | Apr 2000 | WO |
WO 0055802 | Sep 2000 | WO |
WO 03026299 | Mar 2003 | WO |
WO 2008001202 | Jan 2008 | WO |
Number | Date | Country | |
---|---|---|---|
20090116742 A1 | May 2009 | US |