Brevet FR2824926A1 — publié le 20021122

déroulement de la brumisation à un endroit éloigné. La présente invention concerne un procédé de commande d9un curseur sur une interface graphique d'un ordinateur, un programme d'ordinateur pour la mise en _uvre de ce procédé et un système de commande d'un curseur sur une interface graphique de commande. I1 est connu de munir un système de traitement de données ou ordinateur, tel qu'un micro-ordinateur, une station de travail, un assistant numérique personnel ou autre, d'une interface graphique de commande qui permet à un utilisateur d'échanger de données avec le système de traitement de données, en particulier de générer des signaux de commande à destination du système d'exploitation et/ou des logiciels d' application exécutables par le système de traitement de données. Une telle interface graphique consiste en une image comportant des éléments graphiques distinctifs, tels que des icônes, fenêtres, menus déroulant ou autres, des moyens logiciels permettant d'associer une ou plusieurs fonctions particulière(s) à chaque élément graphique et un curseur mobile dans l'image. Ce curseur permet à un utilisateur de sélectionner un élément grapllique en positionnant le curseur dessus, puis d'activer une fonction associée à l'élément graphique en générant un signal de commande. Le signal de commande est alors interprété par le système d'exploitation en fonction de la position du curseur et de l'élément graphique sur lequel ce dernier est positionné. L'image est affichée sur un moyen d'affichage du système de traitement de données, tel qu'un moniteur, un projecteur d'écran ou 2s autre. I1 est à noter qu'un élément graphique peut présenter plusieurs formes selon que la fonction associée est disponible ou non, sélectionnée, ou activée. Pour commander le curseur d'une telle interface, plusieurs moyens de commande mécaniques sont connus, comme la souris, qui consiste en un boîtier comportant un détecteur de mouvement tel qu'un capteur de rotation d'une sphère de roulement montée sous le boitier ou un capteur optique9 la tablette tactile, la table à induction, le levier de commande, la sphère de commande, ou les systemes autographiques. Ces moyens mécaniques permettent de générer des 3s commandes de déplacement du curseur et sont également classiquement munis de boutons d' activation pour générer des signaux de eonmande9 encore appelés événements. Par exemple, une souris est classiquement munie de deux boutons. On connaît des systèmes d'exploitation munis d'une interface graphique dans lesquels une pression du bouton droit d'une souris génère un signal de sélection qui entrane 19affichage d'un menu déroulant permettant de sélectionner une ou plusieurs fonctions secondaires associée(s) à un élément graphique sur lequel le curseur est positionné, une simple pression sur le bouton gauche entraîne la sélection de l'élément graphique et une double pression sur le bouton gauche génère un signal d'activation qui entrane l'exécution d'une fonction principale associée audit élément graphique. Ces moyens mécaniques de commande présentent des inconvénients: ils comportent des capteurs électromécaniq ues susceptibles d'usure et de dysfonctionnement. Une souris requiert un espace de mouvement, lequel n'est pas touj ours disponible sur un bureau. Un tel moyen de commande requiert qu'une main de l'utilisateur soit fréquemment en contact exclusif avec lui pour effectuer des mouvement peu naturels, ce qui entrane des contraintes d'ergonomie, des problèmes musculaires ou articulaires et, Dnalement, limite les possibilités d'expression de l'utilisateur par l'intermédiaire du moyen de commande. Pour remédier à ces problèmes, il est connu d'employer une caméra numérique reliée à un ordinateur. L'art antérieur s'est notamment attaché à repérer des parties du corps de l'utilisateur et des gestes prédéterminés pour commander un curseur. Ainsi, le document US 6 215 471 propose de commander le curseur à l'aide de mouvement des yeux et du visage. Les documents WO 00/21023 et US 6 088 018 prévoient d'acquérir des données vidéo à l'aide d'une caméra vidéo, d'analyser ces données vidéo à l'aide de procédé de reconnaissance de forme pour détecter les mouvements d'un doigt de l'utilisateur et d'envoyer des instructions à l'ordinateur en fonction des mouvements de doigt détectés. Le document US 5 617 312 divulgue un système dans lequel on détecte directement les mouvements de la main de l'utilisateur ou de la pointe d'un objet tenu par celle-ci, à l' aide d'une caméra vidéo, et l 'on commande l' ordinateur pour déplacer le curseur et sélectionner une icone en fonction des signaux vidéo. Cependant, tous ces systèmes présentent des inconvénients: ils demandent d'effectuer des efforts gestuels peu intuitifs avec la main, les doigts ou le visage et les yeux. En particulier, cornme ils comportent une caméra placée sur le somnet s d'un moniteur ou d'un écran et orientée directement vers l'utilisateur, ils obligent celui-ci à effectuer des mouvements de parties du corps ou d' objets dans le champ de la caméra, sans aucun repère spatial. De tels mouvements ne peuvent pas être ma^trisés précisément, en particulier à causes des tremblements et des mouvements involontaires de fatigue ou de nervosité qu'une utilisation courante d'un tel système de commande ne manquerait pas d'occasionner chez l'utilisateur. Ainsi, ces systèmes connus ne permettent pas d'obtenir des déplacements du curseur précisément contrôlés, ce qui est particulièrement génant dans les applications graphiques, comme par exemple pour la commande d'un logiciel de dessin ou dans les interfaces de commande ayant des menus déroulants. De plus, les mouvements qui se font en se rapprochant ou en s'éloignant de la caméra parallèlement à son axe de visée ne sont pas ou très difficilement discernables par cette caméra, de sorte qu'une partie des mouvements effectués par l'utilisateur a de forte chance de ne pas étre détectée et interprétée correctement par ces systèmes. En outre, les procédés de reconnaissance de forme employés dans ces systèmes connus sont coûteux en temps de traitement et nécessitent l'emploi de systèmes de traitement de données aux performances élevées. L' invention a pour but de permettre la commande d'un curseur d'une interface graphique d'un système de traitement de données à l'aide d'une caméra en remédiant aux inconvénients précités. Plus particulièrement, l'invention a pour but de permettre un contrôle précis des déplacements d'un curseur, ainsi que de permettre la mise en _uvre d'un tel contrôle de curseur sur un système ayant des performances et une capacité de mémoire limitées, tel qu'un assistant numérique personnel. Pour cela, l' invention propose un procédé de commande d'un curseur sur une interiace graphique d'un ordinateur, comportant les étapes consistant à: - prédéfinir des propriétés d'un objet pointu à détecter et les mémoriser dans une mémoire dudit ordinateur, - acquérir des images numérisées successives au moyen d'une caméra relice audit ordinateur, les images numérisées présentant une direction horizontale et une direction verticale, - détecter, dans chaque image numérisée, la présence dudit objet pointu sous la forme d9une partie de ladite image présentant lesdites propriétés r. prédernes, - lorsqu'une telle partie d'image est détectée, repérer un point de référence de ladite partie d'image, 0 commander ledit curseur sur ladite interface graphique en fonction des positions dudit point de référence dans lesdites images successives, caractérisé par le fait que l'étape d'acquisition des images numérisées consiste à hlmer une surface de travail sur laquelle, en service, on déplace une pointe dudit objet pointu, ladite pointe gardant une orientation axiale située dans un angle solide prédéterminé, l'étape de repérage du point de référence comportant une opération de repérage d'un point extrémal de ladite partie d'image suivant une direction prédéterminée du plan des images, de manière à localiser une zone de contact entre ladite pointe et ladite surface de travail, ledit point de référence étant défini en fonction dudit point extrémal. Grâce à la mise en contact de la pointe avec la surface de travail, les déplacements de l'objet pointu, et donc du point de référence en fonction duquel le curseur est commandé, sont aisément contrôlables. De préférence, l' objet pointu est indépendant et libre 2s d'être déplacé par rapport à la surface de travail. L'objet pointu peut être choisi par l'utilisateur pour être à la fois hn, précis et maniable. En particulier, l'objet pointu prédéfini peut être une partie d'extrémité d'un instrument d'écriture comme un crayon, un stylographe ou un feutre. La surface de travail est. par exemple, la surface d'un bureau, un tableau mural, un tableau sur pied, un écran mural de rétroprojection ou autre. Le contrôle des déplacements d'un instrument d9écriture sur une telle surface est habituel pour toute personne sachant écrire et/ou dessiner, de sorte que la conmande d'un curseur par le procédé selon l'invention ne demande aucun apprentissage supplémentaire. Les possibilités d9expression de l'utilisateur ne sont pas limitees par rapport à celles obtenues par l'utilisation d'un crayon sur une feuille de papier car aucun mouvement non intuitif ntest requis de l'utilisateur. Comme la caméra vise la surface de travail, toutes les directions de mouvement de la pointe sur celle-ci sont détectables et s aucun mouvement parallèle à l'axe de visée de la caméra, indécelable pour celle-ci, ne risque d'étre involontairement produit. Finalement, tous les mouvements intentionnels de l'objet pointu sont exploitables pour positionner et commander le curseur sur l' interface graphique, ce qui garantit une grande fidélité du mouvement du curseur au lo mouvement de la pointe. Les propriétés prédéfinies de l'objet pointu peuvent étre des propriétés de forme et/ou de taille et/ou de couleur. Le procédé selon l'invention n'emploie pas des techniques de reconnaissance de forme, de segmentation d'image en zones de couleur homogène ou de détection de mouvement, qui sont coûteuses en temps de calcul. Le repérage d'un point extrémal dans une partie d'image peut être mis en _uvre avec très peu de calcul et de mémoire, ce qui permet une mise en _uvre en temps réel du procédé selon l' invention sur des plates- formes informatiques peu puissantes et dotées de peu de mémoire, comme les assistants numériques personnels. Le placement de la caméra n'est pas limité. Par exemple, la caméra peut être montée dans un plafond ou un mur, au-dessus de la surface de travail, ou encore montée sur un support posé sur la surface de travail. Son angle de visée par rapport à la surface de travail peut étre perpendiculaire ou oblique. Dans chaque cas, l'orientation de la pointe doit être maintenue, en service, dans un angle solide prédéterminé inclus dans un demi espace délimité par un plan contenant l'axe de visée de la caméra. De préférence, le point extrémal est défini comme le point de ladite partie d' image situé le plus bas dans ladite image ou comme le point de ladite partie d'image situé le plus bas sur une droite d'interpolation de ladite partie d'image, ledit angle solide étant inclus dans un demi espace délimité par le plan contenant l'axe de visée de ladite caméra et ladite direction horizontale des images. Dans ce cas, on place de préférence la caméra du côté de la surface de travail opposé à l'utilisateur, de sorte que la pointe d90bjet soit globalement orientée vers la caméra. Avantageusement, ledit point de référence est choisi sur un segment entre ledit point extrémal et un barycentre de ladite partie s d'image. Ce choix accrot encore la stabilité du point de référence même si le point extrémal de la partie dimage détectée est bruité ou n'est pas toujours le même, par exemple en raison de la résolution de la caméra, des limites de détection inhérentes à celle-ci, de seuils de détection choisis ou de variations de l'éclairement. 0 De préférence, l'étape de commande dudit curseur comporte, pour chaque image dans laquelle ladite partie d'image est détectée, une actualisation de la position dudit curseur sur l' interface graphique en fonction de la position dudit point de référence dans ladite image. Avantageusement, l'étape de commande dudit curseur comporte une étape de détection d'une trajectoire prédéterminée de la position dudit point de référence dans des images successives et la génération d'un signal de connande lorsque ladite trajectoire prédéterminée est détectée. Cette étape de détection d'une trajectoire prédéterminée peut être, par exemple, une étape de détection d'une trajectoire en boucle, en W ou d'une absence de mouvement substantiel dudit objet pointu pendant une période prédéterminée. Selon une autre caractéristique du procédé selon l'invention, il comporte, pour chaque image numérisée acquise, une 2s étape consistant à mémoriser ladite image en remplacement de l' image numérisée acquise précédemment, de manière qu'au plus une seule image numérisée reste mémorisée simultanément dans ladite mémoire. Avantageusement, le procédé selon l' invention comporte, pour chaque image dans laquelle ladite partie d' image est détectée, une étape consistant à détecter la présence d'un contact entre ledit objet pointu et ladite surface de travail, ladite étape de commande du curseur comportant une sélection d'un mode de fonctionnement dudit curseur en fonction du résultat de ladite détection de contact. Selon l' invention, la détection de présence d'un contact entre l'objet pointu et la surface de travail peut étre effectuée au moyen d'une mesure de grossissement de ladite partie d' image, dune détection de l'ombre de l'objet point sur la surface de travail, d'une détection de l'existence d'une trace sur la surface de travail à l9endroit des positions précédentes de la pointe ou d'une autre manière. L' invention a aussi pour objet un programme d90rdinateur s contenant des codes d' instructions propres à être lus ou stockés sur un support, lesdits codes étant exécutables par un ordinateur muni d'une interiace graphique ayant un curseur et affichée par un moyen d'affichage, d'une mémoire et d'une caméra, pour effectuer les opérations consistant à: lo mémoriser dans ladite mémoire des propriétés prédéfinies d'un objet pointu à détecter, - acquérir des images numérisées successives au moyen de ladite caméra, chaque image numérisée présentant une direction verticale et une direction horizontale, S - détecter, dans chaque image numérisée, la présence dudit objet pointu sous la forme d'une partie d'image présentant lesdites propriétés prédéfinies, - lorsqu'une telle partie d'image est detectée, déterminer des coordonnées d'un point de référence de ladite partie d' image, - cornmander ledit curseur sur ladite interface graphique en fonction des coordonnées dudit point de référence dans lesdites images successives, caractérisé par le fait que ladite détermination des coordonnées du point de référence comprend une opération eonsistant à déterminer des 2s coordonnées d'un point extrémal de ladite partie d'image suivant une direction prédéterminée, de manière à repérer un point de contact entre ledit objet pointu et une surface de travail qui, en service, est visée par ladite caméra et sur laquelle on déplace une pointe dudit objet pointu en maintenant une orientation axiale de ladite pointe dans un angle solide prédéterminé, et une détermination des coordonnées du point de référence en fonction de celles dudit point extrémal. - Au sens de l'invention, un programme d'ordinateur consiste en un ou plusieurs modules dépendants ou indépendants écrits dans un ou plusieurs langages appropriés de niveau quelconque. 3s De prélérence, l'operation de commande dudit curseur eomporte, pour chaque image dans laquelle ladite partie d'image est détectée, une actualisation de la position dudit curseur sur 19interface graphique en fonction des coordonnées dudit point de référence dans ladite image. Avantageusement, ladite opération de commande du s curseur comporte une étape de détection d'une absence de mouvement substantiel dudit objet pointu pendant une période prédéterminée et la génération d'un signal de commande lorsqu'une absence de mouvement substantiel est détectée. De préférence, lesdits codes d' instructions sont exécutables lo pour effectuer une opération consistant, pour chaque image numérisée acquise, à mémoriser ladite image dans ladite mémoire en remplacement de l 'image numérisée acquise précédemment, de manière qu'au plus une seule image numérisée reste mémorisée simultanément. Avantageusement, lesdits codes d'instructions sont exécutables pour effectuer, pour chaque image dans laquelle ladite partie d'image est détectée, une opération consistant à détecter la présence d'un contact entre ledit objet pointu et ladite surface de travail au moyen d'une mesure de grossissement de ladite partie d' image, ladite opération de commande du curseur comportant une sélection d'un mode de fonctionnement dudit curseur en fonction du résultat de ladite détection de contact. L' invention a également pour objet un système de traitement de données comportant des moyens de mémorisation, des moyens d'affichage affichant, en service, une interface graphique de commande ayant un curseur, une caméra, un objet pointu dont au moins une pointe est placée, en service, dans le champ de ladite caméra, et une unité centrale de traitement apte à effectuer les opérations consistant à: - mémoriser dans lesdits moyens de mémorisation des propriétés prédéfinies dudit objet pointu, - - acquérir des images numérisées successives au moyen de ladite caméra, chaque image numérisée présentant une direction verticale et une direction horizontale9 - détecter9 dans chaque image numérisce' la présence dudit objet pointu sous la forme dune partie d9image présentant lesdites propriétés . prédéfnes, - lorsqu'une telle partie d'image est détectée, déterniner des coordonnées d'un point de référence de ladite partie d' image, - eommander ledit curseur sur ladite interface graphique en fonction s des coordonnées dudit point de référence dans lesUites images successives, caractérisé par le fait que, en service, ladite caméra vise une surface de travail sur laquelle ladite pointe est déplacée en gardant une orientation axiale située dans un angle solide prédéterminé, ladite détermination des coordonnées du point de référence comprenant une opération de repérage d'un point extrémal de ladite partie d'image suivant une ! direction prédéterminée du plan des images, et une détermination des coordonnées du point de référence en fonction de la position dudit point extrémal repéré. Les objets de l'invention permettent de remplacer un moyen de commande mécanique du curseur, cornme une souris, une tablette tactile ou une tablette graphique et de commander un curseur avec un objet pointu quelconque, de préférence un instrument d'écriture dont l'utilisateur est familier. La commande du curseur o permet de générer des signaux de commande destinés à étre exécutés par un système d' exploitation et/ou des logiciels d' application pour réaliser des applications de dessin numérique, d'écriture, de traitement de texte ou autres. L'invention sera mieux comprise, et d'autres buts, détails, caractéristiques et avantages de celle-ci appara^tront plus clairement au cours de la description suivante d'un mode de réalisation particulier de l' invention, donné uniquement à titre illustratif et non limitatif, en référence au dessin annexé. Sur ce dessin: - la figure 1 est un schéma bloc d'un système de traitement de données selon l'invention, - la figure 2 est une vue en perspective du système de traitement de données de la figure 1 en service; - la figure 3 est une vue en perspective de la caméra du système de la figure 1 et de l' orientation d'un crayon par rapport à celle-ci; - la figure 4 représente une image acquise par la caméra de la figure 2; - la figure 5 est un schéma de principe d'un procédé mis en _uvre par le systeme de la figure 2; - la figure 6 est un schéma plus détaillé de la troisième étape du procédé de la figure 5; - la figure 7 est un schéma plus détaillé de la quatrième étape du procédé de la figure 5; - la figure 8 est un schéma plus détaillé de la cinquième étape du procédé de la figure 5; - la figure 9 représente une autre image acquise par la caméra de la figure 2. En référence à la figure 1, un système informatique 1 comporte une unité centrale 2 comprenant une mémoire centrale 3 et un processeur 4, un périphérique d'affichage 5 et un périphérique d'acquisition d'images numérisées 6. Ce dernier vise une surface de travail 7 sur laquelle, en service, on déplace un objet pointu 8. En référence à la figure 2, le système informatique 1 est un microordinateur, la surface de travail 7 est le plateau d'un bureau sur lequel est posé l'unité centrale 2. Le périphérique d'affichage est un moniteur 5 posé sur l'unité centrale. Le périphérique d'acquisition d'images numérisées est une caméra numérique 6 montée sur un trépied 9 posé sur le plateau 7. L'unité centrale 2 comporte également 2s des moyens de stockage de masse, non représentés, dans lesquels sont stockés un système d'exploitation et/ou des logiciels d'application ayant une interface graphique de commande 10 dont le curseur 11 est représenté sous la forme d'une croix affichée sur le moniteur 5. La caméra numérique 6 est reliée à l'unité centrale 2 par une liaison de transmission de données 12 pour transmettre à l'unité centrale 2 des images numérisées. Le système informatique 1 est également muni d'un clavier 13. Un utilisateur 14 étant supposé droitier, le trépied 9 est - positionné à la droite de l'unité centrale 2. L'objectif de la caméra 6 3s est incliné vers le bas à environ 45 pour viser le plateau 7 et est orienté vers l'utilisateur 14, qui est assis en face du moniteur 5 dans la position naturelle de travail d9une personne à un bureau et dont seule la main droite 15 est représentée. L9objet pointu 8 est un crayon tenu par l'utilisateur 14 de manière que sa pointe 16 soit dans le champ de la caméra 6 et en contact avec le plateau 7 ou avec une feuille de papier, non représentée, posée dessus. En référence à la figure 3, l'axe de visée de la caméra 6 est représenté par l'axe X. La caméra 6 comporte un tableau bidimensionnel de capteurs ponctuels, par exemple du type à couplage de charge CCD, qui définissent une direction horizontale des images Y lo et une direction verticale des images Z. toutes deux perpendiculaires à l'axe X. Dans la configuration représentée, le point de contact C entre la pointe 16 du crayon 8 et la surface de travail 7, c'est-à-dire l'extrémité de la pointe 16, est sur l'axe X; mais le point C peut bien sur être décalé par rapport à cet axe. La flèche 17 représente l'orientation axiale dans l'espace de la pointe 16 par rapport à la caméra 6, cette orientation étant définie par convention par un vecteur ayant pour origine l'extrémité C. En service, l'utilisateur 14 mantient cette orientation dans un angle solide inclus dans le demi espace Z> 0, c'est-à-dire dans le demi espace situé au-dessus du plan contenant l'axe X et l'axe Y. De cette manière, le point de contact C est toujours le point le plus bas du crayon considéré en projection sur l'axe Z. Au vu de l'agencement de la caméra 6, cette condition est toujours satisfaite lorsque l 'utilisateur est en train d' écrire ou de dessiner, et l ' on ne voit pas quel geste technique lui demanderait d'incliner son crayon vers le demi espace Z possibilités d' expression. L'unité centrale 2 comporte également, dans la mémoire 3, un programme de commande 18, visible à la figure 1, exécutable pour mettre en _uvre un procédé de commande du curseur 11 de l' interface graphique de commande 10. Le programme de commande 18 comprend un module de détection, un module de calcul et un module de gestion du curseur et de l'affichage. Ce procédé de commande va maintenant étre décrit en référence aux figures 4 à 8. lin référence à la figure 5, dans une étape 19 d'initialisation, la couleur de l'objet à pointe 8 qui est utilisé pour commander le curseur est mise en memoire pour servir de référence. La couleur de référence est mémorisée en codage RVB sous la forme d'un vecteur de couleur de référence comprenant une valeur de rouge Rs, une valeur de vert Vs et une valeur de bleu Bs. L'utilisateur choisit également un mode de fonctionnement pour gaucher ou pour droitier. Dans une deuxième étape 20, une image numérisée 21 est acquise par la caméra 6, sous la commande de l'unité centrale 2, transmise par la liaison 12 à l'unité centrale 2 et mémorisée dans la mémoire 3. En référence à la figure 4, chaque image numérisée acquise par la caméra 6 est un tableau de pixels présentant une direction parallèle à l'axe Y et une direction parallèle à l'axe Z. Les pixels ne sont pas individuellement représentés à la figure 4. On voit qu'une image numérisée contient une portion 22 de la surface de travail 7 et une partie d'extrémité du crayon 8 dont la pointe 16 est en contact avec celle-ci. Dans une troisième étape 24, la présence de la pointe 16 dans l'image 21 est détectée. Cette étape est pilotée par l'exécution du module de détection. En référence à la figure 6, l'étape de détection 24 comprend les étapes élémentaires suivantes: - étape 241: pour chaque pixel de l'image, on détermine le vecteur de couleur du pixel, ledit vecteur comprenant une valeur de rouge R. une valeur de vert V et une valeur de bleu B. Puis on calcule 2s un coefficient colorimétrique CO égal au produit scalaire du vecteur de couleur du pixel par le vecteur de couleur de référence divisé par le produit des normes quadratiques des deux vecteurs, selon la formule: CO = (R.Rs +V.Vs + B.Bs)/[(R2 +v2 + B2)i'2. (Rs2 +Vs2 + Bs2)t'2] On compare ensuite le coefficient CO du pixel à un seuil prédéterminé COs compris entre 0 et 1, par exemple COs=0,9. Si CO> COs, le pixel est marqué comme conforme à la couleur de référence; sinonj le pixel n'est pas marqué. L'opération ci-dessus est effectuée pour tous les pixels de l'image. Tous les pixels marqués comme conforme à la couleur de référence à l'issue de cette opération sont regroupés en groupes de pixels ayant une distance de proche en proche inférieure à une distance maximale prédéterminée Ds, par exemple comprise entre 0 et 5 largeurs de pixels. - étape 242: pour chaque groupe de pixcls marqués formé à l'issue de l'étape 241, on compte le nombre N de pixels contenu dans s le groupe. On compare ce nombre de pixels à un seuil minimal prédétermmé Nmin. Si N l'objet pointu à détecter. - étape 243: pour chaque groupe de pixels restant marqu és à l'issue de l'étape 242, on compare le nombre de pixels N à un seuil maximalprédéterminé Nmax. Si N > Nmax, le marquage des pixels du groupe est annulé, de sorte que ces pixels ne sont pas reconnus faire partie de l'objet à identifier. Ainsi, on a éliminé des pixels marqués tous ceux formant des groupes trop petits ou trop grands pour faire partie de l'objet pointu à détecter. - étape 244: on teste s'il reste un groupe de pixels marqués comme conformes à la couleur de référence. Si ce n'est pas le cas, l'objet pointu n'est pas détecté dans l'image 21. Un message est alors envoyé au module de gestion du curseur et de l'affichage pour signaler l'absence de l'objet pointu. L'exécution du programme de commande 18 est interrompue et un message d'erreur est affiché à l'écran pour demander à l'utilisateur de vérifier s'il a correctement initialisé la couleur de référence, positionné et activé la caméra, etc. L'envoi du message d'erreur peut être précédé d'une ou plusieurs 2s itération(s) de l'étape 24 de détection pour tenter de détecter l'objet pointu dans une nouvelle image. S'il reste un groupe de pixels marqués comme conformes à la couleur de référence, par exemple le groupe 27 formé de l' image du crayon 8 à la figure 4, le programme passe à l'étape 25, comme représenté par la flèche 246. S'il reste plusieurs groupes de pixels marqués comme conformes à la couleur de référence, ceux-ci sont fusionnés en un seul groupe. Dans la quatrième étape 25, les coordonnées d'un point de référence P de l'objet pointu sont déterminées. Cette étape est pilotée par l'exécution du module de calcul. En référence à la figure 7, l'étape de repérage du point de référence P comprend les étapes élémentaires suivantes: - étape 251: les coordonnées du barycentre G du groupe de pixels 27 sont calculées. Ces coordonnées sont, sur chaque axe Y et Z. la moyenne arithmétique des coordonnées de tous les pixels du groupe 27. - étape 252: les coordonnées du pixel appartenant au groupe 27 et situé le plus bas dans l 'image 21 sont déterminées. Pour cela, on compare les coordonnées selon 2; de tous les pixels du groupe 27 et on choisit celui qui a la coordonnées selon Z la plus petite. S' il y a plusieurs pixels ayant la plus petite coordonnée selon Z. on choisit lo par convention celui qui a la coordonnée selon Y la plus petite pour un gaucher ou la plus grande pour un droitier, selon le réglage choisi à l'étape d'initialisation 19. Le pixel le plus bas est considéré comme représentant le point de contact C. - étape 253: on détermine les coordonnées du point de lS référence P. défini comme le pixel situé sur le segment S dont les extrémités sont le point le plus bas C et le barycentre G du groupe 27 de pixels et tel que le rapport de distances CP/CG soit égal à un paramètre Ps fixé, réglable lors de l'étape d'initialisation 19, compris entre O et 1, de préférence compris entre 1% et 50%, de sorte que le point de référence P soit effectivement dans la partie basse de l'objet à pointe. étape 254: les coordonnée Yp, Zp du pixel de référence P sont envoyées au module de gestion du curseur et de l'affichage. Dans la cinquième étape 26, le curseur 11 est commandé en fonction des coordonnées du point de référence P de l'objet pointu 8. Cette étape est pilotée par l'exécution du module de gestion du curseur et de l'affichage. En référence à la figure 8, l'étape de commande du curseur comprend les étapes élémentaires suivantes: - étape 261: les coordonnée Yp, Zp du pixel de référence P sont converties en coordonnées CoorY, CoorZ exploitables par le système d'affichage en fonction de sa résolution. Pour cela, plusieurs paramètres réglables sont utilisés: MaxY est la valeur maximale de la coordonnée Yp suivant Y qui peut être transmise par le module de calcul. IgnoreY est la largeur, positive ou nulle, d'une bande latérale 3s d'image dont il n'est pas tenu compte pour effectuer la détection de l'objet à pointe. Ysortie est la valeur maximale de la cordonnée selon Y des pixcls pouvant étre affichés par le moniteur 5. Cette dernière dépend de la résolution du moniteur 5. La coordonnée convertie CoorY selon Y est caleulée selon l'algorithme suivant: CoorY =Ysortie. (Yp-IgnoreY)/(MaxY-2.IgnoreY) 9 si CoorY > Ysortie, alors CoorY=Ysortie, arrondir CoorY à zéro décimale, si CoorY La coordonnée CoorZ selon Z est calculée de manière analogue à l' aide de paramètres correspondants MaxZ, IgnoreZ et lo Zsortie. - étape 262: le curseur 11 est positionné sur l'écran du moniteur 5 aux coordonnées CoorY, CoorZ. - étape 263: l'évolution de la position du curseur entre les positions précédentes et la nouvelle position est comparée à une évolution prédéterminée. Lorsqu'une évolution semblable à l'évolution prédéterminée est détectée, un signal de commande est généré. Par exemple, l'évolution prédéterminée à détecter est une absence de mouvement substantiel pendant une durée T prédéterminée. Dans ce cas, un seuil de mouvement substantiel Ms est prédéterminé, en nombre de pixels. Si la nouvelle position CoorY, CoorZ du curseur 11 est distante de la position précédente d'une valeur de distance supérieure à Ms. un compteur de temps est initialisé à zéro et déclenché. Dès que le compteur de temps atteint la valeur T. par exemple de 1 seconde, un signal de commande est généré. En variante, 2s l'évolution prédéterminée peut étre autre, par exemple un mouvement de va et vient répété trois fois, une trajectoire en boucle ou en W. Lorsque l'évolution prédéterminée est détectée, le signal de commande est généré en fonction de la position du curseur 11. - étape 264: le signal de coromande généré est interprété par le module de gestion de l'affichage comme le signal que l'utilisateur désire effectuer une action, par exemple activer une- fonction associée à l'élément graphique sur lequel le curseur est positionné. Le module de gestion du curseur et de l'affichage affiche alors un élément graphique de sélection à droite du curseur, par exemple un menu déroulant, un bouton9 une fenétre activable, ou signale à l'utilisateur de toute autre façon possible, par exemple par un signal sonore, lumineux, les différentes fonctions disponibles en fonction de la position du curseur, par exemple les fonctions équivalentes à celles qu'activerait un clic droit ou un double clic sur une sourisO L'utilisateur est ainsi invité à saisir un choix d9action. - étape 265: le choix de l'utilisateur est saisi par des moyens classiques comme une frappe au clavier, ou la détermination d'une nouvelle position du curseur 11, par exemple pour déterminer dans quelle ligne d'un menu déroulant l'utilisateur a placé le curseur 11. La fonction choisie est alors activée par l'envoi de eommandes o appropriées au système d'exploitation du micro-ordinateur 1. L'ensemble du procédé décrit ci-dessus est effectué en boucle périodique, la fréquence d' acquisition des images étant choisie pour permettre un suivi précis des déplacements du curseur sans monopoliser les capacités de traitement du processeur. Par exemple, cette fréquence est comprise entre 5 et 500 cycles par secondes, de préférence entre 10 et 50 cycles par secondes. Chaque fois qu'une nouvelle image est acquise, elle est mémorisée dans la mémoire 3 à la place de l'image précédente. Dans une variante de réalisation, l'étape de détection 24 comporte une étape élémentaire finale dans laquelle on détecte si la pointe 16 est en contact avec la surface de travail 7. Pour cela, une ou plusieurs dimension(s) du groupe de pixels 27, par exemple largeur, hauteur, nombre de pixels, sont mesurées à chaque image numérisée. S'il est détecté un accroissement de cette ou ces dimensions dans les images successives, la caméra étant située au-dessus de la surface de travail, une levée de la pointe 16 est détectée et celle-ei est considérée comme n'étant plus en contact avec la surface de travail 7. Si, au contraire, il est détecté une diminution de cette ou ces dimensions dans les images successives, une mise en contact de la pointe 16 avec la surface de travail 7 est détectée. Ainsi, à chaque image, un paramètre de contact ou d'absence de contact est actualisé et un mode fonctionnement du curseur peut étre sélectionné en fonction de ce paramètre. Une autre manière de réaliser l'étape élémentaire de détection de contact est de détecter une trace laissée par le crayon 8 sur la surface 7 derriere son passage. Si une telle trace est détectée, un contact est détecté; sinon, une absence de contact est détectée. Pour effectuer la détection d'une trace, il est possible de conserver en mémoire plusieurs images successives et de comparer la valeur de couleur d'un groupe de pixels donné avant et après le passage de la s pointe. Une autre manière de réaliser l'étape élémentaire de détection de contact est de détecter la présence d'une ombre du crayon 8 sur la surface de travail 7. Par exemple, le procédé de commande du curseur de l' invention peut étre utilisé pour commander un logiciel de dessin, d'un type connu par ailleurs, exécuté par le micro-ordinateur 1. Grâce à un logiciel de dessin, il est possible de marquer à l'écran ou de stocker dans un fichier d'image un tracé conforme à la trajectoire du curseur 11. Dans un tel logiciel, le curseur a un mode de fonctionnement traçant, dans lequel ses mouvements produisent un tracé, et un mode de fonctionnement non traçant, dans lequel le curseur ne produit pas de tracé et peut alors être utilisé pour générer des signaux de commande. Avantageusement, dans l'utilisation de la variante du procédé de commande décrite ci-dessus, le mode de fonctionnement traçant est activé par la présence d'un contact détecté et le mode de fonctionnement non traçant est activé par l'absence de contact détecté. Dans le mode de réalisation décrit ci-dessus, le pixel de référence P est défini par rapport au point le plus bas C du groupe de pixels 27, c'est-àdire au point du groupe de pixels 27 de coordonnée minimale selon la direction Z. En référence à la figure 9, on décrit maintenant une autre variante de réalisation du procédé de commande selon l'invention. Les éléments analogues à ceux décrits ci-dessus portent le même chiffre de référence augmenté de 100. Dans cette variante, seule la définition du pixel de référence P est modifiée. La figure 9 représente schématiquement une image 121 acquises par la caméra 6, dans laquelle la pointe 116 du crayon 108 est détectée sous la forme du groupe de pixels 127 conformes à la couleur de référence. Comme l'extrémité de la pointe 116 est arrondie, le point de contact C est distinct de l'extrémité proprement dite de la pointe, et ce, d'autant plus 3s que le crayon 108 est incliné. Pour déterminer les coordonnées du point de référence P. on commence par repérer le barycentre G du groupe de pixels 127, comne susmentionné. Puis on effectue une analyse en composantes principales du groupe de pixels 127 et on détermine une droite d'interpolation 128 du groupe de pixels 127. La droite d' interpolation 128 est la droite passant par le barycentre G et telle que la somme des carrés des distances de chaque pixel du groupe 127 par rapport à la droite 128 est minimale. Sa détermination est effectuée par des méthodes d9artalyse statistique connues. On repère ensuite le point extrémal E défini comme le point le plus bas du groupe de pixels 127 sur la droite d'interpolation 128. On attribue à chaque pixel du groupe 127 une valeur d'abscisse s sur l'axe [GE). L'abscisse s est normalisée à 1 pour le point E. Le point de référence P est défini comme un barycentre des pixels du groupe 127 ayant une abscisse s positive, lesdits pixels étant pondérés par un poids croissant avec l'abscisse s du pixel. Par exemple, le coefficient de pondération des pixels est l'abscisse s. Le point de référence P est alors un point de l'axe [GE) situé près du point E. Lorsque le crayon 108 est symétrique de révolution, la droite d'interpolation 128 correspond sensiblement avec son axe de révolution. Cette variante du procédé permet de définir le point de référence P précisément dans la direction axiale de l ' obj et pointu, ce qui accroAt encore l'aisance et la précision avec lesquelles la positon du curseur peut étre commandée, l'utilisateur ayant plus de facilité à anticiper les mouvement du point E situé rigoureusement dans le prolongement de la pointe que du point C qui peut étre décalé. s Dans le cadre de la présente invention, le pixel de référence P peut étre défini par rapport à un pixel extrémal du groupe de pixels 27 selon une direction prédéterminée quelconque des images. Par exemple, si la caméra 6 est suspendue à la verticale de la surface 7, le bas des images étant du côté d'un utilisateur, il est préféré de choisir le pixel du groupe 27 de coordonnée maximale selon la direction Z. ou le pixel extrémal selon la direction +Y ou -Y. ou un pixel extrémal selon une direction oblique prédéterminée. La direction selon laquelle le point de contact C est recherchée peut également être détermince en fonction du choix de mode de fonctionnement pour 3s droitier ou pour gaucher effectué par 19utilisateur. Dans chaque cas9 une direction au sein des images étant prédéterminée pour localiser le point C7 l'orientation de,la pointe 16 doit étre maintenue dans un demi espace tel que son point de contact avec la surface 7 représente effectivement un point extrémal selon la direction prédéterminée. L'angle solide d'orientation de la pointe 16 est déterminé en fonction de 1' orientation de la caméra et de la direction prédéterminée selon laquelle le pixel extrémal C est recherché. Cet angle solide est de préférence limité à un demi cone afin d'éviter les situations dans laquelle la direction axiale de la pointe serait presque tangente à la direction dans laquelle un extremum est recherché, ce qui nuirait à la lo précision de détection d'un tel extremum. Bien que l' invention ait été décrite en liaison avec un mode de réalisation particulier, il est bien évident qu'elle n'y est nullement limitée et qu'elle comprend tous les équivalents techniques des moyens décrits ainsi que leurs combinaisons si celles-ci entrent dans le cadre de l' invention. REVENDICATIO1S 1. Procédé de eommande dun curseur (11) sur une interface graphique (10) d'un ordinateur (1), comportant les étapes eonsistant à: - prédéfinir (19) des propriétés (Rs, s, Bs) dun objet pointu (8,108) à détecter et les mémoriser dans une mémoire (3) dudit ordinateur, - acquérir (20) des images numérisées successives au moyen d'une caméra (6) reliée audit ordinateur, les images numérisées présentant une direction horizontale (Y) et une direction verticale (Z), lO - détecter (24), dans chaque image numérisée (21), la présence dudit objet pointu sous la forme d'une partie de ladite image (27, 127) présentant lesdites propriétés prédéfinies, lorsqu'une telle partie d'image est détectée, repérer (25) un point de référence (P) de ladite partie d'image, - commander (26) ledit curseur sur ladite interface graphique en fonction des positions dudit point de référence dans lesdites images successves, caractérisé par le fait que l 'étape d' acquisition (20) des images numérisées consiste à filmer une surface de travail (7) sur laquelle, en service, on déplace une pointe (16, 116) dudit objet pointu, ladite pointe gardant une orientation axiale (17) située dans un angle solide prédéterminé, l'étape de repérage du point de référence comportant une opération de repérage d'un point extrémal (C, E) de ladite partie d' image suivant une direction prédéterminée (Z. 128) du plan des images, de manière à localiser une zone de contact entre ladite pointe et ladite surface de travail, ledit point de référence étant défni en fonction dudit point extrémal. 2. Procédé selon la revendication 1, dans lequel ledit point extrémal (C) est défini comme le point de ladite partie d'image situé le plus bas dans ladite image, ledit angle solide étant inclus dans un demi espace délimité par le plan contenant l'axe de visée (X) de ladite caméra et ladite direction horizontale (Y) des images. 3. Procédé selon la revendication 1, dans lequel ledit point extrémal (E) est défini comme le point de ladite partie d'image situé le plus bas sur une droite d' interpolation (128) de ladite partie d'image. 4. Procédé selon la revendication 19 dans lequel ledit point de référence est choisi sur un segment () entre ledit point extrémal et un baryeentre (G) de ladite partie d' image. 5. Procédé selon la revendication 1' dans lequel l'étape de commande (26) dudit curseur comporte, pour chaque image dans laquelle ladite partie d' image est détectée, une actualisation de la position (CoorY, CoorZ) dudit curseur sur l' interface graphique en fonction de la position (Yp, Zp) dudit point de référence dans ladite image. 6. Procédé selon la revendication 5, dans lequel l'étape de commande dudit curseur comporte une étape (263) de détection d'une trajectoire prédéterminée de la position dudit point de référence dans des images successives et la génération d'un signal de commande lorsque ladite trajectoire prédéterminée est détectée. 7. Procédé selon la revendication 1, comportant, pour chaque image numérisée acquise, une étape consistant à mémoriser ladite image en remplacement de l' image numérisée acquise précédemment, de manière qu'au plus une seule image numérisée reste mémorisée simultanément dans ladite mémoire (3). 8. Procédé selon la revendication 1, comportant, pour chaque image dans laquelle ladite partie d'image est détectée, une étape consistant à détecter la présence d'un contact entre ledit objet pointu (8) et ladite surface de travail (7), ladite étape de commande du curseur comportant une sélection d'un mode de fonctionnement dudit curseur en fonction du résultat de ladite détection de contact. 9. Programme d'ordinateur (18) contenant des codes d'instructions propres à étre lus ou stockés sur un support, lesdits codes étant exécutables par un ordinateur (1) muni d'une interface graphique (10) ayant un curseur (11) et affichée par un moyen d'affichage, d'une mémoire (3) et d'une caméra (6), pour effectuer les opérations- consistant à: - mémoriser dans ladite mémoire des propriétés prédéfinies d'un objet pointu (8) à détecter, - acquérir des images numérisées successives au moyen de ladite caméra, chaque image numérisée (21) présentant une direction verticale (;) et une direction horizontale (Y), - détecter, dans chaque image numerisce9 la présence dudit objet pointu sous la forme dYune partie d'image (27) présentant lesdites propriétés prédéfinies, - lorsqu'une telle partie dYimage est détectée, déterminer des coordonnées d9un point de référence (P) de ladite partie d' image, - commander ledit curseur sur ladite interface graphique en fonction des coordonnées dudit point de référence dans lesdites images successves, caractérisé par le fait que ladite détermination des coordonnées du point de référence (25) comprend une opération consistant à déterminer des coordonnées d'un point extrémal (C) de ladite partie d' image suivant une direction prédéterminée (Z), de manière à repérer un point de contact entre ledit objet pointu et une surface de travail (7) qui, en service, est visée par ladite caméra et sur laquelle on déplace une pointe (16) dudit objet pointu en maintenant une orientation axiale (17) de ladite pointe dans un angle solide prédéterminé, et une détermination des coordonnces (Yp,Zp) du point de référence en fonction de celles dudit point extrémal. 10. Programme d'ordinateur selon la revendication 9, dans lequel l'opération de commande dudit curseur (26) comporte, pour chaque image dans laquelle ladite partie d' image (27) est détectée, une actualisation de la position (CoorY, CoorZ) dudit curseur sur l' interface graphique en fonction des coordonnées dudit point de référence dans ladite image. 11. Programrne d'ordinateur selon la revendication 9, dans lequel ladite opération de commande du curseur (26) comporte une étape de détection d'une absence de mouvement substantiel dudit objet pointu pendant une période prédéterminée et la génération d'un signal de commande lorsqu'une absence de mouvement substantiel est détectée. 12. Programme d'ordinateur selon la revendication 9 ou 1 0, dans lequel lesdits codes d' instructions sont exécutables pour effectuer une opération (20) consistant, pour chaque image numérisée acquise, à mémoriser ladite image dans ladite mémoire en 3s remplacement de lYimage numérisée acquise précédemment' de manière qutau plus une seule image numérisée reste mémorisée simultanément. 13. Programme d'ordinateur selon la revendication 9, dans lequel lesdits codes d' instructions sont exécutables pour effectuer, pour chaque image dans laquelle ladite partie d'image est détectée, une opération consistant à détecter la présence d'un contact entre ledit objet pointu (8) et ladite surface de travail (7) au moyen d'une mesure de grossissement de ladite partie d' image, ladite opération de commande du curseur comportant une sélection d'un mode de fonctionnement dudit curseur en fonction du résultat de ladite détection de contact. 14. Système de traitement de données comportant des moyens de mémorisation (3), des moyens d'affichage (5) affichant, en service, une interface graphique de commande (10) ayant un curseur (11), une caméra (6) , un objet pointu (8) dont au moins une pointe (16) est placée, en service, dans le champ de ladite caméra, et une unité centrale de traitement (2) apte à effectuer les opérations consistant à: - mémoriser dans lesdits moyens de mémorisation des propriétés prédéhnies (Rs, Vs. Bs) dudit objet pointu, - acquérir des images numérisées successives au moyen de ladite caméra (6), chaque image numérisée présentant une direction verticale (Z) et une direction horizontale (Y), - détecter, dans chaque image numérisée, la présence dudit objet pointu sous la forme d'une partie d' image (27) présentant lesdites propriétés ,,. predernes, - lorsqu'une telle partie d'image est détectée, déterminer des coordQnnées (Yp, Zp) d'un point de référence de ladite partie d' image, - commander ledit curseur sur ladite interface graphique en fonetion des coordonnées dudit point de référence dans lesdites images successives, caractérisé par le fait que, en service, ladite caméra vise une surface de travail (7) sur laquelle ladite pointe est déplacée en gardant une orientation axiale (17) située dans un angle solide prédéterminé, ladite détermination des coordonnées du point de référence comprenant une opération de repérage d'un point extrémal (C) de ladite partie d' image suivant une direction prédéterminee du plan des images, et une determination des coordonnées du point de reférence en fonction de la