TOUCHLESS HUMAN MACHINE INTERFACE
A system and method for receiving input from a user is provided. The system includes at least one camera configured to receive an image of a hand of the user and a controller configured to analyze the image and issue a command based on the analysis of the image.
1. Field of the Invention
The present invention generally relates to a user interface.
2. Description of Related Art
With the introduction of touch screen technology, users are more comfortable with user interfaces that accept input based on touch interaction with the user. However, a touch screen technology can still be expensive and limits the input to motion that actually contacts the device. In an automotive environment, where a user is confined by a seatbelt, it may not always be convenient to touch the device to provide input.
In view of the above, it is apparent that there is a need for an improved user interface.
SUMMARYA system and method for receiving input from a user is provided. The system includes at least one camera configured to receive an image of a hand of the user and a controller configured to analyze the image and issue a command based on the analysis of the image.
Camera technology may be used in the vehicle to accept user input while not require the user to physically touch the device. The user may make a hand gesture with their hand within the field of view of the camera. Based on the position and orientation of the user's fingers or the finger path over time, the system can identify the gesture based on a plurality of stored gesture models. Further, the cameras may be configured with resolution sufficient to distinguish a finger print on the fingers. The finger print may be used for tracking the position and orientation of the finger, as well as, for a security check allowing certain features of the user interface to be unlocked. The security check may be for setting option parameters or for even starting the car ignition.
Further objects, features and advantages of this invention will become readily apparent to persons skilled in the art after a review of the following description, with reference to the drawings and claims that are appended to and form a part of this specification.
Now referring to
The cameras may be located at different positions along the width of the front console as denoted for example, by cameras 112, 114, 118. The cameras may also be mounted at different heights as denoted by cameras 112, 116. Further, the cameras may be clustered around the center of the console as shown by cameras 112, 116, 118. In one example, cameras 112, 116, 118 are located around the outside of the display 122 on the front console 120. Further, the cameras are located in the center of the console and are accessible by either the driver of the vehicle or front seat passenger of the vehicle.
The display 122 may be a light emitting diode (LED) display, liquid crystal display (LCD), or other display appropriate for automotive applications. Further, input controls 124 may be provided for receiving user input by the controller 110. The controls 124 may include one or more buttons 126, knobs 128, or switches 130 to facilitate providing user input to the controller 110. Although it is also understood that other known physical controls may be provided within the context of the controls 124.
As such, the controller 110, the display 122, the controls 124, and the cameras 112, 114, 116, 118 may all be in communication with one another or for example, a communication bus 132. Although it is also understood that the communications may be multiple separate communication links between each individual device, or a wireless communication link may also be provided between one or more of the above referenced devices.
The cameras 112, 114, 116, 118 may be configured to view a hand of the user to receive user input. Accordingly, the cameras may capture an image of the hand of the user and further the image of the hand of the user may be displayed on the display 122. By locating the cameras near the display 122, the user can view the image of the hand provided on the display 122, as well as, the user's actual hand. Viewing the image and the hand simultaneously will aid the user in forming gestures that can be understood as user input by the system 100. The controller 110 may also display graphics overlaid on the image of the hand to aid in forming recognizable hand gestures and/or communicate the controller's interpretation of the hand gesture. Further, the cameras 112, 114, 116, 118 may have overlapping fields of use such that multiple of the cameras are viewing the hand at the same time. This can also be seen in the side view provided in
Further, lights 134, 136 may be provided, for example on the front console, to illuminate the hand during night driving conditions or when ambient illumination is not sufficient for the functioning of the system 100. In one example, the lights 134, 136 are associated with particular cameras 112 and 116. However, in other implementations, the lighting may be provided at a central location and provided independent of any of the cameras particularly. The lights 134, 136 may be LED illumination, and further, the lights 134, 136 may provide illumination in the near infrared spectrum. As such the illumination may not be visible to the user, however, the illumination could be readily sensed by the cameras. In addition, a sensor 138 such as a photo detector may be used to determine if the ambient lighting of a vehicle is above a certain threshold level and as such, may provide a signal to activate the lights 134, 136. The sensor 138 may have one or more photodiodes located at one or more positions within the vehicle to determine the directionality of the ambient light and as such the controller 110 may light a subset of the lights based on the directionality of the ambient light sensed by the sensor 138 to provide even illumination of the hand to the system 100.
Now referring to
In block 316, each image is analyzed. The system may determine if the hand is present in the image by comparing the recently acquired image to the background image. For example, the background image may be subtracted from the recently captured image to provide a difference image. The difference image may be thresholded and an analysis of the resulting shapes may identify if the shapes contained in the image correspond to the shape of a hand. This may be done by various methods which may be as simple as a pixel count, or as complicated as scoring a model of a representative hand and comparing the shapes and the image to the representative model to determine the likelihood that a hand exists in the image. In another example, a stored pattern of the finger print of one or more of the fingers may be used to identify the hand. If the system does not determine that a hand exists in the image, the method follows line 320 to block 322. In block 322, the background series of images is updated and a new background image is stored. The method then follows line 324 to block 314, where the method continues. If the hand is in the image and a potential gesture exists, then the method follows line 326 to block 328. In block 328, the hand is located in the image space and/or in three dimensional space using images from multiple cameras. In block 330, the position and orientation of each of the fingers may be determined. Accordingly, each finger may be first identified in the image space and then a position of the orientation of the finger determined based on images from multiple cameras using triangulation and other stereo imaging techniques to determine the three dimensional position and orientation of each finger. For example, various models may be used to determine the position and orientation of the fingers including a model of the finger print for each finger. In block 332, another image is captured by one or more of the cameras to image the hand. The fingers are tracked in block 334. The fingers may be tracked by utilizing the same steps described above with respect to blocks 328 and 330. In addition, the system may use the position and orientation of the fingers in the previous set of images as a starting point and determine the change in position and orientation of the fingers relative to the previous series images. Accordingly, the system may determine a three dimensional finger path for each finger and match one or more of the finger paths to a predetermined model of finger paths that represents a gesture. In block 336, a system determines if a gesture is recognized, for example, based on the plurality of finger paths. If a gesture is not recognized in block 336, the method follows line 338 to block 340. In block 340, the system determines if the hand has been removed from the image. If the hand has not been removed from the image, the method follows line 342 to block 332 where the method continues. If the hand has been removed from the image in block 340, the method follows line 346 to block 332. In block 332, the background image is updated and stored and the method follows line 324 to block 314, where the method continues.
Now referring again to block 336, if in block 336 the gesture is recognized based on the positions and orientations of the fingers, or more particularly based on the plurality of finger paths, the method follows 348 to block 350. In block 350, the system sends a command that is associated with the recognized gesture to a vehicle subsystem. For example, a gesture where each of the fingers are moved toward one another may cause the controller to send a command to the vehicle entertainment system to change the volume of the vehicle. Another example, the thumb and pinky may be extended from a closed fist and as such, the vaulted position of the pinky and thumb to the rest of the fingers may indicate a gesture to initiate a phone call based only on the positioning orientation of the fingers relative to one another. Accordingly, the system may send a command to initiate a phone call to a telematics controller.
Now referring to
Now referring to
Now referring to
Now referring to
Now referring to
Now referring to
Now referring to
Now referring to
Any of the controllers, devices, modules, servers, or engines described may be implemented in one or more computer systems. One exemplary system is provided in
In other embodiments, dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement one or more of the methods described herein. Applications that may include the apparatus and systems of various embodiments can broadly include a variety of electronic and computer systems. One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.
In accordance with various embodiments of the present disclosure, the methods described herein may be implemented by software programs executable by a computer system. Further, in an exemplary, non-limited embodiment, implementations can include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computer system processing can be constructed to implement one or more of the methods or functionality as described herein.
Further, the methods described herein may be embodied in a computer-readable medium. The term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. The term “computer-readable medium” shall also include any medium that is capable of storing, encoding or carrying a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein.
As a person skilled in the art will readily appreciate, the above description is meant as an illustration of the principles of the invention. This description is not intended to limit the scope or application of the invention in that the invention is susceptible to modification, variation and change, without departing from spirit of the invention, as defined in the following claims.
Claims
1. In a non-transitory computer readable storage medium having stored therein instructions executable by a programmed processor for receiving input to a vehicle system from a user of the system, the storage medium comprising instructions for:
- capturing a series of background images of the interior of a vehicle over a predetermined time to produce a rolling window of background images;
- after the rolling window of background averages is produced, capturing a plurality of captured images of background and an image of a finger print of a user's finger;
- subtracting the rolling window of background images from the plurality of captured images of the background and the image of a finger print of the user's finger to produce a plurality of images of the finger print of user's finger;
- comparing the plurality of images of the finger print of the user's finger to a stored finger print pattern to identify the user's finger and to determine a position, orientation, and three-dimensional path of the user's finger;
- analyzing the position, orientation, and three dimensional path of the user's finger to determine a gesture;
- issuing a command to the vehicle system responsive to the determined gesture.
2. The computer readable storage medium according to claim 1, wherein the image is one of a plurality of images captured by a plurality of cameras on a front console of a vehicle.
3. The computer readable storage medium according to claim 1, further comprising instructions for determining positions of at least two fingers relative to one another in each image of a series of images to determine a gesture based on each finger path of the at least two fingers in three dimensional space.
4. The computer readable storage medium according to claim 3, further comprising instructions for determining the positions of the at least two fingers relative to one another in each image based on triangulation and the position and orientation of each camera.
5. The computer readable storage medium according to claim 4, further comprising instructions for determining the positions of the at least two fingers by generating an average of a plurality of background images and calculating a difference between each image in the series of images and the average of the plurality of background images.
6. A system for receiving input from a user of a vehicle, the system comprising:
- at least two cameras configured to selectively capture images, a first image being an image of a background, a second image being captured after the first image and including both background and an image of a finger print of a user's finger;
- and
- a controller coupled to the cameras and configured to subtract the first image from the second image to produce a difference image comprising an image of the finger print of the user, the controller being additionally configured to compare the image of the finger print to a stored pattern and determine from said comparison the identity of a finger of a user, the controller being additionally configured to determine the location of the finger of the user within a field of view of at least one of the cameras, the controller being additionally configured to determine a three dimensional path of the finger based on a model of the finger print in three dimensional space without the finger contacting a surface.
7. The system according to claim 6, wherein the controller is configured to match captured images of finger prints obtained from at least two fingers, to stored images of finger prints and wherein the controller is configured to determine the positions of the at least two fingers relative to one another in a plurality of successive images based on triangulation.
8. The system according to claim 7, wherein the controller is configured to determine the positions of the at least two fingers on the hand by first generating an average of a plurality of background images that do not include the hand and thereafter calculating a difference between each image in the series of images that include the hand and captured images of the finger prints of the at least two fingers.
9. A system for receiving input command gestures from a user in a vehicle, the system comprising:
- at least one camera located in the vehicle and configured to receive a first series of images of a background obtained from inside the vehicle and, after the at least one camera receives the first series of images of background, receive a second image of a finger print of a user's finger captured in the first series of images; and
- a controller configured to average the first series of images of the background captured prior to capturing the second image and to subtract the average of the first series of images of the background from the second image to produce an image of the finger print of a user's finger, the controller additionally configured to determine the identity of the user's finger by comparing the image of the finger print of the user's finger to a stored pattern of a finger print and issue a command based on whether the image of the finger print of the user's finger matches the stored pattern of a finger print, the controller being additionally configured to determine a three dimensional path of the finger based on a model of the finger print to determine a gesture of the finger in three dimensional space.
10. The system according to claim 9, wherein the controller is configured to determine the position of one of more fingers in the image.
11. The system according to claim 10, further comprising a display screen in the vehicle, and wherein the at least one camera is a plurality of cameras located in predetermined positions inside the vehicle, each camera being configured and located to capture a series of images of finger prints, the controller being configured to identify the positions of the one or more fingers responsive to a determination that images of the finger prints of one or more fingers match stored patterns of finger prints.
12. The system according to claim 11, wherein the controller is configured to analyze each series of images to identify positions of the one or more fingers in three dimensional space.
13. The system according to claim 11, wherein the controller is configured to determine the positions of at least two fingers relative to one another.
14. The system according to claim 9, wherein the controller is configured to determine the positions of at least one finger in each image of a series of images to determine a finger path.
15. The system according to claim 9, wherein the controller is configured to determine the positions of at least two fingers relative to one another in each image of a series of images to determine a gesture based on each finger path of the at least two fingers in three dimensional space.
16. The system according to claim 9, wherein the controller is configured to determine the positions of at least two fingers relative to one another in each image based on triangulation and a position and orientation of each camera.
17. The system according to claim 9, wherein the controller is configured to determine the positions of at least two fingers by generating an average of a plurality of background images and calculating a difference between each image of a series of images and the average of the plurality of background images.
18. The system according to claim 9, wherein the controller is configured to match a stored model of a finger print to a finger print on at least one of the fingers.
Type: Application
Filed: Jul 15, 2015
Publication Date: Nov 5, 2015
Inventor: Leung Yu Tang (Palatine, IL)
Application Number: 14/800,050