• Aucun résultat trouvé

1.3. Méthodes existantes

1.3.6. Prise en compte de l’incertitude

Comme nous l'avons souligné au paragraphe 1.2, les sources d'ambiguïté sont très nombreuses dans le domaine de la reconnaissance des partitions : difficultés de segmentation de l'image en entités cohérentes, variabilité des symboles, imprécision et flexibilité des règles musicales, etc. Voyons maintenant plus en détail les idées directrices qui ont été proposées jusqu'à présent pour prendre en compte l'incertitude qui en résulte.

Génération d'hypothèses – degrés de confiance

Une première approche, déjà évoquée, est de procéder par génération d'hypothèses de reconnaissance. Dans [Fahmy, Blostein 98], plusieurs primitives peuvent être présentes, par objet, dans les nœuds initiaux du graphe, et c'est l'application des règles de production qui permet de ne retenir que les hypothèses cohérentes par rapport à la théorie musicale. Les auteurs suggèrent, à l'instar de [Baumann, 95], d'intégrer des coefficients de confiance, idée qui a été mise en application par [Bainbridge, Bell 03] : les décisions de classification sont assorties d'un score compris entre 0 et 1, qui permet de retenir un assemblage de primitives parmi un ensemble de possibilités, par maximisation d'un score.

On note cependant que les décisions prises restent très locales, et cela restreint considérablement l'efficacité de ces méthodes [Watkins 96]. Watkins indique que les choix doivent au contraire être différés jusqu'à ce que toute l'information, locale et globale, soit disponible. Pour cela, il propose une grammaire floue, dans laquelle le prédicat d'applicabilité binaire est remplacé par une fonction de certitude continue. Ainsi, un prédicat du type "tête de note proche de la hampe" prend des valeurs comprises entre 0 et 1, indiquant dans quelle mesure cette relation est vraie. Notons en outre que cette modélisation correspond aux situations réelles, puisque ce type de relation n'est en réalité pas défini précisément par la théorie musicale. La méthode est cependant restreinte à la construction des notes, sans introduction de relations syntaxiques.

Méthodes bidirectionnelles

La majorité des systèmes présentés passe séquentiellement des traitements de bas niveau aux modules d'interprétation de haut niveau, sans remise en cause des résultats antérieurs. Un système

Chapitre 1

bidirectionnel donne la possibilité de revoir des décisions après l'introduction d'informations contextuelles obtenues dans les modules de haut niveau. Cette nouvelle architecture offre donc la possibilité de gérer l'ambiguïté.

Kato et Inokuchi ont, les premiers, proposé ce type d'approche, pour la reconnaissance de partitions de piano [Kato, Inokuchi 90] [Kato, Inokuchi 92]. La structure du système est composée d'une mémoire de 5 couches, correspondant à 5 niveaux d'abstraction, et permettant à 4 modules de traitement de communiquer dans les deux sens :

Figure 1.13 : Architecture bidirectionnelle proposée par Kato et Inokuchi [Kato, Inokuchi 90] Les unités de reconnaissance sont gouvernées par un seuil variable qui contrôle le degré d'appariement requis pour l'extraction d'une primitive. Les primitives reconnues sont effacées dans la couche image. Dans les couches hautes, les règles sont appliquées sur les objets, suivant un ordre de priorité prédéfini, jusqu'à ce qu'un résultat soit produit dans la couche but. Si ce résultat n'est pas généré, alors les hypothèses inacceptables sont rejetées aux niveaux hauts, et les traitements des modules de bas niveau sont repris : les primitives sont restaurées et de nouveau analysées, avec cependant un seuil d'appariement moins sévère. [Ferrand et al. 99] présentent une méthodologie qui s'inspire beaucoup de celle proposée par Kato et Inokuchi. Les erreurs de métrique révélant la présence de symboles qui n'ont pas été classifiés, des hypothèses sur ces symboles manquants sont faites, et les traitements de bas niveau sont revus, avec des paramètres plus lâches, afin de corriger ces erreurs.

D'autres auteurs se sont ensuite tournés vers des architectures bidirectionnelles. Stückelberg suggère un système en trois couches ("Métaprocessor", "Conceptual system", "Features detector") qui communiquent dans les deux sens [Stückelberg et al. 97]. L'incertitude est gérée dans le cadre de la théorie des probabilités. Les hypothèses sont développées, par déductions successives, sous le contrôle du module de plus haut niveau ("Metaprocessor") qui analyse les probabilités obtenues. L'article est cependant très prospectif, et la méthodologie ne semble pas avoir été implémentée dans un système qui fonctionne.

