De nombreux logiciels spécialisés (édition de texte, retouche d’images,
CAO, montage vidéo, etc.) proposent plusieurs centaines, voire plusieurs
milliers de commandes différentes (il y a par exemple plus de 2000
commandes différentes dans AutoCAD, un logiciel de CAO).
En pratique, les utilisateurs n’ont souvent pas le temps d’apprendre ces
outils en profondeur, car leur attention est principalement focalisée
sur la tâche qu’ils souhaitent accomplir. Ils se limitent donc à un
petit sous-ensemble de fonctionnalités, ce qui entraîne une
sous-utilisation importante des logiciels et une perte de valeur
considérable par rapport aux efforts de développement consentis. Par
exemple, les utilisateurs d'AutoCAD connaissent en moyenne seulement une
cinquantaine de commandes.
L’objectif haut niveau de ce projet est d’améliorer cette situation en
aidant les utilisateurs à découvrir et à adopter de nouvelles commandes.
Plus précisément, nous cherchons à enrichir progressivement le
vocabulaire de commandes, en particulier celle dites avancées, de
l'utilisateur.
Notre approche repose sur l’observation et la ré-interprétation des
actions de l’utilisateur. Lorsqu’un utilisateur atteint un état désiré
du document par une suite d’actions sous-optimales, le système cherche à
identifier une commande existante permettant d’obtenir le même résultat
de manière plus directe, pour la lui recommander.
Par exemple, dans un logiciel d’édition d’images, un utilisateur peut
vouloir corriger l’effet "yeux rouges" sur une photographie de visage.
Il peut pour cela peindre manuellement la pupille avec un outil de
dessin ou placer un disque sombre sur la zone concernée. Or, la plupart
des logiciels de retouche proposent déjà une commande dédiée à la
suppression des yeux rouges. L’interaction visée est la suivante :
l’utilisateur effectue d’abord une manipulation sous-optimale, le
système détecte qu’une commande plus appropriée existe, puis lui suggère
cette commande comme alternative.
*Travail demandé:*
Dans le cadre de ce projet, nous nous limitons au cas d’un logiciel de
traitement d’images. Pour atteindre cet objectif, nous proposons
d’exploiter un Vision-Language Model (VLM).
La méthodologie envisagée est la suivante. À partir d’une base d’images:
+ Appliquer automatiquement des commandes du logiciel de traitement
d'images afin de générer des paires image d’entrée / image de sortie.
+ Associer à chaque paire l’étiquette correspondant à la commande
appliquée, y compris ses arguments quand c'est le cas.
+ Utiliser ces triplets (image initiale, image résultante, commande)
pour fine-tuner un VLM.
En phase d’utilisation, le modèle entraîné sera appliqué pour analyser
les actions de l’utilisateur et prédire, lorsque cela est pertinent, une
commande plus avancée permettant d’obtenir le même résultat.
L’objectif du projet pour les étudiants est de réaliser une première
preuve de concept de ce système : définition du pipeline, constitution
d’un jeu de données, entraînement du modèle et démonstration sur
quelques cas d’usage représentatifs.
*Poursuite:*
Une poursuite du travail sous la forme d’un stage est envisageable pour
approfondir et généraliser l’approche.
Encadrant
Julien Gori, Olivier Schwander, Gilles Bailly
Attribué
Non
Obsolète
Non
Tags