Sous-sections
L'algorithme que nous proposons pour détecter les phases du dessin architectural en perspective
consiste à établir, pour chaque nouveau trait reçu, un classement des phases candidates selon la
phase courante et les caractéristiques du trait reçu.
Le principe est donc d'affecter un score à chaque phase candidate en se basant sur des
heuristiques établies lors de notre étude du dessin en perspective. Il est important de noter que
nous ne cherchons pas à étiqueter précisément chaque trait selon la taxinomie que nous avons
proposée. Cette caractérisation automatique nous semble d'ailleurs difficilement réalisable du fait
d'une vision plus sémantique que géométrique ou numérique. Par contre, les données de notre étude
ont montré que des séquences et des enchaînements de traits et de phases peuvent permettre de
caractériser celles-ci, sans pour autant avoir une classification précise des traits.
Nous avions identifié trois phases dans le dessin architectural en perspective: construction,
amélioration et style. Dès lors, à chaque nouveau trait reçu, nous sommes dans une
situation de transition possible entre la phase courante et trois phases candidates. Ces phases
candidates vont être évaluées en trois étapes, correspondant à trois types d'heuristiques (voir
section 4.4.4):
- les probabilités de transition entre phases, établies selon les données de l'étude;
- certaines caractéristiques mesurées ou observées des traits de chaque phase;
- les temps de pause mesurés entre les phases.
À l'issue de cette évaluation, la phase dont le score est le plus élevé deviendra la phase
courante, jusqu'à analyse d'un nouveau trait.
L'algorithme A.2 présente les détails de ce traitement. Outre les heuristiques de
calcul et de modification des scores affectés à chaque phase potentielle, il fait aussi appel à des
opérations de calcul et de détection de certaines caractéristiques des traits. Dans l'écriture de
l'algorithme, ces opérations sont repérées par des notes que nous détaillons ci-après.
- note 1. La prise en compte du «gribouillage» part du constat lors de notre
étude que de telles pratiques ne sont présentes que lors des phases d'amélioration ou de
style. Dès lors, les scores sont modifiés en conséquence. L'opération gribouillage(trait)
associée à la détection de ces traits est basée sur les données issues de la segmentation du trait
(nombre de points critiques et importance des changements de direction) et sur le rapport entre la
longueur du tracé et la longueur entre les deux extrémités.
- note 2. Ce rapport de longueurs est aussi une mesure rapide de la «
linéarité» du trait, utilisée dans l'algorithme principal. Nous avons en effet aussi constaté
que les traits des phases constructives sont en général plus linéaires, moins complexes que ceux
des phases d'amélioration ou de style, d'où l'utilisation de cette donnée.
- note 3. L'opération enZoneConstructive(trait) permet de déterminer si un
trait intersecte ou non la boîte englobante des traits déjà tracés lors des phases de
constructives précédentes, ou s'il en est proche (à l'échelle du dessin). C'est une information
importante pour la caractérisation des phases de construction et d'amélioration.
- note 4. L'opération pauseLongue(traitPrecedent, trait, pause) détermine le
temps écoulé entre la fin du tracé du trait précédent et le début du tracé du trait en cours de
traitement. Elle maintient aussi à jour la moyenne des temps de pause tout au long du dessin afin
d'y comparer le temps de pause courant. Ainsi, le seuil permettant de déterminer si une pause est
longue est adaptatif par rapport aux temps de pauses moyens afin de reproduire le comportement
observé par nos analyses. De plus, cette méthode renvoie une valeur de pondération du score des
phases candidates dans la variable pause afin de prendre en compte la distance entre le
temps de pause courant et le seuil d'acceptation d'une pause longue (plus le temps de pause sera
éloigné de la valeur seuil, plus cette pondération sera élevée, augmentant alors le score des
phases potentielles). Cette approche floue procure un comportement moins catégorique à
l'algorithme qu'une simple comparaison à un seuil fixe, améliorant sensiblement son efficacité
lors de nos premiers tests sur les données de notre étude.
Ce traitement est basé sur les heuristiques et données numériques issues des observations de notre
étude. Malgré la possibilité de paramétrer les seuils, il reste en partie fragile dans
un contexte réel d'utilisation, avec un taux d'erreur encore trop élevé (de l'ordre de 10
pourcents sur les dessins rejoués de l'étude), en particulier lors de l'analyse de traits aux
caractéristiques limites et ambiguës, et surtout propres au style de dessin de l'utilisateur. Nous
pensons toutefois qu'il représente une première étape qui a permis d'identifier les caractéristiques
utiles à la détection de ces phases.
Nous envisageons maintenant de rendre les heuristiques adaptatives à la manière de dessiner de
l'utilisateur par des dessins d'apprentissage guidés où le dessinateur signifiera lui-même les
changements de phase. Cette constitutions de profils d'utilisateurs permettra d'adapter les
paramètres du traitement, en utilisant par exemple un réseau de neurones où le calcul des
heuristiques fera l'objet des fonctions de transition.
stuf
2005-09-06