EP1716473A1 - A process for generating command signals, in particular for disabled users - Google Patents
A process for generating command signals, in particular for disabled usersInfo
- Publication number
- EP1716473A1 EP1716473A1 EP04711437A EP04711437A EP1716473A1 EP 1716473 A1 EP1716473 A1 EP 1716473A1 EP 04711437 A EP04711437 A EP 04711437A EP 04711437 A EP04711437 A EP 04711437A EP 1716473 A1 EP1716473 A1 EP 1716473A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- image
- region
- main
- representative
- auxiliary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- 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/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
- G06F3/0386—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry for light pen
Definitions
- the detecting means 90 is connected with a processing unit 100 that, after receiving the detected images, carries out processing of same and, as a result, generates a command signal 200.
- the regions that are the most similar to said templates are defined as the main region 51 and first region 53, respectively.
- the evaluation of this resemblance can be done through calculation of a suitable correlation function.
- Comparison between the first reference image 30 and said portions 13 of the first image 10 is carried out by calculating, for each portion 13, a first parameter representative of the differences between such a portion 13 and the first reference image 30.
- a second image 20 (Fig. 2b) can be detected that is subsequent in time to the first image 10, in order to evaluate possible movements of the predetermined portion 12 of the user's body.
- position in the present context it is meant both a point (pair of coordinates) identifying the displacement of an image portion, and the orientation or inclination direction of such an image portion. Therefore, with reference to the comparison between the position of the different image portions and reference images, also verifications of mere inclinations of a portion with respect to another (corresponding therefore to displacements of the rotary type) must be considered.
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)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
A process for generating command signals, in particular for disabled users, comprising the steps of: - detecting a first image (10) representative of the body of an operator; - selecting a first region (11) in the first image (10) which is representative of a predetermined portion (12) of the operator’s body; - detecting a second image (20) representative of the operator’s body; - selecting a second region (21) in the second image (20) which is representative of the predetermined portion (12) of the operator’s body; - comparing the first and second regions (11, 21) with each other; - generating an output command signal (200) which is a function of the comparison between the first and second regions (11, 21).
Description
A PROCESS FOR GENERATING COMMAND SIGNALS, IN PARTICULAR FOR DISABLED USERS
D e s c r i p t i o n
The present invention relates to a process for generating command signals, in particular for disabled users.
It is known that there are presently different typologies of apparatus enabling disabled users to use electronic or electromechanical devices, so as to compensate at least partly for the motor difficulties they may encounter.
For example, mouse emulators for computers are known that allow use and control of a computer also to users that are not able to move their hands in a sufficiently controlled manner.
These devices comprise inclination sensors that can be associated with a body portion of an operator through appropriate backing structures (bonnets or caps to utilise the head movement, for example) ; depending on the variation in the inclination of the selected body portion, the device sends the computer a signal quite similar to that generated by a conventional mouse, so that the displayed pointer can be moved.
Also known are devices that, through appropriate detecting means, acquire a series of digital images representing the operator or only part of the body thereof) and, depending on image-processing algorithms, verify the movements carried out by the user sending the computer corresponding command signals.
In accordance with the utilised algorithms the detected images are compared with each other so that differences
between successive images can be evaluated and the type of movement carried out can be recognised.
However, the processing methods of known type are not able to operate in a correct manner under any environmental condition, since they lose accuracy and liability in the presence of particularly coloured backgrounds or backgrounds susceptible of being confused with the operator' s body portion the movement of which is to be monitored.
In addition, known devices do not supply the user with a comfortable and immediate instrument for emulating a click from a mouse that can be correctly employed also by users having a limited control of their motor capabilities or subjected to muscular spasms.
In addition to the above, if in one or more of the detected images the user' s body portion taken as the reference were not present, the device would stop its monitoring activity and a complete re-initialisation of the different operating parameters would be required.
The present invention aims at making available a process for generating command signals, in particular for disabled users, capable of solving the above mentioned drawbacks .
In particular, it is an aim of the present invention to provide a process for generating command signals that can be put into practice in a correct and reliable manner with images having any type of background.
Another aim of the present invention is to make available a process allowing also users having serious motor difficulties and/or suffering from muscular spasms to be
able to correctly generate command signals.
It is a further aim of the present invention to provide a process for generating command signals that is capable of continuing monitoring of a predetermined portion of the user' s body even if said portion is not present in one or more of the detected images.
A still further aim of the present invention consists in making available a process allowing generation of command signals in a correct manner also when movements of small amount and limited to a spatial region of reduced sizes are to be detected.
The foregoing and further aims are substantially achieved by a process for generating command signals in accordance with that which is described in the appended claims.
Further features and advantages will become more apparent from the detailed description of a preferred embodiment of the process for generating command signals in accordance with the present invention. This description will be taken hereinafter by way of non-limiting example, with reference to the accompanying drawings, in which: - Fig. 1 diagrammatically shows an apparatus for putting into practice a first embodiment of the process in accordance with the invention; Figs. 2a, 2b, 2c, 3a, 3b, 4a, 4b, 5a and 5b diagrammatically show processed images in the first embodiment of the process in accordance with the invention; Fig. 6 diagrammatically shows an apparatus 2 for putting into practice a second embodiment of the process of the invention; - Figs. 7, 8 and 9 diagrammatically show processed images in the second embodiment of the process of the invention.
Fig. 1 shows an apparatus 1 by which a first embodiment of the process in accordance with the invention is carried out.
Apparatus 1 first of all comprises detecting means 90 to detect images, preferably of the digital type; the detecting means 90 can consist of a common USB webcam, employing the YUV standard or the RGB standard as the acquisition format and supplying images of the BMP type. The acquisition frequency can be of 20 images per second or higher.
The detecting means 90 is connected with a processing unit 100 that, after receiving the detected images, carries out processing of same and, as a result, generates a command signal 200.
The processing unit 100 can be a conventional PC (provided with a 500MHz processor and a 128MB RAM memory, for example) , in turn connected with another computer 82, set to receive said command signal 200.
As better clarified in the following, the command signal 200 can be a displacement command for a pointer 80 displayed on display means 81 associated with computer 82; in this way, replacement of a conventional mouse can be done, so that also operators with motor difficulties can interface with said computer 82.
Alternatively, the command signal 200 can be intended for transportation means of disabled users (not shown in the accompanying figures) , such as an electrically operable wheelchair for example, in order to allow the disabled user to pilot the latter in an independent manner.
In general, the process in accordance with the invention
can apply to different fields and apparatus, in the sector of the robotized household appliances for example where there may be a necessity to facilitate generation of a command signal to a user with motor difficulties for activation of apparatus and devices of the electronic or electro-mechanical type.
In more detail, in the first embodiment of the process in accordance with the invention, the detected images are representative of the user' s body, and in particular of the user' s body portion that is monitored and depending on the movements of which said command signal 200 is generated and outputted.
More particularly, a main image 50 (Fig. 4a) is generated within which a main region 51 representative of a main portion 52 of the operator' s body is selected; practically within the main image 50 a particular feature of the operator's body is selected. By way of example, the main portion 52 may be an eye of a user; it will be recognised that this choice is advantageous because eyes lend themselves to be easily recognised: an eye always has a light background area and a darker portion at the inside, a shape that substantially is always the same (it can only be disposed in different directions and positions), and is not very responsive to light variations in the environment where it is.
In addition, the fact that the main portion 52 is the operator's eye can allow evaluation of the distance between the operator and the detecting means 90 (to carry out digital zooming operations, for example) as well as an accurate evaluation of the inclination of the operator's face.
Obviously, depending on requirements, different portions
of the operator' s body can be employed; it is in fact possible for the main portion 52 to be selected by the user or automatically selected by the processing unit 100.
Subsequently within the main image 50 a first region 53 representative of a predetermined portion 12 of the user' s body is selected, said predetermined portion being different from said main portion 52. For example, the predetermined portion 12 can be the tip of the nose of the user.
To note that selection of the first region 53 is carried out in an area Al the position of which depends on the position of the main region 51 within the main image 50; in other words, search of the predetermined portion 12 in the main image 50 and consequent selection of the first region 53 are performed in a neighbourhood of the main region 51.
In fact, taking into account the case of the main portion 52 being one eye and the predetermined portion 12 the tip of the nose, it is apparent that the predetermined portion 12 must not be very far from the main portion 52; it is therefore possible to reduce the search area Al to a region around the eye, thereby correspondingly reducing the computational complexity required by the selection.
Selection of the main region 51 and the first region 52 are conveniently performed through the so-called template matching technique: i.e. the main image 50 is compared with prestored templates representing the main portion 52 of the operator's body and the predetermined portion 12, respectively.
The regions that are the most similar to said templates
are defined as the main region 51 and first region 53, respectively.
As better described in the following, the evaluation of this resemblance can be done through calculation of a suitable correlation function.
Then an auxiliary image 60 (Fig. 4b) is detected, within which an auxiliary region 61 representative of the main portion 52 of the user's body is selected in a quite similar manner.
Also selected in the auxiliary image 60 is a second region 62, representative of said predetermined portion 12 of the operator' s body; in this case too search and selection of the predetermined portion 12 are performed within an area A2 defining a neighbourhood of the auxiliary region 61.
In this way practically there are two detecting operations subsequent in time, i.e. detection of an eye and detection of the tip of the nose of the operator; by suitably comparing them, it is possible to define an operating threshold for the comparison operations to be carried out subsequently.
In fact the first region 53 of the main image 50 is compared with the second region 62 of the auxiliary image 60; practically the two representations of the operator's tip of the nose are compared with each other.
Then a main value is calculated that is representative of a difference between the two regions 53, 62; this main value is preferably calculated in accordance with the following correlation formula: r(s,t) = [A-Σ[s(x,y)t(x,y)] - ∑s (x, y) • ∑t (x, y) ) ] /σs-σt
wherein:
- r(s,t) is the standardised correlation coefficient referred to the images s(x,y) and t(x,y);
- s(x,y) is the first region 53 of the main image 50;
- t(x,y) is the second region 62 of the auxiliary image 60;
- σs = sqrt [A- Σ [s (x, y) 2] - (∑[s(x,y))2]
- σ-=sqrt [A-Σ[t(x,y)2] - (∑[t(x,y))2]
- A is the pixel number of region 53 and region 62.
It is therefore possible to define a predetermined threshold, equal to the main value calculated as above stated; so the true procedure of detecting the operator' s movements in order to generate said command signal 200 can be started.
Note that the images processed by the process in accordance with the invention can be described following a data processing system and using different standards. For example, each image pixel can be associated with a triad of values R, G, B, representative of the fundamental colours of such a pixel.
Advantageously, if the user is of a Western ethnic group (therefore with a substantially rosy skin) , more importance can be given to component R.
Then a first image 10 (Fig. 2a) is detected, in which a first region 11 representative of the predetermined portion 12 of the operator' s body is selected; for the purpose a first reference image 30 (Fig. 3a) having smaller sizes than the first image 10 is set.
The first reference image 30 is often denoted as "template" and is an exemplary representation of the predetermined portion 12 of the user's body; it
practically defines that which must be identified within the first image 10 in order to be able to recognise a movement and generate the corresponding command signal 200.
Then within the first image 10 a portion sufficiently similar to the first reference image 30 is sought for; this search is performed by comparing the reference image 30 with a plurality of portions 13 of the first image 10.
Each portion 13 has smaller sizes than the first image 10 and can have the same sizes as the first reference image 30.
Comparison between the first reference image 30 and said portions 13 of the first image 10 is carried out by calculating, for each portion 13, a first parameter representative of the differences between such a portion 13 and the first reference image 30.
The first parameter is obtained from a correlation formula quite similar to the above one with reference to the comparison between the first region 53 of the main image 50 and the second region 62 of the auxiliary image 60.
In this case, obviously, s(x,y) represents portion 13 of the first image and t(x,y) represents the first reference image 30.
The first parameter calculated in this manner is compared with a threshold; advantageously, this threshold is the predetermined threshold calculated as above stated. In this way, by evaluating the first parameter for different portions 13 of the first image 10, a primary portion is thus selected, the first parameter of which is greater
than the predetermined threshold.
If several portions 13 have a main parameter greater than the threshold, it is selected the primary portion the main parameter of which is greater than all the others.
This means that in the first image 10 a portion has been found that represents the predetermined portion 12 of the user' s body in a sufficiently faithful manner; this portion defines therefore said first region 11 of the first image 10.
Therefore a second image 20 (Fig. 2b) can be detected that is subsequent in time to the first image 10, in order to evaluate possible movements of the predetermined portion 12 of the user's body.
The second image 20 is processed substantially in the same manner as the first image 10.
A second reference image 40 is set that preferably has smaller sizes than the second image 20; the second reference image 40 is compared with a plurality of main portions 23 of the second image 20. The main portions 23 of the second image 20 have smaller sizes than the second image 20 and, conveniently, substantially have the same sizes as the second reference image 40.
In addition, the main portions 23 of the second image 20 belong to a main area 24 of the second image 20 itself; the main area 24 has smaller sizes than the second image 20 and is defined depending on the first position identified in the first image 10 (i.e. the position of the first region 11 in the first image 10) .
More particularly, in the second image 20 a position
corresponding to the first position in the first image 10 is identified; practically, after associating a pair of coordinates (of the Cartesian type, for example) with the first position, in the second image 20 the position having the same coordinates is identified (of course in the first and second images 10, 20 similar reference systems have been established) .
The main area 24 therefore defines a neighbourhood of the position thus identified in the second image 20; this means that, in the second image 20, the second reference image 40 is sought for in a neighbourhood of the position at which, in the first image 20, the predetermined portion 12 of the user's body had been highlighted. In other words, in order to limit the computational complexity of the process, the displacements of the predetermined portion 12 of the user' s body are assumed to take place, in subsequent images, within a given space region (exactly defined by the main area 24).
For each of the main portions 23 a second parameter is calculated, following comparison with the second reference image 40; in the same manner as said first parameter, the second parameter too is calculated following the correlation formula stated above with reference to the comparison between the main region 53 and auxiliary region 62. In this case s(x,y) represents the main portion 23 and t(x,y) represents the second reference image 40.
Of the main portions 23 the one for which the second parameter is greater by a given threshold is selected; preferably such a threshold is said predetermined threshold.
The selected main portion 23 therefore defines said
second region 21 of the second image 20.
In order to generate the command signal 200, the first region 11 of the first image 10 and the second region 21 of the second image 20 are compared with each other, to detect possible movements of the predetermined portion 12 of the user's body. In particular, the respective positions of the first region 11 in the first image 10 (referred to above as the first position) , and the position of the second region 21 in the second image 20 that will be hereinafter referred to as the second position are compared with each other.
In the second image 20 a position corresponding to the first position in the first image 10 is identified
(exactly as above, with reference to definition of the position of the main area 24); the position thus identified is compared with the second position: if they are substantially different from each other, it means that the predetermined portion 12 of the user's body has been moved to an important degree and the consequent command signal 200 is to be generated.
For example, turning back to the example concerning emulation of a mouse for a PC, should a displacement of the operator's head to the right occur, pointer 80 would be correspondingly moved.
Preferably, the comparison between the first region 11 and second region 21 takes place following parameters that can be set and modified by the user; in other words, depending on the user' s motor difficulties and the related limits in the movement amplitude of the considered body portion, it is possible to calibrate the system sensitiveness so as to suitably adjust the "required" movement amplitude to generate the command
signal 200 .
Note that by "position" in the present context it is meant both a point (pair of coordinates) identifying the displacement of an image portion, and the orientation or inclination direction of such an image portion. Therefore, with reference to the comparison between the position of the different image portions and reference images, also verifications of mere inclinations of a portion with respect to another (corresponding therefore to displacements of the rotary type) must be considered.
It should be also recognised that the first and second reference images 30, 40 can be substantially identical with each other; alternatively, the second reference image 40 can be defined depending on the first region 11 of the first image 10 and, preferably, may be coincident with said first region 11.
In this way, within the second image 20 a search is not done for a general prestored image, but an image portion being little different from what found in the previous image, i.e. said first image 10, is sought for.
Thus the second region 21 of the second image 20 can be found in a simpler and quicker manner.
Obviously, when comparison between a detected image and a template is the first comparison carried out for the search of a given physical feature of the user in that image, said template is necessarily a preset image, at the system's disposal on activation of same.
In addition to the above, the process in accordance with the present invention also contemplates generation of an auxiliary command signal 210;: said signal can be the
emulation of a "click" command for example, when the process is employed to replace a conventional mouse.
Advantageously, such an auxiliary command signal 210 is generated following detection of opening of the operator' s mouth, so that the "click" command too can be emulated without use of external auxiliary devices to be activated with other parts of the body.
In more detail, as mentioned above, in the first or second image 10, 20, a further region 19 representative of a further portion 19a of the operator's body is selected; this further portion can be the lower part of the user's mouth or the user's chin.
In Figs. 2a, 2b the further region 19 comprises both the operator's mouth and the chin; in order to make the process more precise and reliable, such a region can be restrained to the chin or lower lip.
Said further region 19 is identified as a main position within the image where it is (the first image 10 or second image 20) ; through a comparison between this main position and the first position in the first image 10 or the second position in the second image 20, it is possible to verify whether the operator has opened his/her mouth (generally, whether he/she has moved the further portion 19a of his/her body) and consequently generate the auxiliary command signal 210 intended for said computer 82.
Also contemplated are comparisons of the main position of the further region 19 with the position taken up by the further portion 19a in the subsequently detected images; in this way not only the distance between the chin and mouth can be evaluated by comparing it with a preset
limit value, but it is also possible to evaluate the variations in time of this distance to verify when the user's mouth is opened.
A further chance offered by the process in accordance with the invention consists in generating signals of the "directional" type and not of the "positional" type, in particular when these command signals are employed to move pointer 80 to emulate the operation of a conventional mouse.
In fact, generally, in the devices of known type, associated with each position of a portion of the user' s body is a corresponding position of the pointer on the screen; in this manner, however it is very difficult for users not having a wide freedom of movement in relation to the considered body portion to reach the most peripheral and perimetral parts of the screen.
To avoid this drawback, the process contemplates detection of a third image 70 (Fig. 2c), representative of the user's body, within which a third region 71 representative of the predetermined portion 12 of the operator's body is detected.
Selection of the third region 71 takes place in the same manner as above described with reference to the first and second regions 11, 21.
The third region 71 is compared with the first and/or second region 11, 21; more particularly, a third position in the third image 70 is detected which is representative of the position of the third region 71 within the third image 70.
The third position is compared with said first and/or
second positions: in the third image a first auxiliary position corresponding to the first position of the first image 10, and a second auxiliary position corresponding to the second position of the second image 20 are identified; practically, in the third image 70 there is the identification of the points having the same coordinates as the points that in the first and second images 10, 20 identify the first and second positions.
Then it is verified that the first and second auxiliary positions are substantially different from each other; thus the command signal 200 is generated, to move pointer 80 along a direction defined by the mutual positioning of said auxiliary positions, for example.
This command signal 200 (in this case of the "directional" type) is generated without interruption till when the third position is substantially equal to the first auxiliary position, i.e. till when the operator's head goes back to the starting position.
Practically, following a first movement of the operator' s head, the command signal 200 activates a movement of pointer 80; the latter goes on moving along a direction defined by the operator's movement, till when the operator's head goes back to the starting position. On occurrence of this event, an interruption signal 220 is generated exactly for stopping movement of pointer 80.
Still as regards emulation of mice of the traditional type, the present invention provides an alternative solution to the above technique for generation of a "click" command.
Let us suppose that a predetermined operating region 81a consisting of an icon for example is present on the
display device 81 and that this operating region 81 is associated with a respective secondary command (activation of an application, for example) that can be executed by computer 82. Following generation of the command signal 200, the pointer is positioned within the operating region 81a.
Through appropriate screen reading means, associated with computer 82 and the processing unit 100, it is verified whether pointer 80, within a series of frames detected by said reading means, is positioned within the operating region 81a for a given number of times. This means that, even if the user is not able to correctly position pointer 80 on the icon in a steady manner, the software is at all events able to ignore the fact that pointer 80 may sometimes go out of the area of interest.
Practically, the number of times (not necessarily in consecutive frames) that pointer 80 is in the operating region 81a is counted; when this number reaches a given limit value, then a confirmation signal 230 is generated that is exactly representative of a click carried out at the operating region 81a. The confirmation signal 230 therefore gives rise to execution by computer 82 of said secondary command.
In addition to the number of times pointer 80 is within the operating region 81a, also the distance between pointer 80 and the centre 81b of the operating region 81a is evaluated. In other words, a counter is associated with the operating region 81a and it is increased each time pointer 80 is within the operating region 81a itself; the closer the pointer is to the centre 81b of the operating region 81a the greater the increase is. In this way positioning of pointer 80 is detected in a correct manner even when several operating regions
- 19 -
performed, a sort of automatic re-initialisation of the tracking algorithm.
Each portion 75a of the fifth image 75 is compared with the first reference image 30 and in particular a parameter representative of the differences between the considered portion 75a and the first reference image 30 is calculated, in accordance with the correlation formula. In other words, if in the fourth image 70a the presence of the operator's physical feature under search (i.e. the predetermined portion 12 as detected in the second or third image 20, 70) is not found, following detection of the fifth image 75, it is started all over again and, in the same manner as in the steps performed on the first image 10, in the fifth image 75 the first reference image 30 is sought for.
Then among portions 75a, the portion associated with a parameter that is greater than the predetermined threshold is selected; the selected portion thus defines a corresponding region 75b of the fifth image 75.
Region 75b is thus the portion of the fifth image that is very similar to the first reference image 30 and that therefore represents the predetermined portion of the operator's body.
Region 75b is finally compared with the first and/or second and/or third region 11, 21, 71, and the command signal 200 is generated depending on these comparisons.
As regards the first embodiment of the process hitherto described, it is to be noted that both the thresholds utilized to carry out said comparisons, and the sizes of the search windows (areas Al, A2 and 24, for example) can be defined by the user, depending on the requirements of
- 18 -
adjacent to each other are present on the screen and, due to an incomplete control of the pointer movements, pointer 80 is unintentionally moved from one region to the other.
Advantageously, the process in accordance with the invention may have a correct operation even if, in some of the images detected through said detecting means 90, the operator' s body portion to be monitored does not appear.
In fact a fourth image 70a (Fig. 5a) is detected which is representative of the operator' s body; the second region 21 of the second image 20 or the third region 71 of the third image 70 are compared with a plurality of secondary portions 70b of the fourth image. For each of the secondary portions 70b a fourth parameter is calculated (still through said correlation formula) which is representative of the differences between the considered secondary portion 70b and the second region 21 or third region 71.
The secondary portions 70b can belong to a limited area, of smaller sizes than the fourth image 70a, said limited area being defined in a neighbourhood of the second region 21 or the third region 71.
It may happen that none of the secondary portions 70b is characterised by a fourth parameter greater than said predetermined threshold; in other words, the predetermined portion of the operator' s body is not represented in the fourth image 70a (or at least in the limited area in which it has been sought for) .
At this point the process is not interrupted, but detection of a fifth image 75 (Fig. 5b) is contextually
each individual case.
It will be also recognised that the contextual monitoring of the main portion 52 and the predetermined portion 12 of the operator's body can be used to evaluate possible displacements of the rotating type within the detected images .
In addition to the above, a coloured element (such as a paperboard label) is provided to be associated with the considered body part to facilitate the above described movement-recognition steps.
Another step that can be performed in addition to the above stated steps consists in a rotation of the reference area for recognising the displacement direction of the considered body part, in particular with reference to the head movements to move the pointer of a mouse. In fact, some disabled users are not able to keep the head in an upright position, but only laterally bent and the movements for generating the respective command signals are carried out starting from this position.
At all events in order to allow use of the system in accordance with the invention, an appropriate geometrical transformation, typically a rotation, is provided to be applied to bring back the detected images to a space having reference axes disposed according to predetermined orientations and carry out the subsequent processing operations.
It is finally to be pointed out that, for correct execution of the process in accordance with the first embodiment of the invention, the user is required to be positioned in a substantially fixed location so that the detecting means 90 can recognise the movements, and the
corresponding commands can be generated.
Fig. 6 diagrammatically shows an apparatus 2 by which a second embodiment of the process in accordance with the invention can be put into practice.
Apparatus 2 comprises a device 320 emitting a light radiation 410; this radiation can be a laser radiation for example, preferably a red one, as better clarified in the following.
Apparatus 2 further comprises a support or board 300, on which the radiation 410 is caused to be incident to define a light spot 302 on the board 300 itself.
Alternatively, the spot 302 on the board 300 can be obtained through a coloured reference associated with part of the user' s body and positioned close to a given area of the board 300 following criteria that will become apparent in the course of the following discussion.
Board 300 can be made of any material (plastic material, paperboard, etc., for example) and its only aim is to show a plurality of options among which the user can make his/her choice; the selected option will be that identified by said light spot 302.
By way of example, the board 300 can represent electronic or electromechanical devices (household appliances, for example) , or alphabet letters so that the user has at his/her disposal a sort of virtual keyboard for a computer; obviously in addition to letters, there can be also present numbers, direction indicators for displacement of the pointer of the mouse together with all functions provided in a conventional keyboard.
It is also provided that the board 300 may represent a control panel for operation and control of the transportation means for disabled users, so as to allow a user having motor difficulties to drive this means in an independent manner.
In more detail, the board 300 is divided into operating regions 301 (Figs. 7, 8) each of which is representative of a respective command.
Apparatus 2 is also provided with detecting means 330 to detect a plurality of images representing the board 300 and the light spot 302 present thereon.
The detecting means 330 may comprise a conventional webcam USB using the YUV or RGB standards as the acquisition format, and supplying images in the BMP format; the acquisition frequency can be of 20 images per second or higher. Should the utilised standard be the YUV, a conversion in the colour space RGB can be provided, so as to simplify the processing operations that are subsequently performed on the detected images.
The detecting means 330 is connected with a processing unit 340, to transmit the acquired images thereto; the processing unit 340 is of a suitable configuration so as to perform the steps constituting the second embodiment of the process in accordance with the present invention to be described in detail herebelow.
First of all a first image 303 is detected (Fig. 7) that represents the board 300 and the light spot 302; the light spot 302 takes up a main position on board 300 and identifies a predetermined operating region 301a.
In order to identify the main position of the light spot
302, associated with each of the pixels defining the first image 303 is at least one main parameter representative of the chromatic features of such a pixel. In more detail, as mentioned above, the images are acquired or converted following the RGB standard; therefore associated with each pixel of the first image 303 is:
- a first parameter representative of the light intensity of channel R (red) of such a pixel; - a second parameter representative of the light intensity of channel G (green) of such a pixel;
- a third parameter representative of the light intensity of channel B (blue) of such a pixel.
Preferably, in the process in accordance with the invention only the first and second parameters are considered. In fact, for each pixel of the first image
303, a difference between the first and second parameters is calculated; depending on this difference the main parameter is calculated.
Advantageously, the main parameter is equal to the difference between said first and second parameters; practically, the main parameter represents the light intensity of channel R with respect to channel G of the pixel under examination.
The main parameters thus calculated are compared with a threshold value; then those pixels for which the main parameter is greater than the threshold value are selected. In this way the pixels having a prevailing chromatic component of red colour are identified; since the colour of the employed laser is red, the selected pixels are those that are more likely to represent the light spot 302.
Obviously, also emitters of radiation of different colours from the red one can be used; the only thing to do is to take this into account in defining and calculating said main parameter.
It is to be noted that the threshold value can be preset in the form of a code in the software implementing the process in accordance with the invention; alternatively, this value can be defined in a starting learning step in which the user does not address the emitter 320 towards the board 300.
Under this circumstance, for all points of the detected image (in this image obviously the light spot 302 is not present) the difference between the first and second parameters is calculated; this difference defines the threshold value for the subsequent processing operations.
Turning back to detection of the main position of the light spot 302 in the first image 303, once a pixel group 304 having the main parameter greater than the threshold value has been identified, a calculation of these pixels is carried out, if the number of pixels belonging to group 304 is included in a predetermined value range, then it is very likely that said pixels should represent the light spot 302.
Therefore identification of a main pixel 304a the position of which within the first image 303 is representative of the position of the whole group 304, is carried out. Practically, the main pixel 304a is the centre of gravity of the pixels of group 304; the position of the main pixel 304a is taken as the position of the light spot 302 within the first image 303 and therefore defines said main position of the spot 302 itself.
The above described processing operation to identify the position of spot 302 is particularly advantageous taking into consideration the fact that, when the light spot generated by a red laser emitter is detected by means of a webcam, this spot is perceived like a white "little ball" surrounded by a sort of red halo clearing away from the centre; obviously, a banal search for a red small ball would have given quite unreliable results.
In order to recognise the predetermined operating region 301a, it is also necessary to detect the position of board 300 within the first image 303; it will be then possible to identify the predetermined operating region 301a from the mutual positioning of the board 300 and light spot 302.
To enable the system to recognise the board position, board 300 has a plurality of reference portions 305 through identification of which the position of the board 300 itself can be defined.
The reference portions 305 preferably are of a substantially different colour from the light spot 302; in the illustrated embodiment in which a red laser is employed, the reference portions 305 can be green.
In the same manner as above described for the light spot 302, the reference portions 305 of board 300 as well are identified, depending on their chromatic features.
To make the search of the reference portions 305 strong with respect to the environmental light variations, a filter is applied that is based on brightness readaptation of the individual pixel with respect to a preestablished and constant value over the whole image 303.
Brightness of the individual pixel is set to be equal to the average value of the three channels R, G, B (i.e. equal to the value that an image in the gray shades would have) and the chromatic features of the pixel are varied so that said average value is reached while keeping the differences between channels R, G and B unchanged.
In particular, as above mentioned,
R represents the value of the red channel of the pixel; G represents the value of the green channel of the pixel;
B represents the value of the blue channel of the pixel.
The following magnitudes are therefore defined:
L = (R+G+B) /3 Kl = R-G (constant)
K2 = R-B (constant)
By expressing R, G and B depending on L, Kl and K2, it is obtained:
G = L - 2/3K1 + 1/3K2 R = G + Kl = L+1/3K1 + 1/3K2
B = R - K2 = L + 1/3K1 - 2/3K2.
L therefore defines the expected brightness value and the two constants Kl and K2 characterise the colour.
In this way an image having duller shades is obtained but in which there is an almost complete absence of noise due to change of light in the environment.
The above described filtering operation is advantageously applied to all the detected images; therefore from now on when reference is made to the first image 303 (and to the subsequently detected images) , reference will be made to the thus filtered image. In particular, the first, second and third parameters associated with each pixel of the detected images will be the values R, G and B calculated as above stated.
When the reference portions 305 are to be found, for each pixel of the first image 303 the difference between the second and first parameters is calculated, thereby obtaining a corresponding auxiliary parameter; practically the auxiliary parameter defines the intensity of each pixel in channel G.
The auxiliary parameter is compared with an auxiliary threshold and, as a result, those pixels for which the auxiliary parameter is greater than the auxiliary threshold are selected; these pixels define a second group 306.
In an exemplary embodiment, the reference portions 305 have a substantially circular conformation; each reference portion 305 can therefore be identified like a small ball, preferably of green colour.
To calculate the centre of each small ball identifying the position of the respective reference portion 305, the geometric property according to which the gradient of a point of a circumference passes through the circumference centre is exploited. Therefore, for each pixel p(x,y) of the second group 306, the following operations are carried out:
- the difference A between the intensity (in this case of field G) estimated at point (x+l,y) and at point (x- l,y) is calculated;
- the difference B between the intensity (still in field G) estimated at point (x,y+l) and at point (x,y-l) is calculated;
- the gradient modulus as Modulus = SQRT (A2+B2) is calculated; the gradient direction as Angle=ARCTG (B/A) is calculated.
Obviously "x" and "y" represent the considered pixel coordinates in accordance with a predetermined reference system defined in the first image 303.
After selecting the circumferential points of each reference portion in this manner, a score is allocated to those pixels that are on the straight line identified by the gradient direction and have a distance from the circumferential point that is included between a maximum and a minimum (calculated depending on the radius of the reference portions 305 known a priori); in other words, each time a pixel is recognised in the direction of a gradient relating to a circumferential point, such a pixel receives one "score") .
At the end of the procedure, the pixels having received the greatest number of scores are those that are the closest to the geometric intersections between the straight lines of the different gradients and can therefore be considered as the centres (i.e. the positions) of the reference portions 305.
It is to be noted that the reference portions 305 can be printed directly on board 300, or made separately (e.g. using sheets of coloured paper) and applied to board 300. Alternatively, the reference portions 305 can be obtained through appropriate emitters (e.g. LEDs) mounted on board 300, to allow use of the system also under conditions of weak illumination.
After selecting the positions of the reference portions 305 in the first image 303, it is necessary to go back to the true position of board 300 in this first image 303.
The reference portions 305 define on board 300, a predetermined number of lines 307 joining two or more
reference portions 305; in particular lines 307 can be straight lines.
The board 300 may generally have any shape; it can be of a substantially polygonal, preferably quadrangular shape, for example; in particular the board 300 may have a substantially rectangular shape, as shown by way of example in Figs. 6, 7 and 9.
The reference portions 305 are advantageously positioned along the perimeter of said polygonal shape and define two or more diagonals thereof.
In the case of a rectangular board 300, the reference portions 305 (in the form of green small balls, for example) are positioned at the vertices of the rectangle and a further reference portion is positioned in the centre of the rectangle, at the intersection between the diagonals .
For the purpose of recognising the position of board 300 in the first image 303 it is therefore possible to exploit recognition of the diagonals thereof. The diagonal recognition can be carried out by identifying all possible segments joining said reference portions 305 and imposing some constraints to said segments; those segments that better comply with the constraints will be those that most probably define the diagonals.
In the above mentioned case of the diagonals of a rectangle, the procedure may be as follows. First of all segments having a length greater than a minimum value are selected; after this selection, pairs of segments belonging to the same straight line and substantially having the same length are identified. The identified pairs of segments therefore define a plurality of
possible diagonals. Subsequently, all pairs of possible diagonals are compared with each other, by evaluating the respective angular coefficients (they must be of opposite sign and their ratio, in an absolute value, must fall within a given range) , by evaluating the respective lengths (the lengths of the two diagonals must be "sufficiently similar" to each other) , by verifying that the two diagonals have the same medium point and verifying suitable relations on the ratios between the sides of the rectangles defined by each pair of possible diagonals .
The pair of possible diagonals that better complies with said relations is supposed to be the pair of diagonals identifying board 300 in the first image 303.
When the position of board 300 has been identified together with the position of the light spot 302, it is therefore possible to define the predetermined operating region 301a and generate the corresponding command signal 400.
In particular, the processing unit 340 is provided with a memory containing a plurality of possible positions for spot 302, called auxiliary positions, each of them being associated with a respective operating region 301 of board 300; each auxiliary position is also associated with a corresponding output signal that is adapted, when transmitted to an appropriate computer, to cause execution of the command represented by the operating region 301 associated with said auxiliary position. In other words, each operating region 301 has a corresponding auxiliary position within said memory; each auxiliary position is associated with an output signal for execution of a command. This command is the command represented by said operating region 301 and must be
carried out when it is detected that spot 302 is within such an operating region 301.
However, detection of the mutual position of the board 300 and light spot 303 can be hard due to deformations resulting both from radial distortion and from the perspective, should the board not be exactly perpendicular to the reading direction of the detecting means 330.
It is therefore provided that, once spot 302 and the reference portions 305 have been detected, a transformation is carried out from the first detected image 303 to a known space of coordinates which is computationally simple to be treated. Typically, transformation causes the image first detected to be deformed until giving a substantially ideal overall vision of the different elements; the techniques allowing this deformation are the so-called "rubber sheet" techniques.
One possibility consists in selecting a triangle in the detected image (one of the four triangles defined by the diagonals of board 300, for example) and in identifying a transformation matrix allowing a deformation of such a triangle to transform the latter into an "ideal" triangle, i.e. an isosceles triangle having two semidiagonals as the sides and one side of the board as the base.
The starting points and arrival points of the transformation being known, definition of the related matrix takes place. Then the transformation is applied to the main position of the light spot 302, so as to bring into the "transformed" space also the point indicated by means of the laser emitter. It is now possible to verify
in which operating region the light spot is and generate the corresponding command signal 400 outputting the selected output signal as above described.
It is important to note that the command signal 400 is not generated immediately, as soon as the light spot 302 is identified in the first image 300. It is in fact provided that a plurality of images is detected, each of which is processed as the above described first image 10, to identify the position of board 300 and the light spot 302.
In addition, associated with each operating region 301 of board 300 is a counter that is increased when, in a new image, spot 302 is detected within this operating region 301. In other words, the greater the number of images in which spot 302 is detected in a given operating region 301, the greater the value reached by the counter associated with this operating region 301.
In a more sophisticated version, also the distance between the light spot 302 and the centre 301b of the operating region 301 is taken into account; more specifically, the closer the spot 302 is to the centre 301 of such an operating region 301, the greater each individual increase ascribed to the counter associated with an operating region 103.
In this manner, it is possible to correctly detect the selections carried out by users that do not have full control of their movements (i.e. that do not succeed in keeping the light spot 302 uninterruptedly within an operating region 301 over a given time gap) , but that are at least able to keep the pointer in a limited neighbourhood of the concerned operating region, causing the light spot to remain as much as possible close to the
centre of such an operating region.
A solution of this type is also particularly advantageous should the different operating regions 301 be adjacent with respect to each other; under this circumstance, if the distance of the pointer from the centre of the regions were not taken into account, small inaccuracies in the pointer could cause wrong interpretations by the system.
In addition to the above, when several images representative of the board 300 and the light spot 303 are detected, the amount of calculations to be executed on each image can be reduced by applying appropriate tracking techniques with reference both to the light spot 302 and the reference portions 305. In fact, when a second image 310 representative of the board 300 and spot 302 is detected, repetition of the whole processing method to which the first image 303 was submitted can be avoided for detecting the position of said elements.
In more detail, in the second image 310 a position corresponding to the main position in the first image 303 is identified; practically in the second image it is identified the point having the same coordinates as the point that in the first image indicates the main position of the light spot 302. Then a neighbourhood of the above stated corresponding position is defined, said neighbourhood having predetermined sizes, smaller than the sizes of the second image 310. The second spot 302 is then sought for within said neighbourhood, the whole second image 310 being not required to be considered, thereby making the performed processing operations quicker.
A quite similar technique can be also used for
identifying the reference portions 305 in the second image 310. For each of the reference portions 305 identified in the first image 303, a corresponding position is defined in the second image 310; practically, identified in the second image 310 are the points having the same coordinates as the points that in the first image 303 define the position of portions 305. At each of the points thus identified in the second image 310 neighbourhood of predetermined sizes is defined; the search of the reference points 305 in the second image is therefore limited within said neighbourhoods of the points identified in the second image 310.
Obviously, as an alternative to the above description, also other tracking algorithms can be used, substantially obtaining the same results and the same advantages from a computational point of view.
In addition, it is to be noted that, if in performing the tracking step, the object of interest (spot 302 or some reference portion 305) were missing in one or more images, it is provided that the system shall not stop operation, but shall get back to the beginning, carrying out the search of the object under examination in the subsequent images.
In the light of the above, it is apparent that apparatus 2 can be freely employed even when the user is located some distance from board 300; this feature is particularly advantageous for users having displacement and/or walking difficulties.
It is important to point out that said apparatus 1 and 2 can be combined with each other so as to provide a user with a multi-purpose system, capable of assisting him/her in driving and regulating several devices of the
electrical and/or electromechanical type.
It is also to be noted that both the first and second embodiments of the process of the invention can be implemented through appropriate softwares, set to carry out the above described operations.
Said softwares can be each loaded on a computer memory, such as a memory of a conventional PC, or can be loaded on a portable recording medium such as a floppy disk. Another medium that can be employed is a memory of the ROM (Read Only Memory) type.
Finally, for transmission of the softwares from a computer to another one, it is provided that said softwares be incorporated in one or more carrier signals of the electromagnetic type (electric or optical signals, for example) .
The invention achieves important advantages.
First of all, the process in accordance with the invention can correctly operate under any environmental condition, also in the presence of backgrounds introducing an important "semantic noise".
Finally, the process in accordance with the invention allows a correct generation of the desired command signals also to users having serious motor difficulties or subjected to muscular spasms.
Another advantage resides in that the process in accordance with the invention can be put into practice through hardware means having minimum performance requirements, such as a conventional PC; the process can therefore be put into practice at very reduced costs.
A further advantage comes out with reference to emulation of a mouse, taking into account the fact that a click command can be generated in a very simple and reliable manner.
A still further advantage resides in that, even if the user' s monitored body part does not appear in one or more of the images acquired during the detecting step, the process is able to activate an automatic search step to "link up with" the preceding images so as to continue operation in a correct manner.
Claims
1. A process for generating command signals, in particular for disabled users, characterised in that it comprises:
- detecting a first image (10) representative of a body of an operator;
- selecting a first region (11) representative of a predetermined portion (12) of the operator's body in said first image (10);
- detecting a second image (20) representative of the operator' s body;
- selecting a second region (21) representative of said predetermined portion (12) of the operator's body in said second image (20);
- comparing said first and second regions (11, 21) with each other;
- generating an output command signal (200) depending on said comparison.
2. A process as claimed in claim 1, characterised in that said step of comparing said first and second regions (11, 21) with each other comprises:
- identifying a first position of said first region (11) in said first image (10);
- identifying a second position of said second region (21) in said second image (20);
- comparing said first and second positions with each other.
3. A process as claimed in claim 2, characterised in that said step of comparing said first and second positions with each other comprises:
- identifying a secondary position in said second image (20) which corresponds to the first position in said first image (10) ; - comparing said secondary position and said second position with each other.
4. A process as claimed in anyone of the preceding claims, characterised in that said step of selecting said first region (11) comprises:
- arranging a first reference image (30) having smaller sizes than said first image (10); comparing said first reference image (30) with a plurality of portions (13) of said first image (10) , each having smaller sizes than said first image (10) and preferably substantially having the same sizes as said first reference image (30);
- calculating, for each of said comparisons, a first parameter representative of a difference between said first reference image (30) and a respective portion (13) of said first image (10);
- selecting a primary portion of said first image (10) for which said first parameter is greater than a predetermined threshold, said primary portion of said first image (10) defining said first region (11).
5. A process as claimed in anyone of the preceding claims, characterised in that said step of selecting the second region (21) comprises:
- arranging a second reference image (40) having smaller sizes than said second image (20);
- comparing said second reference image (40) with a plurality of main portions (23) of said second image (20) , each of them having smaller sizes than said second image (20) and preferably substantially having the same sizes as said second reference image (40);
- calculating, for each of said comparisons, a second parameter representative of a difference between said second reference image (40) and a respective main portion (23) of said second image (20); - selecting a primary portion among said main portions (23) of said second image (20) for which said second parameter is greater than a predetermined threshold, said primary portion of the second image (20) defining said second region (21).
6. A process as claimed in claim 5, characterised in that said first and second reference images (30, 40) are substantially identical with each other.
7. A process as claimed in claim 5, characterised in that said second reference image (40) is defined depending on said first region (11), and preferably substantially is equal to said first region (11).
8. A process as claimed in claim 5 or 7, characterised in that the main portions (23) of the second image (20) belong to a main area (24) of said second image (20), a position of said main area (24) being identified depending on said first position in the first image (10).
9. A process as ' claimed in anyone of the preceding claims, characterised in that it further comprises the following steps: - detecting a main image (50) representative of the operator' s body;
- selecting a main region (51) representative of a main portion (52) of the operator's body within said main image (50), said main portion (52) being different from said first portion (12) of the operator's body;
- selecting a first region (53) representative of said predetermined portion (12) of the operator's body within said main image (50) , said selection being preferably carried out in an area (Al) the position of which in said main image (50) is defined depending on a position of said main region (51) in said main image (50) .
10. A process as claimed in claim 9, characterised in that it further comprises:
- detecting an auxiliary image (60) representative of the operator's body; - selecting an auxiliary region (61) representative of said main portion (52) of the operator's body within said auxiliary image;
- selecting a second region (62) representative of said predetermined portion (12) of the operator's body within said auxiliary image (60), said selection being carried out in an area (A2) the position of which in said auxiliary image (60) is defined depending on a position of said auxiliary region (61) in said auxiliary image (60) .
11. A process as claimed in claim 10, characterised in that it further comprises:
- comparing the first region (53) of said main image (50) and the second region (62) of said auxiliary image (60) with each other;
- calculating a main value representative of a difference between the first region (53) of said main image (50) and the second region (62) of said auxiliary image (60);
- defining said predetermined threshold depending on said main value, said predetermined threshold being preferably set equal to said main value.
12. A process as claimed in anyone of claims 9 to 11, characterised in that said main portion (52) of the operator's body is an eye of said operator.
13. A process as claimed in anyone of the preceding claims, characterised in that said predetermined portion (12) of the operator's body is the nose of said operator.
14. A process as claimed in anyone of the preceding claims, characterised in that it further comprises:
- selecting a further region (19) representative of a further portion (19a) of the operator's body in said first image (10) or in said second image (20), said further portion (19a) of the operator's body being different from said predetermined portion (12) of the operator's body;
- identifying a main position of said further region (19) in said first image (10) or in said second image (20); - generating an auxiliary command signal (210) depending on a distance between the main position of said further region (19) and said first position or said second position.
15. A process as claimed in anyone of the preceding claims, characterised in that said command signal (200) is a displacement signal for a pointer (80) on a display device (81) associated with a computer (82).
16. A process as claimed in claim 14, characterised in that said auxiliary command signal (210) is a signal emulating a click of a mouse for a computer (82) .
17. A process as claimed in anyone of the preceding claims, characterised in that it further comprises:
- detecting a third image (70) representative of the operator's body;
- selecting a third region (71) representative of said predetermined portion (12) of the operator's body in said third image (70) ;
- comparing said third region (71) with said first and/or second region (11, 21);
- generating a signal (220) for interruption of said command depending on said comparison.
18. A process as claimed in claim 17, characterised in that said step of comparing said third region (71) with said first and/or second region (11, 21) comprises:
- identifying a third position of said third region (71) in said third image (70) ; - comparing said third position in said third image (70) with said first and/or second position, said command signal (200) being generated depending on said comparison.
19. A process as claimed in claim 18, characterised in that said step of comparing said third position with said first and/or second positions comprises:
- identifying a first auxiliary position in said third image (70) which corresponds to said first position in said first image (10);
- identifying a second auxiliary position in said third image (70) which corresponds to said second position in said second image (20);
- carrying out a first verification of a substantial equality between said third position and said first auxiliary position, said command signal (200) being generated following said first verification;
- carrying out a second verification of a substantial dissimilarity between said third position and said second auxiliary position, said interruption signal (220) being generated following said second verification.
20. A process as claimed in anyone of the preceding claims, characterised in that it further comprises: - detecting a fourth image (70a) representative of said operator's body;
- comparing the third region (71) of said third image (70) or the second region (21) of said second image (20) with a plurality of secondary portions (70b) of said fourth image (70a) ;
- calculating, for each of said secondary portions (70b) a fourth parameter representative of a difference between said secondary portion (70b) and the third region (71) or second region (21);
- verifying that none of said secondary portions (70b) has a fourth parameter greater than said predetermined threshold;
- detecting a fifth image (75) representative of said operator' s body;
- comparing a plurality of portions (75a) of said fifth image (75) with said first reference image (30) ; calculating, for each of said portions (75a) a parameter representative of a difference between said first reference image (30) and said portion (75a) of the fifth image (75); - selecting one of said portions (75a) of the fifth image (75) for which said parameter is greater than said predetermined threshold, said selected portion (75a) defining a corresponding region (75b) of said fifth image (75) , said command signal being generated depending on a comparison between the region (75b) of the fifth image (75) and the first or second or third region (11, 21, 31) .
21. A process as claimed in claim 15, characterised in that it further comprises:
- generating said command signal (200) to move said pointer (80) in a predetermined operating region (81a) of said display device (81), said operating region (81a) being associated with a respective secondary command executable by said computer (82);
- verifying whether said pointer (80) has been moved in said operating region (81a) a number of times greater than a predetermined number;
- generating, following said verification, a confirmation signal (230) for said computer (82) for execution of said respective secondary command.
22. A process as claimed in claim 20, characterised in that it further comprises a step of calculating, for each time said pointer (80) is positioned in said operating region (81a), a distance between said pointer (80) and a centre (81b) of said operating region (81a), said confirmation signal (230) being generated depending on said distance.
23. A process as claimed in claim 22, characterised in that said confirmation signal (230) is generated depending on the detected number of times in said verification step, and the calculated distances in said calculation step.
24. A process as claimed in anyone of the preceding claims, characterised in that said command signal (200) incorporates a command intended for transportation means for disabled users, for displacement of said means depending on said command.
25. An apparatus for generating command signals, in particular for disabled users, characterised in that it comprises :
- detecting means (90) to detect images (10, 20, 70,70a, 75), preferably in a digital format, representative of a user' s body;
- a processing unit (100) connected with said detecting means (90) and of a suitable configuration so as to perform the steps of the process in accordance with anyone of claims 1 to 24.
26. A software application loadable on a memory of a processing unit and containing portions of sofware code to put into practice the process as claimed in anyone of claims 1 to 24 when the application is executed on a processing unit.
27. A process for generating command signals, in particular for disabled users, characterised in that it comprises the following steps:
- detecting a first image (303) representative of a support or a board (300) divided into a plurality of operating regions (301) that are each representative of a respective command, and of a light spot (302) generated on said board by a corresponding light radiation incident on said board (300), said spot (302) identifying a predetermined one of said operating regions (301a) ;
- generating a command signal (400) incorporating the command represented by said predetermined operating region (301a) .
28. A process as claimed in claim 27, characterised in that it further comprises:
- detecting in said first image (303) , a main position of said light spot (302) on said board (300); comparing said main position with a plurality of auxiliary prestored positions, each of them being associated with a respective output signal; selecting a predetermined one of said auxiliary positions depending on said comparison, said step of generating the command signal (400) comprising a step of outputting the output signal associated with said predetermined auxiliary position.
29. A process as claimed in claim 28, characterised in that each of said auxiliary positions is associated with a respective operating region (301), the output signal associated with each auxiliary position being adapted to cause an execution of the command represented by the operating region (301) associated with said auxiliary position.
30. A process as claimed in claim 28 or 29, characterised in that the step of identifying said main position comprises :
- associating with each pixel of said first image (303), at least one main parameter representative of a chromatic feature of said pixel;
- selecting a group of pixels (304) of said image depending on said main parameter;
- identifying a main pixel (304a) in said group (304), which pixel is representative of a position of pixels of said group (304), said main position of the light spot (302) being defined by a position of said main pixel (304) in said first image (303).
31. A process as claimed in claim 30, characterised in that the step of selecting said pixel group (304) comprises :
- defining a threshold value;
- comparing the main parameter associated with each of said pixels with said threshold value; - selecting the pixels for which said main parameter is greater than said threshold value.
32. A process as claimed in claim 30 or 31, characterised in that the step of associating said main parameter with each pixel comprises:
- associating a first parameter with each pixel, which parameter is representative of a light intensity of channel R of said pixel in the colour space RGB;
- associating a second parameter with each pixel, which parameter is representative of a light intensity of channel G of said pixel in the colour space RGB;
- calculating a difference between said first and second parameters, said main parameter being defined depending on said difference and being in particular equal to said difference.
33. A process as claimed in anyone of claims 30 to 32, characterised in that it further comprises a step of verifying whether the number of pixels belonging to said group (304) is included within a predetermined value range .
34. A process as claimed in anyone of claims 30 to 33, characterised in that the step of identifying the position of said main pixel (304) comprises a step of calculating a centre of gravity of the pixels of said group (304) .
35. A process as claimed in anyone of claims 28 to 34, characterised in that it further comprises a step of identifying a position of said board (300) in said first image (303), said predetermined auxiliary position being identified depending on the position of said board (300) .
36. A process as claimed in claim 35, characterised in that said board (300) has a predetermined number of reference portions (305) , the step of identifying the position of said board (300) comprising a step of identifying a position of said board portions (305) in said first image (303).
37. A process as claimed in claim 36, characterised in that said reference portions (305) are of a predetermined colour that is preferably different from the colour of said light spot (302), the step of identifying the position of said reference portions (3059 in said first image (303) being performed depending on said predetermined colour.
38. A process as claimed in claim 37, characterised in that the step of identifying the position of said reference portions (305) comprises: - calculating a difference between the second and first parameters associated with the pixels of said first image
(303), thereby obtaining a corresponding auxiliary parameter; - comparing said auxiliary parameter with an auxiliary threshold;
- selecting a second group of pixels (306) for which the auxiliary parameter is greater than said auxiliary threshold.
39. A process as claimed in claim 38, characterised in that each reference portion (305) has a substantially circular conformation, said step of identifying the position of said reference portions (305) further comprising:
- calculating a gradient for each of the pixels of said second group (306);
- identifying a centre of gravity for each reference portion (305), said centre of gravity being identified depending on said gradient, the position of each reference portion (305) in said first image (303) being defined from the position of the corresponding centre of gravity.
40. A process as claimed in anyone of claims 36 to 39, characterised in that said reference portions (305) of said board (300) identify a predetermined number of lines
(307), preferably straight lines, the position of said board (300) being defined by a position of said lines (307) in said first image (303).
41. A process as claimed in claim 40, characterised in that said board (300) has a substantially polygonal shape, said reference portions (305) identifying diagonals of said polygonal shape, one or more of said reference portions (305) being preferably positioned on a perimeter of said polygonal shape, said polygonal shape being in particular a quadrilateral, and more preferably a rectangle.
42. A process as claimed in anyone of claims 27 to 41, characterised in that it further comprises: detecting at least one second image (310) representative of said board (300) and of said light spot (302); - identifying a position of said light spot (302) on said board (300) in said second image (310);
- generating said command signal (400) depending on the position of said light spot (302) in said second image (310), said step of identifying the position of said spot (302) in said second image (310) comprising:
- identifying in said second image (310) a position corresponding to said main position in said first image (303) ; - defining in said second image (310) , a neighbourhood of predetermined sizes of said corresponding position;
- identifying in the second image (310) , the position of said spot (302) within said predetermined neighbourhood.
43. A process as claimed in claim 42, characterised in that said command signal (400) is also generated depending on a position of said board (300) in said second image (310), the position of the board (300) in the second image (310) being defined from a position of the reference portions (305) in said second image (310), said process further comprising:
- detecting in said second image (310), a position of said reference portions (305) of said board (300) to define a position of said board (300) in said second image (310) ;
- generating said command signal (400) also depending on the position of said board (300) in said second image (310), said step of identifying the position of said reference portions (305) in said second image (310) comprising: - for each of said reference portions (305) , identifying in said second image (310), a position corresponding to the position of said reference portion (305) in said first image (303);
- defining a neighbourhood of predetermined sizes of each of said corresponding positions;
- identifying the position of said reference portions (305) in said second image (310) within said neighbourhood .
44. A process as claimed in anyone of claims 27 to 43, characterised in that it further comprises:
- detecting a plurality of images representative of said board (300) and said light spot (302);
- identifying a position of said board (300) and a position of said light spot (302) in each image;
- associating a counter with each operating region (301) of the board;
- progressively increasing said counter for each image in which the light spot (302) is identified within the operating region (301) associated with said counter;
- verifying whether a main counter of said counters has reached a predetermined value;
- incorporating in said command signal, the command (400) associated with the operating region (301) associated with said main counter.
45. A process as claimed in claim 44, characterised in that each counter is increased by an amount which is a function of a distance between the position of the light spot (302) and a substantially central area (301b) of the operating region (301) associated with said counter, said amount being preferably proportional to said distance.
46. An apparatus for generating command signals, in particular for disabled users, characterised in that it comprises:
- a device (320) emitting a light radiation (410);
- a board (300) set to receive said light radiation (410);
- detecting means (330) to detect at least one image (303, 310) of said board (300);
- a processing unit (340) connected with said detecting means (330) and of a suitable configuration to perform the steps of the process as claimed in anyone of claims 27 to 45.
47. A sofware application loadable on a memory of a processing unit and containing software code portions to put into practice the process as claimed in anyone of claims 27 to 45 when the application is executed on a processing unit.
48. A system for generating command signals, in particular for disabled users, characterised in that it comprises : - a first apparatus (1) as claimed in claim 25;
- a second apparatus (2) as claimed in claim 46.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IT2004/000061 WO2005078558A1 (en) | 2004-02-16 | 2004-02-16 | A process for generating command signals, in particular for disabled users |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1716473A1 true EP1716473A1 (en) | 2006-11-02 |
Family
ID=34856976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP04711437A Withdrawn EP1716473A1 (en) | 2004-02-16 | 2004-02-16 | A process for generating command signals, in particular for disabled users |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP1716473A1 (en) |
WO (1) | WO2005078558A1 (en) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994015315A1 (en) * | 1992-12-23 | 1994-07-07 | Bernhard Weixler | System for optional control of functions of a pc |
US5704836A (en) | 1995-03-23 | 1998-01-06 | Perception Systems, Inc. | Motion-based command generation technology |
EP0905644A3 (en) * | 1997-09-26 | 2004-02-25 | Matsushita Electric Industrial Co., Ltd. | Hand gesture recognizing device |
JP3795647B2 (en) * | 1997-10-29 | 2006-07-12 | 株式会社竹中工務店 | Hand pointing device |
AU2211799A (en) * | 1998-01-06 | 1999-07-26 | Video Mouse Group, The | Human motion following computer mouse and game controller |
US6690357B1 (en) * | 1998-10-07 | 2004-02-10 | Intel Corporation | Input device using scanning sensors |
US6363160B1 (en) * | 1999-01-22 | 2002-03-26 | Intel Corporation | Interface using pattern recognition and tracking |
-
2004
- 2004-02-16 WO PCT/IT2004/000061 patent/WO2005078558A1/en active Application Filing
- 2004-02-16 EP EP04711437A patent/EP1716473A1/en not_active Withdrawn
Non-Patent Citations (2)
Title |
---|
D O GORODNICHY ET AL: "Nouse'UseYourNoseasaMouse'-aNewTechnology forHands-freeGamesandInterfaces", INTERNATIONAL CONFERENCE ON VISION INTERFACE, CALGARY, 2002, 29 May 2002 (2002-05-29), XP055409847, Retrieved from the Internet <URL:https://www.researchgate.net/profile/Dmitry_Gorodnichy/publication/239196723_Nouse_'Use_Your_Nose_as_a_Mouse'_-_a_New_Technology_for_Hands-free_Games_and_Interfaces/links/00b49535a821890f03000000.pdf> [retrieved on 20170925] * |
See also references of WO2005078558A1 * |
Also Published As
Publication number | Publication date |
---|---|
WO2005078558A1 (en) | 2005-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11561519B2 (en) | Systems and methods of gestural interaction in a pervasive computing environment | |
US11586292B2 (en) | Systems and methods of tracking moving hands and recognizing gestural interactions | |
US6901561B1 (en) | Apparatus and method for using a target based computer vision system for user interaction | |
US11247064B2 (en) | Transcranial magnetic stimulation coil alignment apparatus | |
US7239726B2 (en) | System and method for effectively extracting facial feature information | |
US6393136B1 (en) | Method and apparatus for determining eye contact | |
US5751260A (en) | Sensory integrated data interface | |
US6531999B1 (en) | Pointing direction calibration in video conferencing and other camera-based system applications | |
US7626578B2 (en) | Calibration of an interactive display system | |
WO2018079446A1 (en) | Information input device and information input method | |
US20030169233A1 (en) | System and method for communication with enhanced optical pointer | |
US20100183199A1 (en) | Systems and methods for biometric identification | |
JP2003173237A (en) | Information input-output system, program and storage medium | |
JP2008523460A (en) | Unique user identification and authentication for multiple user access to display devices | |
US20110298934A1 (en) | Method and Apparatus for Human Interface to a Machine Vision System | |
CN109634407B (en) | Control method based on multi-mode man-machine sensing information synchronous acquisition and fusion | |
EP3660636A1 (en) | Information processing device, information processing method, and program | |
JP2600114B2 (en) | Measurement method by accurate ellipse approximation resistant to noise | |
CN108604143B (en) | Display method, device and terminal | |
JPH07244556A (en) | Information terminal | |
WO2005078558A1 (en) | A process for generating command signals, in particular for disabled users | |
CN106484100A (en) | Air conditioner, control method and device thereof and wire controller of air conditioner | |
US6839848B1 (en) | Information processing system and peripheral apparatus | |
US10515282B1 (en) | Multi-hand interface method | |
WO2022022757A1 (en) | A method for testing an embedded system of a device, a method for identifying a state of the device and a system for these methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20060907 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR |
|
DAX | Request for extension of the european patent (deleted) | ||
17Q | First examination report despatched |
Effective date: 20090819 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20180901 |