McPherson [McPherson, Bainbridge 01] reprend les travaux de Bainbridge, en proposant de transformer l'architecture du système Cantor [Bainbridge 97]. Les différents modules de traitement (détection des portées, extraction des primitives, reconnaissance des primitives, assemblage des primitives, etc.) sont désormais contrôlés par une structure ("Co-ordinator"), qui dirige l'exécution du flux, les modules ne communiquant jamais directement entre eux. Cette architecture permet de corriger des erreurs, par détection d'incohérence et ré-exécution de certaines tâches : par exemple, si un bémol ne correspond à aucune note dans la phase d'assemblage, le module transmet cette

Principales méthodes de lecture automatique de partitions musicales information au coordinateur qui relance la reconnaissance de la primitive, avec des paramètres différents. Cette architecture permet donc de compléter ou de revoir certaines décisions, en introduisant du contexte. Mais les exemples présentés montrent qu'une information partielle et non globale est utilisée. Dans [McPherson 02], l'auteur combine génération d'hypothèses et architecture bidirectionnelle pour gérer l'incertitude : le module de reconnaissance de primitives peut fournir, pour un objet donné, une liste de classes qui peuvent avoir un sens avec les objets voisins. L'implémentation ne semble cependant pas finalisée, et l'apport de la méthodologie par rapport au système initial n'est pas encore évalué.

Détection, correction des erreurs

Dans le paragraphe précédent, nous avons mentionné les systèmes fondés sur une architecture volontairement bidirectionnelle. Certains systèmes, qui demeurent essentiellement unidirectionnels, intègrent néanmoins des procédures rétroactives : la cohérence du résultat final de classification est vérifiée, et des corrections sont effectuées. Il est à noter que les tests de cohérence sont toujours fondés sur la métrique : vérification du nombre de temps par mesure, vérification de l'alignement temporel dans le cas de la musique polyphonique. Les corrections sont réalisées avec plus ou moins de rigueur. Dans [Coüasnon, Rétif 95], il s'agit de modifier la durée de notes ; dans [Droettboom et al. 02], sept procédures ad hoc de correction sont successivement testées, tant que la correction proposée ne permet pas de restituer la cohérence recherchée. [Blostein, Haken 99] présentent une démarche originale qui consiste à re-générer une image à partir des résultats de classification, en utilisant un éditeur. Les défauts d'alignement de deux voix synchrones révèlent de nouveau les erreurs de classification, et différentes corrections possibles sont énumérées. La correction retenue est celle qui restaure l'alignement et qui se rapproche au mieux du format de mise en page usuel, en respectant notamment l'espacement des notes en fonction de leur durée.

Conclusion

Deux voies principales ont donc été explorées pour traiter l'ambiguïté : générer des hypothèses concurrentes et extraire la combinaison qui satisfait aux règles musicales, ou adopter des architectures qui autorisent une rétroaction, de manière à revoir des décisions en fonction du contexte. Les procédures de correction s'apparentent à ces architectures bidirectionnelles.

Quelle que soit l'orientation choisie, on peut remarquer que les règles intégrées dans ces systèmes sont limitées aux règles graphiques locales (assemblage des primitives, position des attributs de notes), et à la vérification du nombre de temps par mesure. L'alignement de voix synchrones est, quant à lui, utilisé en détection/correction d'erreurs exclusivement. Toutes les connaissances du domaine ne participent donc pas à la décision : en particulier les règles souples concernant les altérations ou les regroupements de notes semblent n'avoir jamais été modélisées.

L'incertitude relative à la classification d'une primitive ou d'un symbole musical n'est généralement pas formalisée, sauf dans [Stückelberg et al. 97] [Stückelberg, Doermann 99] dans le cadre probabiliste, mais de manière très prospective. Certains auteurs mentionnent la possibilité de calculer des scores de confiance qui quantifieraient l'incertitude attachée à une hypothèse de classification, sans néanmoins expliciter ce calcul, ni intégrer ces scores dans une évaluation

Chapitre 1

globale de la validité d'une combinaison d'hypothèses. Au contraire, l'incertitude devrait plutôt être propagée de bout en bout, jusqu'à la décision finale.

La souplesse de la notation musicale n'est pas non plus formalisée : l'imprécision des règles graphiques n'est pas prise en compte, sauf dans [Watkins 96], et les règles syntaxiques flexibles (sur les altérations et la tonalité, l'organisation rythmique des groupes de notes) ne sont pas intégrées.

Il semblerait donc que l'imprécision et l'incertitude, relatives aux informations extraites de l'image ou aux connaissances génériques, soient encore assez peu traitées, et que les règles musicales intégrées dans les systèmes, pour la réduction de l'ambiguïté, soient encore incomplètes.