FR3103041A1 - Procédé et dispositif de traitement d’image - Google Patents

Procédé et dispositif de traitement d’image Download PDF

Info

Publication number
FR3103041A1
FR3103041A1 FR1912537A FR1912537A FR3103041A1 FR 3103041 A1 FR3103041 A1 FR 3103041A1 FR 1912537 A FR1912537 A FR 1912537A FR 1912537 A FR1912537 A FR 1912537A FR 3103041 A1 FR3103041 A1 FR 3103041A1
Authority
FR
France
Prior art keywords
graphic object
image
content
graphic
window
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.)
Granted
Application number
FR1912537A
Other languages
English (en)
Other versions
FR3103041B1 (fr
Inventor
Guillaume Brunet
Pierre-André Klein
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Clikilix
Original Assignee
Clikilix
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Clikilix filed Critical Clikilix
Priority to FR1912537A priority Critical patent/FR3103041B1/fr
Publication of FR3103041A1 publication Critical patent/FR3103041A1/fr
Application granted granted Critical
Publication of FR3103041B1 publication Critical patent/FR3103041B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/02Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Educational Technology (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

L’invention concerne un procédé et un dispositif de traitement d’image. A cet effet, une image (13) est affichée sur un écran (11). Un premier objet graphique (121) obtenu d’une base de données (12) est comparé avec une partie ou l’intégralité de l’image (13). Un deuxième objet graphique (132) est détecté dans l’image (13) par comparaison entre le premier objet graphique (121) et l’image (13). Un contenu (133) obtenu de la base de données (12) et fournissant des informations sur le deuxième objet graphique (132) est affiché sur l’image (13). Figure pour l’abrégé : Figure 1

Description

Procédé et dispositif de traitement d’image
L’invention concerne un procédé et un dispositif de traitement d’image, notamment dans le cadre d’un tutoriel interactif. L’invention concerne également un procédé et un dispositif pour la création et l’utilisation d’un tutoriel ou d’un assistant interactif, par exemple un tutoriel pour un logiciel ou une application.
Arrière-plan technologique
Les logiciels ou applications exécutés sur un ordinateur, un téléphone intelligent (de l’anglais « smartphone ») ou tout autre dispositif configuré pour l’exécution d’un logiciel sont généralement livrés avec un tutoriel qui permet aux utilisateurs d’apprendre à utiliser le logiciel ou certaines fonctions de ce dernier.
Un tutoriel prend par exemple la forme d’un texte ou d’une vidéo accessible par l’utilisateur. Le plus souvent un tutoriel accompagnant un logiciel est conçu et généré par l’éditeur ou le créateur du logiciel, parfois par un ou plusieurs utilisateurs du logiciel. Certains tutoriels proposent une interaction avec l’utilisateur, par exemple sous la forme d’outil de recherche de mots ou de sujets dans le tutoriel, notamment lorsque le tutoriel prend la forme d’un texte.
Un des problèmes rencontrés par les utilisateurs est qu’un tutoriel est généralement associé à un unique logiciel donné, alors que les tâches effectuées par certains utilisateurs requièrent l’utilisation de plusieurs logiciels (ou applications), ou plusieurs parties de logiciels interagissant ou non entre eux. Les interactions entre les différents logiciels ou le déroulé des phases d’utilisation de cette pluralité de logiciels ne sont généralement pas décrites ou documentées. En effet, les aides interactives ou tutoriels sont chacun spécifique à un logiciel donné. Par ailleurs, les outils existants pour générer des tutoriels ne concernent que les applications web et pas les logiciels écrits en langage compilé.
Par ailleurs, les logiciels ou applications mises à la disposition des utilisateurs sont de plus en plus complexes en offrant une multitude de services et de possibilités pour répondre à des besoins divers et variés d’utilisateurs eux aussi divers et variés. Certains logiciels (ou applications) peuvent ainsi être utilisés de différents façons, parfois dans une optique particulière non prévue ou imaginée par le ou les éditeurs de ces logiciels. De telles utilisations particulières ne sont donc pas documentés ni décrites dans les tutoriels associés à ces logiciels.
Un objet de la présente invention est d’améliorer l’interactivité d’un tutoriel permettant d’assister un utilisateur dans l’utilisation d’un logiciel ou plusieurs logiciels.
Un autre objet de la présente invention est de d’améliorer la pertinence d’un outil d’assistance pour l’utilisation de tout logiciel ou toute combinaison de logiciels.
Selon un premier aspect, l’invention concerne un procédé de traitement d’image, le procédé comprenant les étapes suivantes :
- affichage d’une première image ;
- comparaison d’un premier objet graphique avec au moins une partie de la première image ;
- détection d’un deuxième objet graphique dans la au moins une partie de la première image en fonction d’un résultat de la comparaison, le deuxième objet graphique étant détecté lorsqu’une similarité entre le premier objet graphique et le deuxième objet graphique est supérieure à un premier seuil ;
- rendu d’un premier contenu comprenant au moins une information sur le deuxième objet graphique, le premier contenu étant associé au premier objet graphique.
Selon une variante, le premier objet graphique et le premier contenu associé au premier objet graphique sont stockés dans une base de données.
Selon encore une variante, la au moins une information appartient à un ensemble d’informations comprenant :
- une action à réaliser par un utilisateur ;
- une description du deuxième objet graphique ;
- un commentaire associé au deuxième objet graphique.
Selon une autre variante, le rendu du premier contenu comprend un affichage du premier contenu, le premier contenu étant affiché en lien avec le deuxième objet graphique à une localisation fonction d’une localisation du deuxième objet graphique de manière à laisser apparent le deuxième objet graphique.
Selon une variante supplémentaire, le premier objet graphique est comparé avec une première partie de la première image, la première partie étant déterminée à partir d’une information de localisation associée au premier objet graphique.
Selon une variante additionnelle, le premier objet graphique est comparé avec une deuxième partie de la première image comprenant la première partie lorsque la similarité entre le premier objet graphique et le deuxième objet graphique est inférieure au premier seuil à l’issue de la comparaison du premier objet graphique avec la première partie.
Selon une autre variante, la deuxième partie de la première image correspond à une bande verticale de la première image, la bande verticale comprenant la première partie de la première image.
Selon une variante supplémentaire, le premier objet graphique est comparé avec l’intégralité de la première image lorsque la similarité entre le premier objet graphique et le deuxième objet graphique est inférieure au premier seuil à l’issue de la comparaison du premier objet graphique avec la deuxième partie.
Selon encore une variante, le procédé comprend en outre les étapes suivantes :
- capture d’une première fenêtre de la première image comprenant le deuxième objet graphique à un instant déterminé ;
- stockage de la première fenêtre ;
- comparaison du contenu de la première fenêtre avec un contenu de chaque deuxième fenêtre d’un ensemble de deuxièmes fenêtres de la première image, chaque deuxième fenêtre de l’ensemble étant capturée à un instant différent postérieur à l’instant déterminé, chaque deuxième fenêtre ayant une même taille et une même position dans la première image que la première fenêtre.
Selon une autre variante, lorsqu’une similarité entre le contenu de la première fenêtre et le contenu de chaque deuxième fenêtre est inférieure à un deuxième seuil, le procédé comprend en outre une étape de recherche du deuxième objet graphique dans une bande verticale de la première image comprenant la deuxième fenêtre.
Selon une variante additionnelle, lorsqu’une similarité entre le contenu de la première fenêtre et le contenu de la bande verticale est inférieure au deuxième seuil, le procédé comprend en outre une étape de recherche du deuxième objet graphique dans l’intégralité de la première image comprenant la bande verticale.
Selon encore une variante, le procédé comprend en outre les étapes suivantes :
- comparaison d’un troisième objet graphique avec au moins une autre partie de la première image ou avec au moins une partie d’une deuxième image ;
- détection d’un quatrième objet graphique dans la au moins une autre partie de la première image ou dans la au moins une partie de la deuxième image en fonction d’un résultat de la comparaison, le quatrième objet graphique étant détecté lorsqu’une similarité entre le troisième objet graphique et le quatrième objet graphique est supérieure au premier seuil ;
- rendu d’un deuxième contenu comprenant au moins une information sur le quatrième objet graphique, le deuxième contenu étant associé au troisième objet graphique.
Selon une autre variante, le rendu du deuxième contenu est mis en œuvre suivant une validation du rendu du premier contenu lorsque le deuxième objet graphique et le quatrième objet graphique appartiennent à la première image.
Selon une variante supplémentaire, le procédé comprend en outre les étapes suivantes :
- capture d’un ensemble d’objets graphiques de références, l’ensemble comprenant le premier objet graphique ;
- association, à chaque objet graphique de l’ensemble, d’un contenu et d’une information représentative d’une localisation dans une image ;
- enregistrement de l’ensemble d’objets graphiques et des contenus et informations associés.
Selon un deuxième aspect, l’invention concerne un dispositif de traitement d’image, le dispositif comprenant une mémoire associée à un processeur configuré pour la mise en œuvre des étapes du procédé selon le premier aspect de l’invention.
Selon un troisième aspect, l’invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé selon le premier aspect de l’invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur.
Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation, et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
Selon un quatrième aspect, l’invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon le premier aspect de l’invention.
D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur.
D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Brève description des figures
D’autres caractéristiques et avantages de l’invention ressortiront de la description des modes de réalisation non limitatifs de l’invention ci-après, en référence aux figures 1 à 7 annexées, sur lesquelles :
illustre de façon schématique un processus de rendu d’un contenu associé à un objet graphique d’une image, selon un exemple de réalisation particulier de la présente invention ;
illustre de façon schématique une recherche de l’objet graphique dans l’image de la figure 1, selon un exemple de réalisation particulier de la présente invention ;
illustre de façon schématique la recherche de deux objets graphiques et le rendu de contenus associés, selon un premier exemple de réalisation particulier de la présente invention ;
illustre de façon schématique la recherche de deux objets graphiques et le rendu de contenus associés, selon un deuxième exemple de réalisation particulier de la présente invention ;
illustre de façon schématique la recherche de deux objets graphiques et le rendu de contenus associés, selon un troisième exemple de réalisation particulier de la présente invention ;
illustre schématiquement un dispositif configuré pour le traitement de l’image de la figure 1, selon un exemple de réalisation particulier de la présente invention ;
illustre un organigramme des différentes étapes d’un procédé de traitement d’image, le procédé étant par exemple mis en œuvre dans le dispositif de la figure 2, selon un exemple de réalisation particulier de la présente invention.
Un procédé et un dispositif de traitement d’image(s), vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 7. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre.
Selon un exemple particulier et non limitatif de réalisation de l’invention, un procédé de traitement d’une ou plusieurs images comprend l’affichage d’une première image, par exemple sur un écran d’affichage, tactile ou non. Un premier objet graphique est comparé avec une partie ou l’intégralité de la première image. Ce premier objet graphique est par exemple reçu d’une mémoire ou d’un serveur distant pour rechercher un deuxième objet graphique sur la première image, le deuxième objet graphique correspondant visuellement au premier objet graphique. Le deuxième objet graphique est détecté sur la partie de la première fenêtre dans laquelle est effectuée la recherche, la détection étant fonction du résultat de la comparaison entre le premier objet graphique et la première image (ou une partie de cette première image). Le deuxième objet graphique est avantageusement détecté si la similarité entre le premier objet graphique et le deuxième objet graphique est supérieure à un premier seuil déterminé. Un premier contenu est rendu (par exemple affiché sur le premier contenu correspond à un contenu graphique), ce premier contenu comprenant une ou plusieurs informations sur le deuxième objet graphique détecté. Ce premier contenu est avantageusement associé au premier objet graphique, par exemple stocké avec le premier objet graphique dans une mémoire ou une base de données.
Une image correspond avantageusement à un arrangement de pixels organisés en colonnes et en lignes. Une image est affichée sur un écran d’affichage, par exemple un écran de type LCD (de l’anglais « Liquid Crystal Display » ou en français « Affichage à cristaux liquides ») ou OLED (de l’anglais « Organic Light-Emitting Diode » ou en français « Diode électroluminescente organique »). Des attributs de couleur sont associés à chaque pixel, ces attributs étant codés sur un nombre déterminé de bits, par exemple 8, 10 ou 12 bits, pour chaque couleur. Un codage sur 8 bits permet par exemple de coder un niveau de la couleur associée avec 256 valeurs, par exemple codés de 0 à 255. Les couleurs associés à chaque pixel sont par exemple de type RGB (de l’anglais « Red, Green, Blue » ou « Rouge, vert, bleu » en français), avec par exemple 8 bits par couleur, soit 24 bits pour chaque pixel.
Une image est caractérisée par sa définition, la définition correspondant au nombre de pixels composant cette image. A titre d’exemple, une image dite HD (« Haute Définition ») comprend par exemple 2073600 pixels répartis dans un tableau de 1080 lignes et 1920 colonnes.
Une image est également caractérisée par sa résolution, qui correspond au nombre de pixels par unité de longueur, par exemple au nombre de pixels par pouce (de l’anglais « inch ») ou au nombre de pixels par centimètre. La résolution dépend par exemple de la taille de l’écran sur laquelle est affichée l’image (la taille étant par exemple définie par la dimension de la diagonale de l’écran et d’un et/ou plusieurs de ses côtés) et de la définition de l’image.
Un objet graphique correspond avantageusement à un ensemble ou groupe de pixels d’une image, des attributs de couleur(s) (par exemple RGB) étant associé à chaque pixel de cet ensemble. Une image est composée d’un ou plusieurs objets graphiques, un objet graphique correspondant par exemple à des objets d’une ou plusieurs interfaces graphiques utilisateur, dite GUI (de l’anglais « Graphical User Interface »), d’un ou plusieurs logiciels (ou applications). Un objet graphique correspond par exemple à une icône, un champ de recherche, un champ de renseignements ou d’informations à fournir par l’utilisateur, un champ comprenant des informations pour l’utilisateur, un menu ou un élément de menu, du texte, une image représentant un objet de la vie courante ou une personne ou un animal, etc.
La détection d’un objet graphique (dit deuxième objet graphique) sur une image en faisant une recherche par traitement ou analyse d’image, par exemple par comparaison avec un objet graphique cible (dit premier objet graphique, par exemple stocké au préalable dans une base de données), permet de personnaliser quels sont les objets qui seront recherchés ou détectés, pour peu que des objet graphiques (cibles) similaires (c’est-à-dire ayant des attributs, par exemple des attributs de couleur, similaires ou proches) soient enregistrés dans la base de données.
Le rendu d’un contenu associé au premier objet graphique lorsque le deuxième objet graphique associé à ce premier objet graphique a été détecté permet de fournir des informations sur le deuxième objet graphique détecté, par exemple à quoi correspond ce deuxième objet graphique et/ou quelle action doit être réalisée par l’utilisateur vis-à-vis de ce deuxième objet graphique. Cela s’avère particulièrement utile dans le cadre d’un tutoriel. La personnalisation d’un tel tutoriel est simple et consiste en l’enrichissement de la base de données des objets graphiques à rechercher avec une image (par exemple une capture d’écran) de chaque nouvel objet graphique à rechercher, avec les contenus associés.
illustre schématiquement un processus de rendu d’un contenu associé à un objet graphique d’une image, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Dans une première opération, un utilisateur lance ou exécute un tutoriel expliquant la marche à suivre pour que l’utilisateur effectue une ou plusieurs tâches à l’aide d’un ou plusieurs logiciels ou applications. Le tutoriel est par exemple lancé par sélection d’une icône associée au tutoriel ou par sélection d’un élément d’une liste dans un menu. La sélection correspond par exemple en un double-clic effectué via un dispositif de pointage (par exemple une souris) sur l’icône ou l’élément de la liste affiché sur un écran 11. Selon une variante de réalisation, la sélection correspond en un toucher tactile de l’icône ou de l’élément de la liste affiché si l’écran 11 est un écran tactile.
Dans une deuxième opération, suivant le lancement du tutoriel, un premier objet graphique 121 est récupéré ou reçu d’une base de données 12. La base de données 12 est par exemple stockée en mémoire du dispositif de traitement (par exemple un ordinateur, une tablette, un téléphone intelligent (de l’anglais « smartphone »)) sur lequel est exécuté le tutoriel et sur lequel l’utilisateur doit travailler pour effectuer sa ou ses tâches. Selon une variante de réalisation avantageuse, la base de données est stockée sur un dispositif distant du dispositif de traitement, par exemple un serveur. Ce dispositif distant est par exemple accessible depuis le dispositif de traitement via une connexion filaire, une connexion sans fil, ou une connexion filaire et une connexion sans fil. Le dispositif de traitement et le dispositif distant appartiennent par exemple à un réseau d’entreprise et ils sont reliés via une connexion filaire, de type Ethernet par exemple. Selon un autre exemple, le dispositif distant correspond à un serveur du « cloud » (ou « nuage » en français) accessible via l’Internet (selon la norme IEEE 802.3), via une connexion filaire (de type Ethernet par exemple) ou sans fil (de type LTE 4G par exemple). Selon encore un exemple, le serveur distant est accessible depuis le dispositif de traitement en combinant une connexion sans fil (par exemple une connexion de type Wifi®, selon la norme IEEE 802.11) et une connexion filaire (par exemple de type Ethernet) ou une connexion basée sur de la fibre optique.
Le premier objet graphique 121 correspond par exemple au premier élément associé à la première étape que doit réaliser l’utilisateur dans l’accomplissement de ses tâches. Le premier objet graphique 121 correspond à un groupe de pixels à retrouver dans une première image 13 affichée sur l’écran 11. A titre d’exemple, si l’utilisateur doit lancer l’exécution d’un premier logiciel pour l’exécution de ses tâches, le premier objet graphique 121 correspond à une représentation graphique de l’icône que l’utilisateur doit sélectionner (par double-clic ou toucher tactile par exemple) pour lancer l’exécution du premier logiciel.
Le premier objet graphique 121 est par exemple généré par un utilisateur expérimenté en charge d’établir le tutoriel, un tel utilisateur expérimenté exécutant le déroulé des opérations nécessaires pour l’exécution de la ou les tâches à la charge du ou des utilisateurs qui utiliseront ensuite le tutoriel. Ce premier objet graphique 121 est par exemple obtenu en faisant une capture écran de la partie d’écran sur lequel est affiché le premier objet graphique 121, la capture écran ayant par exemple la forme d’une fenêtre rectangulaire, ou toute autre forme.
Un premier contenu est avantageusement associé au premier objet graphique 121 et stocké dans la base de données, ce premier contenu fournissant une ou plusieurs informations relatives au premier objet graphique 121, et par voie de conséquence au groupe de pixels à retrouver sur la première image 13 (ce groupe de pixels étant appelé deuxième objet graphique). A titre d’exemple, le premier contenu comprend une ou plusieurs des informations suivantes :
- une action à réaliser par un utilisateur (par exemple « Double-cliquer sur cette icône avec la souris ») ;
- une description du deuxième objet graphique (par exemple « Cette icône permet le lancement du logiciel ‘XXX’ », XXX correspondant à la dénomination du logiciel) ;
- un commentaire associé au deuxième objet graphique (par exemple « Si rien ne se passe après avoir cliqué sur cette icone, merci de contacter le support informatique »).
Le premier contenu prend par exemple une ou plusieurs des formes suivantes :
- un message textuel à afficher ;
- un message vocal ;
- une vidéo ; et/ou
- une image représentative de la fonction de l’objet graphique associé.
Une ou plusieurs métadonnées sont avantageusement associées au premier objet graphique 121 et stockées dans la base de données. La ou les métadonnées comprennent par exemple une ou plusieurs des informations suivantes :
- la localisation du premier objet graphique 121 dans l’image à partir de laquelle le premier objet graphique a été obtenu, par exemple par capture d’écran ; cette localisation correspond par exemple au numéro de colonne et numéro de ligne d’un pixel de référence du premier objet graphique 121 (par exemple le pixel situé en haut à gauche du groupe de pixels formant le premier objet graphique 121, ou le pixel situé en bas à droite ou tout autre pixel) dans l’image à partir de laquelle le premier objet graphique 121 a été obtenu ;
- les dimensions du premier objet graphique 121 (par exemple la largeur et la hauteur exprimées par exemple en nombre de pixels), ou les dimensions d’une fenêtre (aussi appelée boite englobante à deux dimensions) entourant le premier objet graphique 121 (par exemple la largeur et la hauteur de la fenêtre, par exemple exprimées en nombre de pixels) ;
- la définition de l’image à partir de laquelle le premier objet graphique 121 a été obtenu ; et/ou
- la résolution et/ou les dimensions de l’écran sur lequel était affichée l’image à partir de laquelle le premier objet graphique 121 a été obtenu.
La base de données 12 comprend avantageusement un ensemble de premiers objets graphiques, chaque premier objet graphique correspondant à un élément à retrouver dans une image affichée sur l’écran 11 au fur et à mesure du déroulé des opérations réalisées par l’utilisateur assis devant l’écran 11 pour l’accomplissement de ses tâches. Un premier contenu et une ou des métadonnées sont associées à chaque premier objet graphique dans la base de données 12.
La base de données 12 comprend ainsi toutes les informations relatives au tutoriel pour accompagner un utilisateur non expérimenté ou peu à l’aise avec l’outil informatique dans l’exécution de ses tâches, quels que soient les logiciels mis en œuvre pour l’exécution des tâches. Le ou les logiciels mis en œuvre correspondent à un ou plusieurs des logiciels suivants :
- application locale, c’est-à-dire un logiciel installé et exécuté sur le dispositif de traitement ;
- application web, c’est-à-dire une application mise en œuvre sur un serveur distant et accessible via un navigateur internet installé sur le dispositif de traitement ; une telle application correspond par exemple à un SaaS (de l’anglais « Software as a Service » ou en français « Logiciel en tant que service ») ; et/ou
- une application de type client/serveur, le client de l’application étant installé et exécuté sur le dispositif de traitement relié au serveur où est installé et exécuté un programme traitant les requêtes transmises par le client, et répondant à ces requêtes.
Dans une troisième opération, le premier objet graphique 121 est comparée à au moins une partie 131 d’une première image 13 affichée sur l’écran 11. Cette troisième opération sera décrite plus en détail ci-dessous en regard de la figure 2.
Dans une quatrième opération, un deuxième objet graphique 132 correspondant au premier objet graphique 121 est détecté dans la première image 13. Le deuxième objet graphique 132 est détecté lorsqu’il y a correspondance entre le groupe de pixels formant le premier objet graphique 121 et le groupe de pixels formant le deuxième objet graphique 132 sont similaires, c’est-à-dire que la similarité entre les groupes de pixels du premier et du deuxième objets graphiques est supérieure à un premier seuil. Le premier seuil est par exemple égal à 90, 95 ou 98 %. La comparaison est par exemple basée sur une comparaison entre les attributs des pixels du premier objet graphique 121 et les attributs des pixels du deuxième objet graphique 132, par exemple en faisant une comparaison des attributs pixel à pixel ou une comparaison par blocs de pixels.
Une fois le deuxième objet graphique 132 détecté, le premier contenu 133 associé au premier objet graphique est rendu (par exemple affiché sur la première image 13) en regard du deuxième objet graphique 132. Le premier contenu 133 est par exemple affiché sur la première image 13 de manière à ne pas masquer le deuxième objet graphique 132. Selon une variante de réalisation, le premier contenu prend la forme d’un texte audio et le rendu correspond à une lecture de ce texte audio lorsque le deuxième objet graphique 132 a été détecté.
La première image 13 appartient par exemple à une séquence de premières images affichés les unes après les autres (d’un point de vue temporel) sur l’écran 11. Le nombre de premières images 13 affichées est par exemple fonction de la fréquence d’affichage de l’écran 11. Par exemple pour une fréquence de 48 Hz, 48 premières images sont affichées par seconde.
Le premier objet graphique 121 et le deuxième objet graphique 132 sont théoriquement similaires. Cependant, si le premier objet graphique 121 a été capturé sur un premier écran avec un rendu des couleurs déterminé alors que le deuxième objet graphique 132 est rendu sur un deuxième écran avec un rendu des couleurs différents, des variations au niveau du rendu des couleurs des pixels de la première image 13 sur l’écran 11 peuvent être constatées, expliquant que la similarité entre les deux objets n’est pas toujours égale à 100 %.
Le premier contenu 133 est rendu, par exemple affiché, pendant un temps déterminé (par exemple 1 seconde) ou jusqu’à ce que l’utilisateur réalise une action, par exemple appui sur un bouton déterminé.
Un autre objet graphique de la base de données (appelé par exemple troisième objet graphique) correspondant à l’étape suivante dans le déroulé du tutoriel est alors recherché dans la première image 13 ou dans une deuxième image affichée après la deuxième image (par exemple si l’utilisateur a double-cliqué sur le deuxième objet graphique 132 et lancé l’exécution d’un logiciel et l’affichage d’une interface graphique associée). Les troisième et quatrième opérations décrites ci-dessus sont alors réitérées pour détecter un quatrième objet graphique correspondant au troisième objet graphique.
illustre schématiquement un processus de recherche du deuxième objet graphique 132 dans la première image 13, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Dans une première opération 21, la recherche du deuxième objet graphique 132 est réalisée dans une première partie 131 de la première image 13, cette première partie 131 correspondant par exemple à une fenêtre rectangulaire. La première partie 131 est déterminée à partir de la localisation du premier objet graphique, cette localisation étant stockée dans la base de données en tant que métadonnées associées au premier objet graphique. Une fenêtre de recherche 131 est définie avec par exemple des dimensions déterminées et stockées en mémoire ou paramétrables par un utilisateur, en prenant comme pixel de référence la localisation du premier objet graphique. Selon une variante, la fenêtre de recherche 131 est définie avec les dimensions de la fenêtre entourant le premier objet graphique (et stockées dans la base de données comme métadonnées associées au premier objet graphique), en prenant comme pixel de référence la localisation du premier objet graphique.
La recherche du deuxième objet graphique 132 est mise en œuvre en comparant le premier objet graphique (défini par un ensemble de pixels et leurs attributs de couleur par exemple) avec le contenu de la première partie 131 de la première image.
Selon un exemple particulier de réalisation, les dimensions et/ou la résolution de l’écran utilisé pour acquérir le premier objet graphique sont comparées aux dimensions et/ou à la résolution de l’écran 11 sur lequel est affichée la première image 13. Une normalisation de ces dimensions et/ou résolution des écrans est réalisée avant d’effectuer la comparaison entre le premier objet graphique et le contenu de la fenêtre 131. Cette normalisation est optionnelle, notamment lorsque l’écran utilisé pour acquérir le premier objet graphique est identique (ou au moins au niveau de ses caractéristiques de taille et de résolution) à l’écran 11.
La méthode de comparaison entre le premier objet graphique et le contenu de la première partie 131 dépend par exemple du type d’objet graphique recherché, c’est-à-dire du type du premier objet graphique. Par exemple, si le premier objet graphique correspond à du texte, la méthode de comparaison mise en œuvre correspond par exemple à une méthode basée sur un réseau de neurone, telle que la méthode mise en œuvre dans le logiciel de reconnaissance de caractère Tesseract. Si le premier objet graphique correspond à une image (ou une icone par exemple), la méthode de comparaison mise en œuvre correspond par exemple à une méthode de reconnaissance d’objet ou de forme basée sur des descripteurs de type SIFT par exemple (de l’anglais « Scale-Invariant Feature Transform » ou en français « Transformation de caractéristiques visuelles invariante à l’échelle »), une telle méthode étant par exemple décrite dans l’article intitulé « Distinctive Image Features from Scale-Invariant Keypoints » de David F. Lowe, publié dans « International Journal of Computer Vision » en janvier 2004. Selon un autre exemple, une méthode de type reconnaissance de contour basée sur un filtre Laplacien ou un filtre Gaussien est mise en œuvre, par exemple une méthode basée sur le filtre de Canny (décrit dans l’article « A computational Approach to Edge Detection » publié dans « IEEE Transactions on Pattern Analysis and Machine Intelligence » en 1986 par J. Canny).
Selon une variante de réalisation, la méthode de comparaison ne dépend pas du type d’objet à rechercher. Par exemple, une méthode de comparaison pixel à pixel (c’est-à-dire chaque pixel de la fenêtre entourant le premier objet graphique est comparée à chaque pixel correspondant (pixel ayant la même localisation dans la fenêtre) de la fenêtre 131, les 2 fenêtres ayant les mêmes dimensions) ou une méthode comparant des blocs de pixels entre eux permettent d’avoir un résultat de comparaison plus rapide que les méthodes de comparaison basées sur la détection de forme ou de contour. Dans de telles méthodes de comparaison pixel à pixel ou bloc de pixels à bloc de pixels, une empreinte (par exemple un histogramme de couleur, une moyenne colorimétrique par bloc) du premier objet graphique est comparée à une empreinte de la fenêtre 131 et la correspondance entre le premier objet graphique (ou la fenêtre qui l’entoure) et la fenêtre 131 est validée si les empreintes correspondent.
Le deuxième objet graphique 132 est détectée lorsqu’une correspondance entre le premier objet graphique et le contenu de la fenêtre 131 est constatée, avec un niveau de confiance supérieur à un seuil. Le niveau de confiance est supérieur au seuil requis lorsque la similarité entre le premier objet graphique 121 et le deuxième objet graphique 132 est supérieur au premier seuil, par exemple la similarité est supérieure à 90, 95 ou 98 %. La similarité correspond par exemple à la similarité de l’empreinte et/ou des contours et/ou de la forme, selon la ou les méthodes de comparaison utilisées.
Si le deuxième objet graphique 132 est détectée dans la première partie 131 de la première image 13, alors le processus de détection s’arrête à cette opération et le premier contenu 133 est rendu en regard de ce deuxième objet graphique 132, avant de passer à la détection d’un autre objet graphique à recherche dans la première image ou dans une autre image, tel que cela sera décrit plus en détail en regard des figures 3 à 5.
Si le deuxième objet graphique 132 n’est pas détecté dans la première partie 131, c’est-à-dire si le degré de similarité entre le premier objet graphique 121 et le contenu de la première partie 131 est inférieure au premier seuil, alors le processus de recherche et de détection du deuxième objet graphique se poursuit avec la deuxième opération 22.
Dans une deuxième opération 22, la recherche du deuxième objet graphique 132 est réalisée dans une deuxième partie 221 de la première image 13, cette deuxième partie 221 étant de taille supérieure à la première partie 131 et englobant cette première partie 131. La deuxième partie 221 correspond par exemple à une fenêtre rectangulaire plus grande que la fenêtre 131. Selon un autre exemple de réalisation avantageux, la deuxième partie 221 correspond à une bande verticale de la première image 13 comprenant la première partie 131. Cette bande verticale comprend un ensemble de colonnes de pixels de la première image 13, sur toute la hauteur de la première image 13. La largeur de cette bande verticale correspond par exemple à la largeur de la première partie 131. De manière avantageuse, la largeur de cette bande verticale est supérieure à la largeur de la première partie, par exemple la largeur de la bande verticale correspond à la largeur de la première partie 131 en y ajoutant un nombre de pixels déterminés (par exemple 10, 20, 50 ou 100 pixels) de chaque côté (à droite et à gauche) de la première partie 131.
La présence du deuxième objet graphique 132 est recherchée dans cette deuxième partie 221 de la même manière que celle décrite dans la première opération, en mettant en œuvre une ou plusieurs méthodes de comparaisons entre le premier objet graphique 121 (ou une fenêtre l’entourant) et le contenu de cette deuxième partie 221.
Si le deuxième objet graphique 132 est détectée dans la deuxième partie 221 de la première image 13, alors le processus de détection s’arrête à cette opération et le premier contenu 133 est rendu en regard de ce deuxième objet graphique 132, avant de passer à la détection d’un autre objet graphique à recherche dans la première image ou dans une autre image, tel que cela sera décrit plus en détail en regard des figures 3 à 5.
Si plusieurs occurrences sont détectées, c’est-à-dire si plusieurs résultats de comparaison indiquent un degré de similarité entre le premier objet graphique 121 et plusieurs deuxièmes objets graphiques potentiels supérieur au premier seuil, alors le deuxième objet graphique le plus proche de la localisation du premier objet graphique 121 (stockée dans la base de données) est sélectionnée et détectée.
Si le deuxième objet graphique 132 n’est pas détecté dans cette deuxième partie 221, c’est-à-dire si le degré de similarité entre le premier objet graphique 121 et le contenu de la deuxième partie 221 est inférieur au premier seuil, alors le processus de recherche et de détection du deuxième objet graphique se poursuit avec la troisième opération 23. Selon une variante, le deuxième objet graphique ayant le degré de similarité le plus élevé est sélectionné.
Dans une troisième opération 23, la recherche du deuxième objet graphique 132 est réalisée dans la totalité de la première image 13. La présence du deuxième objet graphique 132 est recherchée dans la première image 13 de la même manière que celle décrite dans la première opération, en mettant en œuvre une ou plusieurs méthodes de comparaisons entre le premier objet graphique 121 (ou une fenêtre l’entourant) et le contenu total de cette première image 13. Pour accélérer le processus de comparaison, une méthode de comparaison par blocs de pixel est par exemple mise en œuvre, c’est-à-dire que la fenêtre entourant le premier objet graphique 121 est découpée en plusieurs blocs de pixels de même taille et la première est également découpée ou divisée en blocs de pixels de même taille que les blocs de la fenêtre entourant le premier objet graphique 121. Les blocs de pixels de la fenêtre entourant le premier objet graphique 121 sont alors comparés un par un aux blocs de l’image 13, par exemple en partant d’un bloc à l’extérieur de la deuxième partie 221 et adjacent à cette deuxième partie et en s’éloignant au fur et à mesure de cette deuxième partie 221.
Si plusieurs occurrences sont détectées, c’est-à-dire si plusieurs résultats de comparaison indiquent un degré de similarité entre le premier objet graphique 121 et plusieurs deuxièmes objets graphiques potentiels supérieur au premier seuil, alors le deuxième objet graphique le plus proche de la localisation du premier objet graphique 121 (stockée dans la base de données) est sélectionnée et détectée. Selon une variante, le deuxième objet graphique ayant le degré de similarité le plus élevé est sélectionné.
Selon un mode de réalisation particulier et optionnel, le deuxième objet graphique 132 est enregistré en mémoire une fois détecté dans la première image 13. Pour ce faire, une fenêtre entourant le deuxième objet graphique 132 détecté est capturée et stockée en mémoire avec les coordonnées d’un pixel de référence correspondant à la localisation de ce deuxième objet graphique détecté. Cette fenêtre est alors comparée avec le contenu de fenêtres correspondantes (même taille, même localisation) d’images affichées après la première image 13. En effet, pour éviter certains phénomènes de scintillement, une même image est affichée plusieurs fois par secondes sur un écran (par exemple 24, 50, 100 fois par secondes), la même image étant affichée tant que le contenu de l’image ne change pas.
Lorsque le premier contenu 133 est affiché à côté du deuxième objet graphique 132 détecté en pointant vers ce deuxième objet graphique 132, si l’utilisateur fait défiler une partie d son écran, la localisation du deuxième objet graphique 132 dans l’écran va changer alors que le premier contenu sera toujours affiché au même endroit sur l’écran.
Pour palier ce problème, le contenu de la fenêtre comprenant le premier objet graphique détecté 132 est comparé au contenu d’une fenêtre correspondante une à plusieurs fois par secondes par exemple, pour déterminer si la position du deuxième objet graphique 132 a changé ou non. Le contenu de la fenêtre capturé initialement est ainsi comparée au contenu d’une ou plusieurs fenêtres à des instants temporels différents de (et postérieurs à) l’instant auquel a été capturée la fenêtre initiale. Si le résultat de la comparaison indique une similitude entre les deux fenêtres supérieure à un deuxième seuil (par exemple 98 ou 99 %) alors cela signifie que la position du deuxième objet graphique 132 sur l’écran n’a pas changé.
Au contraire, si le résultat de la comparaison indique une similitude entre les deux fenêtres inférieure au deuxième seuil (par exemple 98 ou 99 %) alors cela signifie que la position du deuxième objet graphique 132 sur l’écran a changé. Si tel est le cas, une nouvelle recherche du deuxième objet graphique est mise en œuvre, telle que décrite ci-dessus en regard des opérations 21 à 23. Une fois que le deuxième objet graphique a de nouveau été détecté, le premier contenu 133 est de nouveau rendu en prenant en compte la nouvelle position du deuxième objet graphique 132 de manière à être affichée en lien avec ce deuxième objet graphique, c’est-à-dire de manière à ne pas masquer le deuxième objet graphique 132 et en pointant par exemple vers ce deuxième objet graphique 132.
Les opérations 21, 22 et/ou 23 sont avantageusement réitérées pour chaque recherche de la présence d’un objet graphique dans une image, pour chaque étape du tutoriel exécuté par un utilisateur souhaitant un accompagnement ou une aide pour l’exécution de ses tâches via un logiciel ou une combinaison de logiciel.
illustre schématiquement les recherches consécutives de deux objets graphiques et le rendu de contenus associés, selon un premier exemple de réalisation particulier et non limitatif de la présente invention.
Selon l’exemple illustré par la figure 3, une image 31, correspondant par exemple à la première image 13, comprend deux objets graphiques 311, 312 à rechercher et détecter pour ensuite rendre vis-à-vis de chacun de ces objets graphiques 311, 312 un contenu 3111, 3121 fournissant des explications sur ces objets graphiques. Les deux objets graphiques 311 et 312 sont présents et affichés concomitamment sur la même image 31. Cette image 31 est par exemple affiché sur l’écran 11.
Pour commencer, l’objet graphique 311 est détecté dans la première page, par exemple selon le processus décrit en regard de la figure 2, en comparant un objet graphique stocké dans la base de données pour retrouver et détecter cet objet graphique 311. Un contenu 3111 est ensuite affiché en lien avec cet objet graphique 311, ce contenu étant récupéré de la base de données. La position du contenu 3111 sur l’image 31 est avantageusement fonction de la position de l’objet graphique, de manière à ce que le contenu 3111 soit affiché en lien avec l’objet graphique (par exemple en pointant sur ce dernier) sans toutefois masquer l’objet graphique 311. Le contenu 3111 est par exemple affiché de manière à recouvrir (de l’anglais « overlay ») une partie du contenu de la première image, avec optionnellement un degré de transparence déterminé ou fonction de la partie de l’image qu’il recouvre. Le rendu du contenu 3111 s’accompagne de l’affichage d’un objet graphique (par exemple une icone ou un bouton) 3112. Un appui sur cet objet graphique 3112 (par exemple un appui tactile ou un clic via une souris) déclenche le passage à l’étape suivante du tutoriel, c’est-à-dire l’affichage d’un contenu suivant 3121 en lien avec l’objet graphique suivant 312.
De manière avantageuse, la détection de l’objet graphique 312 est mise en œuvre parallèlement à la détection de l’objet graphique 311, ou parallèlement au rendu du contenu 3111 pour que le contenu 3121 soit affiché juste après validation du contenu 3111 par appui sur l’objet graphique 3112. Le traitement parallèle de plusieurs tâches est par exemple mis en œuvre en utilisant plusieurs « threads » (ou en français « fils d’exécution ») du ou des processeurs du dispositif de traitement en ou profitant de la parallélisation des tâches offertes par les processeurs graphiques, dits GPUs (de l’anglais « Graphics Processing Unit(s) »), du dispositif de traitement.
Selon une variante de réalisation, la validation du contenu 3111 est réalisée par commande vocale, l’utilisant prononçant alors une commande vocale permettant de passer à l’étape suivante du tutoriel, c’est-à-dire le rendu du contenu suivant 3121 en lien avec l’objet graphique suivant 312. Selon cette variante, l’objet graphique 3112 n’est pas affiché sur l’écran 11.
illustre schématiquement les recherches consécutives de deux objets graphiques et le rendu de contenus associés, selon un deuxième exemple de réalisation particulier et non limitatif de la présente invention.
Selon l’exemple illustré par la figure 4, une image 41, correspondant par exemple à la première image 13, comprend un objet graphique 411 affiché initialement. Cette image 41 est par exemple affiché sur l’écran 11.
Dans un premier temps, cet objet graphique 411 est recherché et détecté selon le processus décrit en regard de la figure 2, en comparant un objet graphique stocké dans la base de données pour retrouver et détecter cet objet graphique 411. Un contenu 4111 est ensuite affiché en lien avec cet objet graphique 411, ce contenu étant récupéré de la base de données. La position du contenu 4111 sur l’image 41 est avantageusement fonction de la position de l’objet graphique, de manière à ce que le contenu 4111 soit affiché en lien avec l’objet graphique 411 (par exemple en pointant sur ce dernier) sans toutefois masquer l’objet graphique 411. Le contenu 4111 est par exemple affiché de manière à recouvrir (de l’anglais « overlay ») une partie du contenu de la première image, avec optionnellement un degré de transparence déterminé ou fonction de la partie de l’image qu’il recouvre.
Dans un deuxième temps, un autre objet graphique 412 s’affiche sur l’image 41 (ou une version de cette image 41 affichée après la première version de cette image comprenant initialement uniquement l’objet graphique 411), en plus de l’objet graphique 411. L’affichage de cet autre objet graphique 412 est par exemple déclenché automatiquement, en fonction des règles de gestion du logiciel gérant l’affichages des objets 411 et 412. Cet affichage est par exemple déclenché après l’affichage de l’objet 411, après écoulement d’une durée déterminée. Selon un autre exemple, l’affichage de l’objet 412 est déclenchée par une action utilisateur en lien avec l’objet 411 et le logiciel associé, par exemple lorsque l’utilisateur a complété le champ de données correspondant à l’objet 411 (si cet objet 411 correspond à un champ à renseigner, ceci étant expliqué dans le contenu 4111 affiché en regard de l’objet 411) ou bien si l’utilisateur a cliqué sur l’objet 411 si c’est l’action qui doit être réalisée en lien avec cet objet (cette action étant expliquée dans le contenu 4111 affichée en regard de l’objet 411).
Cet autre objet graphique 412 est détecté via le même processus que celui décrit en regard de la figure 2, ce processus étant par exemple exécuté en tâche de fond avant que l’objet graphique 412 ne soit affiché (traitement en parallèle par plusieurs « threads » par exemple) ou ce processus étant lancé suite à l’affichage de l’objet 412. La détection de l’objet graphique 412 ne requiert cependant aucune action spécifique de l’utilisateur, contrairement à l’exemple décrit en regard de la figure 3.
Une fois l’objet graphique 412 détecté, le contenu 4121 associé est affiché à l’écran à une position fonction de la position de l’objet graphique 412 sans toutefois le recouvrir, même partiellement.
illustre schématiquement les recherches consécutives de deux objets graphiques et le rendu de contenus associés, selon un troisième exemple de réalisation particulier et non limitatif de la présente invention.
Selon l’exemple illustré par la figure 5, une image 51, correspondant par exemple à la première image 13, comprend un objet graphique 511 affiché initialement. Cette image 51 est par exemple affiché sur l’écran 11.
L’objet graphique 511 est recherché et détecté selon le processus décrit en regard de la figure 2, en comparant un objet graphique stocké dans la base de données pour retrouver et détecter cet objet graphique 511. Un contenu 5111 est ensuite affiché en lien avec cet objet graphique 511, ce contenu étant récupéré de la base de données. La position du contenu 5111 sur l’image 51 est avantageusement fonction de la position de l’objet graphique 511, de manière à ce que le contenu 5111 soit affiché en lien avec l’objet graphique 511 (par exemple en pointant sur ce dernier) sans toutefois masquer l’objet graphique 511.
Une image 52 est ensuite affichée, après l’image 51. L’image 52 comprend un objet graphique 521 mais ne comprend pas l’objet graphique 511. L’affichage de l’image 52 est par exemple déclenchée automatiquement après une durée déterminée suite à l’affichage de l’image 51. Selon un autre exemple, l’affichage de l’image 52 sur l’écran 11 est déclenchée suite à une action utilisateur en lien avec l’objet graphique 511 et par exemple une instruction affichée dans le contenu 5111. Au contraire de l’exemple décrit en regard de la figure 3, la détection de l’objet graphique 521 est automatique et ne requiert aucune validation ou action de l’utilisateur faisant face à l’écran 11 et utilisant le tutoriel. La détection de l’objet 521 est par exemple exécutée parallèlement à la détection de l’objet 511 ou, selon un autre exemple, suivant l’affichage de l’objet 521. Une fois l’objet graphique 521 détecté sur l’image 52, un contenu 5211 est affiché en lien avec cet objet graphique 521.
illustre schématiquement un dispositif 6 configuré pour la mise en œuvre du procédé décrit en regard de la figure 7 et/ou de tout ou partie des opérations décrites en regard des figures 1 à 5, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le dispositif 6 correspond par exemple au dispositif de traitement comprenant ou connecté à l’écran 11 de la figure 1.
Des exemples d’un tel dispositif 6 comprennent, sans y être limités, différents appareils électroniques tels qu’un calculateur, un ordinateur, un ordinateur portable, un serveur, une tablette, un téléphone intelligent (de l’anglais « Smartphone »). Les éléments du dispositif 6, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le dispositif 6 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels. Selon différents modes de réalisation particuliers, le dispositif 6 est couplé en communication avec d’autres dispositifs ou systèmes similaires, par exemple par l’intermédiaire d’un réseau de type Internet.
Le dispositif 6 comprend un (ou plusieurs) processeur(s) 60 (par exemple à un ou plusieurs CPUs (de l’anglais « Central Processing Unit » ou en français « Unité centrale de traitement »)) configurés pour exécuter des instructions pour la réalisation des étapes du procédé de traitement des données. La processeur 60 peut inclure de la mémoire intégrée, une interface d’entrée/sortie, et différents circuits connus de l’homme du métier. Le dispositif 6 comprend en outre au moins une mémoire 61, par exemple une mémoire volatile et/ou non volatile et/ou comprend un dispositif de stockage mémoire qui peut comprendre de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, disque magnétique ou optique. Les données des images traitées par le dispositif 6 ainsi que les données relatives aux objets graphiques, contenus et métadonnées associés reçues de la base de données (via par exemple une infrastructure réseau) sont avantageusement enregistrées et stockées dans la mémoire 61. Le code informatique comprenant les instructions à charger et exécuter par le processeur 60 (par exemple les instructions relatives au tutoriel et/ou les instructions relatives au(x) logiciel(s) mis en œuvre pour l’accomplissement des tâches utilisateur) est par exemple stocké sur la mémoire ou le dispositif de stockage mémoire 61.
Selon un exemple de réalisation particulier, le dispositif 6 comprend avantageusement en outre une carte graphique comprenant un (ou plusieurs) processeur(s) graphiques (GPU (de l’anglais « Graphics Processing Unit » ou en français « Unité de traitement graphique ») associés à de la mémoire de type GRAM (de l’anglais « Graphical Random Access Memory » ou en français « Mémoire graphique à accès aléatoire »).
Selon un mode de réalisation particulier et non limitatif, le dispositif 6 comprend un bloc 63 d’éléments d’interface pour communiquer avec des dispositifs externes, par exemple le « cloud » ou un téléphone intelligent selon les cas. Les éléments d’interface du bloc 63 comprennent une ou plusieurs des interfaces suivantes :
- interface radiofréquence RF, par exemple de type Bluetooth® ou Wi-Fi®, LTE 4G ou 5G ;
- interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ;
- interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français).
Selon un autre mode de réalisation particulier, le dispositif 6 comprend une interface de communication 64 qui permet d’établir une communication avec d’autres dispositifs via un canal de communication 640. L’interface de communication 64 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 640. L’interface de communication 64 comprend par exemple un modem et/ou une carte réseau et le canal de communication peut par exemple être mis en œuvre dans un medium filaire et/ou sans fil.
Des données (par exemple issues de la base de données) sont par exemples chargées vers le dispositif 6 en utilisant un réseau Wi-Fi® tel que selon IEEE 802.11 ou un réseau mobile tel qu’un réseau 4G (ou LTE Advanced selon 3GPP release 10 – version 10) ou 5G.
Selon un mode de réalisation particulier supplémentaire, le dispositif 6 peut fournir et/ou recevoir des signaux de sortie à et/ou de un ou plusieurs dispositifs externes, tels qu’un écran d’affichage 650, un ou des haut-parleurs 660 et/ou d’autres périphériques 670 (souris, clavier, interface tactile, un système de projection) via respectivement des interfaces de sortie 65, 66 et 67. Selon une variante, l’un ou l’autre des dispositifs externes est intégré au dispositif 6.
Le dispositif 6 peut inclure tout ou partie des modules et/ou interfaces décrits selon un ou plusieurs des modes de réalisation particuliers décrits ci-dessus.
illustre un organigramme des différentes étapes d’un procédé de traitement d’image, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le procédé est par exemple mis en œuvre dans le dispositif 6 de la figure 6.
Dans une première étape 71, une première image est affichée, par exemple sur un dispositif d’affichage de type écran LCD ou OLED.
Dans une deuxième étape 72, un premier objet graphique est comparé avec tout ou partie de la première image. A cet effet, toute méthode de traitement d’image connue de l’homme du métier est mise en œuvre pour comparer le contenu associé avec le premier objet graphique (par exemple les attributs de couleur des pixels représentant le premier objet graphique) avec le contenu de tout ou partie de la première image (par exemple les attributs de couleurs des pixels).
Dans une troisième étape 73, en fonction du résultat de la comparaison mise en œuvre à l’étape 72, un deuxième objet graphique est détecté dans la partie de la première image ou dans la première image avec laquelle le premier objet graphique a été comparé. La détection du deuxième objet graphique est effective lorsque le résultat de la comparaison indique qu’une similarité (ou un niveau ou degré de similarité) entre le premier objet graphique et le deuxième objet graphique est supérieure à un premier seuil.
Dans une quatrième étape 74, un premier contenu est rendu, ce premier contenu comprenant une ou plusieurs informations sur le deuxième objet graphique détecté à l’étape 73. Ce premier contenu est avantageusement associé au premier objet graphique.
Les étapes 71 à 74 sont avantageusement réitérées pour détecter un ou plusieurs autres objets graphiques et rendre les contenus associés, par exemple pour détecter un quatrième objet graphique à partir de la comparaison entre un troisième objet graphique et le contenu de tout ou partie d’une image, par exemple la première image ou une autre image.
Le procédé est par exemple mis en œuvre dans le cadre d’un tutoriel expliquant étape par étape les actions à réaliser par un utilisateur avec un outil informatique, l’outil informatique nécessitant l’exécution d’une ou plusieurs actions en relation avec un ou plusieurs logiciels.
Le tutoriel est par exemple généré par un utilisateur expérimenté. Le tutoriel comprend avantageusement, pour chaque étape à réaliser par un utilisateur :
- un objet graphique à rechercher dans une image ou une page affichée sur un écran ;
- un contenu à rendre (par exemple afficher) en lien avec l’objet graphique à rechercher, le contenu comprenant une ou plusieurs informations sur l’objet graphique associé ;
- une ou des métadonnées associées à l’objet graphique (localisation, définition de l’image ou de la page le comprenant, résolution de l’écran à partir duquel il a été obtenu).
Les données relatives au tutoriel sont avantageusement stockées dans une base de données accessible depuis le dispositif de traitement utilisé par l’utilisateur pour réaliser les actions.
Pour la génération du tutoriel, l’utilisateur expérimenté exécute l’ensemble des actions qui seront ensuite à réaliser par les autres utilisateurs, en utilisant le ou les logiciels ou applications (application locale, SaaS, service web, logiciel client/serveur) nécessaires à l’exécution de ces actions. Pour chaque action, l’utilisateur expérimenté capture l’objet graphique (appelé objet graphique de référence ou objet graphique cible, correspondant au premier objet graphique décrit en regard des figures 1, 2 et 7 notamment) affiché à l’écran et associé à l’action à réaliser. Cet objet de graphique de référence est enregistré dans une base de données. Un contenu fournissant des informations sur cet objet graphiques (par exemple une description de l’objet graphique, une ou des actions à réaliser en lien avec cet objet graphique) sont renseignées et associées à cet objet graphique de référence, avant d’être enregistrées dans la base de référence en lien avec l’objet graphique de référence. De la même manière, des métadonnées sont associées à cet objet graphique, par exemple la localisation ou la position (par exemple des coordonnées X et Y correspondant respectivement à l’abscisse et à l’ordonnée d’un point ou pixel de référence de l’objet graphique de référence dans l’écran ou l’image affichée à l’écran), la définition de l’image comprenant l’objet graphique et/ou la résolution de l’écran sur lequel l’image est affichée. Ces métadonnées sont également enregistrées dans la base de référence en lien avec l’objet graphique de référence.
Une base de données est ainsi construite, comprenant un ensemble d’objets graphiques de références, les contenus et métadonnées associées. Chaque objet graphique de référence correspond à une description d’une étape à réaliser par un utilisateur pour accomplir une ou plusieurs tâches.
Un tel tutoriel est facilement personnalisable, quel que soit le ou les logiciels sur lesquels ils apportent une aide, puisque la reconnaissance des objets graphiques affichés via les interfaces graphiques utilisateurs (GUIs) associées à ces logiciels est basé sur des méthodes de traitement d’image (comparaison d’images et détection d’objet). Il suffit de renseigner la base de données avec un objet graphique de référence à retrouver sur le GUI du logiciel ad hoc pour aider ensuite un utilisateur utilisant ce logiciel, même si l’utilisation du logiciel est particulière et non imaginée par le concepteur du logiciel (et par voie de conséquence non décrite dans l’aide fournie par le concepteur du logiciel avec le logiciel).
Bien entendu, l’invention ne se limite pas aux modes de réalisation décrits ci-avant mais s’étend à un procédé d’assistance dans l’utilisation d’un ou plusieurs logiciels et au dispositif configuré pour mettre en œuvre un tel procédé.
L’invention concerne également une interface graphique utilisateur adapté pour la génération de la base de données comprenant les objets graphiques de référence, les contenus et métadonnées associées. Une telle interface comprend notamment un ou plusieurs menus comprenant des éléments, un de ces éléments permettant par exemple de lancer la création d’un nouveau tutoriel. Une ou plusieurs pages interactives sont prévues pour permettre à l’utilisateur expérimenter de renseigner les informations relatives au tutoriel, par exemple le nom du tutoriel, le nom de chaque logiciel associé au tutoriel, un ou plusieurs mots clés décrivant le logiciel ou les fonctions remplies par le logiciel. Chaque étape du tutoriel est renseignée et identifiée (par exemple par un nom ou un numéro). L’interface graphique propose également un outil de capture d’écran pour capturer chaque objet graphique de référence en sélectionnant la zone de l’écran comprenant l’objet graphique de référence à capturer. L’interface graphique propose également un outil ou une page interactive permettant d’associer un type de contenu à l’objet graphique de référence capturé, par exemple un objet graphique tel qu’un texte, une image, un message vocal, une vidéo. L’interface propose également un menu permettant de visualiser l’ensemble des étapes enregistrées, de lancer la lecture de ces étapes pour vérifier qu’il n’y a pas d’erreur, de modifier le contenu d’une ou plusieurs de ces étapes.

Claims (16)

  1. Procédé de traitement d’image, ledit procédé comprenant les étapes suivantes :
    - affichage (71) d’une première image (13) ;
    - comparaison (72) d’un premier objet graphique (121) avec au moins une partie (131) de ladite première image (13) ;
    - détection (73) d’un deuxième objet graphique (132) dans ladite au moins une partie (131) de la première image (13) en fonction d’un résultat de ladite comparaison, ledit deuxième objet graphique (132) étant détecté lorsqu’une similarité entre ledit premier objet graphique (121) et ledit deuxième objet graphique (132) est supérieure à un premier seuil ;
    - rendu (74) d’un premier contenu (133) comprenant au moins une information sur ledit deuxième objet graphique (132), ledit premier contenu (133) étant associé audit premier objet graphique (121).
  2. Procédé selon la revendication 1, pour lequel ledit premier objet graphique (121) et ledit premier contenu (133) associé audit premier objet graphique (121) sont stockés dans une base de données (12).
  3. Procédé selon la revendication 1 ou 2, pour lequel ladite au moins une information appartient à un ensemble d’informations comprenant :
    - une action à réaliser par un utilisateur ;
    - une description du deuxième objet graphique ;
    - un commentaire associé au deuxième objet graphique.
  4. Procédé selon l’une des revendications 1 à 3, pour lequel ledit rendu du premier contenu (133) comprend un affichage dudit premier contenu (133), ledit premier contenu (133) étant affiché en lien avec ledit deuxième objet graphique (132) à une localisation fonction d’une localisation dudit deuxième objet graphique (132) de manière à laisser apparent ledit deuxième objet graphique (132).
  5. Procédé selon l’une des revendications 1 à 4, pour lequel ledit premier objet graphique (121) est comparé avec une première partie (131) de ladite première image, ladite première partie (131) étant déterminée à partir d’une information de localisation associée audit premier objet graphique.
  6. Procédé selon la revendication 5, pour lequel ledit premier objet graphique (121) est comparé avec une deuxième partie (221) de ladite première image (13) comprenant ladite première partie (131) lorsque la similarité entre ledit premier objet graphique et ledit deuxième objet graphique est inférieure audit premier seuil à l’issue de la comparaison dudit premier objet graphique (121) avec ladite première partie (131).
  7. Procédé selon la revendication 6, pour lequel ladite deuxième partie (221) de la première image (13) correspond à une bande verticale de ladite première image (13), ladite bande verticale comprenant la première partie de la première image.
  8. Procédé selon la revendication 6 ou 7, pour lequel ledit premier objet graphique (121) est comparé avec l’intégralité de la première image (13) lorsque la similarité entre ledit premier objet graphique et ledit deuxième objet graphique est inférieure audit premier seuil à l’issue de la comparaison dudit premier objet graphique (121) avec ladite deuxième partie (221).
  9. Procédé selon l’une des revendications 1 à 8, comprenant en outre les étapes suivantes :
    - capture d’une première fenêtre de ladite première image comprenant ledit deuxième objet graphique à un instant déterminé ;
    - stockage de ladite première fenêtre ;
    - comparaison du contenu de ladite première fenêtre avec un contenu de chaque deuxième fenêtre d’un ensemble de deuxièmes fenêtres de ladite première image, chaque deuxième fenêtre dudit ensemble étant capturée à un instant différent postérieur audit instant déterminé, chaque deuxième fenêtre ayant une même taille et une même position dans la première image que ladite première fenêtre.
  10. Procédé selon la revendication 9, pour lequel lorsqu’une similarité entre le contenu de ladite première fenêtre et le contenu de ladite chaque deuxième fenêtre est inférieure à un deuxième seuil, le procédé comprend en outre une étape de recherche du deuxième objet graphique dans une bande verticale de la première image comprenant ladite deuxième fenêtre.
  11. Procédé selon la revendication 10, pour lequel lorsqu’une similarité entre le contenu de ladite première fenêtre et le contenu de ladite bande verticale est inférieure audit deuxième seuil, le procédé comprend en outre une étape de recherche du deuxième objet graphique dans l’intégralité de la première image comprenant ladite bande verticale.
  12. Procédé selon l’une des revendications 1 à 11, comprenant en outre les étapes suivantes :
    - comparaison d’un troisième objet graphique avec au moins une autre partie de ladite première image ou avec au moins une partie d’une deuxième image ;
    - détection d’un quatrième objet graphique (312 ; 412 ; 521) dans ladite au moins une autre partie de la première image ou dans la au moins une partie de la deuxième image en fonction d’un résultat de ladite comparaison, ledit quatrième objet graphique (312 ; 412 ; 521) étant détecté lorsqu’une similarité entre ledit troisième objet graphique et ledit quatrième objet graphique est supérieure audit premier seuil ;
    - rendu d’un deuxième contenu (3121 ; 4121 ; 5211) comprenant au moins une information sur ledit quatrième objet graphique, ledit deuxième contenu étant associé audit troisième objet graphique.
  13. Procédé selon la revendication 12, pour lequel le rendu dudit deuxième contenu est mis en œuvre suivant une validation (3112) du rendu dudit premier contenu lorsque le deuxième objet graphique et le quatrième objet graphique appartiennent à ladite première image.
  14. Procédé selon l’une des revendications 1 à 13, comprenant en outre les étapes suivantes :
    - capture d’un ensemble d’objets graphiques de références, ledit ensemble comprenant ledit premier objet graphique ;
    - association, à chaque objet graphique dudit ensemble, d’un contenu et d’une information représentative d’une localisation dans une image ;
    - enregistrement dudit ensemble d’objets graphiques et des contenus et informations associés.
  15. Dispositif (6) comprenant une mémoire (61) associée à au moins un processeur (60) configuré pour la mise en œuvre des étapes du procédé selon l’une quelconque des revendications 1 à 14.
  16. Produit programme d’ordinateur comportant des instructions adaptées pour l’exécution des étapes du procédé selon l’une des revendications 1 à 14, lorsque le programme d’ordinateur est exécuté par au moins un processeur.
FR1912537A 2019-11-08 2019-11-08 Procédé et dispositif de traitement d’image Expired - Fee Related FR3103041B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1912537A FR3103041B1 (fr) 2019-11-08 2019-11-08 Procédé et dispositif de traitement d’image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1912537A FR3103041B1 (fr) 2019-11-08 2019-11-08 Procédé et dispositif de traitement d’image
FR1912537 2019-11-08

Publications (2)

Publication Number Publication Date
FR3103041A1 true FR3103041A1 (fr) 2021-05-14
FR3103041B1 FR3103041B1 (fr) 2021-12-31

Family

ID=69572154

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1912537A Expired - Fee Related FR3103041B1 (fr) 2019-11-08 2019-11-08 Procédé et dispositif de traitement d’image

Country Status (1)

Country Link
FR (1) FR3103041B1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130278777A1 (en) * 2012-04-18 2013-10-24 Qualcomm Incorporated Camera guided web browsing
US20160048287A1 (en) * 2014-08-12 2016-02-18 Lg Electronics Inc. Mobile terminal and control method for the mobile terminal

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130278777A1 (en) * 2012-04-18 2013-10-24 Qualcomm Incorporated Camera guided web browsing
US20160048287A1 (en) * 2014-08-12 2016-02-18 Lg Electronics Inc. Mobile terminal and control method for the mobile terminal

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DE DAVID F. LOWE: "Distinctive Image Features from Scale-Invariant Keypoints", INTERNATIONAL JOURNAL OF COMPUTER VISION, January 2004 (2004-01-01)
J. CANNY: "A compu-tational Approach to Edge Détection", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, 1986

Also Published As

Publication number Publication date
FR3103041B1 (fr) 2021-12-31

Similar Documents

Publication Publication Date Title
US10936915B2 (en) Machine learning artificial intelligence system for identifying vehicles
CN110458918B (zh) 用于输出信息的方法和装置
CN111260545B (zh) 生成图像的方法和装置
Minichino et al. Learning OpenCV 3 Computer Vision with Python
US10395120B2 (en) Method, apparatus, and system for identifying objects in video images and displaying information of same
US10878531B2 (en) Robotic process automation
Pajankar Raspberry Pi computer vision programming
CN113010703B (zh) 一种信息推荐方法、装置、电子设备和存储介质
Salvaris et al. Deep learning with azure
US10685256B2 (en) Object recognition state indicators
US10846517B1 (en) Content modification via emotion detection
Datta Learning OpenCV 3 Application Development
KR20230021144A (ko) 사용자 선호도를 반영한 기계 학습 기반 이미지 압축 세팅
EP3202116B1 (fr) Procédé et dispositif d'aide à la décision
US10169849B2 (en) Contextual personalized focus for variable depth of field photographs on social networks
FR3103041A1 (fr) Procédé et dispositif de traitement d’image
US20180300301A1 (en) Enhanced inking capabilities for content creation applications
KR20230162010A (ko) 이미지들 및 비디오로부터 반사 특징들을 제거하기 위한 실시간 기계 학습-기반 프라이버시 필터
EP4016382A1 (fr) Procédé pour la configuration et l' affichage en réalité augmentée ou mixte ou étendue des informations relatives à un équipement installé dans un site réel, produit programme d ordinateur et dispositif électronique associés
Escrivá et al. Learn OpenCV 4 by Building Projects: Build real-world computer vision and image processing applications with OpenCV and C++
WO2020128206A1 (fr) Procédé d'interaction d'un utilisateur avec un environnement de réalité virtuelle
US11749006B2 (en) Optical character recognition quality evaluation and optimization
Willman et al. GUIs for computer vision
WO2024033192A1 (fr) Procédé et dispositif de construction d'une base de connaissance dans le but d'utiliser de manière transverse des fonctions applicatives d'une pluralité de logiciels
Chen et al. Automatic detection method for tobacco beetles combining multi-scale global residual feature pyramid network and dual-path deformable attention

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210514

PLFP Fee payment

Year of fee payment: 3

ST Notification of lapse

Effective date: 20230705