A wearable device, having a camera and a light source, receives user inputs by a first method of measuring a height of a finger-like object's tip above a reference surface if this surface is present, or a second method of estimating a 3D location of the tip. In the first method, a plain sheet of light is projected to the object, casting a shadow on the surface. A camera-observed shadow length is used to compute the tip's height above the surface. In the second method, the nearest and farthest locations of the tip are estimated according to pre-determined lower and upper bounds of the object's physical width. The object is then illuminated with a structured-light pattern configured such that an area between the nearest and farthest locations receives a portion of the pattern where this portion does not contain a repeated sub-pattern, enabling unique determination of the tip's 3D location.
|
1. A method for receiving user inputs by a wearable device, the wearable device comprising one or more processors, a camera and a light source, the light source being configured to generate a plain sheet of light and a structured-light pattern, the camera having an image sensor and having an optical center located at a distance of a focal length from the image sensor, the method comprising:
when a finger-like object having a tip is detected within a field of view (FOV) of the camera, determining a three-dimensional (3D) location of the tip so that one or more of the user inputs are determinable according to the 3D location of the tip;
wherein the determining of the 3D location of the tip comprises:
capturing a first image containing at least the tip in a presence of the plain sheet of light illuminating the object;
from the first image, determining an on-sensor location of the tip, and an on-sensor length of a width of the object;
estimating a nearest physical location and a farthest physical location of the tip according to a pre-determined lower bound and a pre-determined upper bound of the object's physical width, respectively, and further according to the on-sensor location of the tip, the on-sensor length of the object's width, and the focal length, whereby the tip is estimated to be physically located within a region-of-presence between the nearest and farthest physical locations;
projecting the structured-light pattern to at least the region-of-presence such that a part of the object around the tip is illuminated with a first portion of the structured-light pattern while the region-of-presence receives a second portion of the structured-light pattern, wherein the light source configures the structured-light pattern to have the second portion not containing any repeated sub-pattern, enabling unique determination of the 3D location of the tip by uniquely identifying the first portion of the structured-light pattern inside the second portion of the structured-light pattern;
capturing a second image containing at least the part of the object around the tip when the structured-light pattern is projected to the region-of-presence; and
determining the 3D location of the tip by identifying, from the second image, the first portion of the structured-light pattern.
2. The method of
computing a direction vector pointing the on-sensor location of the tip from the optical center of the camera;
estimating a lower bound and an upper bound of an object-camera distance according to the pre-determined lower bound and the pre-determined upper bound of the object's physical width, respectively, and further according to the focal length, and the on-sensor length of the object's physical width; and
estimating the nearest physical location and the farthest physical location of the tip according to the lower bound and the upper bound of the object-camera distance, respectively, and further according to the direction vector.
3. The method of
4. The method of
5. The method of
6. The method of
7. A wearable device comprising one or more processors, a camera and a light source, the light source being configured to generate a plain sheet of light and a structured-light pattern, the camera having an image sensor and having an optical center located at a distance of a focal length from the image sensor, wherein the wearable device is configured to execute a process for receiving user inputs according to the method of
8. A wearable device comprising one or more processors, a camera and a light source, the light source being configured to generate a plain sheet of light and a structured-light pattern, the camera having an image sensor and having an optical center located at a distance of a focal length from the image sensor, wherein the wearable device is configured to execute a process for receiving user inputs according to the method of
9. A wearable device comprising one or more processors, a camera and a light source, the light source being configured to generate a plain sheet of light and a structured-light pattern, the camera having an image sensor and having an optical center located at a distance of a focal length from the image sensor, wherein the wearable device is configured to execute a process for receiving user inputs according to the method of
10. A wearable device comprising one or more processors, a camera and a light source, the light source being configured to generate a plain sheet of light and a structured-light pattern, the camera having an image sensor and having an optical center located at a distance of a focal length from the image sensor, wherein the wearable device is configured to execute a process for receiving user inputs according to the method of
11. A wearable device comprising one or more processors, a camera and a light source, the light source being configured to generate a plain sheet of light and a structured-light pattern, the camera having an image sensor and having an optical center located at a distance of a focal length from the image sensor, wherein the wearable device is configured to execute a process for receiving user inputs according to the method of
12. A wearable device comprising one or more processors, a camera and a light source, the light source being configured to generate a plain sheet of light and a structured-light pattern, the camera having an image sensor and having an optical center located at a distance of a focal length from the image sensor, wherein the wearable device is configured to execute a process for receiving user inputs according to the method of
13. The method of
when both the finger-like object and a reference surface are detected present within the FOV, determining a height of the tip above the reference surface so that one or more of the user inputs are determinable according to the tip's height;
wherein the determining of the tip's height above the reference surface comprises:
determining parameters of a surface-plane equation for geometrically characterizing the reference surface;
determining a height of the camera and a height of the light source above the reference surface according to the parameters of the surface-plane equation;
projecting the plain sheet of light to an area that substantially covers at least a region-of-interest (ROI) comprising an area surrounding and including the tip, such that the object around the tip is illuminated to form a shadow on the reference surface unless the object is substantially close to the reference surface;
estimating a camera-observed shadow length from a ROI-highlighted image, wherein the ROI-highlighted image is captured by the camera after the plain sheet of light is projected, and wherein the camera-observed shadow length is a length of a part of the shadow formed on the reference surface along a topographical surface line and observed by the camera;
estimating a shadow-light source distance from the ROI-highlighted image; and
estimating the tip's height above the reference surface based on a set of data including the surface-plane equation, the camera-observed shadow length, the shadow-light source distance, a distance measured in a direction parallel to the reference surface between the light source and the camera, the height of the camera above the reference surface, and the height of the light source above the reference surface.
14. The method of
determining that the object touches the reference surface if the tip's height above the reference surface is less than a pre-determined threshold; and
determining one or more of the user inputs according to whether the object touches the reference surface.
15. The method of
when the object is detected within the FOV, detecting whether the reference surface is also present within the FOV;
wherein the detecting of whether the reference surface is also present within the FOV comprises:
in an absence of the light source illuminating the object, capturing the FOV by the camera to give a first image;
in a presence of the light source illuminating the object with the plain sheet of light, capturing a second image containing the object by the camera;
from each of the first and second images, determining an intensity level of a surrounding area outside and adjacent a boundary of the object; and
determining that the reference surface is present if the intensity level determined from the first image is substantially different from the intensity level determined from the second image.
16. The method of
if the reference surface is substantially flat, where Hf is the tip's height above the reference surface, S is the camera-observed shadow length, D is the shadow-light source distance, Lp is the distance measured in the direction parallel to the reference surface between the light source and the camera, Hp is the height of the light source above the reference surface, and Hc is the height of the camera above the reference surface.
17. The method of
obtaining a surface profile of the reference surface, and a surface map configured to map any point on an image captured by the camera to a corresponding physical location on the reference surface;
wherein:
the camera-observed shadow length and the shadow-light source distance are estimated from the ROI-highlighted image by using the surface map; and
the set of data further includes the surface profile.
18. A wearable device comprising one or more processors, a camera and a light source, the light source being configured to generate a plain sheet of light and a structured-light pattern, the camera having an image sensor and having an optical center located at a distance of a focal length from the image sensor, wherein the wearable device is configured to execute a process for receiving user inputs according to the method of
19. A wearable device comprising one or more processors, a camera and a light source, the light source being configured to generate a plain sheet of light and a structured-light pattern, the camera having an image sensor and having an optical center located at a distance of a focal length from the image sensor, wherein the wearable device is configured to execute a process for receiving user inputs according to the method of
20. A wearable device comprising one or more processors, a camera and a light source, the light source being configured to generate a plain sheet of light and a structured-light pattern, the camera having an image sensor and having an optical center located at a distance of a focal length from the image sensor, wherein the wearable device is configured to execute a process for receiving user inputs according to the method of
21. A wearable device comprising one or more processors, a camera and a light source, the light source being configured to generate a plain sheet of light and a structured-light pattern, the camera having an image sensor and having an optical center located at a distance of a focal length from the image sensor, wherein the wearable device is configured to execute a process for receiving user inputs according to the method of
22. A wearable device comprising one or more processors, a camera and a light source, the light source being configured to generate a plain sheet of light and a structured-light pattern, the camera having an image sensor and having an optical center located at a distance of a focal length from the image sensor, wherein the wearable device is configured to execute a process for receiving user inputs according to the method of
|
This application is a continuation-in-part of U.S. patent application Ser. No. 14/102,506 filed Dec. 11, 2013, which is a continuation-in-part of U.S. patent application Ser. No. 13/474,567 filed May 17, 2012. The disclosures of U.S. patent application Ser. No. 14/102,506 and U.S. patent application Ser. No. 13/474,567 are hereby incorporated by reference in their entirety.
The present invention generally relates to a wearable device having an interface for receiving user inputs. Particularly, the present invention relates to such wearable device configured to receive user inputs by determining a height of a finger-like object's tip above a reference surface, or a three-dimensional (3D) coordinate of such tip in air.
Computer-based automatic detection of an object touching a reference surface and/or determination of positional information (e.g., a coordinate in space) or motional information (e.g., velocity, acceleration) of the object finds a lot of applications in human-computer interactive entertainment and consumer electronics. In one such application, an interactive projection system for providing a display that interacts with a user is required to determine if a finger tip of the user touches a pre-defined region of a screen, in order that the interactive projection system receives user inputs. In another such application related to computer entertainment, the velocity of a user's finger striking a surface is used by a game to predict if the user is decisive or hesitant in providing an input to the game.
Recently, the emergence of wearable interactive-display devices, such as an interactive display integrated in an eyewear article, is shifting the paradigm of how a user interacts with the virtual and physical worlds. With a wearable interactive display for the user's eyes, the camera installed in the interactive display sees what the user sees. The user, hence, can link his or her interactions with the physical world to manipulate digital objects. However, such wearable device is usually worn on a part of the user's body to achieve mobility with the user. The relatively small display of the wearable device causes a limitation in the user-input means, and operation of the wearable device may cause inconvenience to the user. It is desirable and advantageous to obtain positional or motional information of the user's finger so as to allow the user of the wearable device to control digital information with his or her hands and fingers.
In US2014/0098224 (corresponding to U.S. patent application Ser. No. 14/102,506), it is disclosed a device that detects a height of a finger tip above a touch surface for determining if the finger touches the touch source so as to eventually determine a user input to the device. The device uses one image sensor, i.e. one camera, for detection of the finger tip's height above the touch surface. When the finger is illuminated, a shadow is cast on the touch surface. The camera is used to capture an image of the shadow. Based on the camera-observed shadow length, the finger tip's height above the touch surface is computed. However, when the detection method of this device is implemented in a wearable interactive display, there is a possibility that the finger tip's height above the touch surface is so large that it is difficult to detect the finger's shadow. It is desirable if the device is supplemented with an additional technique of detecting a 3D coordinate of the finger tip in air.
There is a need in the art for a wearable device that can detect a height of an object's tip above a surface if the surface is present, as well as can estimate a 3D coordinate of the tip in an absence of the surface.
The present invention provides a wearable device having a functionality of receiving user inputs by a first method of measuring a height of a finger-like object's tip above a reference surface, or a second method of estimating a 3D location of the tip. The wearable device comprises one or more processors, a camera and a light source. The light source is configured to generate a plain sheet of light and a structured-light pattern.
In the first method, the tip's height above the reference surface is determined as follows. First, determine parameters of a surface-plane equation for geometrically characterizing the reference surface. According to the parameters of the surface-plane equation, a height of the camera and a height of the light source above the reference surface are determined. In addition, obtain a surface profile of the reference surface, and a surface map configured to map any point on an image captured by the camera to a corresponding physical location on the reference surface. Furthermore, a region-of-interest (ROI) is determined from a ROI-determination image captured by the camera such that the ROI comprises an area surrounding and including the tip. Afterwards, the plain sheet of light is projected to an area that substantially covers at least the ROI such that the object around the tip is illuminated to form a shadow on the reference surface unless the object is substantially close to the reference surface. A camera-observed shadow length is then estimated from a ROI-highlighted image by using the surface map, where the ROI-highlighted image is captured by the camera after the plain sheet of light is projected. The camera-observed shadow length is a length of a part of the shadow formed on the reference surface along a topographical surface line and observed by the camera. A shadow-light source distance is also estimated from the ROI-highlighted image by using the surface map. The tip's height above the reference surface is estimated based on a set of data including the surface profile, the camera-observed shadow length, the shadow-light source distance, a distance measured in a direction parallel to the reference surface between the light source and the camera, the height of the camera above the reference surface, and the height of the light source above the reference surface.
In the second method, a 3D location of the tip is estimated as follows. A first image containing at least the tip in a presence of the plain sheet of light illuminating the object is captured by the camera. From the first image, determine an on-sensor location of the tip, and an on-sensor length of a physical width of the object. A nearest physical location and a farthest physical location of the tip are estimated according to a pre-determined lower bound and a pre-determined upper bound of the object's physical width, respectively, and further according to the on-sensor location of the tip, the on-sensor length of the object's physical width, and the focal length. Thereby, the tip is estimated to be physically located within a region-of-presence between the nearest and farthest physical locations. Then project the structured-light pattern to at least the region-of-presence such that a part of the object around the tip is illuminated with a first portion of the structured-light pattern. In particular, the light source configures the structured-light pattern such that a second portion of the structured-light pattern received by the region-of-presence does not contain any repeated sub-pattern. In this way, unique determination of the 3D location of the tip is enabled by identifying the first portion of the structured-light pattern illuminating the object. When the structured-light pattern is projected to the region-of-presence, a second image containing at least the part of the object around the tip is captured. The 3D location of the tip is determined by identifying the first portion of the structured-light pattern from the second image.
Other aspects of the present invention are disclosed as illustrated by the embodiments hereinafter.
As used herein, “a reference vertical direction” and “a reference horizontal direction” are defined as two directions that are mutually orthogonal, but these two directions are not further defined with reference to the direction of planetary gravity. Provided that a reference surface is substantially flat, the reference vertical direction is defined herein as a direction substantially perpendicular to the reference surface and the reference horizontal direction is defined with reference to the reference vertical direction. The reference surface may be, for example, a table surface or a paper surface on top of a table. In case the reference surface is not substantially flat, an imaginary flat surface sufficiently representative to the reference surface over surface roughness thereon is used instead of the original reference surface in defining the reference vertical direction. That is, the reference vertical direction is defined herein as a direction substantially perpendicular to this imaginary flat surface if the reference surface is not substantially flat.
It is used herein in the specification and the appended claims that “a height of a certain thing above a reference surface” is defined as a distance measured from the aforesaid certain thing to the reference surface along a reference vertical direction. Examples of the aforesaid thing include a tip of a finger-like object, a camera and a light source.
Furthermore, the following definitions are used herein in the specification and the appended claims. “Presence of a certain thing” means that this certain thing is present in a field of view (FOV) observable by a camera unless stated otherwise. Similarly, “absence of a certain thing” means that this certain thing is absent in the aforementioned FOV unless stated otherwise. “A structured-light pattern” means projection light having a radiant-power level that varies over an illuminated object when the projection light is projected thereon, the variation of the radiant-power level being selected to create a pre-defined pattern on the illuminated object. For example, if the pre-defined pattern is a grid and if the structured-light pattern is projected onto a plain surface, a picture of the grid is produced on the plain surface. In another example, the pre-defined pattern has an intensity profile following a sinusoidal wave. “A plain sheet of light” means projection light used for plainly illuminating an object. The plain sheet of light is different from a structured-light pattern since the former is not intended to project a pre-defined pattern onto the object. As an example, if the radiant-power level distribution of projection light over an illuminated object is substantially uniform, the projection light is a plain sheet of light. The light wave used in transmitting the structured-light pattern or the plain sheet of light is not limited only to be the light in the visible spectrum. The light wave may be invisible such as infrared.
In the present invention, it is provided with a wearable device having a functionality of receiving user inputs by a first method of measuring a height of a finger-like object's tip above a reference surface, or a second method of estimating a 3D location of the tip. The finger-like object may be a human finger, or any cylindrical object having a sharp point that is distinguishable from a body of the cylindrical object. An example of such cylindrical object is a pencil. In case the finger-like object is the human finger, the tip is simply a finger tip of the finger. Practically, the wearable device may be realized in a form of eye glasses or as a head-mounted device.
Preferably the wearable device is implemented to include both the first and second methods, although it is possible to include only one of the two methods in the wearable device if desired in some practical situations. The first method is applicable in the presence of the reference surface, but the second method is usable regardless of whether the reference surface is present or not. Nevertheless, the advantage of using the second method is apparent when the reference surface is absent.
By applying the first and second methods to two application scenarios depicted in
Details of the present invention are elaborated as follows.
In a step 210, the presence of the finger-like object within a FOV of the camera is determined. Those skilled in the art can readily identify a technique known in the art to determine whether the finger-like object is present in the FOV through an image captured by the camera.
After the object is detected present, the presence of a reference surface is determined in a step 220.
Refer to
In one practical option, the step 250 includes determining that the object touches the reference surface if the tip's height above the reference surface is less than a pre-determined threshold, whereby one or more of the user inputs are determined according to whether the object touches the reference surface.
As mentioned above, the determination of the 3D location of the tip may be performed regardless of whether the reference surface is present or absent. Optionally, the step 240 is performed right after the step 210 is completed without initiating the step 220, as indicated by a dashed arrow 245 in
A. Determining the Tip's Height in the Presence of Reference Surface
The step 230 of determining the tip's height above the reference surface is developed based on the method disclosed in U.S. patent application Ser. No. 14/102,506.
A.1. A Mathematical Development
The part of the shadow 441a observable by the camera 415 has a camera-observable shadow length 440a denoted by S. Let Hf be a height of the tip 425 above the reference surface 430. Let Lf be a distance measured in the reference horizontal direction 404 between the camera 415 and the tip 425. Let D be a shadow-light source distance, defined as a distance measured in the reference horizontal direction 404 between the light source 410 and the starting point 442a of the shadow 441a. Let Lp be a distance measured in the reference horizontal direction 404 between the light source 410 and the camera 415. Let Hp be a distance measured from the light source 410 to the reference surface 430 along the reference vertical direction 402. Let Hc be a distance measured from the camera 415 to the reference surface 430 along the reference vertical direction 402. As the two triangles having edges overlapped with the line-of-sight path 450 are similar, EQN. (1) is obtained:
Furthermore, similarity between the two triangles having edges overlapped with the line-of-sight path 455 gives EQN. (2):
From EQN. (1), expressing Lf in terms of Hf gives
Substituting EQN. (3) into EQN. (2) followed by algebraic manipulation yields
It follows that Hf, the height of the tip 425 above the reference surface 430, is uniquely determinable based on S (the camera-observable shadow length 440a) and D (the shadow-light source distance), both of which can be obtained, as will be explained later, through a camera captured image and a surface map. As will be shown, the other parameters involved in EQN. (4), namely, Lp, Hp and Hc, may be obtained in a measurement step after the reference surface 430 is detected.
From EQN. (4), it is also apparent that Hf=0 if S=0. It follows that if the camera-observed shadow length 440a is found to be substantially close to zero, or if the part of the shadow 441a observable by the camera 415 does not exist, it can be determined that the object touches the reference surface 430.
As an additional result, Lf can be obtained from EQN. (3) with a computed value of Hf given by EQN. (4), or can be directly computed by
Therefore, Hf is still uniquely determinable. This result implies that even if the reference surface 430 is not substantially flat, a height distribution over the reference surface 430 (which is herein referred to as a surface profile of the reference surface 430) enables the tip 425's height over the reference surface 430 to be uniquely determinable. It is apparent to those skilled in the art to make appropriate modification to EQN. (4) to determine a tip's height above a non-flat reference surface with a surface profile thereof.
A.2. Details of the Step 230
In applying EQN. (4) to compute the tip's height above the reference surface, it is first noticed that Hp and Hc mean a height of the light source and a height of the camera, respectively, above the reference surface. It is also noticed that Lp means a distance measured in a direction parallel to the reference surface between the light source and the camera. In addition, Hp is measured from an optical center of the light source to the reference surface. Similarly, Hc is measured from the camera's optical center to the reference surface. The distance Lp is also measured in this sense.
It is required to determine Lp, Hp and Hc by measurement. As mentioned above in discussing the results obtained for the model of
ax+by+cz=d (8)
where a, b, c and d are parameters of this equation. Furthermore, these parameters can be determined by the obtained 3D coordinates of the at least four points. From the determined parameters, those skilled in art can easily determine Hp and Hc as perpendicular distances from the light source and from the camera, respectively, to the reference surface (step 520). The value of Lp can also be easily determined from these parameters.
As mentioned above, a surface profile of the reference surface characterizes a height distribution over the reference surface. A surface map is configured to map any point (or any pixel) on an image captured by the camera to a corresponding physical location on the reference surface. By using the surface map, a point or a pixel of interest identified on the captured image can be mapped to the corresponding location on the reference surface. If the reference surface is substantially flat or if an accuracy requirement in determining the height of the tip is not high, the surface profile may be obtained by setting it to be a constant height above the reference surface, and the surface map is directly obtained from the surface-plane equation. Otherwise, an optional step 530 may be performed to obtain the surface profile and the surface map. Advantageously, the surface map and the surface profile can be determined by techniques disclosed in U.S. patent application Ser. No. 13/474,567. Although
Optionally, a region-of-interest (ROI) on the reference surface is determined in a step 540. The ROI is determined from a ROI-determination image captured by the camera such that the ROI comprises an area surrounding and including the tip. An example of determining the ROI is given in U.S. patent application Ser. No. 14/102,506. In some realizations of the wearable device, it is possible that the step 540 is skipped and the ROI is simply set to be an entire field of illumination of the light source due to keeping these realizations simple or saving battery power.
After the ROI is determined, the plain sheet of light generated by the light source is directed to an area that substantially covers at least the ROI such that the object around the tip is illuminated to form a shadow on the reference surface unless the object is substantially close to the reference surface (step 550). As is mentioned above, the part of the shadow observable by the camera is formed along a topographical surface line projected by joining the camera and the reference peripheral point.
The camera is then used to capture a ROI-highlighted image (step 560).
After the ROI-highlighted image is obtained, a camera-observed shadow length is estimated (step 570). As is mentioned above, the camera-observed shadow length is a length of the part of the shadow observable by the camera. Estimation of the camera-observed shadow length from the ROI-highlighted image is accomplished by using the surface map or the surface-plane equation.
The shadow-light source distance is then estimated from the ROI-highlighted image by using the surface map or the surface-plane equation (step 580). As mentioned above, the shadow-light source distance is the distance measured in a direction parallel to the reference surface between the light source's optical center and the camera's optical center.
After the camera-observed shadow length and the shadow-projector distance are obtained, the tip's height above the reference surface (Hf) is estimated in a step 590 based on a set of data including the surface profile or the surface-plane equation, the camera-observed shadow length (S), the shadow-light source distance (D), the distance measured in a direction parallel to the reference surface between the light source and the camera (Lp), the height of the light source above the reference surface (Hp), and the height of the camera above the reference surface (Hc). If the reference surface is substantially flat, the tip's height above the reference surface can be computed according to EQN. (4).
B. Determining the 3D Location of the Tip
B.1. Details of the Step 240
The finger-like object 702 has a tip 703. Since the object 702 is considered to be a cylindrical object as mentioned above, the object 702 has a physical width 705 that is measurable. If the object 702 is a human finger, statistical figures collected in the society indicate that the physical width of an adult's finger often falls within 1.6 cm to 2 cm. The Inventors of the present invention have found that a lower bound and an upper bound of the object's physical width are determinable before applying the present invention to a practical application, and that the pre-determined lower and upper bounds are usable in determining the 3D location of the tip 703.
The camera 710 has an image sensor 712 for capturing each image of the object 702. In
As the tip 703 is recorded in the first image, it implies that there is a location 740 on the image sensor 712 such that a light ray from the tip 703 has struck on this on-sensor location 740. From the first image, the on-sensor location 740 of the tip 703 is determined in a step 620. Furthermore, the step 620 includes determining an on-sensor length 742 corresponding to the physical width 705 of the object 702 from the first image. Those skilled in the art can make use of techniques known in the art to determine such on-sensor location 740 and on-sensor length 742 from the first image.
In a step 630, a direction vector 760 pointing the on-sensor location 740 of the tip 703 from the optical center 711 of the camera 710. Note that the tip 703 is located at a certain distance 765 from the camera 710's optical center 711 in a direction pointed by the direction vector 760. This certain distance 765 is named as an object-camera distance. It remains required to determine the object-camera distance 765.
To determine the object-camera distance 765, first estimate (in a step 640) a lower bound 722 and an upper bound 727 of the object-camera distance 765 according to the pre-determined lower bound and the pre-determined upper bound, respectively, of the object 702's physical width 705. The lower bound 722 indicates a nearest physical location 721 of the tip 703 while the upper bound 727 corresponds to a farthest physical location 726 thereof. Consider the nearest physical location 721, where the object 702 is supposed to have the pre-determined lower bound in the physical width 705. A simple analysis in geometry to the model of
By some algebraic manipulations, the 3D coordinates of the nearest physical location 721 and of the farthest physical location 726 are calculated in a step 650 according to the lower bound 722 and the upper bound 727 of the object-camera distance 765, respectively, and further according to the direction vector 760. Thereby, the tip 703 is estimated to be physically located within a region-of-presence 730 between the nearest physical location 721 and the farthest physical location 726.
Thereafter, the light source 715 is activated to project the structured-light pattern (represented as 750 in
Accordingly, in a step 670, the camera 710 captures a second image containing at least the part 704 of the object 702 around the tip 703 when the structured-light pattern 750 is projected to the region-of-presence 730. The 3D location of the tip 703 is then determined in a step 680 by identifying, from the second image, the first portion 751 of the structured-light pattern 750.
B.2. Locating the Second Portion 752 on the Light-Modulating Panel 717
In order to configure the structured-light pattern 750 not to have a repeated pattern projected within any possible region-of-presence 730, it remains required to geometrically locate end-points 753, 754 on the light-modulating panel 717. Those skilled in the art can determine end-points 753, 754 of the structured-light pattern 750 on the light-modulating panel 717 by algebraic and geometric analysis. For brevity, each of the end-points 753, 754 is referred to as an on-panel location. In what follows, it is given an example for determining the on-panel locations 753, 754 of the nearest physical location 721 and of the farthest physical location 726, respectively.
In the subplot (a), suppose C and L are the optical centers of the camera and of the light source, respectively. If there is a point D in the space, such point is mapped to points dc and dl on the image sensor of the camera and the light-modulating panel of the light source by transformation matrices Pc and Pl, respectively, with the equations dc=Pc D and dl=Pl D, where: Pc and Pl are 3×4 matrices; dc and dl are length-3 vectors; and D is a length-4 vector. Since the positions of the camera and the light source are pre-defined, one can determine the transformation matrices Pc and Pl.
Refer to the subplot (b). By using the pinhole camera model, suppose that the middle point of the observed finger tip on the image sensor is dc=[dxc,dyc1]T, and that the physical width of the object (i.e. the finger) extends from dc+Δd to dc−Δd on the image sensor. The points corresponding to dc, dc+Δd and dc−Δd in the space are D=[Dx,Dy,Dz,1]T, D+ΔD=[Dx+ΔDx,Dy,Dz,1]T and D−ΔD=[Dx−ΔDx,Dy,Dz,1]T, respectively, since the vertical part and the depth of the finger tip remain the same. If f, the focal length of the camera, is known, one obtains the relationships dxc=f(Dx/Dz) and dyc=f(Dy/Dz). As Δdxc=f(ΔDx/Dz), it follows that ΔDx=(Dz·Δdxc)/f where ΔDx is the physical width of the finger. Since Δdxc is known and the range of the finger's physical width, FL<ΔDx<FU, is also known, one can determine the range of Dz as (f·FL)/Δdxc<Dz<(f·FU)/Δdxc. Therefore, one can determine the region-of-presence of the finger tip, where the region-of-presence is along DL and DU shown in the subplot (c). Let DL=[DxL,DyL,DzL,1]T. It follows that DL=[(DzL·dxc)/f,(DzL·dyc)/f,DzL,1]T where DzL=(f·FL)/Δdxc. The same approach can be used to obtain DU.
Refer to the subplot (c). Since the transformation matrix Pl is already known, one can map the physical locations DL and DU to the on-panel locations dlL and dlU, respectively, by dlL=PlDL and dlU=PlDU.
As long as a unique pattern exists between dlL and dlU, a unique physical location of the finger tip can be determined.
B.3. Design of the Structured-Light Pattern 750
It is important to design a unique pattern without any repeated sub-pattern between the end-points 753, 754 on the light-modulating panel 717 of the structured-light pattern 750. There are two approaches in designing the structured-light pattern 750.
In the first approach, the structured-light pattern 750 is set to be reconfigurable by the light source and is adapted according to the nearest physical location 721 and the farthest physical location 726 that are estimated. It follows that an ad hoc design of the structured-light pattern 750 is required, and the structured-light pattern 750 varies from one time to another.
In the second approach, the structured-light pattern 750 is a static pattern that is invariant over time. That is, the static pattern is invariant to the nearest physical location 721 and the farthest physical location 726 calculated in any instance of determining the 3D location of the tip 703.
In general, the static-pattern design is preferred over the ad hoc design because electric power or battery power that is otherwise required to be spent on computing the ad hoc design from time to time can be saved. Note that the wearable device is a portable device, and often has a limited energy budget.
To determine the static pattern, one can first simulate all possible combinations of the on-sensor location 740 of the tip 703 and the on-sensor length 742 of the object 702's physical width 705. For each combination, a pair of the on-panel locations 753, 754 of the nearest physical location 721 and of the farthest physical location 726 are computed. Then the largest distance between the two on-panel locations 753, 754 among all combinations is identified. The static pattern is then designed such that within any part thereof that is less than the identified largest distance in length, there is no repeated sub-pattern.
C. Remarks
In realizing a wearable device as disclosed herein, the light source may use visible or invisible light for generating a plain sheet of light and a structured-light pattern. The choice of light very much depends on applications of the wearable device. It is not intended to limit the present invention to use either visible or invisible light. Nonetheless, as the wearable device is predominantly used to obtain inputs from a user when the user looks at his or her finger, it is preferred to use invisible light, preferably infrared light, for the light source. When infrared light is used by the light source, the camera is then configured to sense at least infrared light in image capturing.
The one or more processors of the wearable device may be implemented using general purpose or specialized computing devices, computer processors, or electronic circuitries including but not limited to digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA), and other programmable logic devices configured or programmed according to the teachings regarding the method.
As a remark, US2014/0120319 has suggested a method for 3D-scanning an object by projecting a structured-light pattern onto the object and estimating positional parameters of the object after capturing an image of the object illuminated with the structured-light pattern. The method for determining a 3D position of a finger-like object as disclosed herein advances from the method of US2014/0120319 in that the pre-determined lower and upper bounds of the object's physical width are utilized to identify a limited size of a region-of-presence. The limited size of the region-of-presence enables easy and simple design of the structured-light pattern.
The present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The present embodiment is therefore to be considered in all respects as illustrative and not restrictive. The scope of the invention is indicated by the appended claims rather than by the foregoing description, and all changes that come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.
Patent | Priority | Assignee | Title |
10901517, | Jun 11 2014 | WEST TEXAS TECHNOLOGY PARTNERS, LLC | Methods and apparatuses for controlling a system via a sensor |
11768543, | Jun 11 2014 | WEST TEXAS TECHNOLOGY PARTNERS, LLC | Methods and apparatuses for controlling a system via a sensor |
Patent | Priority | Assignee | Title |
8228315, | Jul 12 2011 | GOOGLE LLC | Methods and systems for a virtual input device |
8872910, | Jun 04 2009 | OPTICS INNOVATION LLC | Method and apparatus for a compact and high resolution eye-view recorder |
20080013793, | |||
20080030573, | |||
20090167923, | |||
20110012814, | |||
20110043644, | |||
20110221657, | |||
20120162077, | |||
20120299870, | |||
20120302289, | |||
20130016070, | |||
20140098224, | |||
20140120319, | |||
20140267666, | |||
20140293091, | |||
20140354787, | |||
20140378810, | |||
20150073907, | |||
20150084855, | |||
20150084884, | |||
20150138699, | |||
20150338652, | |||
20160028917, | |||
20160044298, | |||
20160088280, | |||
20160178906, | |||
CN102354345, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jul 11 2016 | ZHANG, WEI | Hong Kong Applied Science and Technology Research Institute Company Limited | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 039162 | /0962 | |
Jul 12 2016 | Hong Kong Applied Science and Technology Research | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jan 28 2021 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Jan 02 2021 | 4 years fee payment window open |
Jul 02 2021 | 6 months grace period start (w surcharge) |
Jan 02 2022 | patent expiry (for year 4) |
Jan 02 2024 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jan 02 2025 | 8 years fee payment window open |
Jul 02 2025 | 6 months grace period start (w surcharge) |
Jan 02 2026 | patent expiry (for year 8) |
Jan 02 2028 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jan 02 2029 | 12 years fee payment window open |
Jul 02 2029 | 6 months grace period start (w surcharge) |
Jan 02 2030 | patent expiry (for year 12) |
Jan 02 2032 | 2 years to revive unintentionally abandoned end. (for year 12) |