WO2006136696A1 - Procede et dispositif pour rendre un volume ou une surface interactifs - Google Patents
Procede et dispositif pour rendre un volume ou une surface interactifs Download PDFInfo
- Publication number
- WO2006136696A1 WO2006136696A1 PCT/FR2006/001395 FR2006001395W WO2006136696A1 WO 2006136696 A1 WO2006136696 A1 WO 2006136696A1 FR 2006001395 W FR2006001395 W FR 2006001395W WO 2006136696 A1 WO2006136696 A1 WO 2006136696A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pointer
- image
- coordinates
- interest
- positions
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0412—Digitisers structurally integrated in a display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/0418—Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/042—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
- G06F3/0421—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means by interrupting or reflecting a light beam, e.g. optical touch-screen
Definitions
- the present invention relates to a method and a device for rendering a volume or an interactive surface. It applies, in particular, to allow a user, with gestures made in this area or this volume, to control actions, for example computer applications such as reading media files and / or consulting data. .
- US 4,746,770, EP 0279652 and JP 63223819 describe a method for isolating and manipulating graphic objects. It implements a frame that supports a plurality of optical sensors and a plurality of opaque objects, for example fingers, that obstruct a portion of the light normally received by the sensors.
- This method and the associated device based on the optical occultation carried out with a finger, therefore require the use of a complex, bulky and expensive frame since it must bear, on at least two sides facing each other, light sources and sensors.
- its accuracy is limited to the product of the number of sensors by the number of light sources, generally only a few hundred points that can be discriminated.
- WO 99/40562 and US 19980020812 disclose a video camera touch system which takes the form of a bar placed above a computer screen. This system implements complex periscope equipment to capture two images of the scene right in front of the computer screen, from different angles. Finally, this system does not identify pointers outside the surface of the screen.
- US 6,061,177 discloses a touch data input device for a back projection system. It has a transparent surface and a diffuser on which an image is projected and captured from the back by a camera. When the screen is touched, the light reflection is interrupted by the absorption on the surface of the finger touching the screen and captured by the camera.
- This system imposes the release of a large volume corresponding to the sum of the optical field of the camera and the optical field of the overhead projector, which affects its use on large surfaces.
- this system can not be implemented outdoors where the incident light incident can be very dazzling for the image sensor of the camera.
- this system does not allow pointer detection outside the image projection area by the overhead projector.
- the device described in JP 2003 312123 has the same drawbacks.
- the device described in DE 1995 1322 and WO 01/31424 has the same disadvantages.
- the device described in GB 2315859 has the same disadvantages.
- the present invention aims to remedy these drawbacks and in particular to provide a device operating outdoors or indoors, comprising modules comprising image sensors and lighting sources that can be positioned in the plane of the interactive surface, without respecting binding positioning criteria while ensuring a high accuracy of position discrimination of one or more pointers, for example fingers.
- the present invention aims, in a first aspect, a device for rendering an interactive surface or volume, characterized in that it comprises: an elongated bar which comprises two matrix image sensors providing each a two-dimensional image, having a plurality of lines and a plurality of columns, placed at the ends of the bar and whose optical fields are superimposed and encompassing said surface, a storage means, for each of said matrix image sensors, at least one region of interest consisting of a portion comprising, at least, a plurality of line segments and a plurality of column segments of the image provided by said array image sensor, each said region of interest representing the image, in section, of said surface and at least one possible pointer intersecting said surface and position determining means of at least one said pointer cutting said surf ace, depending on the portion of the images of said pointer in said regions of interest.
- the matrix image sensors for example consumer video cameras and consumer image acquisition cards, which are less expensive than linear or specific sensors and cards, can be implemented and reduce the number of image sensors. complexity and cost of the device.
- the device because of its elongated bar shape, can be easily transported, for example by a postal service. An installer may position this bar in any position provided that the area of superposition of the optical fields of the matrix image sensors covers the surface or the volume to be made interactive and that the illumination, ambient or provided by at least one light source integrated in the bar allows the detection of pointers, by each matrix image sensor in the whole of this surface.
- the implementation of a bar also allows many stages of parameterization, in manufacture, such as that of the distance between the cameras, the focal lengths of the lenses of the cameras and the angles between the optical axis of the cameras and the camera. axis passing through the optical centers of the lenses of the cameras. On-site installation is therefore greatly facilitated. It is therefore possible to provide installers or untrained operators with a bar and software implementing the storage means of regions of interest and the position determination means.
- the device object of the present invention can thus become a simple component, similar to a large touch screen.
- the device as briefly described above further comprises means for controlling the display of at least one reference point opposite said surface and means for storing coordinates of a pointer. placed next to each reference point, said coordinates from the processing of the pointer images provided by the image sensors, for determining a correspondence between the position of the pointer and the coordinates, in the plane of the matrix display, of the point of the display which is opposite said pointer.
- the device as briefly described above comprises, in addition: means for memorizing coordinates of a pointer successively placed at extreme points of at least one active zone in said surface, said coordinates coming from the processing of the pointer images provided by the image sensors, means for associating, with each active zone, at least one action to be performed and, - an action triggering means, adapted, when the determination means position provides a position of a pointer corresponding to one of the active areas, to trigger an action associated with said active area.
- the device as briefly described above comprises, in addition: a matrix display positioned parallel to and facing a portion of said surface; - A coordinate storage means of a pointer placed successively opposite the end points of said matrix display, said coordinates defining an active area, said active area being associated with at least one action to be performed.
- the device as briefly described above further comprises: means for displaying, on said matrix display, at least one reference point; coordinate storage means of a pointer placed opposite each said reference point, said coordinates from the processing of the pointer images provided by the image sensors, means for storing data representative of optical distortion.
- the device as briefly described above further comprises: means for determining successive positions of a pointer in the plane of the interactive rendered surface, by processing the last two images received from the sensors of image, each position having two coordinates and a position correction means of the pointer, during which, as corrected position, a position is assigned a function of at least two successive positions.
- said correction means is adapted so that the corrected position is the weighted barycentre of the last, the penultimate and the anté regardsnultmay positions, the last and the antepenultimate position each having an equal weight at half the weight of penultimate position.
- the compensated position is very close to the actual position of the pointer while adding a response time less than the duration of the time interval between two successive shots of views by the same camera, typically 20 milliseconds.
- the device as briefly described above further comprises: a movable light source positioned successively along a frame placed in the plane of the surface to be rendered interactive, outside said surface, at least two positions within the optical field of each array image sensor and directing said light source toward said array image sensor; means for memorizing the coordinates in the plane of the image supplied by the matrix image sensor, of the point corresponding to said moving light source, for each position of said light source, and means for determining the region of interest, in the plane of the image provided by said sensor, said region of interest comprising each line segment drawn between two points corresponding to the successive positions of said moving light source in the images provided by each image sensor matrix.
- the device as briefly described above further comprises means for determining the region of interest, in the plane of the image supplied by said sensor, said region of interest comprising each segment. of a straight line drawn between two successive pointer positions in the region of interest, in an image taken by each matrix sensor.
- the device as briefly described above comprises a detection means adapted, for detecting a pointer, to determine, for each column of picture elements of the region of interest of each sensor, the minimum of brightness for the points of this column and to compare this minimum to a brightness threshold value and the number of consecutive minimums exceeding this threshold value to at least one threshold value of apparent width. It is thus determined whether the pointer meets width criteria distinguishing it from a reflection or any object.
- the device as briefly described above comprises: a means for allocating a computer application, for at least one movement of the pointer and for at least one active zone or the entire interactive surface; , and a suitable control means, when said movement is detected in said active zone or in the interactive surface, respectively, to start a step of operation of said computer application. Thanks to these provisions, it is possible to match horizontal or vertical hand movements or holds in position of different durations, different computer applications such as screen changes, launches or exits of an application or application. A file.
- the allocation means is adapted so that at least one said movement is defined by its amplitude, duration or speed, spatial tolerance, direction and direction.
- the device as briefly described above comprises a Kalman prediction determination means and a suitable position assignment means, when at least two pointers are detected, to attribute to at least one of said pointers a possible positions whose distance to a Kalman prediction is minimal.
- the device as briefly described above comprises a Kalman prediction determination means and a suitable position assignment means, when at least two pointers are detected, to assign auditors pointers possible positions compatible with Pointer images that minimize the sum of their distance to Kalman's predictions.
- the device as briefly described above further comprises: means for determining at least one active zone in said surface and means for associating, with each active zone, at least one action to be performed at least one gesture defined by at least one relationship between successive positions, means for determining successive positions of at least one pointer according to the images captured by the image sensors and triggering means of an action associated with said active zone as a function of the successive positions of said pointer, when, in an operating phase, the position of a pointer corresponds to an active zone.
- a gesture with an action, for example, launching a computer application or an audiovisual program, opening a file, changing a page or an image of a presentation, the user has only to reproduce the gesture in the area of interest of the sensors and in the associated active zone, to trigger this action.
- the present invention is directed to a method for rendering an interactive surface or volume, characterized in that it comprises: a step of installing an elongated shape bar which comprises two matrix image sensors providing, each, a two-dimensional image, having a plurality of lines and a plurality of columns, placed at the ends of the bar and whose optical fields are superimposed and encompassing said surface, a storage step, for each of said matrix image sensors of at least one region of interest consisting of a portion comprising at least a plurality of line segments and a plurality of column segments of the image provided by said array image sensor, each said region of interest representing the image, seen in section, of said surface and of at least one possible pointer intersecting said surface and a step of determining the position of at least one said pointer c orpicking said surface, depending on the portion of the images of said pointer in said regions of interest.
- the method as briefly described above further comprises a step of controlling the display of at least one reference point opposite said surface and a step of memorizing coordinates of a pointer. placed next to each reference point, said coordinates from the processing of the pointer images provided by the image sensors, to determine a correspondence between the position of the pointer and the coordinates, in the plane of the matrix display, of the point the display that is next to the pointer.
- the method as briefly described above comprises, in addition: a step of memorizing coordinates of a pointer successively placed at extreme points of at least one active zone in said surface, said coordinates coming from the processing of the pointer images provided by the image sensors, a step of associating, with each active zone, at least one action to be performed and, an action triggering step, when the position determining means provides a position of a pointer corresponding to one of the active zones, an action associated with said active zone.
- the inventors have discovered that a problem that arises when one wishes to use a finger or the hand to interact with a large surface is that of triggering actions, in addition to pointing an object, as would be done by double clicking with a mouse or using the right and, to create new ways to trigger actions, impossible with mice.
- the present invention aims a method for rendering an interactive surface, characterized in that it comprises, on the one hand, an initialization step which comprises: a positioning step of at least two image sensors in the plane of said surface, the optical field of each image sensor covering the whole of said surface, a step of determining at least one active area in said surface, an association step, at each active zone, of at least one action to be performed at least one gesture defined by at least one relationship between successive positions and, secondly, an exploitation step which comprises: a step of determining successive positions of at least one pointer according to the images captured by the image sensors and when the position of a pointer corresponds to an active zone, a step of triggering an action associated with said active zone according to successive positions of said pointer.
- a gesture with an action, for example, the launch of a computer application or an audiovisual program, the opening of a file, a change of page or image of a presentation, the user has only to reproduce the gesture in the area of interest of the sensors and in the associated active zone, to trigger this action.
- an action for example, the launch of a computer application or an audiovisual program, the opening of a file, a change of page or image of a presentation, the user has only to reproduce the gesture in the area of interest of the sensors and in the associated active zone, to trigger this action.
- the step of determining at least one active zone comprises a step of memorizing coordinates of a pointer successively placed at extreme points of said active zone in said surface, said coordinates coming from the image processing of the image. pointer provided by the image sensors.
- each image sensor is a matrix image sensor, the method further comprising a step of storing a region of interest in the image supplied. by each of said matrix sensors, said regions of interest representing the image, in sectional view, of said surface and of each pointer intersecting said surface.
- the method as briefly described above comprises, in addition: a step of positioning at least one matrix display parallel to and facing a portion of said surface; a step of memorizing coordinates of a pointer placed successively opposite the end points of said matrix display, said coordinates defining an active zone, said active zone being associated with at least one action to be performed.
- an active area can be easily created next to a display screen, for example a computer screen or TV and actions associated with the active area can influence the content displayed on this screen.
- the method as briefly described above further comprises: a step of displaying, on said matrix display, at least one reference point; a step of memorizing coordinates of a pointer placed opposite each said reference point, said coordinates coming from the processing of the pointer images provided by the image sensors and a step of processing said coordinates to determine a correction to be applied to the images.
- the method as briefly described above comprises, in addition: a step of determining successive positions of a pointer in the plane of the interactive rendered surface, by processing the last two images received from the sensors of image, each position having two coordinates and a position correction step of the pointer, during which, a corrected position is assigned a position function of at least two successive positions.
- the corrected position is the weighted barycentre of the last, the penultimate and the third last positions, the last and the third position respectively having a weight equal to half the weight of the penultimate position.
- the matrix image sensors do not need to be synchronized to provide precise positioning of the pointer: the effects of triangulation errors due to the possible movements of the pointer between images taken by the two sensors are compensated.
- the method as briefly described above comprises, in addition: a step of successive positioning along a frame placed in the plane of the surface to be interactive, outside said surface, in at least two positions in the optical field of each image sensor of a moving light source facing said image sensor; for each position of said light source, a step of storing the coordinates, in the plane of the image supplied by the image sensor, of the point corresponding to said moving light source and a step of determining the region of interest, in the image plane provided by said sensor, said region of interest comprising each line segment drawn between two points corresponding to the successive positions of said moving light source. Thanks to these provisions, the determination of the region of interest of each image provided by an image sensor is easy and accurate.
- the method as briefly described above further comprises: a step of pointing, in an image taken by each matrix sensor, of at least two positions corresponding to points of a region of interest ; for each position, a storage of the coordinates, in the plane of the image supplied by the image sensor, of the corresponding point and a step of determining the region of interest, in the plane of the image supplied by said sensor image, said region of interest comprising each line segment drawn between two successive points whose coordinates have been stored.
- the minimum brightness for the points of this column is determined for each column of picture elements of the region of interest of each sensor, and this minimum is compared with a value brightness threshold and the number of consecutive minimums exceeding this threshold value to at least one threshold value of apparent width.
- the determination of the position of the pointer is easy and accurate and avoids at least part of the possible problems of stray light.
- the method as briefly described above comprises: a step of assigning a computer application, for at least one movement of the pointer and for at least one active zone or the entire interactive surface, and when said movement is detected in said active area or in the interactive surface, respectively, a step of operating said computer application. Thanks to these provisions, computer applications can be launched with a simple gesture.
- At least one said movement is defined by its amplitude, duration or speed, spatial tolerance, direction and direction. Thanks to these provisions, the gestures are easily memorized by the user and can be parameterized.
- a step of assigning pointers audits of the possible positions compatible with the images of the pointers which minimize the sum of their distance to the Kalman predictions.
- the user can use two pointers, for example two fingers or two hands, to interact with the interactive surface, the Kalman prediction then solving the multitude of potentially valid triangulations.
- the present invention aims at a device for rendering an interactive surface, characterized in that it comprises: two image sensors in the plane of said surface, the optical field of each image sensor covering the whole of said surface; means for determining at least one active zone in said surface and means for associating, with each active zone, at least one action to be performed on at least one gesture defined by at least one relationship between successive positions, means for determining successive positions of at least one pointer based on images captured by the image sensors and means for triggering an action associated with said active zone as a function of the successive positions of said pointer, when, in an operating phase, the position of a pointer corresponds to a zone active.
- the advantages, aims and particular characteristics of this device are similar to those of the process that is the subject of the third aspect of the present invention, they are not recalled here.
- the aims, essential or particular characteristics and advantages of each of the methods or devices that are the subject of the various aspects of the present invention are preferably combined to form a method and a device making an interactive volume or surface particularly easy to transport, install and parameterize. and enabling rich interactions with the user, including the triggering of actions as gestures performed by the user in an active area.
- FIG. 1 represents, schematically, a section parallel to the surface; interactive, part of a first embodiment of the device object of the present invention;
- Figure 2 shows schematically in section perpendicular to the interactive surface, a portion of the first embodiment of the device object of the present invention;
- FIG. 3 schematically represents, in section parallel to the interactive surface, part of a second embodiment of the device that is the subject of the present invention
- - Figure 4 shows schematically in section parallel to the interactive surface, a portion of a third embodiment of the device object of the present invention
- Figure 5 shows schematically in section parallel to the interactive surface, a part of a fourth embodiment of the device object of the present invention
- FIGS. 6 and 7 represent a light box used for the installation of particular embodiments of the device that is the subject of the present invention
- Figure 8 shows schematically four positions taken by the light box illustrated in Figures 6 and 7
- FIG. 9 represents points, pointer positions and corrected point positions implemented in particular embodiments of the method that is the subject of the present invention
- FIG. 10 represents possible positions of two pointers and Kalman predictions of two pointers, implemented in particular embodiments of the method that is the subject of the present invention
- Fig. 11 shows positions of a pointer obscured by another pointer, Kalman estimates and predictions of the obscured pointer
- FIG. 12 represents measured positions and corrected positions of a moving pointer according to particular embodiments of the method that is the subject of the present invention
- FIGS. 13A to 13C represent, in the form of a logic diagram, steps implemented in particular embodiments of the method that is the subject of the present invention
- FIGS. 14 to 16 represent frame profiles comprising concave portions.
- FIG. 1 shows a bar 100 comprising two parts 110 and 150 situated longitudinally at the left and right ends, respectively, of the bar 100.
- Each part 110 and 150 has a window, respectively 112 and 152, facing the surface.
- a monochrome camera whose sensitivity spectrum covers the visible and the near infrared, respectively 120 and 160 with a lens , respectively 122 and 162 and a matrix image sensor, respectively 124 and 164.
- Each camera provides a signal representative of a two-dimensional image having a plurality of lines and a plurality of columns.
- each matrix image sensor has more than one hundred lines and more than one hundred columns of photosensitive zones, or pixels, and the camera provides a signal representative of the light intensity received by each of these photosensitive zones. .
- the bar 100 whose length is, for example, at least equal to five times the other dimensions, comprises, between the parts 110 and 150, a longitudinal cylindrical Fresnel lens 130 oriented towards the surface to make interactive, one or two lines electroluminescent diodes 135 emitting in the near infrared and oriented towards the lens 130, a longitudinal fan 140 and a set of links 145 providing power to the cameras and light-emitting diodes and transporting the signals from the cameras to a computer 125.
- the lens 130 converges the light rays from the light-emitting diodes 135 towards the interactive surface.
- FIG. 2 shows a sectional view of an installation comprising the bar 100, above an interactive rendering surface 170, and a lower frame member 175.
- Side frame members 180 not shown in FIG. Figure 2, bound the optical field of the cameras, around the surface to make interactive.
- the frame elements have very little reflectivity in the wavelengths that the filters 115 and 155 pass through.
- the frame may be formed of a black strip 2 to 4 centimeters wide which is painted with paint. Krylon ultra flat black, reference
- the profile of the frame may be plane, possibly bevelled or chamfered on the side opposite the support.
- the profile of the frame may also take a concave shape with at least two plane walls forming between them an angle greater than or equal to 90 °, at least one of said walls being able to be vertical to limit the parasitic light incident on the inside of the profile , as illustrated by the exemplary profiles 1400, 1500 and 1600, in FIGS. 14 to 16.
- a wall 185 carries the bar 100, a window 190 placed opposite the surface to be made interactive and the frame elements 175 and 180. It is observed that the presence of a window or any object, wall, linear or furniture shelving, is in no way necessary for the operation of the device.
- the steps performed with the computer 125, installation, parameterization and operation of the particular embodiment of the device object of the presentation illustrated in Figures 1 and 2 are described later, with reference to Figures 9 and following.
- the bar is made elongable.
- a bar comprises the parts 110 and 150 and intermediate elements 305 carrying, in preferred embodiments, light-emitting diodes 310 and longitudinal cylindrical Fresnel lenses, these elements 305 being mounted on a deformable structure 320 which keeps the elements 305 equidistant from each other during the elongation of the bar.
- the method and the device which are the subject of the present invention do not impose the use of a light source, here the light-emitting diodes 310 and the Fresnel lenses, in the case where the ambient light, for example solar , is sufficient.
- a bar 400 is positioned at a corner with respect to the surface to be rendered interactive and comprises the same elements as the bar 100, the windows and the cameras 420 and 460 then being positioned in parallel and an "L" frame whose horizontal 475 and vertical 480 elements are positioned around the opposite corner of the interactive surface.
- each camera module 500 comprises a window 505, a filter 510, a camera 520 comprising a lens 522 and a matrix image sensor 524, two lenses 530, two or four lines of light-emitting diodes 535 placed on either side of the camera 520, two ventilation openings 540 and a fan 550.
- Two of these camera modules can be positioned anywhere in the plane of the surface to be interactive, subject to that the intersection of their optical fields covers all of this interactive surface and that the light from light-emitting diodes 535 is sufficient, over the entire interactive surface, to detect the light reflected by a pointer.
- FIGS. 6 and 7 show a pointing box 600 comprising a light-emitting diode 605 emitting in the near infrared and having an emission angle greater than 60 degrees.
- a pointing box 600 comprising a light-emitting diode 605 emitting in the near infrared and having an emission angle greater than 60 degrees.
- two planes 610 and 615 are formed, oblique with respect to the optical axis of the diode 605, and present with this axis an angle of approximately 30 degrees.
- each camera in the opposite corner is illuminated by the diode 605, as illustrated in FIG. when the housing 600 is placed in a corner, resting on the lower frame member 175, the two cameras are always in the emission field of the diode 605, as illustrated in FIG. 7.
- the diode 605 is replaced by a set of diodes forming a one or two dimensional array to increase the number of image points corresponding to the region of interest.
- the pointing case 600 has, on one of its lateral faces, a switch so that the installer can trigger the lighting of the diode or diodes.
- the diodes are turned on in phase-shifted sequences so that, by processing the images taken by the cameras, the coordinates of the image points corresponding to the direct vision of the diodes are differentiated and the coordinates of the image points corresponding to the reflection of the light emitted by these diodes.
- this diode is preferably controlled to flash, for example with a period of one second.
- the installation procedure described below applies to the case of the bar 100.
- the person skilled in the art knows how to extend it to the other embodiments of the device illustrated in FIGS. 3 to 5, taking into account the angle between the optical axes of the lenses of the cameras.
- this factor is set to the lowest value and is gradually increased, while the housing illustrated in FIG. the field of the camera, until the level of perception of the light-emitting diode of this housing corresponds to a predetermined value, for example the level of white.
- a permanent automatic gain control is implemented to adapt the sensitivity of the camera to the ambient brightness.
- the cameras used in the devices of the present invention being preferably matrix cameras, they provide images which represent, successively along their smallest dimension, on the one hand the environment close to a first side of the camera. surface to make interactive, for example a showcase, on the other hand, the volume defined by the frame and the lens of the camera, narrow volume that surrounds the plane parallel to the surface to make interactive that goes through the center the lens of the camera, called region of interest or "ROI" (for, in English "region of interest”) and finally the environment close to this volume on the other side of the surface to make interactive or, if this surface is reflective, the reflection of the near environment lying on the first side.
- ROI region of interest
- region of interest RO1 is not necessarily parallel to the larger side of this image, because of the mechanical positioning tolerances of the camera and the optical components and the sensor inside the camera considered.
- this region of interest ROI consists of two diamonds, in the image supplied by the camera, when, as is generally the case, the part of the frame seen by each camera consists of two rectangles.
- preferential procedure is carried out according to one of the procedures indicated below.
- a region of interest ROI is defined for each of the matrix image sensors, by coordinates in the image plane associated with the image sensor.
- At least one region of interest consists of a part of the pixels of the matrix image sensor and therefore of the image provided by said matrix image sensor, this part comprising, at least, a plurality of line segments and a plurality of column segments. Because of the lateral position of each camera, each region of interest associated with an image sensor represents the image, seen in section, of the surface or volume rendered interactive and of each possible pointer, for example a finger or a hand, cutting the surface or volume rendered interactive.
- a region of interest covers between 1/1000 and 1/10 of the pixels of the image sensor and preferably, between 5/1000 and 2/100 of the pixels of the image sensor when it is desired to make a viewed surface interactive. in section, in this region of interest or a narrow volume surrounding this surface.
- it implements, as illustrated in FIG. 8, the pointing box illustrated in FIGS. 6 and 7 by positioning it successively along the frame in at least three positions 811 to 814 located in the optical field of each camera, directing the axis of the light source towards the cameras.
- the housing when the housing is located in positions 811 to 813, it is in the optical field of the camera 820 and, when the housing is in positions 812 to 814, it is in the optical field of the camera 860.
- the coordinates in the image plane of each light point indicate points of the region of interest ROI. From these at least three points, two half-lines are determined in the image plane of the camera and, as a region of interest ROI, the points of these half-lines and the points lying at a distance from these half-lines are considered. half-lines less than a predetermined limit distance, for example the points of the five half-lines shifted, upward or downward from the image, by at most five pixels or pixels.
- the installer moves a pointer, finger, fist or hand over the entire surface to be rendered interactive, and for each camera is determined the narrow diamond-shaped dark areas surrounding a luminous area in movement corresponding to the pointer.
- the sensitivity of each camera is determined or, which amounts to the same, apart from the glare phenomena extending over the surface of the sensor. image (blooming and smearing), the amplification of the signal coming out and the digitized range of values that will be taken into account, so that the region of interest has, over its entire surface a value considered black. It is observed that this normalization of the signal can be carried out point by point (each point corresponding to a pixel) and dynamically, considering, for each image point of the region of interest, the average value over a long period, for example five minutes, as black value.
- the brightness limit value, point by point or globally is determined beyond which it will be considered that the pointer is potentially opposite a point of the region of interest.
- the minimum brightness for the points of this column is determined for each column of the region of interest ROI.
- a threshold value is determined, for example equal to twice the average of these minimums. It is observed that the use of this minimum brightness has many advantages. On the one hand, small movements of the finger perpendicular to the interactive surface can be detected since as soon as the pointer leaves a dark line, the minimum takes this low light. On the other hand, the reflections and artifacts on the frame do not disturb the detection because they cause luminosities greater than the minimum brightness. Finally, even if the region of interest covers more than the dark frame, the detection of the pointer is not disturbed.
- the number of successive columns for which the considered minimum is greater than the threshold value is then determined, which provides a central point of each pointer and a width of each pointer seen by each camera.
- the detection of a real pointer is performed when a sufficient number of image points representing a rectangle in the image (e.g., three columns and eight lines in the image), exhibit a higher brightness to the brightness limit value.
- the lenses of the cameras create a radial distortion.
- the calibration phase made in the factory makes it possible to calculate the focal length of the objectives of each camera and the angle between the optical axis of each camera and the horizontal.
- the two image coordinates provided by the cameras for each pointer make it possible to determine the position of the pointer in the user plane, that is to say the interactive surface.
- the current coordinate system used for the computation of the coordinates is a reference mark whose origin is the optical center of the camera placed on the left in figure 9.
- the axis of the abscissae is the horizontal axis oriented towards the camera represented on the right in figure 9
- the distance between the optical centers of the lenses of the cameras defines the unit of length.
- the y-axis is downward, the unit length being equal to that of the x-axis.
- the coordinates in the plane thus provided with an orthogonal coordinate system are determined as a function of the angles ⁇ 1 and ⁇ 2 formed between the lines starting from each of the optical centers of the lenses and passing through the center of the pointer on the one hand and the horizontal axis on the other hand as follows:
- Tx sin ⁇ 1 x cos ⁇ 2 / sin ( ⁇ 1 + ⁇ 2)
- angles ⁇ 1 and ⁇ 2 are functions of the angle between the optical axis of the corresponding camera and the horizontal and the abscissa of the center of the image of the pointer formed on the image sensor.
- screen coordinates are defined which are positions on an image formed near the interactive surface, for example by projection on a frosted part of a window, for example between 0 and 65535 in each direction. .
- the positions of the four corners of this image represented at 820 in FIG. 8 are memorized, and a bilinear transformation of the coordinates in the plane is carried out.
- metric coordinates are defined by multiplying the coordinates in the plane by the metric distance between the optical centers of the lenses of the cameras.
- an optimization phase is preferentially carried out during which, in the image projected on the screen area 820, successive points of intersection of a regular grid, represented by crosses in figure
- the processing of several targets or pointers detected in the region of interest of a camera is different depending on whether one of the pointers masks another in the image of one of the cameras, or not.
- the possible positions of the pointers are first determined. For example, there are four possible positions when two pointers are detected by each of the two cameras.
- the Kalman prediction of the position of said pointer is then determined.
- the distance between the Kalman prediction and each of the possible positions is calculated.
- Figure 10 shows the case where there are two old pointers whose Kalman predictions are represented at 1005 and 1010. There are four possible positions 1015 to 1030 for each of these pointers, defining a quadrilateral. We then define the four sums of the distances of the predictions with the pairs of opposite vertices of the quadrilateral.
- D3 dist (1005, 1025) + dist (1010, 1015)
- D4 dist (1005, 1030) + dist (1010, 1020)
- the pointer whose Kalman prediction is closest to one of the possible positions is assigned this position and, at the other pointer, the opposite position in the quadrilateral.
- the Kalman prediction without updating the Kalman filter, as shown in Figure 11.
- the processing of the last image from each camera causes an irregularity of trajectory around the real trajectory of the pointer, finger, fist or hand, as soon as it is moving.
- the direction of the pointer determined from the image taken earlier will be erroneous as a function of increasing the speed of movement of the pointer and the duration of the time interval separating the two shots. 'picture.
- Figure 12 illustrates two treatments applied to the erroneous positions thus determined.
- primary position the last image taken by each camera to determine a new position of the pointer.
- secondary the middle position of the last two positions and is considered the actual position of the pointer.
- the so-called “tertiary” middle position of the two last secondary medium positions thus determined is determined and is considered as the actual position of the pointer.
- the tertiary position is therefore the isobarycentre of the last two secondary positions and also the center of gravity of the last three primary positions, assigned respective weights 1, 2 and 1. It is observed that by modifying the mode of detection of the pointer, for example by determining the minimum per column for two halves of region of interest representing two halves of the dark frame, one can exploit a third dimension, perpendicular to the interactive surface. Two different behaviors can be associated with the two actions of touching a window or just approaching it. You can also perform a zoom function depending on the distance between the pointer and the screen area.
- Figures 13A to 13C summarize the steps performed during the installation of a device object of the present invention and during operation of said device. Although it is described, for purposes of explanation, a one-shot processing carried out by the computer 125, in addition to its display processing of a screen page, preferably the various treatments described below are carried out in multitasking.
- the installer positions the device, including the matrix image sensors and the light sources so that the interactive surface to be covered by each of the optical fields of each image sensor and the image sensor. all the light sources, as well as the frame, so that the frame is in the union of the optical fields of the cameras.
- the installer positions the housing illustrated in FIG. 6, successively along the frame in at least three positions in the optical field of each camera, by orienting the axis of the light source towards cameras.
- the coordinates in the image plane of each light point indicate points of the region of interest ROI.
- the region of interest is defined in the images captured by each image sensor and the coordinates are stored in these images.
- this factor is set to the lowest value and is gradually increased, while the housing illustrated in FIG. 6 is in the field of the camera, until the level of perception of the light-emitting diode of this housing corresponds to a predetermined value, for example the level of white.
- a permanent automatic gain control is implemented to adapt the sensitivity of the camera to the ambient brightness.
- two half-lines are determined in the image plane of the camera and the points of these half-lines are considered as the region of interest ROI.
- the points lying at a distance from these half-lines less than a predetermined limit distance for example the points of the five half-lines shifted upward or downward from the image by at most five elements of image or pixels.
- the sensitivity of each camera is determined or, which amounts to the same, apart from the glare phenomena extending over the surface of the image sensor (blooming and smearing), the amplification of the signal out and the digitized range of values that will be taken into account, so that the region of interest has, over its entire surface a value considered black. It is observed that this normalization of the signal can be carried out point by point and dynamically, during the operation of the device, by considering, for each image point of the region of interest, the average value over a long period, by example five minutes, as black value.
- the minimum brightness for the points of this column is determined for each column of the region of interest ROI. Then a threshold value is determined, for example equal to twice the average of these minimums. The number of successive columns for which the minimum considered is greater than the threshold value is then determined. which provides a center point of each pointer and a width of each pointer seen by each camera.
- an angle registration phase is carried out, by pointing, through the interactive surface, at least two points lying on a horizontal line and treating their coordinates in the image planes.
- an optimization phase is also carried out during which, in the projected image, successive points of intersection of a regular grid are displayed successively, and the installer successively points each of these points. points in the interactive surface, with the physical pointer, for example his finger, as shown in Figure 9.
- the computer 125 performs, by data processing thus collected, a finer correction than in the initial calibration step.
- the active areas represented in 820 to 828 in FIG. 8, that is to say the screen areas, here 820 associated with a video projector and 821, are defined in the interactive surface. associated with a flat computer screen placed near the interactive surface, and the sensitive areas, 822 to 828, pointing, in turn, their corners.
- the installer assigns, with each gesture and each sensitive zone, an action to be performed. It is observed that a zone can be reserved for the detection of gestures, outside the screen areas and the areas associated with graphics corresponding to launches of applications.
- a single zone, called "keyboard” placed next to a poster representing, by matrix, alphanumeric characters, identified by its four corners, can allow the input of these characters, without the user having to point each of the corners of each of the subfields carrying a character, the device automatically decomposing the "keyboard" zone into sub-zones assigned to the different characters, the disposition of the characters on the poster being known to the device, moreover.
- the computer 125 defines the actions that will be successively launched when icons, graphics, texts or images will be selected with the pointer then acting as a mouse or with the horizontal and vertical gestures detected in these screen areas during a step 1322.
- step 1324 the operation of the device is started.
- step 1326 it is determined whether a pointer is in the field of the cameras. If no, step 1326 is repeated. If yes, during a step 1328, the coordinates in the plane of the detected pointer are determined.
- the two image coordinates provided by the cameras for a pointer make it possible to determine the position of the pointer in the user plane, that is to say the interactive surface.
- the current coordinate system used for the computation of the coordinates is a reference mark whose origin is the optical center of the camera placed on the left in figure 9.
- the axis of the abscissae is the horizontal axis oriented towards the camera represented on the right in figure 9
- the distance between the optical centers of the lenses of the cameras defines the unit of length.
- the y-axis is downward, the unit length being equal to that of the x-axis.
- angles ⁇ 1 and ⁇ 2 are functions of the angle between the optical axis of the corresponding camera and the horizontal and the abscissa of the center of the image of the pointer formed on the image sensor.
- step 1330 it is determined whether at least one new image has been supplied by one of the cameras (only one new image is received at a time if the cameras are not synchronized and two images are simultaneously received if the cameras are synchronized). Otherwise, step 1330 is repeated. If yes, during a step 1332, it is determined whether at least one new image has been provided by one of the cameras (only one new image is received at a time if the cameras are not synchronized and two images are simultaneously received if the cameras are synchronized). Otherwise, step 1332 is repeated.
- the coordinates in the plane of the pointer are determined for each section of images successively received from one or the other of the cameras and, during a step 1336, the first pointer is assigned, as corrected position, the center of gravity of the last three positions determined from these successive pairs, assigned respective weights 1, 2 and 1.
- step 1338 it is determined whether the pointer is a finger or a hand, by measuring the actual diameters of the pointer as a function of the apparent diameters and the real coordinates of the center of the pointer and they are compared with a threshold value. for example 3 centimeters. Still during step 1338, it is determined whether a gesture (the gesture term also covering the immobility) can be identified from the last corrected positions of each pointer and the parameters defining each gesture. If so, during a step 1340, the action corresponding to said gesture and to the active zone in which this gesture is performed is started and step 1348 is taken. Otherwise, step 1342 is carried out.
- a gesture the gesture term also covering the immobility
- step 1342 it is determined whether at least one new image has been provided by one of the cameras (only one new image is received at a time if the cameras are not synchronized and two images are simultaneously received if the cameras are synchronized). Otherwise, step 1342 is repeated. If yes, during a step 1344, it is determined whether at least two pointers have been detected. Otherwise, during a step 1346, the coordinates in the plane of the pointer are determined for each section of images received successively from one or the other of the cameras and, during a step 1348, one assigns at the first pointer, as the corrected position, the centroid of the last three positions determined from these successive pairs, assigned respective weights 1,
- step 1344 If the result of step 1344 is positive, that is to say if there are at least two detected pointers, it is determined during a step 1352, if one of the pointers hides another in the optical field of at least one camera. Otherwise, during a step 1354, the possible positions of the pointers are determined. For example, there are four possible positions when two pointers are detected by each of the two cameras. Then, during a step 1356, for each old pointer, that is to say for each pointer that has already been detected, the Kalman prediction of the position of said pointer is then determined. Then, during a step 1358, for each old pointer, the distance between the Kalman prediction and each of the possible positions is calculated.
- a model break it is determined whether a model break occurs, that is to say if the minimum of the distances between a Kalman prediction and the possible positions is much smaller (for example at least four times lower ), at least distances between another prediction of
- step 1364 If yes, during a step 1362, this position is assigned to the pointer whose Kalman prediction is closest to one of the possible positions and this step is repeated for other pointers by eliminating the possible positions corresponding to each position already allocated. Then proceed to step 1366.
- step 1364 the old pointers are assigned the compatible positions that minimize the sum of the distances between these compatible positions and the Kalman predictions. Then we go to step 1366.
- step 1366 If there is a new pointer, during the step 1366, it is assigned the position compatible with the positions of the old pointers determined during the step 1362 or 1364. Then, during a step 1368, each pointer detected in at least three successive images is attributed, as corrected position, the barycentre of the last three positions determined from these successive pairs, assigned weights 1, 2 and 1. Then, we go to step 1338 .
- step 1352 If the result of step 1352 is positive, that is to say if one of the pointers hides another in the optical field of at least one camera, during a step 1370, it is retained as position of each pointer, that which minimizes the sum of the distances between the Kalman predictions and the compatible positions, without updating the Kalman filter.
- each detected pointer is assigned in at least three successive images, as corrected position, the center of gravity of the last three positions determined from these successive pairs, assigned respective weights 1, 2 and 1. Then, we return to step 1338.
- the installer is responsible for defining the location of the interactive zone as well as the settings adapted to the system environment. In other words, we define the field of action that must be considered by the system.
- the file "config.roi” is the file that gives the system the location of the frame relative to the bar carrying the cameras to read the region of interest.
- val.lum is the storage file of the system parameters in terms of sensitivity and operating mode (automatic or fixed). It is generated by the “Installation Kit” but can be modified under the "DK” software and the “Reader” software.
- the file “DebugFile.smg” is the file that will be sent to the contact, that is to say to the installer, for example on the Internet, for remote assistance. It will be used to retrieve information needed for remote help and remote config.roi file generation.
- the "DebugFile.smg” file is reset each time an "Installation Kit” software is launched. Under the “DK” or “Reader” software, this file is reinitialized when requesting the display of the images taken by the cameras, in particular for checking and correcting the regions of interest with a score of the points corresponding to the ends and at the corners of the frame.
- the file extension "3df” is the file where is stored the setting of the window. This file contains the location of the different active zones, the applications associated with these active zones and the behavior setting, in terms of association of gestures and actions in each of these zones. This is the file to open explicitly to have the setting active. All other files are implicitly loaded by the software; they are searched in the installation directory. This is charged by the operator. Thus, for the same environment in terms of bar, frame, light, one can have various behaviors.
- the “Development Kit” defines the interactive environment of the installation and its applications.
- the “Development Kit” will therefore make it possible to define: • the locations of the specific zones on the showcase,
- the "Development Kit” allows to prepare the software deployment in advance, before the installation on site.
- the file “3df” can be generated without being connected to a physical system. This makes it possible to prepare the set of applications that will be used, to test their parameterization under the software "DK” by simulating a real activation.
- the "Development Kit” is there for all the preparatory work for the final deployment of the system: prior configuration, online or off-line.
- the "Reader” software allows you to open a pre-recorded document by the "DK” version. This version will be launched when the user double clicks on a document of type "3df”.
- the "Reader” software corresponds to a daily use of the final installation.
- the possible settings of the installation are minimal and correspond to the adaptation of the work done under the "DK" during the final deployment.
- the main screen area is the main area of the system. It is quadrilateral zone. This zone corresponds to the display zone, ie a video projection zone or an area opposite which a flat screen is placed behind the interactive surface.
- the main zone is defined first because it is used to define other types of zones.
- Sensitive areas are usually simple detection zones (that is to say without association of gestures and actions), with regard to a graphic, an object, a poster, an opening, a text, a photo, by example.
- a sensitive zone is an area that corresponds, in terms of automation, to a simple button. This is a generally quadrilateral zone.
- a simple sensitive detection zone is opposite a sticker on the periphery of the main screen area.
- the applications that will be used by the device must have been chosen to match the message that is to be delivered.
- the installer can make the most of the possibilities of the device in terms of visual effects: at the detection of a horizontal gesture, open a "bonus" window, change the appearance of objects ...
- the ".3df" file contains:
- the "DK” software is used to define a main screen area where users can interact with their hand or finger.
- This software can also create "sensitive areas".
- the installer successively points the four corners of the screen according to the instructions displayed on this screen.
- each corner requires a duration of immobility of the finger from 1 to 2 seconds to take the position of the stabilized finger and thus provide better accuracy.
- the device makes it possible to set the action to be performed when the device is launched and the action to be performed when an active zone is touched. There is the possibility to choose an executable to launch.
- a resource can also be associated with it.
- this operation in command of actions from the discrimination of gestures by the device, is used a menu "configure active zone".
- the device has, for example, as possible actions:
- a mouse click is generated at the current position. As part of a click or double-click gesture, the click is generated where the gesture was detected.
- a double mouse click is generated at the current position.
- the click is generated where the gesture was detected.
- F1 to F12 • Entry, Space, Escape, Ait, Control, Shift, Windows (registered trademark) and
- the management of the paths relating to the position of the program is taken into account.
- This action closes the last application launched by the system that can be destroyed and restart the default application with its associated setting. This application will be closed if a hotspot is enabled.
- the device has a list of detectable gestures.
- a stationary finger points at the screen area for a certain period of time.
- the notion of immobility is concretely expressed by a small area around the finger. If the finger remains during the required time in the same zone, it is considered as immobile. So, in the context of a single gesture "pointer” parametrized, the detection of gesture "point”, as the finger does not come out of this area, no gesture is set.
- the pointer must be made straight (perpendicular to the interactive plane) or you will detect a hand.
- a second While a first immobile finger is pointing to the screen area, a second (remote from the previous) enters and exits the same screen area.
- a hand is present in the screen area.
- the constraints of using the hand gesture are:
- the gesture Vertical Movement Vertical movement of the finger characterized by a duration; a given amplitude and meaning.
- a time of 700 ms is usually appropriate. The longer the duration, the more the gesture of the user can be slow to cover the distance. 5.
- This gesture is detected when the user no longer uses the interactivity of the window. No more gestures are made or finger detected. This gesture has a duration in ms.
- the finger taps the showcase with a dry and sharp gesture and immediately comes out. There are no parameters associated with this gesture. 8.
- the Double-Click gesture
- the finger taps the showcase twice in a row as it comes in and out with a dry, crisp gesture. There are no parameters associated with this gesture.
- the double click gesture corresponds to two "click" gestures very quickly and in the same place. A double-click made by the user thus generates the detection of a click and a double click.
- Other gestures The circular movements of the hand, of a diameter greater than a predetermined diameter, in one direction or the other, may provide two gestures interpreted by the device and associated, alone or in combination with other gestures, actions, for example speed and direction of an audiovisual program, a slide show or a page.
- crosses "X” or “+” and the zigzags “N” and “Z” may provide gestures interpreted by the device and associated, alone or in combination with other gestures, to actions, for example “Move to next offer” and “put the offer in a selection", pause and resume.
- the system can manage simultaneously:
- Click, double click and hand detection of the click gesture is difficult if the hand is also detected because the position of the finger must then be straight.
- Hand and double-pointer the hand and the double-pointer are the gestures most likely to be undesirably detected. If used together, there is a risk of common detections.
- Hand and horizontal / vertical gestures If the hand gesture is done dynamically (the user puts his hand and moves it in the interactive zone), we can detect the horizontal or vertical gestures. If the gestures are set together, the following detections can occur: hand, horizontal, hand.
- Point and double point if the user makes a point and enters another finger and then removes it, we can have the detection series point-second target-point. If there are two "pointer" gestures set with the double-pointer gesture, it is necessary to wait for the time necessary for the pointeri (point it with the shortest duration) before the re-detection, on the other hand if the pointer2 (with the longest duration) is configured there will not be pointeri -second target-pointer2, the gestures being reset.
- a hotspot can be viewed as a single zone (a button) that can be activated. It is a rectangular area. It is associated with a list of actions to perform when it is activated (launching applications, keyboard events %) and a modification of the screen space settings.
- Activating this zone corresponds to touching the physical part that defines the zone. Typically, on a showcase, this would be a sticker on the periphery of the screen area.
- Each self-adhesive corresponding to a theme we can associate different applications and therefore a different mode of operation.
- the system has a list of hotspots. We can thus, for each zone of the list:
- the representation of the showcase is an approximate representation of the location of the different areas that form a showcase. This makes it possible to visualize the location of the zones relative to each other, but the positions are not real.
- a PowerPoint slideshow (trademark) will scroll when you make a horizontal gesture to the right and return to the previous page when you make a horizontal gesture to the left.
- the installer or the operator goes into the "configure / sensitive areas" menu of the "DK” software. It adds a new empty hotspot. For its definition, it puts in the program the software "PowerPoint Viewer” (registered trademarks) and as a resource file extension “.ppt” (trademark). It does not put an option because PowerPoint Viewer has the characteristic of launching files in viewer mode.
- the parameter values are, by default, identical to those in the other direction.
- the installer puts the keyboard shortcut "Page Up” and clicks on "Add”.
- the installer or the operator has an HTML application in which he wants to switch from link to link.
- this application contains a specific area where a double click of the mouse on a position - within this area - causes the displacement of a graphic object under the double click position.
- This application is associated with an object. This object will be accessible by the end user. He can grab it.
- the window On the representation of the window, it is the circle that pierces the interactive surface to grab an object that is on a shelf behind the surface.
- a rectangle represents the screen area, management area of the cursor tracking. Small areas represent sensitive areas for which stickers have been placed.
- the round is a hollow through which an object can be grasped. When the user enters the object, he goes through the defined area and thus activates the application.
- the sensitive area to be defined is a rectangular area that encompasses the circle.
- entering and resting the object would cause the application that is enabled for detection to be restarted when the user rests the object.
- we change the activation mode of the sensitive zone. We will put mode 2 with infinite duration to prevent the application from being reset.
- click and double-click gestures - finger gesture - click and double click actions - simulation of mouse button use - must be selected.
- This example of use makes it possible, among other things, to make a withdrawal point for objects bought or rented on the Internet, on a site whose pages are programmed in HTML, the object being accessible only after payment or identification of the user.
- a computer screen image is formed behind the window (for example on a computer screen), or on the showcase (for example by video-projection on a frosted surface of the window).
- the device is then calibrated and the actions associated with the different actions that can be performed in relation to the different active zones defined on the showcase, possibly with the help of the displayed computer screen image.
- the object taken through these openings may cause actions such as the addition of an amount corresponding to the contents of the locker to a total amount to be adjusted.
- the positions, shapes and trajectories of the pointers, fingers or hands, control musical parameters, such as the sound volume, the balance between several loudspeakers, the speed of play of a piece, etc.
- the cameras mentioned in the description are provided with a polarizer filter to reduce the influence of reflections on the support or on the frame. Indeed, these reflections have a particular polarization.
- the polarizing filters preferentially have a direction of polarization perpendicular to that of these reflections.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Input By Displaying (AREA)
Abstract
Le dispositif comporte : une barre (100) de forme longiligne qui comporte deux capteurs d'image matriciels (120, 160) fournissant, chacun, une image en deux dimensions, comportant une pluralité de lignes et une pluralité de colonnes, placés aux extrémités de la barre et dont les champs optiques se superposent et englobent ladite surface, - un moyen de mémorisation (125), pour chacun desdits capteurs d'image matriciels, d'au moins une région d'intérêt constituée d'une partie comportant, au moins, une pluralités de segments de lignes et une pluralité de segments de colonnes de l'image fournie par ledit capteur d'image matriciel, chaque dite région d'intérêt représentant l'image, vue en coupe, de ladite surface et d'au moins un éventuel pointeur coupant ladite surface et - un moyen de détermination (125) de position d'au moins un dit pointeur coupant ladite surface, en fonction de la partie des images dudit pointeur se trouvant dans lesdites régions d'intérêt.
Description
PROCEDE ET DISPOSITIF POUR RENDRE UN VOLUME OU UNE SURFACE INTERACTIFS
La présente invention concerne un procédé et un dispositif pour rendre un volume ou une surface interactifs. Elle s'applique, en particulier, à permettre à un utilisateur, avec des gestes effectués dans cette surface ou ce volume, de commander des actions, par exemple des applications informatiques telles que la lecture de fichiers de médias et/ou la consultation de données.
On connaît de nombreux dispositifs visant à rendre interactif un volume ou une surface.
Les documents US 4,746,770, EP 0279652 et JP 63223819 décrivent une méthode pour isoler et manipuler des objets graphiques. Elle met en œuvre un cadre qui supporte une pluralité de capteurs optiques et une pluralité d'objets opaques, par exemple des doigts, qui obstruent une portion de la lumière normalement reçue par les capteurs. Cette méthode et le dispositif associé, basés sur l'occultation optique effectuée avec un doigt, imposent donc l'utilisation d'un cadre complexe, volumineux et onéreux puisqu'il doit porter, sur au moins deux côtés en vis-à-vis, des sources de lumière et des capteurs. De plus sa précision est limitée au produit du nombre de capteur par le nombre de sources de lumières, soit généralement quelques centaines de points seulement qui peuvent être discriminés.
L'écran tactile décrit dans le document US 5,162,783 présente les mêmes inconvénients. Les documents WO 99/40562 et US 19980020812 présentent un système tactile à caméra vidéo qui prend la forme d'une barre placée au dessus d'un écran d'ordinateur. Ce système met en œuvre un équipement périscopique complexe pour capter deux images de la scène juste devant l'écran d'ordinateur, selon différents angles. Enfin, ce système ne permet pas de repérer des pointeurs en dehors de la surface de l'écran.
Le document US 6,061 ,177 présente un dispositif d'entrée de données tactile pour un système de retro-projection. Il comporte une surface transparente et un diffuseur sur lequel une image est projetée et captée, par l'arrière, par une caméra. Lorsque l'écran est touché, la réflexion de lumière est interrompue par l'absorption à la surface du doigt touchant l'écran et captée par la caméra. Ce système impose la libération d'un volume important correspondant à la somme du champ optique de la caméra et du champ optique du rétroprojecteur, ce qui nuit à son utilisation sur des surfaces de grande dimension. De plus, ce système ne peut être mis en œuvre en extérieur où les éclairements incidents parasites peuvent être très éblouissants pour le capteur d'image de la caméra. Enfin, ce système ne permet pas la détection de pointeur en dehors de la zone de projection d'image par le rétroprojecteur. Le dispositif décrit dans le document JP 2003 312123 présente les mêmes inconvénients. De même, le dispositif décrit dans les documents DE 1995 1322 et WO 01/31424 présente les mêmes inconvénients. De même, le dispositif décrit dans le document GB 2315859 présente les mêmes inconvénients.
La présente invention vise à remédier à ces inconvénients et notamment à proposer un dispositif fonctionnant en extérieur ou en intérieur, comportant des modules comportant des capteurs d'images et des sources d'éclairage pouvant être positionnés dans le plan de la surface interactive,
sans respecter des critères de positionnement contraignant tout en assurant une grande précision de discrimination de position d'un ou plusieurs pointeurs, par exemple des doigts.
C'est un autre objet de la présente invention que de proposer un dispositif pour rendre interactifs une surface ou un volume, dont tous les composants électriques se trouvent incorporés dans une barre linéaire facile à transporter, à implanter sur site ou à intégrer dans un meuble et à faire fonctionner en regard de ladite surface, indépendamment de la position d'éléments de cadre, ceux-ci ne comportant aucun composant électrique.
A cet effet, la présente invention vise, selon un premier aspect, un dispositif pour rendre une surface ou un volume interactifs, caractérisé en ce qu'il comporte : - une barre de forme longiligne qui comporte deux capteurs d'image matriciels fournissant, chacun, une image en deux dimensions, comportant une pluralité de lignes et une pluralité de colonnes, placés aux extrémités de la barre et dont les champs optiques se superposent et englobent ladite surface, un moyen de mémorisation, pour chacun desdits capteurs d'image matriciels, d'au moins une région d'intérêt constituée d'une partie comportant, au moins, une pluralité de segments de lignes et une pluralité de segments de colonnes de l'image fournie par ledit capteur d'image matriciel, chaque dite région d'intérêt représentant l'image, vue en coupe, de ladite surface et d'au moins un éventuel pointeur coupant ladite surface et un moyen de détermination de position d'au moins un dit pointeur coupant ladite surface, en fonction de la partie des images dudit pointeur se trouvant dans lesdites régions d'intérêt.
Grâce à ces dispositions, les capteurs d'image matriciels, par exemple des caméras vidéos grand public et les cartes d'acquisition d'image grand public, moins coûteux que des capteurs et cartes linéaires ou spécifiques, peuvent être mises en œuvre et réduire la complexité et le coût du dispositif. De plus, le dispositif, du fait de sa forme en barre longiligne, peut être aisément transporté, par exemple par un service postal. Un installateur peut positionner cette barre en une position quelconque pourvu que la zone de superposition des champs optiques des capteurs d'image matriciels couvre la surface ou le volume à rendre interactifs et que l'éclairement, ambiant ou fourni par au moins une source de lumière intégrée à la barre permette la détection de pointeurs, par chaque capteur d'image matriciel dans l'ensemble de cette surface. La mise en œuvre d'une barre permet aussi que de nombreuses étapes de paramétrage, à la fabrication, comme celui de la distance entre les caméras, des longueurs focales des objectifs des caméras et des angles entre l'axe optique des caméras et l'axe passant par les centres optiques des objectifs des caméras. L'installation sur site est donc grandement facilitée. Il est donc possible de fournir des installateurs ou les exploitants non formés avec une barre et un logiciel implémentant les moyens de mémorisation de régions d'intérêt et les moyens de détermination de position. Le dispositif objet de la présente invention peut ainsi devenir un simple composant, similaire à un écran tactile de grandes dimensions.
Selon des caractéristiques particulières, le dispositif tel que succinctement exposé ci-dessus comporte, en outre, un moyen de commande d'affichage d'au moins un point de référence en regard de ladite surface et un moyen de mémorisation de coordonnées d'un pointeur placé en regard de chaque point de référence, lesdites coordonnées provenant du traitement des images du pointeur fournies par
les capteurs d'image, pour déterminer une correspondance entre la position du pointeur et les coordonnées, dans le plan de l'affichage matriciel, du point de l'affichage qui se trouve en regard dudit pointeur.
Selon des caractéristiques particulières, le dispositif tel que succinctement exposé ci-dessus comporte, en outre : un moyen de mémorisation de coordonnées d'un pointeur placé successivement en des points extrêmes d'au moins une zone active dans ladite surface, lesdites coordonnées provenant du traitement des images du pointeur fournies par les capteurs d'image, un moyen d'association, à chaque zone active, d'au moins une action à effectuer et, - un moyen de déclenchement d'action, adapté, lorsque le moyen de détermination de position fournit une position d'un pointeur correspondant à l'une des zones actives, à déclenchement une action associée à ladite zone active.
Grâce à ces dispositions, à chaque fois qu'un utilisateur positionne un pointeur en regard de l'intérieur de l'une des zones actives, le traitement des images de ce pointeur dans les régions d'intérêt des deux capteurs permet de déterminer qu'il se trouve à l'intérieur de la zone active considérée et de lancer une action affectée à ladite zone active.
Selon des caractéristiques particulières, le dispositif tel que succinctement exposé ci-dessus comporte, en outre : un afficheur matriciel positionné parallèlement et en regard d'une partie de ladite surface ; - un moyen de mémorisation de coordonnées d'un pointeur placé successivement en regard des points extrêmes dudit afficheur matriciel, lesdites coordonnées définissant une zone active, ladite zone active étant associée à au moins une action à effectuer.
Grâce à ces dispositions, un utilisateur peut interagir avec une image animée ou un écran d'ordinateur, comme avec une souris. Selon des caractéristiques particulières, le dispositif tel que succinctement exposé ci-dessus comporte, en outre : un moyen d'affichage, sur ledit afficheur matriciel, d'au moins un point de référence ; un moyen de mémorisation de coordonnées d'un pointeur placé en regard de chaque dit point de référence, lesdites coordonnées provenant du traitement des images du pointeur fournies par les capteurs d'image, un moyen de mémorisation de données représentatives d'une distorsion optique.
Grâce à ces dispositions, la précision de détermination de coordonnées d'un point de l'afficheur pointé par un pointeur peut être augmentée et permet un fonctionnement en dispositif de pointage informatique similaire à celui d'une souris. Selon des caractéristiques particulières, le dispositif tel que succinctement exposé ci-dessus comporte, en outre : un moyen de détermination de positions successives d'un pointeur dans Ie plan de la surface rendue interactive, par traitement des deux dernières images reçues des capteurs d'image, chaque position comportant deux coordonnées et
un moyen de correction de position du pointeur, au cours de laquelle, on attribue, comme position corrigée, une position fonction d'au moins deux positions successives.
Grâce à ces dispositions, même si les prises d'image des deux capteurs matriciels ne sont pas synchronisées, on compense, au moins partiellement, les erreurs de positions provenant du déplacement du pointeur entre les instants de prise de vues des caméras. Cette compensation est efficace que l'on utilise, en permanence la dernière image fournie par chaque caméra ou en attendant une nouvelle image des deux caméras avant d'effectuer le traitement.
Selon des caractéristiques particulières, ledit moyen de correction est adapté à ce que la position corrigée soit le barycentre pondéré de la dernière, de l'avant-dernière et de l'antépénultième positions, la dernière et l'antépénultième position possédant chacune un poids égal à la moitié du poids de l'avant dernière position. Ainsi, la position compensée est très proche de la position réelle du pointeur tout en n'ajoutant qu'un temps de réponse inférieur à la durée l'intervalle de temps entre deux pises de vues successives par la même caméra, soit typiquement 20 millisecondes.
Selon des caractéristiques particulières, le dispositif tel que succinctement exposé ci-dessus comporte, en outre : une source de lumière mobile positionnée successivement le long d'un cadre placé dans le plan de la surface à rendre interactive, en dehors de ladite surface, en au moins deux positions se trouvant dans le champ optique de chaque capteur d'image matriciel et orientant ladite source de lumière vers ledit capteur d'image matriciel ; - un moyen de mémorisation des coordonnées dans le plan de l'image fournie par le capteur d'image matriciel, du point correspondant à ladite source de lumière mobile, pour chaque position de ladite source de lumière, et un moyen de détermination de la région d'intérêt, dans le plan de l'image fournie par ledit capteur, ladite région d'intérêt comportant chaque segment de droite tracé entre deux points correspondant aux positions successives de ladite source de lumière mobile dans les images fournies par chaque capteur d'image matriciel.
Grâce à ces dispositions, la détermination de la région d'intérêt de chaque image fournie par un capteur d'image est aisée et précise.
Selon des caractéristiques particulières, le dispositif tel que succinctement exposé ci-dessus comporte, en outre, un moyen de détermination de la région d'intérêt, dans le plan de l'image fournie par ledit capteur, ladite région d'intérêt comportant chaque segment de droite tracé entre deux positions de pointeur successives dans la région d'intérêt, dans une image prise par chaque capteur matriciel.
Grâce à ces dispositions, il n'est pas nécessaire de disposer une source de lumière dans le champ des caméras et Ia détermination des régions d'intérêt peut être effectuée à distance à partir d'une image fournie par chaque caméra, par exemple en Ia transportant sur Internet.
Selon des caractéristiques particulières, le dispositif tel que succinctement exposé ci-dessus comporte un moyen de détection adapté, pour détecter un pointeur, à déterminer, pour chaque colonne d'éléments d'image de la région d'intérêt de chaque capteur, le minimum de luminosité pour les points de cette colonne et à comparer ce minimum à une valeur seuil de luminosité et le nombre de minimums consécutifs dépassant cette valeur seuil à au moins une valeur seuil de largeur apparente.
On détermine ainsi si le pointeur répond à des critères de largeur le différenciant d'un reflet ou d'un objet quelconque.
Selon des caractéristiques particulières, le dispositif tel que succinctement exposé ci-dessus comporte : - un moyen d'attribution d'une application informatique, pour au moins un mouvement du pointeur et pour au moins une zone active ou l'ensemble de la surface interactive, et un moyen de commande adapté, lorsque ledit mouvement est détecté dans ladite zone active ou dans la surface interactive, respectivement, à lancer une étape de fonctionnement de ladite application informatique. Grâce à ces dispositions, on peut faire correspondre à des mouvements de main horizontaux ou verticaux ou à des maintiens en position de différentes durées, différentes applications informatiques telles que des changements de page écran, des lancements ou des sorties d'une application ou d'un fichier.
Selon des caractéristiques particulières, le moyen d'attribution est adapté à ce qu'au moins un dit mouvement soit défini par son amplitude, sa durée ou sa vitesse, sa tolérance spatiale sa direction et son sens.
Selon des caractéristiques particulières, le dispositif tel que succinctement exposé ci-dessus comporte un moyen de détermination de prédiction de Kalman et un moyen d'attribution de position adapté, lorsque au moins deux pointeurs sont détectés, à attribuer à au moins un desdits pointeurs une des positions possibles dont la distance à une prédiction de Kalman est minimale.
Selon des caractéristiques particulières, le dispositif tel que succinctement exposé ci-dessus comporte un moyen de détermination de prédiction de Kalman et un moyen d'attribution de position adapté, lorsque au moins deux pointeurs sont détectés, à attribuer audits pointeurs des positions possibles compatibles avec les images des pointeurs qui minimisent la somme de leur distance aux prédictions de Kalman.
Selon des caractéristiques particulières, le dispositif tel que succinctement exposé ci-dessus comporte, en outre : un moyen de détermination d'au moins une zone active dans ladite surface et un moyen d'association, à chaque zone active, d'au moins une action à effectuer à au moins un geste défini par au moins une relation entre des positions successives, un moyen de détermination de positions successives d'au moins un pointeur en fonction des images captées par les capteurs d'image et un moyen de déclenchement d'une action associée à ladite zone active en fonction des positions successives dudit pointeur, lorsque, dans une phase d'exploitation, la position d'un pointeur correspond à une zone active.
Grâce à ces dispositions, on peut associer un geste à une action, par exemple, Ie lancement d'une application informatique ou d'un programme audiovisuel, l'ouverture d'un fichier, un changement de page ou d'image d'une présentation, l'utilisateur n'ayant qu'à reproduire le geste dans la zone d'intérêt des capteurs et dans la zone active associée, pour déclencher cette action.
Selon un deuxième aspect, la présente invention vise un procédé pour rendre une surface ou un volume interactifs, caractérisé en ce qu'il comporte : une étape d'installation d'une barre de forme longiligne qui comporte deux capteurs d'image matriciels fournissant, chacun, une image en deux dimensions, comportant une pluralité de lignes et une pluralité de colonnes, placés aux extrémités de la barre et dont les champs optiques se superposent et englobent ladite surface, une étape de mémorisation, pour chacun desdits capteurs d'image matriciels, d'au moins une région d'intérêt constituée d'une partie comportant, au moins, une pluralités de segments de lignes et une pluralité de segments de colonnes de l'image fournie par ledit capteur d'image matriciel, chaque dite région d'intérêt représentant l'image, vue en coupe, de ladite surface et d'au moins un éventuel pointeur coupant ladite surface et une étape de détermination de position d'au moins un dit pointeur coupant ladite surface, en fonction de la partie des images dudit pointeur se trouvant dans lesdites régions d'intérêt. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, en outre, une étape de commande d'affichage d'au moins un point de référence en regard de ladite surface et une étape de mémorisation de coordonnées d'un pointeur placé en regard de chaque point de référence, lesdites coordonnées provenant du traitement des images du pointeur fournies par les capteurs d'image, pour déterminer une correspondance entre la position du pointeur et les coordonnées, dans le plan de l'affichage matriciel, du point de l'affichage qui se trouve en regard dudit pointeur.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, en outre : une étape de mémorisation de coordonnées d'un pointeur placé successivement en des points extrêmes d'au moins une zone active dans ladite surface, lesdites coordonnées provenant du traitement des images du pointeur fournies par les capteurs d'image, une étape d'association, à chaque zone active, d'au moins une action à effectuer et, une étape de déclenchement d'action, lorsque le moyen de détermination de position fournit une position d'un pointeur correspondant à l'une des zones actives, d'une action associée à ladite zone active. Les avantages de ce procédé étant similaire à ceux du dispositif, tel que succinctement exposé ci-dessus, ils ne sont pas rappelés ici.
Les inventeurs ont découvert qu'un problème qui se pose lorsque l'on souhaite utiliser un doigt ou la main pour interagir avec une grande surface est celui de déclencher des actions, en plus de pointer un objet, comme on le ferait en double cliquant avec une souris ou en utilisant le bouton droit et, de créer de nouvelles manières de déclencher des actions, impossibles avec des souris.
A cet effet, selon un troisième aspect, la présente invention vise un procédé pour rendre une surface interactive, caractérisé en ce qu'il comporte, d'une part, une étape d'initialisation qui comporte : une étape de positionnement d'au moins deux capteurs d'images dans le plan de ladite surface, le champ optique de chaque capteur d'image couvrant l'ensemble de ladite surface, - une étape de détermination d'au moins une zone active dans ladite surface,
une étape d'association, à chaque zone active, d'au moins une action à effectuer à au moins un geste défini par au moins une relation entre des positions successives et, d'autre part, une étape d'exploitation qui comporte : une étape de détermination de positions successives d'au moins un pointeur en fonction des images captées par les capteurs d'image et lorsque la position d'un pointeur correspond à une zone active, une étape de déclenchement d'une action associée à ladite zone active en fonction de positions successives dudit pointeur.
Grâce à ces dispositions, on peut associer un geste à une action, par exemple, le lancement d'une application informatique ou d'un programme audiovisuel, l'ouverture d'un fichier, un changement de page ou d'image d'une présentation, l'utilisateur n'ayant qu'à reproduire le geste dans la zone d'intérêt des capteurs et dans la zone active associée, pour déclencher cette action.
Selon des caractéristiques particulières, l'étape de détermination d'au moins une zone active comporte une étape de mémorisation de coordonnées d'un pointeur placé successivement en des points extrêmes de ladite zone active dans ladite surface, lesdites coordonnées provenant du traitement des images du pointeur fournies par les capteurs d'image.
Grâce à ces dispositions, pour déclarer une zone active, par exemple en regard d'une affiche sur une vitrine ou d'un accès à un bien, l'utilisateur n'a qu'à en indiquer les points extrêmes, par exemple les coins de cette zone active. La programmation est ainsi rapide et intuitive.
Selon des caractéristiques particulières, au cours de l'étape de positionnement, chaque capteur d'image est un capteur d'image matriciel, le procédé comportant, en outre, une étape de mémorisation d'une région d'intérêt dans l'image fournie par chacun desdits capteurs matriciels, lesdites régions d'intérêt représentant l'image, vue en coupe, de ladite surface et de chaque pointeur coupant ladite surface.
Grâce à ces dispositions, les avantages et caractéristiques particulières du premier aspect de la présente invention, succinctement exposé ci-dessus, se retrouvent associés à ceux du troisième aspect de la présente invention.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, en outre : une étape de positionnement d'au moins un afficheur matriciel parallèlement et en regard d'une partie de ladite surface ; une étape de mémorisation de coordonnées d'un pointeur placé successivement en regard des points extrêmes dudit afficheur matriciel, lesdites coordonnées définissant une zone active, ladite zone active étant associée à au moins une action à effectuer.
Grâce à ces dispositions, une zone active peut être aisément créée en regard d'un écran d'affichage, par exemple un écran d'ordinateur ou de téléviseur et les actions associées à la zone active peuvent influencer le contenu affiché sur cet écran.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, en outre : une étape d'affichage, sur ledit afficheur matriciel, d'au moins un point de référence ;
une étape de mémorisation de coordonnées d'un pointeur placé en regard de chaque dit point de référence, lesdites coordonnées provenant du traitement des images du pointeur fournies par les capteurs d'image et une étape de traitement desdites coordonnées pour déterminer une correction à appliquer aux images.
Grâce à ces dispositions, un calibrage fin du repérage du pointeur peut être effectué. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, en outre : une étape de détermination de positions successives d'un pointeur dans le plan de la surface rendue interactive, par traitement des deux dernières images reçues des capteurs d'image, chaque position comportant deux coordonnées et une étape de correction de position du pointeur, au cours de laquelle, on attribue, comme position corrigée, une position fonction d'au moins deux positions successives. Selon des caractéristiques particulières, au cours de l'étape de correction de position, la position corrigée est le barycentre pondéré de la dernière, de l'avant-dernière et de l'antépénultième positions, ia dernière et l'antépénultième position possédant chacune un poids égal à la moitié du poids de l'avant dernière position.
Grâce à chacune de ces dispositions, les capteurs d'image matriciels n'ont pas besoin d'être synchronisés pour fournir un positionnement précis du pointeur : les effets d'erreurs de triangulation dues au mouvements éventuels du pointeur entre des prises d'images effectuées par les deux capteurs sont compensés.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, en outre : une étape de positionnement successif ie long d'un cadre placé dans le plan de la surface à rendre interactive, en dehors de ladite surface, en au moins deux positions se trouvant dans le champ optique de chaque capteur d'image, d'une source de lumière mobile orientée vers ledit capteur d'image ; pour chaque position de ladite source de lumière, une étape de mémorisation des coordonnées, dans le pian de l'image fournie par le capteur d'image, du point correspondant à ladite source de lumière mobile et une étape de détermination de la région d'intérêt, dans le plan de l'image fournis par ledit capteur, ladite région d'intérêt comportant chaque segment de droite tracé entre deux points correspondant aux positions successives de ladite source de lumière mobile. Grâce à ces dispositions, la détermination de la région d'intérêt de chaque image fournie par un capteur d'image est aisée et précise.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, en outre : une étape de pointage, dans une image prise par chaque capteur matriciel, d'au moins deux positions correspondant à des points d'une région d'intérêt ;
pour chaque position, une mémorisation des coordonnées, dans le plan de l'image fournie par le capteur d'image, du point correspondant et une étape de détermination de la région d'intérêt, dans le plan de l'image fournie par ledit capteur d'image, ladite région d'intérêt comportant chaque segment de droite tracé entre deux points successifs dont les coordonnées ont été mémorisées.
Grâce à ces dispositions, la détermination de la région d'intérêt de chaque image fournie par un capteur d'image est aisée et précise.
Selon des caractéristiques particulières, pour détecter un pointeur, on détermine, pour chaque colonne d'éléments d'image de la région d'intérêt de chaque capteur, le minimum de luminosité pour les points de cette colonne et on compare ce minimum à une valeur seuil de luminosité et le nombre de minimums consécutifs dépassant cette valeur seuil à au moins une valeur seuil de largeur apparente.
Grâce à ces dispositions, la détermination de la position du pointeur est aisée et précise et s'affranchit d'au moins une partie des éventuels problèmes de lumière parasite.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte : une étape d'attribution d'une application informatique, pour au moins un mouvement du pointeur et pour au moins une zone active ou l'ensemble de la surface interactive, et lorsque ledit mouvement est détecté dans ladite zone active ou dans la surface interactive, respectivement, une étape de fonctionnement de ladite application informatique. Grâce à ces dispositions, des applications informatiques peuvent être lancées d'un simple geste.
Selon des caractéristiques particulières, au cours de l'étape d'attribution d'une application informatique, au moins un dit mouvement est défini par son amplitude, sa durée ou sa vitesse, sa tolérance spatiale, sa direction et son sens. Grâce à ces dispositions, les gestes sont aisément mémorisables par l'utilisateur et paramétrables.
Selon des caractéristiques particulières, lorsque au moins deux pointeurs sont détectés, on effectue une étape d'attribution à au moins un desdits pointeurs une des positions possibles dont la distance à une prédiction de Kalman est minimale. Selon des caractéristiques particulières, lorsque au moins deux pointeurs sont détectés, on effectue une étape d'attribution audits pointeurs des positions possibles compatibles avec les images des pointeurs qui minimisent la somme de leur distance aux prédictions de Kalman.
Grâce à chacune de ces dispositions, l'utilisateur peut utiliser deux pointeurs, par exemple deux doigts ou deux mains, pour interagir avec la surface interactive, la prédiction de Kalman résolvant alors la multitude de triangulations potentiellement valides.
Selon un quatrième aspect, la présente invention vise un dispositif pour rendre une surface interactive, caractérisé en ce qu'il comporte : deux capteurs d'images dans le plan de ladite surface, le champ optique de chaque capteur d'image couvrant l'ensemble de ladite surface ; - un moyen de détermination d'au moins une zone active dans ladite surface et
un moyen d'association, à chaque zone active, d'au moins une action à effectuer à au moins un geste défini par au moins une relation entre des positions successives, un moyen de détermination de positions successives d'au moins un pointeur en fonction des images captées par les capteurs d'image et un moyen de déclenchement d'une action associée à ladite zone active en fonction des positions successives dudit pointeur, lorsque, dans une phase d'exploitation, la position d'un pointeur correspond à une zone active.
Les avantages, buts et caractéristiques particulières de ce dispositif étant similaires à ceux du procédé objet du troisième aspect de la présente invention, ils ne sont pas rappelés ici. Les buts, caractéristiques essentielles ou particulières et avantages de chacun des procédés ou dispositifs objets des différents aspects de la présente invention sont préférentiellement combinés pour former un procédé et un dispositif rendant un volume ou une surface interactifs particulièrement facile à transporter, à installer et à paramétrer et permettant des interactions riches avec l'utilisateur, y compris par le déclenchement d'actions en fonctions de gestes réalisés par l'utilisateur dans un zone active.
D'autres avantages, buts et caractéristiques de la présente invention ressortiront de ia description qui va suivre, faite, dans un but explicatif et nullement limitatif en regard des dessins annexés dans lesquels : la figure 1 représente, schématiquement, en coupe parallèle à la surface interactive, une partie d'un premier mode de réalisation du dispositif objet de la présente invention ; la figure 2 représente, schématiquement, en coupe perpendiculaire à la surface interactive, une partie du premier mode de réalisation du dispositif objet de la présente invention ; la figure 3 représente, schématiquement, en coupe parallèle à la surface interactive, une partie d'un deuxième mode de réalisation du dispositif objet de la présente invention ; - la figure 4 représente, schématiquement, en coupe parallèle à la surface interactive, une partie d'un troisième mode de réalisation du dispositif objet de la présente invention ; la figure 5 représente, schématiquement, en coupe parallèle à la surface interactive, une partie d'un quatrième mode de réalisation du dispositif objet de la présente invention ; les figures 6 et 7 représente un boîtier lumineux mis en oeuvre pour l'installation de modes particuliers de réalisation du dispositif objet de la présente invention ; la figure 8 représente, schématiquement quatre positions prises par le boîtier lumineux illustré en figures 6 et 7 ; la figure 9 représente des points, des positions de pointeurs et des positions de points corrigées mises en oeuvre dans des modes de réalisation particuliers du procédé objet de la présente invention ; la figure 10 représente des positions possibles de deux pointeurs et des prédictions de Kalman de deux pointeurs, mis en oeuvre dans des modes de réalisation particuliers du procédé objet de la présente invention ; la figure 11 représente, des positions d'un pointeur occulté par un autre pointeur, des estimations et des prédictions de Kalman du pointeur occulté ;
la figure 12 représente des positions mesurées et des positions corrigées d'un pointeur en mouvement selon des modes de réalisation particuliers du procédé objet de la présente invention ; les figures 13A à 13C représentent, sous forme d'un logigramme, des étapes mises en oeuvre dans des modes de réalisation particulier du procédé objet de la présente invention et les figures 14 à 16 représentent des profils de cadres comportant des parties concaves.
Dans toute la description, on parle d'une surface à rendre interactive. Cependant, la présente invention ne se limite pas à ce type particulier de volume plan mais s'étend, bien au contraire aux volumes définis comme l'intersection des cônes ayant comme base un cadre et comme sommet le centre optique des caméras. Ainsi, plus Ie cadre est étendu, plus c'est un volume important qui est rendu interactif.
On observe, en figure 1, une barre 100 comportant deux parties 110 et 150 situées longitudinalement, aux extrémités gauche et droite, respectivement, de la barre 100. Chaque partie 110 et 150 comporte une fenêtre, respectivement 112 et 152, orientée vers la surface à rendre interactive et munie d'un filtre filtrant la lumière visible et laissant passer les rayons en proche infrarouge, respectivement 115 et 155, une caméra monochrome dont le spectre de sensibilité couvre le visible et le proche infrarouge, respectivement 120 et 160 comportant un objectif, respectivement 122 et 162 et un capteur d'image matriciel, respectivement 124 et 164. Chaque caméra fournit un signal représentatif d'une image en deux dimensions comportant une pluralité de lignes et une pluralité de colonnes. Préférentiellement, chaque capteur d'image matriciel possède plus d'une centaine de lignes et plus d'une centaine de colonnes de zones photosensibles, ou pixels, et la caméra fournit un signal représentatif de l'intensité lumineuse reçue par chacune de ces zones photosensibles.
Chaque caméra est orientée, à travers la fenêtre correspondante, vers Ia surface à rendre interactive et une ouverture longitudinale pour l'aération. La barre 100, dont la longueur est, par exemple, au moins égale à cinq fois les autres dimensions, comporte, entre les parties 110 et 150, une lentille de Fresnel cylindrique longitudinale 130 orientée vers la surface à rendre interactive, une ou deux lignes de diodes électroluminescentes 135 émettant dans Ie proche infrarouge et orientées vers la lentille 130, un ventilateur longitudinal 140 et un ensemble de liaisons 145 assurant l'alimentation des caméras et des diodes électroluminescentes et le transport des signaux issus des caméras vers un ordinateur 125. La lentille 130 fait converger les rayons lumineux issus des diodes électroluminescentes 135 vers la surface à rendre interactive.
On observe, en figure 2, une vue en coupe d'une installation comportant la barre 100, au dessus d'une surface à rendre interactive 170 et d'un élément de cadre inférieur 175. Des éléments de cadres latéraux 180, non représentés en figure 2, bornent Ie champ optique des caméras, autour de la surface à rendre interactive. Les éléments de cadre sont très peu réfléchissants dans les longueurs d'onde que laissent passer les filtres 115 et 155. Par exemple, le cadre peut être formé d'une bande noire de 2 à 4 centimètres de large qui est peinte avec de la peinture Krylon ultra flat black, référence
K1602 pour Ie spray (marques déposées) et placée tout autour de la zone interactive souhaitée. Plus Ia partie basse du cadre est éloignée de la barre (la valeur HMl des documentations de plus en plus grande), plus cette bande noire devra être large.
Le profil du cadre peut être plan, éventuellement biseauté ou chanfreiné du côté opposé au support. Le profil du cadre peut également prendre une forme concave avec au moins deux parois planes formant entre elles un angle supérieur ou égal à 90°, au moins l'une desdites parois pouvant être verticale pour limiter la lumière parasite incidente sur l'intérieur du profil, comme illustré par les profils exemplaires 1400, 1500 et 1600, en figures 14 à 16.
Dans le mode d'installation illustré en figure 2, un mur 185 porte la barre 100, une vitrine 190 placée en regard de la surface à rendre interactive et les éléments de cadre 175 et 180. On observe que la présence d'une vitrine ou d'un quelconque objet, mur, rayonnage linaire ou meuble, n'est en rien nécessaire au fonctionnement du dispositif. Les étapes effectuées avec l'ordinateur 125, d'installation, de paramétrage et de fonctionnement du mode particulier de réalisation du dispositif objet de la présentation illustré en figures 1 et 2 sont décrites plus loin, en regard des figures 9 et suivantes.
Dans un mode de réalisation particulier, la barre est rendue élongeable. Dans ce mode de réalisation illustré en figure 3, une barre comporte les parties 110 et 150 et des éléments intermédiaires 305 portant, dans des modes de réalisation préférentiels, des diodes électroluminescentes 310 et des lentilles de Fresnel cylindriques longitudinales, ces éléments 305 étant montés sur une structure 320 déformable qui maintient les éléments 305 à équidistance les uns des autres lors de l'élongation de la barre.
On observe que le procédé et le dispositif objets de la présente invention n'imposent pas la mise en œuvre d'une source de lumière, ici les diodes électroluminescentes 310 et les lentilles de Fresnel, dans la cas où la lumière ambiante, par exemple solaire, est suffisante.
Dans un mode de réalisation particulier, illustré en figure 4, une barre 400 est positionnée en coin par rapport à la surface à rendre interactive et comporte les mêmes éléments que la barre 100, les fenêtres et les caméras 420 et 460 étant alors positionnées en parallèle et un cadre en « L » dont les éléments horizontal 475 et vertical 480 sont positionné autour du coin opposé de la surface interactive.
Dans un mode de réalisation particulier, illustré en figure 5, chaque module caméra 500 comporte une fenêtre 505, un filtre 510, une caméra 520 comportant un objectif 522 et un capteur d'image matriciel 524, deux lentilles 530, deux ou quatre lignes de diodes électroluminescentes 535 placées de part et d'autre de la caméra 520, deux ouvertures d'aération 540 et un ventilateur 550. Deux de ces modules caméras peuvent être positionnés n'importe où dans le plan de la surface à rendre interactive, sous réserve que l'intersection de leurs champs optique couvre l'ensemble de cette surface interactive et que les éclairements provenant des diodes électroluminescentes 535 soit suffisants, sur l'ensemble de la surface interactive, pour détecter la lumière réfléchie par un pointeur.
On observe, en figures 6 et 7, un boîtier de pointage 600 comportant une diode électroluminescente 605 émettant dans le proche infrarouge et possédant un angle d'émission supérieur à 60 degrés. En arrière de cette diode 605, deux plans 610 et 615 sont formés, en obliques par rapport à l'axe optique de la diode 605, et présentent avec cet axe un angle d'environ 30 degrés. Ainsi, lorsque le boîtier 600 est placé contre le cadre latéral 180 à la hauteur maximale de la surface à rendre interactive avec une orientation de l'axe optique de la diode 605 vers le haut, chaque caméra se trouvant dans le coin opposé est éclairée par la diode 605,comme illustré en figure 6. De même,
lorsque le boîtier 600 est placé dans un coin, en appui sur l'élément de cadre inférieur 175, les deux caméras sont toujours dans le champ d'émission de la diode 605, comme illustré en figure 7.
Dans des variantes, la diode 605 est remplacée par un ensemble de diodes formant une matrice à une ou deux dimensions pour augmenter le nombre de points d'image correspondant à la région d'intérêt. Dans des variantes, le boîtier de pointage 600 possède, sur l'une de ses faces latérales, un interrupteur pour que l'installateur puisse déclencher l'allumage de la ou des diodes. Dans des variantes possédant ledit interrupteur et au moins deux diodes positionnées latéralement, par rapport au plan perpendiculaire aux représentations du boîtier 600 en figures 6 à 8, les diodes sont allumées selon des séquences déphasées pour que, par traitement des images prises par les caméras, on différencie les coordonnées des points d'images correspondant à la vision directe des diodes et les coordonnées des points d'images correspondant à la réflexion de la lumière émise par ces diodes.
Pour aider le repérage de la diode électroluminescente dans le champ optique des caméras, cette diode est préférentiellement commandée pour clignoter, par exemple avec une période de une seconde. La procédure d'installation décrite ci-dessous s'applique au cas de la barre 100. L'homme du métier sait l'étendre aux autres modes de réalisation du dispositif illustrés en figures 3 à 5, en prenant en compte l'angle entre les axes optiques des objectifs des caméras.
Pour régler automatiquement les paramètres de chaque caméra et, en particulier, le facteur d'éclairement ou gain, on met ce facteur à la valeur la plus faible et on la fait croître progressivement, pendant que le boîtier illustré en figure 6 se trouve dans le champ de la caméra, jusqu'à ce que le niveau de perception de la diode électroluminescente de ce boîtier corresponde à une valeur prédéterminée, par exemple le niveau de blanc.
En variante, on met en œuvre un contrôle automatique de gain permanent pour adapter la sensibilité de Ia caméra à la luminosité ambiante. Les caméras mises en œuvre dans les dispositifs objets de la présente invention étant préférentiellement des caméras matricielles, elles fournissent des images qui représentent, successivement le long de leur plus petite dimension, d'une part l'environnement proche d'un premier côté de la surface à rendre interactive, par exemple une vitrine, d'autre part, le volume défini par le cadre et l'objectif de la caméra, volume étroit qui entoure le plan parallèle à la surface à rendre interactive qui passe par le centre l'objectif de la caméra, appelée région d'intérêt ou « ROI » (pour, en anglais « région of interest ») et, enfin l'environnement proche de ce volume de l'autre côté de la surface à rendre interactive ou, si cette surface est réfléchissante, le reflet de l'environnement proche se trouvant du premier côté.
On observe que la région d'intérêt ROl n'est pas nécessairement parallèle au plus grand côté de cette image, du fait des tolérances de positionnements mécaniques de la caméra et des composants optiques et du capteur à l'intérieur de la caméra considérée.
De même, cette région d'intérêt ROI est constituée de deux losanges, dans l'image fournie par la caméra, lorsque, comme c'est le cas général, la partie du cadre vue par chaque caméra est constituée de deux rectangles.
Pour déterminer quelle partie de l'image constitue la région d'intérêt ROI, on procède préférentiellement selon l'une des procédures indiquées ci-dessous.
On observe qu'une région d'intérêt ROI est définie pour chacun des capteurs d'image matriciels, par des coordonnées dans le plan d'image associé au capteur d'image. Au moins une région d'intérêt est constitué d'une partie des pixels du capteur d'image matriciel et donc de l'image fournie par ledit capteur d'image matriciel, cette partie comportant, au moins, une pluralités de segments de lignes et une pluralité de segments de colonnes. Du fait de la position latérale de chaque caméra, chaque région d'intérêt associée à un capteur d'image représente l'image, vue en coupe, de la surface ou du volume rendu interactif et de chaque éventuel pointeur, par exemple un doigt ou une main, coupant la surface ou le volume rendus interactifs.
Une région d'intérêt couvre entre 1/1000 et 1/10 des pixels du capteur d'image et préférentiellement, entre 5/1000 et 2/100 des pixels du capteur d'image lorsque l'on souhaite rendre interactifs une surface vue, en coupe, dans cette région d'intérêt ou un volume étroit entourant cette surface. Dans une première procédure, on met en œuvre, comme illustré en figure 8, le boîtier de pointage illustré en figures 6 et 7 en le positionnant successivement le long du cadre en au moins trois positions 811 à 814 se trouvant dans le champ optique de chaque caméra, en orientant l'axe de la source de lumière vers les caméras. Dans le cas présent, lorsque Ie boîtier est situé dans les positions 811 à 813, il est dans le champ optique de la caméra 820 et, lorsque le boîtier est situé dans les positions 812 à 814, il est dans le champ optique de la caméra 860.
Les coordonnées, dans le plan image de chaque point lumineux indiquent des points de la région d'intérêt ROI. A partir de ces au moins trois points, on détermine deux demi-droites dans le plan image de la caméra et on considère, comme région d'intérêt ROI, les points de ces demi-droites et les points se trouvant à une distance de ces demi-droites inférieure à une distance limite prédéterminée, par exemple les points des cinq demi-droites décalées, vers le haut ou vers la bas de l'image, d'au plus cinq éléments d'image ou pixels.
Dans une deuxième procédure, l'installateur déplace un pointeur, doigt, poing ou main, sur l'ensemble de la surface à rendre interactive et on détermine, pour chaque caméra, les zones sombres étroites en forme de losange qui entourent une zone lumineuse en mouvement correspondant au pointeur.
Dans des modes de réalisation particuliers, une fois la détermination de la région d'intérêt effectuée, on détermine Ia sensibilité de chaque caméra ou, ce qui revient au même en dehors des phénomènes d'éblouissement s'étendant sur la surface du capteur d'image (blooming et smearing), l'amplification du signal en sortant et la plage de valeurs numérisée qui sera prise en compte, pour que la région d'intérêt possède, sur l'ensemble de sa surface une valeur considérée comme noire. On observe que cette normalisation du signal peut être effectuée point par point (chaque point correspondant à un pixel) et de manière dynamique, en considérant, pour chaque point d'image de la région d'intérêt, la valeur moyenne sur une longue période, par exemple cinq minutes, comme valeur de noir.
Dans des modes de réalisation particuliers, on détermine la valeur limite de luminosité, point par point ou globalement, au delà de laquelle on considérera que le pointeur se trouve potentiellement en regard d'un point de la région d'intérêt.
Dans des modes de réalisation particuliers, pour détecter un pointeur, on détermine, pour chaque colonne de la région d'intérêt ROI, le minimum de luminosité pour les points de cette colonne.
Puis on détermine une valeur seuil, par exemple égale au double de la moyenne de ces minimums. On observe que l'utilisation de cette luminosité minimum présente de nombreux avantages. D'une part, de petits mouvements du doigt perpendiculairement à la surface interactive peuvent être détectés puisque dès que le pointeur laisse une ligne sombre, le minimum prend cette faible luminosité. D'autre part, les reflets et artefacts sur le cadre ne perturbent pas la détection puisqu'ils provoquent des luminosités supérieures à la luminosité minimale. Enfin, même si la région d'intérêt couvre plus que le cadre sombre, la détection du pointeur n'est pas perturbée.
On détermine ensuite le nombre de colonnes successives pour lesquelles le minimum considéré est supérieur à la valeur seuil, ce qui fournit un point central de chaque pointeur et une largeur de chaque pointeur vu par chaque caméra.
Dans des modes de réalisation, la détection d'un pointeur réel est effectuée lorsqu'un nombre suffisant de points d'image représentant un rectangle dans l'image (par exemple trois colonne et huit lignes dans l'image), présentent une luminosité supérieure à la valeur limite de luminosité.
Les objectifs des caméras créent une distorsion radiale. Lors de la phase de calibrage, on mesure les paramètres de cette distorsion et on la modélise par un polynôme du troisième degré qui permet d'en corriger les effets (par exemple un polynôme de la forme rc = C0 + C1J + c2.r2 + c3.r3, où rc est le rayon corrigé, r la distance entre le point courant et l'intersection de l'axe optique de la caméra avec le capteur d'image et C0 à C3 sont des coefficients de correction).
La phase de calibrage faite en usine permet notamment de calculer la longueur focale des objectifs de chaque caméra et l'angle entre l'axe optique de chaque caméra et l'horizontale.
Les deux coordonnées images fournies par les caméras pour chaque pointeur permettent de déterminer la position du pointeur dans le plan utilisateur, c'est-à-dire la surface interactive. Le repère courant utilisé pour le calcul des coordonnées est un repère dont l'origine est le centre optique de la caméra placée à gauche en figure 9. L'axe des abscisses est l'axe horizontal orienté vers la caméra représentée à droite en figure 9. La distance entre les centres optiques des objectifs des caméras définit l'unité de longueur. L'axe des ordonnées est orienté vers le bas, l'unité de longueur étant égale à celle de l'axe des abscisses.
Les coordonnées dans le plan ainsi muni d'un repère orthogonal sont déterminées en fonction des angles μ1 et μ2 formés entre les droites partant de chacun des centres optiques des objectifs et passant par le centre du pointeur, d'une part et l'axe horizontal, d'autre part de la manière suivante :
Tx = sin μ1 x cos μ2 / sin(μ1 + μ2)
Ty = sin μ1 x sin μ2 / sin(μ1 + μ2)
Or les angles μ1 et μ2 sont des fonctions de l'angle entre l'axe optique de la caméra correspondante et l'horizontale et de l'abscisse du centre de l'image du pointeur formée sur le capteur d'image.
A partir des coordonnées dans le plan, on définit des coordonnées écrans qui sont des positions sur une image formée à proximité de la surface interactive, par exemple par projection sur une partie dépolie d'une vitrine, par exemple entre 0 et 65535 dans chaque direction. Pour obtenir ces coordonnées écrans, on mémorise les positions des quatre coins de cette image représentée en 820 en figure 8, et on effectue une transformation bilinéaire des coordonnées dans le plan.
A partir des coordonnées dans le plan, on définit des coordonnées métriques (sur la surface interactive) en multipliant les coordonnées dans le plan par la distance métrique entre les centres optiques des objectifs des caméras.
Les mesures étant entachées d'erreurs, on procède préférentiellement à une phase d'optimisation au cours de laquelle on affiche, dans l'image projetée sur la zone écran 820, successivement, des points d'intersection d'un quadrillage régulier, représentés par des croix en figure
9, et l'installateur pointe successivement chacun de ces points dans la surface interactive, avec le pointeur physique, par exemple son doigt, comme illustré en figure 9. On effectue, par traitement des données ainsi recueillies, illustrées par des points noirs en figure 9, une correction plus fine que lors de l'étape de calibration initiale.
Le traitement de plusieurs cibles ou pointeurs détectés dans la région d'intérêt d'une caméra est différent selon que l'un des pointeurs en masque un autre dans l'image de l'une des caméras, ou non.
On suppose que les pointeurs sont successivement détectés par les caméras, plusieurs nouveaux pointeurs n'étant pas détectés simultanément.
Dans le cas où aucun des pointeurs n'est masqué, on détermine d'abord les positions possibles des pointeurs. Par exemple, il y a quatre positions possibles lorsque deux pointeurs sont détectés par chacune des deux caméras.
On détermine alors, pour chaque ancien pointeur, c'est-à-dire pour chaque pointeur ayant déjà été détecté, la prédiction de Kalman de la position dudit pointeur.
On calcule la distance entre la prédiction de Kalman et chacune des positions possibles.
S'il n'y a qu'un ancien pointeur, on lui attribue la position possible la plus proche de la prédiction de Kalman et on associe la position restant possible au nouveau pointeur.
S'il y a deux anciens pointeurs, on leur attribue les deux positions compatibles qui minimisent la somme des distances entre ces positions compatibles et les prédictions de Kalman. S'il y a un nouveau pointeur, on lui attribue la position compatible avec les positions des autres pointeurs.
Et ainsi de suite.
La figure 10 représente le cas où il y a deux anciens pointeurs dont les prédictions de Kalman sont représentées en 1005 et 1010. Il y a quatre positions possibles 1015 à 1030 pour chacun de ces pointeurs, définissant un quadrilatère. On définit alors les quatre sommes des distances des prédictions avec les couples de sommets opposés du quadrilatère.
D1 ~ dist(1005, 1015) + dist(1010, 1025)
D2 = dist(1005, 1020) + dist(1010, 1030)
D3 = dist(1005, 1025) + dist(1010, 1015) D4 = dist(1005, 1030) + dist(1010, 1020)
On sélectionne la plus petite de ces sommes de distances et on attribue aux pointeurs les positions correspondantes dans cette plus petite somme. Dans le cas de la figure 10, au pointeur dont la prédiction de Kalman est représentée en 1005 est attribué la position 1020 et au pointeur dont la prédiction de Kalman est représentée en 1010 est attribué la position 1030. En variante, on détecte une rupture de modèle lorsque le minimum des distances entre une prédiction de Kalman et les quatre positions possibles est très inférieur, par exemple au moins quatre fois inférieur, au minimum des distance entre l'autre prédiction de Kalman et les quatre positions possibles. Dans ce cas, on attribue au pointeur dont la prédiction de Kalman est le plus proche de l'une des positions possibles, cette position et, à l'autre pointeur, la position opposée dans le quadrilatère. Dans le cas où il y a occultation de l'un des pointeurs par un autre, il y a deux fois moins de positions possibles et on retient comme position de chaque pointeur, la prédiction de Kalman, sans mettre à jour le filtre de Kalman, comme illustré en figure 11.
En variante, dans le cas où il y a occultation de l'un des pointeurs par un autre, il y a deux fois moins de positions possibles et on retient comme position de chaque pointeur, celle qui minimise la somme des distances entre les prédictions de Kalman et les positions compatibles, avec ou sans mettre à jour le filtre de Kalman.
Dans le cas où les caméras ne sont pas synchronisées, le traitement de la dernière image provenant de chaque caméra provoque une irrégularité de trajectoire autour de la trajectoire réelle du pointeur, doigt, poing ou main, dès que celui-ci est en mouvement. En effet, lors de Ia triangulation, la direction du pointeur déterminée à partir de l'image prise le plus tôt sera erronée en fonction croissante de la vitesse de déplacement du pointeur et de la durée de l'intervalle de temps séparant les deux prises d'image.
La figure 12 illustre deux traitements appliqués aux positions erronées ainsi déterminées. Dans des modes de réalisation particuliers de la présente invention, pour pallier ces inconvénients, après triangulation prenant en compte la dernière image prise par chaque caméra pour déterminer une nouvelle position du pointeur, dite « position primaire », on détermine la position milieu des deux dernières positions et on la considère comme la position réelle du pointeur. Cette position milieu est dite « secondaire » et est donc l'isobarycentre des deux dernières positions primaires déterminées. Dans des modes de réalisation particuliers de la présente invention, on détermine la position milieu, dite « tertiaire » des deux dernières positions milieux secondaires ainsi déterminées et on la considère comme la position réelle du pointeur. La position tertiaire est donc l'isobarycentre des deux dernières positions secondaires et aussi le barycentre des trois dernières positions primaires, affectées des poids respectifs 1 , 2 et 1. On observe qu'en modifiant le mode de détection du pointeur, par exemple en déterminant le minimum par colonne pour deux moitiés de région d'intérêt représentant deux moitiés du cadre sombre, on peut exploiter une troisième dimension, perpendiculaire à la surface interactive. On peut associer deux comportements différents aux deux actions consistant à toucher une vitrine ou seulement à s'en approcher. On peut aussi effectuer une fonction de zoom fonction de la distance entre le pointeur et la zone écran.
Les figures 13A à 13C récapitulent les étapes effectuées au cours de l'installation d'un dispositif objet de la présente invention et au cours du fonctionnement dudit dispositif. Bien qu'on décrive, dans un but explicatif, un traitement monotâche effectué par l'ordinateur 125, en plus de son traitement d'affichage d'une page écran, préférentiellement les différents traitements exposés ci-dessous sont effectués en multitâches.
Au cours d'une étape 1300, l'installateur positionne le dispositif, y compris les capteurs d'image matriciels et les sources de lumière pour que la surface à rendre interactive soit couverte par chacun des champs optiques de chaque capteur d'image et de l'ensemble des sources de lumière, ainsi que le cadre, de manière que le cadre se situe dans l'union des champs optiques des caméras. Au cours d'une étape 1302, l'installateur positionne le boîtier illustré en figure 6, successivement le long du cadre en au moins trois positions se trouvant dans le champ optique de chaque caméra, en orientant l'axe de la source de lumière vers les caméras. Les coordonnées, dans le plan image de chaque point lumineux indiquent des points de la région d'intérêt ROI. Au cours de cette même étape 1302, on définit la région d'intérêt dans les images captées par chaque capteur d'image et on en mémorise les coordonnées dans ces images.
Au cours d'une étape 1304, pour régler automatiquement les paramètres de chaque caméra et, en particulier, le facteur d'éclairement ou gain, on met ce facteur à la valeur la plus faible et on la fait croître progressivement, pendant que le boîtier illustré en figure 6 se trouve dans le champ de la caméra, jusqu'à ce que le niveau de perception de la diode électroluminescente de ce boîtier corresponde à une valeur prédéterminée, par exemple le niveau de blanc. En variante, à partir de l'étape 1304, on met en oeuvre un contrôle automatique de gain permanent pour adapter la sensibilité de la caméra à la luminosité ambiante.
A partir des au moins trois points par caméra, au cours d'une étape 1306, on détermine deux demi-droites dans le plan image de la caméra et on considère, comme région d'intérêt ROI, les points de ces demi-droites et les points se trouvant à une distance de ces demi-droites inférieure à une distance limite prédéterminée, par exemple les points des cinq demi-droites décalées, vers Ie haut ou vers la bas de l'image, d'au plus cinq éléments d'image ou pixels.
Au cours d'une étape 1308, on détermine la sensibilité de chaque caméra ou, ce qui revient au même en dehors des phénomènes d'éblouissement s'étendant sur la surface du capteur d'image (blooming et smearing), l'amplification du signal en sortant et la plage de valeurs numérisée qui sera prise en compte, pour que la région d'intérêt possède, sur l'ensemble de sa surface une valeur considérée comme noire. On observe que cette normalisation du signal peut être effectuée point par point et de manière dynamique, au cours du fonctionnement du dispositif, en considérant, pour chaque point d'image de la région d'intérêt, la valeur moyenne sur une longue période, par exemple cinq minutes, comme valeur de noir.
A partir de l'étape 1316, pour détecter un pointeur, on détermine, pour chaque colonne de la région d'intérêt ROI, le minimum de luminosité pour les points de cette colonne. Puis on détermine une valeur seuil, par exemple égale au double de la moyenne de ces minimums. On détermine ensuite le nombre de colonnes successives pour lesquelles le minimum considéré est supérieur à la valeur seuil,
ce qui fournit un point central de chaque pointeur et une largeur de chaque pointeur vu par chaque caméra.
Au cours d'une étape 1316, on procède à une phase de repérage d'angle, en pointant, à travers la surface interactive, au moins deux points se trouvant sur une droite horizontale et en traitant leurs coordonnées dans les plans images. Au cours de cette étape 1316, on procède aussi à une phase d'optimisation au cours de laquelle on affiche, dans l'image projetée, successivement, des points d'intersection d'un quadrillage régulier et l'installateur pointe successivement chacun de ces points dans la surface interactive, avec le pointeur physique, par exemple son doigt, comme illustré en figure 9. L'ordinateur 125 effectue, par traitement des données ainsi recueillie, une correction plus fine que lors de l'étape de calibration initiale.
Au cours d'une étape 1320, on définit, dans la surface interactive, les zones actives, représentées en 820 à 828 en figure 8, c'est-à-dire les zones écran, ici 820 associée à un vidéo- projecteur et 821 associée à un écran plat d'ordinateur placé à proximité de la surface interactive, et les zones sensibles, 822 à 828, en pointant, tour à tour, leurs coins. Puis, étape 1322, l'installateur attribue, à chaque geste et à chaque zone sensible, une action à effectuer. On observe qu'une zone peut être réservée à la détection de gestes, en dehors des zones écrans et des zones associées à des graphismes correspondant à des lancements d'applications. De même, une seule zone, dite « clavier » mise en regard d'une affiche représentant, matriciellement, des caractères alphanumériques, repérée par ses quatre coins, peut permettre la saisie de ces caractères, sans que l'utilisateur n'ait à pointer chacun des coins de chacune des sous-zones portant un caractère, le dispositif décomposant automatiquement la zone « clavier » en sous-zones affectées aux différents caractères, la disposition des caractères sur l'affiche étant connue du dispositif, par ailleurs.
Pour les zones écrans, on définit, avec l'ordinateur 125 les actions qui seront successivement lancées lorsque des icônes, graphismes, textes ou images seront sélectionnés avec le pointeur agissant alors comme une souris ou avec les gestes horizontaux et verticaux détectés dans ces zones écrans, au cours d'une étape 1322.
Au cours d'une étape 1324, on lance le fonctionnement du dispositif.
Au cours d'une étape 1326, on détermine si un pointeur se trouve dans le champ des caméras. Si non, on réitère l'étape 1326. Si oui, au cours d'une étape 1328, on détermine les coordonnées dans le plan du pointeur détecté.
Les deux coordonnées images fournies par les caméras, pour un pointeur permettent de déterminer la position du pointeur dans le plan utilisateur, c'est-à-dire la surface interactive. Le repère courant utilisé pour le calcul des coordonnées est un repère dont l'origine est le centre optique de la caméra placée à gauche en figure 9. L'axe des abscisses est l'axe horizontal orienté vers la caméra représentée à droite en figure 9. La distance entre les centres optiques des objectifs des caméras définit l'unité de longueur. L'axe des ordonnées est orienté vers le bas, l'unité de longueur étant égale à celle de l'axe des abscisses.
Les coordonnées dans le plan ainsi muni d'un repère orthogonal sont déterminées en fonction des angles μ1 et μ2 formés entre les droites partant de chacun des centres optiques des objectifs et passant par le centre du pointeur, d'une part et l'axe horizontal, d'autre part de la manière suivante :
Tx = sin μ1 x cos μ2 / sin(μ1 + μ2) Ty = sin μ1 x sin μ2 / sin(μ1 + μ2)
Or les angles μ1 et μ2 sont des fonctions de l'angle entre l'axe optique de la caméra correspondante et l'horizontale et de l'abscisse du centre de l'image du pointeur formée sur le capteur d'image.
Au cours d'une étape 1330, on détermine si au moins une nouvelle image a été fournie par l'une des caméras (une seule nouvelle image est reçue à la fois si les caméras ne sont pas synchronisées et deux images sont simultanément reçues si les caméras sont synchronisées). Sinon, on réitère l'étape 1330. Si oui, au cours d'une étape 1332, on détermine si au moins une nouvelle image a été fournie par l'une des caméras (une seule nouvelle image est reçue à la fois si les caméras ne sont pas synchronisées et deux images sont simultanément reçues si les caméras sont synchronisées). Sinon, on réitère l'étape 1332. Si oui, au cours d'une étape 1334, on détermine les coordonnées dans le plan du pointeur pour chaque coupe d'images reçues successivement de l'une ou de l'autre des caméras et, au cours d'une étape 1336, on attribue au premier pointeur, comme position corrigée, le barycentre des trois dernières positions déterminées à partir de ces couples successifs, affectés des poids respectifs 1 , 2 et 1.
Puis, au cours d'une étape 1338, on détermine si le pointeur est un doigt ou une main, en mesurant les diamètres réels du pointeur en fonction des diamètres apparents et des coordonnées réelles du centre du pointeur et on les compare à une valeur seuil, par exemple de 3 centimètres. Toujours au cours de l'étape 1338, on détermine si un geste (le terme de geste couvrant aussi l'immobilité) peut être identifié à partir des dernières positions corrigées de chaque pointeur et des paramètres définissant chaque geste. Si oui, au cours d'une étape 1340, on déclenche l'action correspondant audit geste et à la zone active dans laquelle ce geste est effectué et on passe à l'étape 1348. Sinon, on passe à l'étape 1342. Au cours d'une étape 1342, on détermine si au moins une nouvelle image a été fournie par l'une des caméras (une seule nouvelle image est reçue à la fois si les caméras ne sont pas synchronisées et deux images sont simultanément reçues si les caméras sont synchronisées). Sinon, on réitère l'étape 1342. Si oui, au cours d'une étape 1344, on détermine si au moins deux pointeurs ont été détectés. Sinon, au cours d'une étape 1346, on détermine les coordonnées dans le plan du pointeur pour chaque coupe d'images reçues successivement de l'une ou de l'autre des caméras et, au cours d'une étape 1348, on attribue au premier pointeur, comme position corrigée, le barycentre des trois dernières positions déterminées à partir de ces couples successifs, affectés des poids respectifs 1 ,
Si le résultat de l'étape 1344 est positif, c'est-à-dire s'il y a au moins deux pointeurs détectés, on détermine au cours d'une étape 1352, si l'un des pointeurs en occulte un autre dans le champ optique d'au moins une caméra. Sinon, au cours d'une étape 1354, on détermine les positions possibles des pointeurs. Par exemple, il y a quatre positions possibles lorsque deux pointeurs sont détectés par chacune des deux caméras. Puis, au cours d'une étape 1356, on détermine alors, pour chaque ancien pointeur, c'est-à-dire pour chaque pointeur ayant déjà été détecté, la prédiction de Kalman de la position dudit pointeur.
Puis, au cours d'une étape 1358, on calcule, pour chaque ancien pointeur, Ia distance entre la prédiction de Kalman et chacune des positions possibles.
Au cours d'une étape 1360, on détermine si une rupture de modèle a lieu, c'est-à-dire si le minimum des distances entre une prédiction de Kalman et les positions possibles est très inférieur (par exemple au moins quatre fois inférieur), au minimum des distances entre une autre prédiction de
Kalman et les positions possibles. Sinon, on passe à l'étape 1364. Si oui, au cours d'une étape 1362, on attribue cette position au pointeur dont la prédiction de Kalman est le plus proche de l'une des positions possibles et on recommence cette étape pour les autres pointeurs en éliminant les positions possibles correspondant à chaque position déjà attribuée. Puis on passe à l'étape 1366. Au cours de l'étape 1364, on attribue, aux anciens pointeurs, les positions compatibles qui minimisent la somme des distances entre ces positions compatibles et les prédictions de Kalman. Puis on passe à l'étape 1366.
S'il y a un nouveau pointeur, au cours de l'étape 1366, on lui attribue la position compatible avec les positions des anciens pointeurs déterminée au cours de l'étape 1362 ou 1364. Puis, au cours d'une étape 1368, on attribue à chaque pointeur détectés dans au moins trois images successives, comme position corrigée, le barycentre des trois dernières positions déterminées à partir de ces couples successifs, affectés des poids respectifs 1 , 2 et 1. Puis, on passe à l'étape 1338.
Si le résultat de l'étape 1352 est positif, c'est-à-dire si l'un des pointeurs en occulte un autre dans le champ optique d'au moins une caméra, au cours d'une étape 1370, on retient comme position de chaque pointeur, celle qui minimise la somme des distances entre les prédictions de Kalman et les positions compatibles, sans mettre à jour le filtre de Kalman.
Puis, au cours d'une étape 1372, on attribue à chaque pointeur détecté dans au moins trois images successives, comme position corrigée, le barycentre des trois dernières positions déterminées à partir de ces couples successifs, affectés des poids respectifs 1 , 2 et 1. Puis, on retourne à l'étape 1338.
On décrit, ci-dessous, un mode particulier d'implémentation de la présente invention mettant en œuvre plusieurs logiciels associés au dispositif illustré en figures 1 et 2.
Pour pouvoir fonctionner, le système doit avoir été paramétré logiciellement avec I' « Installation Kit ». L'installateur se charge de définir l'emplacement de la zone interactive ainsi que les réglages adaptés à l'environnement du système. En d'autres termes, on définit le champ d'action qui doit être considéré par le système.
Ce champ d'action ne pourra jamais dépasser le cadre noir installé auparavant. Si le cadre dépasse en taille les mesures indiquées dans le guide d'installation, ce sont ces mesures qui correspondront à la limite de la zone interactive.
Puis, on paramètre logiciellement l'emplacement du cadre par rapport à la barre et on règle le système de façon à tenir compte des distances et de l'environnement lumineux. Elle permet aussi de vérifier et améliorer la précision du suivi du curseur.
On définit ensuite la zone écran (vidéo projection, écran plasma,.,.) et les zones sensibles. Ces zones seront incluses dans le champ d'action défini précédemment.
Les logiciels « DK » (pour « Développement kit ») et « Reader » permettent, quant à eux, d'exploiter ces détections, d'organiser la zone interactive en la découpant en zones et de paramétrer le comportement du système lors de l'exécution d'un geste par l'utilisateur.
Le fichier « config.roi » est le fichier qui donne au système l'emplacement du cadre par rapport à la barre portant les caméras pour lire la région d'intérêt.
Le fichier « val.lum » est le fichier de stockage des paramètres du système en terme de sensibilité et de mode de fonctionnement (automatique ou fixe). Il est généré par I' « Installation Kit » mais peut être modifié sous le logiciel « DK » et le logiciel « Reader ».
Le fichier « DebugFile.smg » est le fichier qui va être envoyé au contact, c'est-à-dire à l'installateur, par exemple sur Internet, pour bénéficier d'une assistance à distance. Il va servir à récupérer les informations nécessaires pour l'aide à distance et la génération de fichier « config.roi » à distance. Le fichier « DebugFile.smg » est réinitialisé à chaque lancement d'un logiciel « Installation Kit ». Sous les logiciels « DK » ou « Reader », ce fichier est réinitialisé lors de la demande d'affichage des images prises par les caméras, notamment pour la vérification et la correction des régions d'intérêt avec un pointage des points correspondants aux extrémités et aux angles du cadre.
Le fichier d'extension « 3df » est le fichier où est stocké le paramétrage de la vitrine. Ce fichier contient l'emplacement des différentes zones actives, les applications associées à ces zones actives et le paramétrage de comportement, en terme d'association de gestes et d'actions dans chacune de ces zones. C'est le fichier à ouvrir explicitement pour avoir le paramétrage actif. Tous les autres fichiers sont chargés implicitement par les logiciels; ils sont recherchés dans le répertoire d'installation. Celui-ci est chargé par l'exploitant. Ainsi, pour un même environnement en terme de barre, de cadre, de lumière, on peut avoir divers comportements.
Le « Développement Kit » permet de définir l'environnement interactif de l'installation et ses applications. Le « Développement Kit » va donc permettre de définir : • les emplacements des zones spécifiques sur la vitrine,
• les applications associées aux différentes zones et
• les associations gestes/actions des différentes zones.
Le « Développement Kit » permet de préparer le déploiement logiciel à l'avance, avant l'installation sur site. Le fichier « 3df » peut être généré sans être branché à un système physique. Ceci permet de préparer le jeu d'applications qui sera utilisé, de tester leur paramétrage sous le logiciel « DK » en simulant une activation réelle.
Le « Développement Kit » est là pour tous les travaux préparatoires au déploiement final du système : configuration préalable, en ligne ou bien hors-ligne.
Le logiciel « Reader » permet d'ouvrir un document préenregistré par la version « DK ». C'est cette version qui sera lancée lorsque l'utilisateur double cliquera sur un document de type « 3df ».
Le logiciel « Reader » correspond à une utilisation quotidienne de l'installation finale. Les paramétrages possibles de l'installation y sont minimes et correspondent à l'adaptation du travail réalisé sous le « DK » lors du déploiement final.
La zone écran principale est la zone principale du système. Elle est zone en forme de quadrilatère. Cette zone correspond à la zone d'affichage, c'est à dire une zone de vidéo projection ou bien une zone en regard de laquelle un écran plat est placé derrière la surface interactive.
Au sein de cette zone se font: • les déplacements du curseur et
• les détections de gestes.
La zone principale est définie en premier car elle sert à définir les autres types de zones. On remarque que, préférentiellement, si la zone principale n'est pas exploitée par les utilisateurs terminaux, elle peut néanmoins être définie, par exemple dans un coin, en petit, pour avoir une existence physique et exploitable sans interagir avec les utilisateurs finaux. Les zones sensibles sont généralement des zones simples de détection (c'est-à-dire sans association de gestes et d'actions), en regard avec un graphisme, un objet, une affiche, une ouverture, un texte, une photo, par exemple.
Lorsqu'elles sont activées, elles peuvent:
• déclencher une liste d'actions (lancement d'applications, envoi de raccourcis claviers) et • changer le paramétrage de la zone écran en termes d'association de gestes et d'actions.
Une zone sensible est une zone qui correspond, en terme d'automatisme, à un bouton simple. C'est une zone généralement en forme de quadrilatère.
Pour activer une zone sensible simple de détection, il suffit que l'utilisateur final la touche. Typiquement, sur une vitrine, une zone sensible simple de détection se trouve en regard d'un auto- collant en périphérie de la zone écran principale. Chaque auto-collant correspondant à une thématique, on peut lui associer des applications différentes et donc un mode de fonctionnement différent.
Les applications qui vont être utilisées par le dispositif doivent avoir été choisies pour correspondre au message qui doit être délivré.
En ce qui concerne les associations de gestes et d'actions, l'installateur peut exploiter au maximum les possibilités du dispositif en termes d'effets visuels : à la détection d'un geste horizontal, ouvrir une fenêtre « bonus », changer l'apparence des objets ...
Le fichier « .3df » contient :
• la configuration par défaut de l'écran,
• la liste des affiches et leur configuration (programme, ressource, option, messages claviers, et configuration de la zone écran post détection dans la zone sensible),
• l'application à lancer à l'ouverture du document et
• le niveau de protection du fichier « 3DF » sous le logiciel « Reader » : pour paramétrer cela, une boîte de dialogue apparaît à la première sauvegarde.
Utiliser cette commande pour enregistrer et nommer le document actif affiche la boîte de dialogue « Enregistrer sous » qui permet d'attribuer un nom au document.
Pour enregistrer un document sous son nom actuel et dans Ie répertoire en cours, utiliser la commande « enregistrer ».
Le logiciel « DK » permet de définir une zone écran principale dans laquelle les utilisateurs pourront interagir avec leur main ou leur doigt. Ce logiciel permet également de créer des « zones sensibles ».
Pour délimiter une zone écran, l'installateur pointe successivement les quatre coins de l'écran en suivant les directives affichées sur cet écran. Préférentiellement, chaque coin demande une durée d'immobilité du doigt de 1 à 2 secondes pour prendre la position du doigt stabilisée et ainsi fournir une meilleure précision. Une fois que la zone écran est délimitée, les zones sensibles peuvent être créées.
Le dispositif permet de paramétrer l'action à réaliser au lancement du dispositif et l'action à réaliser lorsqu'une zone active est touchée. Il existe la possibilité de choisir un exécutable à lancer. Une ressource peut aussi lui être associée.
Pour paramétrer le fonctionnement en geste/action associé à une application associée à une zone active, ce fonctionnement en commande d'actions à partir de la discrimination de gestes par le dispositif, on utilise un menu « configurer zone active ».
Le dispositif possède, par exemple, comme actions possibles :
1. L'action Clic
Un clic souris est généré à la position courante. Dans le cadre d'un geste clic ou double clic, le clic est généré à l'endroit où le geste a été détecté.
2. L'action Double Clic
Un double clic souris est généré à la position courante. Dans le cadre d'un geste clic ou double clic, le clic est généré à l'endroit où le geste a été détecté.
3. L'action Raccourci clavier Un message clavier est envoyé à l'application possédant le focus :
• 0 à 9.
• a à z
. F1 à F12 • Entrée, Espace, Escape, Ait, Control, Maj, Windows (marque déposée) et
• Flèches gauche, droite, haut, bas.
Toutes ces touches pouvant être combinées avec les touches Ait, Control, Maj, Windows.
4. L'action Lancement de programme
Lancement d'un programme pouvant posséder une ressource et une option associée avec une attente d'au moins 500 millisecondes avant toute action permise. Cette durée d'attente permet d'éviter plusieurs lancements de la même application si le geste est détecté très rapidement plusieurs fois
(pointer avec une durée courte).
La gestion des chemins relatifs à la position du programme est prise en compte.
Cette application ne sera pas fermée si une zone sensible est activée. 5. L'action Clic maintenu
Tout se passe comme si le bouton gauche de la souris était enfoncé. Le clic est relâché lorsque plus aucun doigt n'est détecté dans la zone interactive.
6. L'action retour à la configuration par défaut
Cette action permet de fermer la dernière application lancée par le système qui peut être détruite et de relancer l'application par défaut avec son paramétrage associé.
Cette application sera fermée si une zone sensible est activée. Le dispositif possède une liste de gestes détectables.
1. Le geste Pointer
Définition : Un doigt immobile pointe la zone écran pendant une certaine durée. La notion d'immobilité est exprimée concrètement par une petite zone autour du doigt. Si le doigt reste pendant la durée requise dans une même zone, on le considère comme immobile. Donc, dans le cadre d'un seul geste "pointer" paramétré, à la détection du geste "pointer", tant que le doigt ne sort pas de cette zone, plus aucun geste n'est paramétré.
Utilisation : Le pointer doit être réalisé bien droit (perpendiculaire au plan interactif) sous peine de détecter une main.
Par exemple, si une durée de 3 secondes est paramétré avec le lancement d'une application, on peut bouger le doigt sans que rien ne se passe. Si on stabilise son doigt (immobilité) pendant 3 secondes, l'application se lance. Elle ne se relance pas tant que le doigt restera immobile dans cette même zone.
Par contre, dès que le doigt sort de la zone puis se re-stabilise (ailleurs ou dans la même zone), l'application peut être relancée.
Plusieurs gestes "pointer" paramétrés
Si deux gestes "pointer" sont paramétrés avec deux paramètres de durée différents A et B; avec A < B.
Notons (A) la détection du geste « pointer » de paramètre de durée A ms et (B) la détection du geste
« pointer » de paramètre de durée B ms. Si (A) est effectuée et qu'on bouge son doigt -avant que la durée B ne soit écoulée - pour le faire sortir de la zone d'immobilité, alors (B) n'a pas lieux. Si le doigt reste immobile pendant la durée B, l'action (A) est exécutée au bout de A ms, puis l'actions (B) au bout de B ms.
2. Le geste Double Pointer
Pendant qu'un premier doigt immobile pointe la zone écran, un second (éloigné du précédent) entre et sort de cette même zone écran.
Les contraintes d'utilisation du double pointer sont :
• Deux détections assez éloignées l'une de l'autre sinon elles risquent d'être détectées comme une main.
• Déplacement du curseur entre les deux points. 3. Le geste Main
Une main est présente dans la zone écran. Les contraintes d'utilisation du geste main sont :
• Si la main est trop prêt de la barre, cela risque de poser un problème de localisation et
• peu de précision pour la sélection et le suivi du curseur : ce geste doit être associé à des zones actives de dimensions suffisantes pour permettre la détection.
4. Le geste Mouvement Vertical : Mouvement vertical du doigt caractérisé par une durée ; une amplitude et un sens donnés.
Une amplitude de 25 cm, par exemple, est suffisante. Pour faire la différence entre le suivi du curseur sur un mouvement vertical et le geste vertical, un durée de 700 ms convient généralement. Plus la durée est longue, plus le geste de l'utilisateur peut être lent pour parcourir la distance.
5. Le geste Mouvement Horizontal
Mouvement vertical du doigt caractérisé par une durée, une amplitude et un sens donnés.
6. Le geste Rien
Ce geste est détecté lorsque l'utilisateur n'utilise plus l'interactivité de la vitrine. Plus aucun geste n'est réalisé, ni de doigt détecté. Ce geste possède une durée en ms.
Typiquement, il est utilisé pour réinitialisé la vitrine après le départ d'un utilisateur.
7. Le geste Clic
Le doigt tape la vitrine d'un geste sec et vif puis ressort immédiatement. Il n'y a pas de paramètres associés à ce geste. 8. Le geste Double-clic
Le doigt tape la vitrine deux fois d'affilée en entrant et sortant d'un geste sec et vif. Il n'y a pas de paramètres associés à ce geste.
Le geste double clic correspond à faire deux gestes "clic" très rapidement et au même endroit. Un double-clic réalisé par l'utilisateur génère donc la détection d'un clic et d'un double clic. 9. Autres gestes : les mouvements circulaires de la main, d'un diamètre supérieur à un diamètre prédéterminé, dans un sens ou dans l'autre, peuvent fournir deux gestes interprétés par le dispositif et associés, seuls ou en combinaison avec d'autres gestes, à des actions, par exemple de vitesse et sens de défilement d'un programme audiovisuel, d'un diaporama ou d'une page. De même, les croix « X » ou « + » et les zigzags « N » et « Z », peuvent fournie des gestes interprétés par le dispositif et associés, seuls ou en combinaison avec d'autres gestes, à des actions, par exemple « passer à offre suivante » et « mettre l'offre dans une sélection », pause et reprise.
Paramétrage simultané de gestes : le système permet de gérer simultanément:
• trois détections de gestes pointer à la fois si trois durées différentes.
• une seule détection de double pointer • une seule détection de main
• deux mouvements horizontaux : suivant le sens. Les deux autres paramètres numériques (durée et amplitude) ne peuvent être paramétrés que pour le premier sens. Pour le deuxième, ils doivent être identiques au premier.
• deux mouvements verticaux : suivant le sens. Les deux autres paramètres numériques (durée et amplitude) ne peuvent être paramétrés que pour le premier sens. Pour le deuxième, ils doivent être identiques au premier.
• Un clic
• Un double-clic
• Un geste rien Main et pointer : l'association du pointer et de la main est possible sur la même application mais nécessite un pointer précis. En effet, si le dispositif ne voit pas le doigt suffisamment fin, il verra la main. C'est pourquoi il faut être vigilant dans l'association de ces deux gestes dans la même application.
Clic et pointer : si les deux gestes "clic" et "pointer" avec une durée très courte sont paramétrés en même temps, il faut noter que faire un clic génère deux détections de gestes : le pointer et le clic.
Donc un unique geste utilisateur correspond à la détection de deux gestes système. S'ils ont pour action de faire un clic souris tous les deux, deux clics souris seront générés très rapidement ce qui engendrera un double-clic souris. Ce comportement peut sélectionner des textes par exemple, ou bien empêcher le fonctionnement d'une "liste déroulante" en l'ouvrant (premier clic), puis en la fermant tout de suite (deuxième clic).
Clic, double clic et main : la détection du geste clic est difficile si la main est aussi détecté car la position du doigt doit alors être bien droite.
Si on tape sur la vitre en faisant un double-clic mais avec la main, le geste double clic sera détecté. Main et double-pointer : la main et le double-pointer sont les gestes les plus à même d'être détectés de façon non voulue. S'ils sont utilisés ensembles, il risque d'y avoir des détections communes.
Main et gestes horizontaux/verticaux : Si le geste main est réalisé de façon dynamique (l'utilisateur met sa main et la bouge dans la zone interactive), on peut détecter les gestes horizontaux ou verticaux. Si les gestes sont paramétrés ensembles, il peut se passer les détections suivantes : main, horizontal, main.
Pointer et double pointer : si l'utilisateur fait un pointer et fait entrer un autre doigt puis l'enlève, on peut avoir la série de détection pointer-seconde cible-pointer. S'il y a deux gestes "pointer" de paramétrés avec le geste double-pointer, il faut attendre la durée nécessaire au pointeri (le pointer avec la durée la plus courte) avant la re-détection, par contre si le pointer2 (avec la durée la plus longue) est configuré il n'y aura pas pointeri -seconde cible-pointer2, les gestes étant réinitialisés.
Pour le paramétrage des zones sensibles, une zone sensible peut être vue comme une zone simple (un bouton) qui peut être activée. C'est une zone rectangulaire. On lui associe une liste d'actions à réaliser lors de son activation (lancements d'applications, événements claviers...) ainsi qu'une modification du paramétrage de l'espace écran.
L'activation de cette zone correspond à toucher la partie physique qui définie la zone. Typiquement, sur une vitrine, cela serait un auto-collant en périphérie de la zone écran. Chaque auto-collant correspondant à une thématique, on peut lui associer des applications différentes et donc un mode de fonctionnement différent. Le système possède une liste de zones sensibles. On peut ainsi, pour chaque zone de la liste :
• Supprimer une zone sensible existante : bouton "Supprimer"
• Définir les actions à réaliser juste après l'activation de la zone sensible : bouton "Définir"
• Définir le paramétrage de la zone écran après l'activation de la zone sensible : bouton "Avancé"
• Changer l'emplacement de la zone sensible sélectionnée : bouton "Repointé" • Créer une nouvelle zone sensible d'emplacement vide et inactive mais possédant les autres paramètres (actions post détection et paramétrage geste/action) de la zone copiée "Créer une copie" Ce paramétrage peut être réalisé :
• En sélectionnant l'item de la fenêtre qui liste les zones sensibles et en activant les boutons correspondants
• Faire un clic droit sur la représentation de la vitrine dans la zone sensible existante et activer les fonctionnalités voulues
Remarque 1 : Les zones sensibles inactives sont grisées dans la liste des zones sensibles et sont placées à droite de la représentation de la vitrine en in-line. Remarque 2 : En l'absence de fichier config.cfg, toutes les zones sensibles (actives ou non) sont placées à droite de la fenêtre de représentation de la vitrine car celle-ci ne peut être réalisée sans fichier « config.cfg ».
Dans le logiciel DK1 la représentation de la vitrine est une représentation approximative de l'emplacement des différentes zones qui forment une vitrine. Ceci permet de visualiser l'emplacement des zones les unes par rapport aux autres, mais les positions ne sont pas réelles.
Premier exemple d'utilisation de geste horizontaux. Une diaporama PowerPoint (marque déposée) défilera lorsqu'on fait un geste horizontal vers la droite et retourne sur la page précédente lorsqu'on fait un geste horizontal vers la gauche.
Pour paramétrer une telle utilisation, l'installateur ou l'exploitant va dans le menu « configurer/zones sensibles » du logiciel « DK ». Il ajoute une nouvelle zone sensible vide. Pour sa définition, il met dans le programme le logiciel "PowerPoint Viewer" (marques déposées) et comme ressource le fichier d'extension ".ppt" (marque déposée). Il ne met pas d'option car PowerPoint Viewer a pour caractéristique de lancer les fichiers en mode visionneuse.
Comme paramétrage en termes d'associations gestes/actions, il vide tout ce qui existe puis paramètre le geste horizontal associé à un raccourci clavier.
Pour le sens "gauche vers droite", il met un geste d'amplitude 15 cm, de tolérance 10 cm et de durée 2 s. Il met le raccourci clavier "Page Down" et clique sur « Ajouter ».
Pour le sens "droite vers gauche", les valeurs de paramétrage sont, par défaut, identiques à celles de l'autre sens. L'installateur met le raccourci clavier "Page Up" et clique sur « Ajouter ». Deuxième exemple d'utilisation. L'installateur ou l'exploitant a une application de type HTML au sein de laquelle il veut passer de lien en lien. De plus, cette application contient une zone spécifique où un double clic de la souris sur une position - au sein de cette zone - entraîne le déplacement d'un objet graphique sous la position du double clic.
Cette application est associée à un objet. Cet objet va être accessible par l'utilisateur final. Il pourra le saisir.
Sur la représentation de la vitrine, il s'agit du rond qui perce la surface interactive pour saisir un objet qui se trouve sur une étagère derrière la surface. Sur la représentation de la vitrine, un rectangle représente la zone écran, zone de gestion du suivi du curseur. Des petites zones représentent des zones sensibles pour lesquelles des auto-collants ont été posés. Le rond est un creux par lequel un objet peut être saisi. Quand l'utilisateur saisit l'objet, il passe par la zone définie et donc active l'application.
La zone sensible à définir est une zone rectangulaire qui englobe le cercle. Par défaut, le fait de saisir puis de reposer l'objet ferait que l'application qui est activée pour une détection serait relancée lorsque l'utilisateur repose l'objet. Pour éviter cela, on change le mode d'activation de la zone sensible. On mettra donc le mode 2 avec une durée infinie pour empêcher la réinitialisation de l'application.
De plus, pour le paramétrage gestes/action, il faut sélectionner les gestes clic et double clic - le fait de faire un geste avec le doigt - aux actions clic et double clic - simulation de l'utilisation des boutons de la souris-.
Cet exemple d'utilisation permet, entre autres, de réaliser un point retrait pour des objets achetés ou loués sur Internet, sur un site dont les pages sont programmées en langage HTML, l'objet n'étant accessible qu'après paiement ou identification de l'utilisateur.
Parmi les autres applications de la présente invention, on peut citer les suivantes. Pour rendre une vitrine interactive, une fois le dispositif et le cadre correspondant mis en place le long de la vitrine, une image d'écran d'ordinateur est formé derrière la vitrine (par exemple sur un écran d'ordinateur), ou sur la vitrine (par exemple par vidéo-projection sur une surface dépolie de la vitrine). On procède alors au calibrage du dispositif et au paramétrage des actions associées aux différents gestes pouvant être effectués en regard des différentes zones actives définies sur la vitrine, éventuellement avec la seule aide de l'image d'écran d'ordinateur affichée.
Dans le cas où la surface interactive recouvre des ouvertures, par exemple des casiers, la prise d'objet à travers ces ouvertures peut provoquer des actions comme l'ajout d'un montant correspondant au contenu du casier à un montant total à régler.
Dans une application particulière, les positions, formes et trajectoires des pointeurs, doigts ou mains, commandent des paramètres musicaux, comme le volume sonore, la balance entre plusieurs haut-parleurs, la vitesse du jeu d'un morceau, ... En variantes, les caméras mentionnées dans la description sont munies d'un filtre polariseur pour réduire l'influence des reflets sur la support ou sur le cadre. En effet, ces reflets présentent une polarisation particulière. Dans ces variantes, les filtres polariseurs présentent préférentiellement une direction de polarisation perpendiculaire à celle de ces reflets.
Claims
REVENDICATIONS
1 - Dispositif pour rendre une surface (170) ou un volume interactifs, caractérisé en ce qu'il comporte : une barre (100) de forme longiligne qui comporte deux capteurs d'image matriciels (120, 160) fournissant, chacun, une image en deux dimensions, comportant une pluralité de lignes et une pluralité de colonnes, placés aux extrémités de la barre et dont les champs optiques se superposent et englobent ladite surface, un moyen de mémorisation (125), pour chacun desdits capteurs d'image matriciels, d'au moins une région d'intérêt constituée d'une partie comportant, au moins, une pluralités de segments de lignes et une pluralité de segments de colonnes de l'image fournie par ledit capteur d'image matriciel, chaque dite région d'intérêt représentant l'image, vue en coupe, de ladite surface et d'au moins un éventuel pointeur coupant ladite surface et un moyen de détermination (125) de position d'au moins un dit pointeur coupant ladite surface, en fonction de la partie des images dudit pointeur se trouvant dans lesdites régions d'intérêt. 2 - Dispositif selon la revendication 1, caractérisé en ce qu'il comporte, en outre( un moyen de commande d'affichage d'au moins un point de référence (820) en regard de ladite surface et un moyen de mémorisation (125) de coordonnées d'un pointeur placé en regard de chaque point de référence, lesdites coordonnées provenant du traitement des images du pointeur fournies par les capteurs d'image, pour déterminer une correspondance entre la position du pointeur et les coordonnées, dans le plan de l'affichage matriciel, du point de l'affichage qui se trouve en regard dudit pointeur.
3 - Dispositif selon l'une quelconque des revendications 1 ou 2, caractérisé en ce qu'il comporte, en outre : un moyen de mémorisation (125) de coordonnées d'un pointeur placé successivement en des points extrêmes d'au moins une zone active (820 à 828) dans ladite surface, lesdites coordonnées provenant du traitement des images du pointeur fournies par les capteurs d'image, un moyen d'association (125), à chaque zone active, d'au moins une action à effectuer et, un moyen de déclenchement d'action (125), adapté, lorsque le moyen de détermination de position fournit une position d'un pointeur correspondant à l'une des zones actives, à déclenchement une action associée à ladite zone active.
4 - Dispositif selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comporte, en outre : un afficheur matriciel positionné parallèlement et en regard d'une partie de ladite surface ; un moyen de mémorisation de coordonnées d'un pointeur placé successivement en regard des points extrêmes dudit afficheur matriciel (820), lesdites coordonnées définissant une zone active, ladite zone active étant associée à au moins une action à effectuer.
5 - Dispositif selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il comporte, en outre : un moyen d'affichage, sur ledit afficheur matriciel, d'au moins un point de référence (820) ;
un moyen de mémorisation (125) de coordonnées d'un pointeur placé en regard de chaque dit point de référence, lesdites coordonnées provenant du traitement des images du pointeur fournies par les capteurs d'image et un moyen de traitement (125) desdites coordonnées pour déterminer une correction à appliquer aux images.
6 - Dispositif selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'il comporte, en outre : un moyen de détermination (125) de positions successives d'un pointeur dans le plan de la surface rendue interactive, par traitement des deux dernières images reçues des capteurs d'image, chaque position comportant deux coordonnées et un moyen de correction (125) de position du pointeur adapté à attribuer, comme position corrigée, une position fonction d'au moins deux positions successives.
7 - Dispositif selon la revendication 6, caractérisé en ce que ledit moyen de correction (125) est adapté à ce que la position corrigée soit le barycentre pondéré de la dernière, de l'avant-dernière et de l'antépénultième positions, la dernière et l'antépénultième position possédant chacune un poids égal à la moitié du poids de l'avant dernière position.
8 - Dispositif selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il comporte, en outre : une source de lumière mobile (600) positionnée successivement le long d'un cadre placé dans le plan de la surface à rendre interactive, en dehors de ladite surface, en au moins deux positions se trouvant dans le champ optique de chaque capteur d'image matriciel et orientant ladite source de lumière vers ledit capteur d'image matriciel ; un moyen de mémorisation (125) des coordonnées dans le plan de l'image fournie par le capteur d'image matriciel, du point correspondant à ladite source de lumière mobile, pour chaque position de ladite source de lumière, et un moyen de détermination (125) de la région d'intérêt, dans le plan image fournie par ledit capteur d'image matriciel, ladite région d'intérêt comportant chaque segment de droite tracé entre deux points correspondant aux positions successives de ladite source de lumière mobile dans les images fournies par chaque capteur d'image. 9 - Dispositif selon l'une quelconque des revendications 1 à 8, caractérisé en ce qu'il comporte un moyen de détection (125) adapté, pour détecter un pointeur, à déterminer, pour chaque colonne d'éléments d'image de la région d'intérêt de chaque capteur, le minimum de luminosité pour les points de cette colonne et à comparer ce minimum à une valeur seuil de luminosité et le nombre de minimums consécutifs dépassant cette valeur seuil à au moins une valeur seuil de largeur apparente. 10 - Dispositif selon l'une quelconque des revendications 1 à 9, caractérisé en ce qu'il comporte : un moyen d'attribution (125) d'une application informatique, pour au moins un mouvement du pointeur et pour au moins une zone active ou l'ensemble de la surface interactive, et un moyen de commande (125) adapté, lorsque ledit mouvement est détecté dans ladite zone active ou dans la surface interactive, respectivement, à lancer une étape de fonctionnement de ladite application informatique.
11 - Dispositif selon la revendication 10, caractérisé en ce que le moyen d'attribution (125) est adapté à ce qu'au moins un dit mouvement soit défini par son amplitude, sa durée ou sa vitesse, sa tolérance spatiale sa direction et son sens.
12 - Dispositif selon l'une quelconque des revendications 1 à 11 , caractérisé en ce qu'il comporte un moyen de détermination de prédiction de Kalman (125) et un moyen d'attribution (125) de position adapté, lorsque au moins deux pointeurs sont détectés, à attribuer, à au moins un desdits pointeurs, une des positions possibles dont la distance à une prédiction de Kalman est minimale.
13 - Dispositif selon l'une quelconque des revendications 1 à 12, caractérisé en ce qu'il comporte un moyen de détermination de prédiction de Kalman (125) et un moyen d'attribution (125) de position adapté, lorsque au moins deux pointeurs sont détectés, à attribuer audits pointeurs des positions possibles compatibles avec les images des pointeurs qui minimisent la somme de leur distance aux prédictions de Kalman.
14 - Dispositif selon l'une quelconque des revendications 1 à 13, caractérisé en ce qu'il comporte un cadre (1400, 1500, 1600) placé dans le plan de la surface (170) à rendre interactive, en dehors de ladite surface, ledit cadre présentant un profil concave.
15 - Dispositif selon l'une quelconque des revendications 1 à 14, caractérisé en ce qu'il comporte, en outre : un moyen de détermination (125) d'au moins une zone active dans ladite surface et un moyen d'association (125), à chaque zone active, d'au moins une action à effectuer à au moins un geste défini par au moins une relation entre des positions successives, un moyen de détermination (125) de positions successives d'au moins un pointeur en fonction des images captées par les capteurs d'image et un moyen de déclenchement d'une action associée à ladite zone active en fonction des positions successives dudit pointeur, lorsque, dans une phase d'exploitation, la position d'un pointeur correspond à une zone active.
16 - Procédé pour rendre une surface ou un volume interactifs, caractérisé en ce qu'il comporte : une étape d'installation d'une barre de forme longiligne qui comporte deux capteurs d'image matriciels fournissant, chacun, une image en deux dimensions, comportant une pluralité de lignes et une pluralité de colonnes, placés aux extrémités de la barre et dont les champs optiques se superposent et englobent ladite surface, une étape de mémorisation, pour chacun desdits capteurs d'image matriciels, d'au moins une région d'intérêt constituée d'une partie comportant, au moins, une pluralités de segments de lignes et une pluralité de segments de colonnes de l'image fournie par ledit capteur d'image matriciel, chaque dite région d'intérêt représentant l'image, vue en coupe, de ladite surface et d'au moins un éventuel pointeur coupant ladite surface et une étape de détermination de position d'au moins un dit pointeur coupant ladite surface, en fonction de la partie des images dudit pointeur se trouvant dans lesdites régions d'intérêt.
17 - Procédé selon la revendication 16, caractérisé en ce qu'il comporte, en outre, une étape de commande d'affichage d'au moins un point de référence en regard de ladite surface et une étape de mémorisation de coordonnées d'un pointeur placé en regard de chaque point de référence, lesdites
coordonnées provenant du traitement des images du pointeur fournies par les capteurs d'image, pour déterminer une correspondance entre la position du pointeur et les coordonnées, dans le plan de l'affichage matriciel, du point de l'affichage qui se trouve en regard dudit pointeur.
18 - Procédé selon l'une quelconque des revendications 16 ou 17, caractérisé en ce qu'il comporte, en outre : une étape de mémorisation de coordonnées d'un pointeur placé successivement en des points extrêmes d'au moins une zone active dans ladite surface, lesdites coordonnées provenant du traitement des images du pointeur fournies par les capteurs d'image, une étape d'association, à chaque zone active, d'au moins une action à effectuer et, une étape de déclenchement d'action, lorsque le moyen de détermination de position fournit une position d'un pointeur correspondant à l'une des zones actives, d'une action associée à ladite zone active.
19 - Procédé selon l'une quelconque des revendications 16 à 18, caractérisé en ce qu'il comporte, d'une part, une étape d'initialisation qui comporte : - une étape de positionnement (1300) d'au moins deux capteurs d'images dans le plan de ladite surface, le champ optique de chaque capteur d'image couvrant l'ensemble de ladite surface, une étape de détermination (1320) d'au moins une zone active dans ladite surface, une étape d'association (1322), à chaque zone active, d'au moins une action à effectuer à au moins un geste défini par au moins une relation entre des positions successives et, d'autre part, une étape d'exploitation qui comporte : une étape de détermination de positions successives d'au moins un pointeur (1326) en fonction des images captées par les capteurs d'image et lorsque la position d'un pointeur correspond à une zone active, une étape de déclenchement d'une action associée à ladite zone active (1340) en fonction de positions successives dudit pointeur.
20 - Procédé selon la revendication 19, caractérisé en ce que l'étape de détermination d'au moins une zone active comporte une étape de mémorisation (1320) de coordonnées d'un pointeur placé successivement en des points extrêmes de ladite zone active dans ladite surface, lesdites coordonnées provenant du traitement des images du pointeur fournies par les capteurs d'image. 21 - Procédé selon l'une quelconque des revendications 16 à 20, caractérisé en ce qu'il comporte, en outre : une étape de positionnement d'au moins un afficheur matriciel parallèlement et en regard d'une partie de ladite surface ; une étape de mémorisation (1320) de coordonnées d'un pointeur placé successivement en regard des points extrêmes dudit afficheur matriciel, lesdites coordonnées définissant une zone active, ladite zone active étant associée à au moins une action à effectuer.
22 - Procédé selon l'une quelconque des revendications 16 à 21 , caractérisé en ce qu'il comporte, en outre : une étape d'affichage (1316), sur ledit afficheur matriciel, d'au moins un point de référence ;
une étape de mémorisation (1316) de coordonnées d'un pointeur placé en regard de chaque dit point de référence, lesdites coordonnées provenant du traitement des images du pointeur fournies par les capteurs d'image et une étape de traitement (1316) desdites coordonnées pour déterminer une correction à appliquer aux images.
23 - Procédé selon l'une quelconque des revendications 16 à 22, caractérisé en ce qu'il comporte, en outre : une étape de détermination (1328, 1334) de positions successives d'un pointeur dans le plan de la surface rendue interactive, par traitement des deux dernières images reçues des capteurs d'image, chaque position comportant deux coordonnées et une étape de correction de position (1336) du pointeur, au cours de laquelle, on attribue, comme position corrigée, une position fonction d'au moins deux positions successives.
24 - Procédé selon la revendication 23, caractérisé en ce que, au cours de l'étape de correction de position (1336), la position corrigée est le barycentre pondéré de la dernière, de l'avant-dernière et de l'antépénultième positions, la dernière et l'antépénultième position possédant chacune un poids égal à la moitié du poids de l'avant dernière position.
25 - Procédé selon l'une quelconque des revendications 16 à 24, caractérisé en ce qu'il comporte, en outre : une étape de positionnement (1302) successif le long d'un cadre placé dans le plan de la surface à rendre interactive, en dehors de ladite surface, en au moins deux positions se trouvant dans le champ optique de chaque capteur d'image, d'une source de lumière mobile orientée vers ledit capteur d'image ; pour chaque position de ladite source de lumière, une étape de mémorisation (1302) des coordonnées, dans le plan de l'image fournie par le capteur d'image, du point correspondant à ladite source de lumière mobile et une étape de détermination de la région d'intérêt (1302), dans Ie plan de l'image fournis par ledit capteur, ladite région d'intérêt comportant chaque segment de droite tracé entre deux points correspondant aux positions successives de ladite source de lumière mobile.
26 - Procédé selon l'une quelconque des revendications 16 à 24, caractérisé en ce qu'il comporte, en outre : une étape de pointage, dans une image prise par chaque capteur matriciel, d'au moins deux positions correspondant à des points d'une région d'intérêt ; pour chaque position, une mémorisation des coordonnées, dans le plan de l'image fournie par le capteur d'image, du point correspondant et - une étape de détermination de ia région d'intérêt, dans le plan de l'image fournie par ledit capteur d'image, ladite région d'intérêt comportant chaque segment de droite tracé entre deux points successifs dont les coordonnées ont été mémorisées.
27 - Procédé selon l'une quelconque des revendications 16 à 26, caractérisé en ce que, pour détecter un pointeur, on détermine, pour chaque colonne d'éléments d'image de la région d'intérêt de chaque capteur, le minimum de luminosité pour les points de cette colonne et on compare ce minimum à une
valeur seuil de luminosité et le nombre de minimums consécutifs dépassant cette valeur seuil à au moins une valeur seuil de largeur apparente.
28 - Procédé selon l'une quelconque des revendications 16 à 27, caractérisé en ce qu'il comporte : une étape d'attribution (1322) d'une application informatique, pour au moins un mouvement du pointeur et pour au moins une zone active ou l'ensemble de la surface interactive, et lorsque ledit mouvement est détecté (1338) dans ladite zone active ou dans la surface interactive, respectivement, une étape de fonctionnement de ladite application informatique.
29 - Procédé selon la revendication 28, caractérisé en ce que, au cours de l'étape d'attribution d'une application informatique (1322), au moins un dit mouvement est défini par son amplitude, sa durée ou sa vitesse, sa tolérance spatiale sa direction et son sens.
30 - Procédé selon l'une quelconque des revendications 16 à 29, caractérisé en ce que, lorsque au moins deux pointeurs sont détectés, on effectue une étape d'attribution à au moins un desdits pointeurs une des positions possibles dont la distance à une prédiction de Kalman est minimale (1356 à 1366).
31 - Procédé selon l'une quelconque des revendications 16 à 30, caractérisé en ce que, lorsque au moins deux pointeurs sont détectés, on effectue une étape d'attribution audits pointeurs des positions possibles compatibles avec les images des pointeurs qui minimisent la somme de leur distance aux prédictions de Kalman (1356 à 1366).
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0506333A FR2887659A1 (fr) | 2005-06-22 | 2005-06-22 | Dispositif pour rendre un volume ou une surface interactifs |
FR0506333 | 2005-06-22 | ||
FR0506337A FR2887660A1 (fr) | 2005-06-22 | 2005-06-22 | Procede et dispositif pour rendre un volume ou une surface interactifs |
FR0506337 | 2005-06-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006136696A1 true WO2006136696A1 (fr) | 2006-12-28 |
Family
ID=37114514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2006/001395 WO2006136696A1 (fr) | 2005-06-22 | 2006-06-21 | Procede et dispositif pour rendre un volume ou une surface interactifs |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2006136696A1 (fr) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9218704B2 (en) | 2011-11-01 | 2015-12-22 | Pepsico, Inc. | Dispensing system and user interface |
US9721060B2 (en) | 2011-04-22 | 2017-08-01 | Pepsico, Inc. | Beverage dispensing system with social media capabilities |
CN116295188A (zh) * | 2023-05-15 | 2023-06-23 | 山东慧点智能技术有限公司 | 基于位移传感器的测量装置及测量方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0279652A2 (fr) * | 1987-02-17 | 1988-08-24 | Sensor Frame Incorporated | Méthode et appareil pour isoler et manipuler des objets graphiques sur un moniteur vidéo d'un ordinateur |
EP1126236A1 (fr) * | 2000-02-18 | 2001-08-22 | Ricoh Company, Ltd. | Dispositif de détermination des coordonées d' entrée avec détection de la position d' installation d' un dispositif de reception de la lumière utilisé à la détermination des coordonées |
US20030001825A1 (en) * | 1998-06-09 | 2003-01-02 | Katsuyuki Omura | Coordinate position inputting/detecting device, a method for inputting/detecting the coordinate position, and a display board system |
US20030085871A1 (en) * | 2001-10-09 | 2003-05-08 | E-Business Information Technology | Coordinate input device working with at least display screen and desk-top surface as the pointing areas thereof |
US6570103B1 (en) * | 1999-09-03 | 2003-05-27 | Ricoh Company, Ltd. | Method and apparatus for coordinate inputting capable of effectively using a laser ray |
-
2006
- 2006-06-21 WO PCT/FR2006/001395 patent/WO2006136696A1/fr active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0279652A2 (fr) * | 1987-02-17 | 1988-08-24 | Sensor Frame Incorporated | Méthode et appareil pour isoler et manipuler des objets graphiques sur un moniteur vidéo d'un ordinateur |
US20030001825A1 (en) * | 1998-06-09 | 2003-01-02 | Katsuyuki Omura | Coordinate position inputting/detecting device, a method for inputting/detecting the coordinate position, and a display board system |
US6570103B1 (en) * | 1999-09-03 | 2003-05-27 | Ricoh Company, Ltd. | Method and apparatus for coordinate inputting capable of effectively using a laser ray |
EP1126236A1 (fr) * | 2000-02-18 | 2001-08-22 | Ricoh Company, Ltd. | Dispositif de détermination des coordonées d' entrée avec détection de la position d' installation d' un dispositif de reception de la lumière utilisé à la détermination des coordonées |
US20030085871A1 (en) * | 2001-10-09 | 2003-05-08 | E-Business Information Technology | Coordinate input device working with at least display screen and desk-top surface as the pointing areas thereof |
Non-Patent Citations (1)
Title |
---|
LEGTERS G R ET AL: "A MATHEMATICAL MODEL FOR COMPUTER IMAGE TRACKING", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. PAMI-4, no. 6, November 1982 (1982-11-01), pages 583 - 594, XP000867183, ISSN: 0162-8828 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9721060B2 (en) | 2011-04-22 | 2017-08-01 | Pepsico, Inc. | Beverage dispensing system with social media capabilities |
US9218704B2 (en) | 2011-11-01 | 2015-12-22 | Pepsico, Inc. | Dispensing system and user interface |
US10005657B2 (en) | 2011-11-01 | 2018-06-26 | Pepsico, Inc. | Dispensing system and user interface |
US10435285B2 (en) | 2011-11-01 | 2019-10-08 | Pepsico, Inc. | Dispensing system and user interface |
US10934149B2 (en) | 2011-11-01 | 2021-03-02 | Pepsico, Inc. | Dispensing system and user interface |
CN116295188A (zh) * | 2023-05-15 | 2023-06-23 | 山东慧点智能技术有限公司 | 基于位移传感器的测量装置及测量方法 |
CN116295188B (zh) * | 2023-05-15 | 2023-08-11 | 山东慧点智能技术有限公司 | 基于位移传感器的测量装置及测量方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7852564B2 (en) | Devices and/or systems for illuminating a component | |
CN107241467B (zh) | 电子装置 | |
EP2619640B1 (fr) | Affichage interactif | |
EP2842019B1 (fr) | Procede pour interagir avec un appareil mettant en oeuvre une surface de commande capacitive, interface et appareil mettant en oeuvre ce procede | |
KR102022553B1 (ko) | 빛 회절 인자를 포함하는 헤드마운트 디스플레이 장치 | |
WO2003107261A2 (fr) | Procede pour localiser un impact sur une surface et dispositif pour la mise en oeuvre de ce procede | |
US20080106794A1 (en) | Co-axial diffuse light methods | |
US7850338B1 (en) | Methods for directing light | |
WO2021250189A1 (fr) | Procédé de protection automatique d'un objet, d'une personne ou d'une information ou oeuvre visuelle vis-à-vis d'un risque d'observation non désirée | |
EP2307948A2 (fr) | Dispositif interactif et procédé d'utilisation | |
WO2006136696A1 (fr) | Procede et dispositif pour rendre un volume ou une surface interactifs | |
US10643076B2 (en) | Counterfeit detection | |
FR2887659A1 (fr) | Dispositif pour rendre un volume ou une surface interactifs | |
FR2887660A1 (fr) | Procede et dispositif pour rendre un volume ou une surface interactifs | |
WO2021058307A1 (fr) | Procede d'enregistrement de sequences de commande et de controle d'un robot de test, logiciel pour mise en oeuvre de ce procede | |
FR3079048A1 (fr) | Procede d’interaction entre d’une part au moins un utilisateur et/ou un premier dispositif electronique et d’autre part un second dispositif electronique | |
EP2926232B1 (fr) | Système et procédé de communication reproduisant une interactivité de type physique | |
WO2016034515A1 (fr) | Dispositif d'interaction d'un objet exposé à l'aide d'un bras robotique | |
WO2023046902A1 (fr) | Systeme d'interface homme-machine | |
BE1023596B1 (fr) | Système interactif basé sur des gestes multimodaux et procédé utilisant un seul système de détection | |
FR2998686A1 (fr) | Systeme de communication pour reproduire une interactivite de type physique entre au moins deux acteurs | |
FR3021130A1 (fr) | Procede de detection d'un point d'interaction pour table tactile, table tactile | |
FR2995430A1 (fr) | Cabine d'essayage interactive et procede d'interaction avec ladite cabine d'essayage | |
WO2015082817A1 (fr) | Procédé de commande de l'interaction avec un écran tactile et équipement mettant en oeuvre ce procédé | |
WO2023175162A1 (fr) | Dispositif et procede de detection d'un objet au-dessus d'une surface de detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006778625 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2006778625 Country of ref document: EP |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06778625 Country of ref document: EP Kind code of ref document: A1 |