Myriad Blog 1.3.0 Sunday, Jan 25th, 2015 at 05:27pm 

Dev News Thursday, Mar 1st, 2007 at 05:12pm
ScanToMusic tape 1

 
Le projet "Super-OMeR" a enfin dmarr, sous le nom provisoire de "ScanToMusic". Le but de ce programme, est, je le rappelle, d'analyser des pages de partition scannes pour en extraire les lments constitutifs, et recrer une partition ditable (Harmony ou MusicXML). Dans la dernire tape, les algorithmes dvelopps pour PDFtoMusic devraient pouvoir tre largement utiliss.
 
Mais dans un premier temps, il faut prparer la reconnaissance optique de l'image.
Plutt que d'utiliser de vraies pages scannes, nous partons des images obtenues par l'afficheur de PDF de PDFtoMusic :
 

 
Cette image est alors altre pour la faire ressembler ce qu'on aurait pu obtenir la suite d'un -trs- mauvais scan. Rotation, dformation, altration des contrastes, "taches" et bruit de fond sont appliqus :
 

 
Les premiers algorithmes de ScanToMusic doivent permettre de retrouver une image "propre", dbarasse (ou presque) des problmes de taches, de bruit et de contraste :
 

 
La prochaine tape consistera redresser tout cela, en valuant, puis en compensant les dformations de la page.
by Olivier Guillion
 8 comments.

Dev News Friday, Mar 2nd, 2007 at 04:53pm
ScanToMusic tape 2

 
Nous avons attaqu les premiers algorithmes de dtection proprement dits.
Nous partons d'une image dforme et bruite, dans laquelle les lignes ne sont pas parfaitement horizontales :
 

 
Aprs avoir appliqu les algorithmes de dbruitage et d'optimisation du contraste de l'tape 1, on en extrait les lignes fines et "presque" horizontales. Les tiges, barres de mesures, accroches, ttes de notes et autres symboles sont gomms :
 

 
Puis une recherche des pentes des droites est effectue, avec une prcision d'1/10 de degr (cela pourra tre ajust par la suite), le rsultat apparaissant ici en rouge :
 

 
Les lignes de portes apparaissent donc clairement, avec leur pente et leur cartement. Ces donnes sont cruciales pour la suite, lorsque nous effectuerons la dtection des symboles qui sont imprims dessus.
 
On suppose cependant ici que les droites restent des droites, ce qui n'est pas toujours le cas lors d'un scan. Parfois lorsqu'on scanne une page d'un livre reli, il y a une courbure, une dformation sur le bord de la page.
L'algorithme doit donc maintenant tre modifi pour s'adapter ces contraintes, et effectuer le suivi de la pente de chacune des lignes de porte.
by Olivier Guillion
 7 comments.

Dev News Monday, Mar 5th, 2007 at 04:41pm
ScanToMusic tape 3

 
Le suivi des lignes de portes a t amlior, afin de permettre de suivre les dformations de la page scanne.
 
Dans cette image, on voit les courbes dtectes (en rouge) dessines par-dessus la partition dbruite et recontraste :
 

 
Il faut maintenant peaufiner ce rsultat. En effet, pour chaque ligne de porte, on obtient un petit faisceau de courbes possibles, quasiment confondues. La prochaine tape est d'y effectuer une slection, pour ne garder que la courbe la plus probable, et y appliquer un lissage afin qu'elle se confonde au mieux avec la vritable ligne.
by Olivier Guillion

Dev News Tuesday, Mar 6th, 2007 at 04:48pm
ScanToMusic tape 4

 
Aujourd'hui, premiers tests sur de vrais scans de partition. Les algorithmes de suivi de lignes de portes fonctionnent correctement sur ce type de document, mais ceux destins l'amlioration du contraste sont perturbs par les particularits lies au scan :  
pages taches, froisses, ou laissant apercevoir le verso par transparence.
Ces algorithmes ont donc t repris pour tenir compte de ces particularits.
 
L'angle maximal de rotation de la page scanne a t rduit un intervalle de -4 +4
 
Faites l'essai avec un logiciel de traitement d'image, en appliquant une rotation une page parfaitement horizontale:
 

 
Vous vous apercevez que pour obtenir un angle de rotation suprieur 4, il faut vraiment positionner sa page comme un sagouin sur la vitre du scanner.  
 
ScanToMusic devrait tre beaucoup plus tolrant qu'OMeR sur les paramtres de numrisation, mais il ne faut quand mme pas exagrer, un minimum de soin sera tout de mme ncessaire.
by Olivier Guillion
 6 comments.

Dev News Thursday, Mar 8th, 2007 at 05:39pm
ScanToMusic, tape 5

 
Le suivi des dformations des lignes horizontales de portes a t mis en place.
L'algorithme corrige donc les rotations de page jusqu' +/- 4, avec une prcision qui a t augmente pour atteindre le 30me de degr.
Les dformations sont galement gres, le programme permet donc de dterminer la courbe que forment les lignes, et de la compenser.
 
Voici un extrait d'une partition scanne, puis dtriore artificiellement, juste pour rendre les choses plus difficiles :
 

 
Voici la mme partition, une fois dbruite, recontraste et redresse :
 

 
Maintenant que les lignes horizontales sont bien horizontales, on peut attaquer l'tape suivante, qui consiste s'intresser aux symboles qui sont crits sur les portes...
by Olivier Guillion
 1 comment.

Dev News Friday, Mar 9th, 2007 at 04:43pm
ScanToMusic, tape 6

 
Aujourd'hui, nous avons commenc essayer de gommer les lignes de portes, sans trop abmer les caractres qui sont imprims dessus.  
Ce n'est pas aussi facile que a peut en avoir l'air. Il faut parvenir "deviner" ce qu'il y avait imprim sur la partie noire de la ligne, sans pour l'instant pouvoir s'appuyer sur une quelconque connaissance des caractres typographiques, puisque c'est justement cette tape qui est destine isoler les objets graphiques reconnaitre.
 
Si, au bout du compte, nous nous apercevons que cette opration ne peut pas s'effectuer sans dommage, nous pouvons encore changer notre fusil d'paule, et considrer que les lignes de portes font partie intgrante du caractre reconnatre.
Mais cela compliquerait alors la partie reconnaissance proprement dite, car pour une tte de note, par exemple, il faudrait pouvoir reconnatre les quatre glyphes:
- tte de note entre deux lignes
- tte de note sur une ligne ou sur une petite ligne supplmenraire (ledger line)
- tte de note avec une ligne dessous (Sol aigu pour une cl de sol)
- tte de note avec une ligne dessus (R grave pour une cl de sol).
 
En somme, multiplier les calculs de reconnaissance par quatre...
 
by Olivier Guillion
 2 comments.

Dev News Monday, Mar 12th, 2007 at 05:35pm
ScanToMusic, tape 7

 
Le module le plus important de ScanToMusic va tre la reconnaissance de caractres musicaux (et alphanumriques). Afin de permettre de tester rapidement ce systme, nous avanons rapidement, en laissant de cot le "fignolage" des modules en amont.
 
Aprs une limination rapide des lignes de portes, des algorithmes de "mise en bote" des divers objets ont t mis en place. Ces algorithmes sont destins sparer sur la page scanne les divers lments qui la composent, et de les extraire un un pour les soumettre l'analyse de caractres.  Ceci pose des problmes lorsque deux lettres apparaissent "colles" l'une l'autre dans un mot, ou lorsque des notes sont relies par des barres d'accroche par exemple. Mais pour l'instant nous faisons abstraction de ces problmes, pour savoir rapidement quels rsultats nous pourrons obtenir sur les lments bien spars.
 
Afin que ce blog reste lisible par un non-initi, nous simplifions ici le plus possible les concepts qui sont abords. De mme, pour des raisons de confidentialit, nous n'entrons pas dans le dtail des algorithmes que nous mettons en place. Certains d'entre vous (et je pense notamment   Jean-Armand) ont post dans les tapes prcdentes des suggestions et mme des algorithmes fort bien faits, sur lesquels nous tions dj en train de travailler. Merci, et chapeau !
 
Je ne suis jamais contre un petit coup de main, et changer des ides est le meilleur moyen d'en trouver des nouvelles et des bonnes, mais si possible, pour discuter prcisment du programme, je prfrerais que cela se fasse par e-mail. Il y a dj des produits dans ce crneau, et probablement d'autres venir, donc cela m'embterait un peu de fournir publiquement un mode d'emploi pas pas sur l'art et la manire de dvelopper un tel projet, avec tous les algorithmes que nous utilisons expliqus en dtail
by Olivier Guillion
 2 comments.

Dev News Tuesday, Mar 13th, 2007 at 05:27pm
ScanToMusic, tape 8

 
Les premiers tests de reconnaissance de symboles musicaux ont t effectus. Il a suffi de sauvegarder tous les symboles qui ont t isols sur la partition scanne puis de les fournir au module d'OCR musical de PDFtoMusic.
 
Ces premiers rsultats sont prometteurs, le module reconnaissant quasiment 100% des cls de sol, 90% des rondes, noires et blanches. Sachant que, pour l'instant, les symboles sont fournis au module de reconnaissance avec les lignes de portes, c'est--dire traverss de part en part par une ou plusieurs lignes horizontales noires, on peut considrer ces rsultats comme prometteurs.
 
Il faut maintenant amliorer les algorithmes de "mise en bote", afin d'viter de fournir ce module soit des morceaux de symboles considrs comme indpendants, alors qu'ils constituent le mme signe (cls de fa, certains chiffres indicateurs de mesure, etc), soit plusieurs symboles distincts mais pris pour un seul signe (notes accroches ou en accord, groupe "note+altration" lorsque cette dernire est proche, etc.).
by Olivier Guillion

Dev News Wednesday, Mar 14th, 2007 at 05:16pm
ScanToMusic, tape 9

 
Une des premires oprations gnralement effectues par un logiciel de reconnaissance optique de partition, OMeR inclus, est de "seuiller" l'image, c'est--dire de remplacer les nuances de gris par du noir ou du blanc pur.
 
Ceci permet de simplifier grandement les calculs, chaque point de l'image ne pouvant alors avoir que deux tats, allum ou teint.
 
Dans ScanToMusic, nous avons dcid, ds le dbut, de conserver les niveaux de gris de l'image. "Pourquoi ?" me demanderez-vous,
"C'est simple", vous rpondrai-je :
 
lorsque l'oeil - ou le cerveau- humain regarde une forme dessine avec des niveaux de gris, les gris plus ou moins foncs sur le pourtour des objets lui permettent d'affiner ce contour. Cela permet de voir des formes aux contours arrondis mme si la prcision du scan est faible, alors qu'une image seuille noir/blanc fait apparatre un crnelage.
 
Voici un exemple:


Cette note, extraite d'une partition scanne, est prsente en taille relle sur la ligne du haut et en taille double sur la ligne du bas.
 
En A, l'image originale en niveaux de gris, telle que la traite ScanToMusic. Mme s'il apparat un peu flou, le symbole est bien visible, et sa forme et ses courbes se voient clairement.
 
En B, C, D, la mme image en noir/blanc, ralise avec divers niveaux de seuillage. On se rend nettement compte de la perte de qualit et de dfinition qui rsulte de cette opration.
 
Partant du principe qu'il est prfrable de conserver un maximum d'information utile dans l'image avant d'entamer la phase de reconnaissance de symboles, les niveaux de gris seront donc conservs tout au long du traitement par ScanToMusic.  
by Olivier Guillion
 5 comments.

Dev News Tuesday, Mar 20th, 2007 at 04:46pm
ScanToMusic, tape 10

 
La premire connexion entre les modules de traitement d'image et les modules de traitement des informations musicales a t effectue.
 
Le traitement d'image repre les lignes horizontales, suit leurs petites imprcisions, limine les "trous", les classe, puis transmet ces donnes brutes un module de recherche de portes, similaire celui utilis dans PDFtoMusic.
 
A partir de l, on obtient les premires informations concernant la structure de la partition scanne, c'est--dire la position des portes et la valeur de l'espace entre les lignes.
 
Ceci permettra d'entamer une deuxime phase d'analyse d'image, car la valeur de l'interligne conditionne la taille des objets que l'on peut rencontrer sur la porte (altrations, ttes de notes...). Connatre cette valeur facilite la discrimination entre les objets pouvant avoir peu prs la mme forme, mais des chelles diffrentes, comme par exemple une tte de noire et un point.
 
by Olivier Guillion

Dev News Wednesday, Mar 21st, 2007 at 06:03pm
ScanToMusic, tape 11

 
Alors que nous amliorons la reconnaissance des portes sur la page, des tests doivent tre raliss avec autant que possible de partitions diffrentes, pour localiser les ventuels problmes.
 
Durant nos recherches de partitions scannes pouvant servir d'exemple, ce site a attir notre attention :

Historic American Sheet music

 
Il contient de trs nombreuses partitions anciennes (1850-1920), scannes avec une bonne prcision et un soin particulier.  
 
Les typographies sont parfois assez bizarres (dessines la main?) :

Le fait que ces partitions proviennent de sources diverses permettra de fournir ScanToMusic des jeux de caractres trs diffrents, pour juger de son adaptabilit.
by Olivier Guillion
 5 comments.

Dev News Friday, Mar 23rd, 2007 at 05:34pm
Hasta la Vista, baby !

 
L'opportunit nous a t donne de tester (enfin) Windows Vista.
 
La compatibilit de nos programmes semble assure, l'installation et l'excution s'tant droule sans problme notable. Simplement, comme prvu, Vista est bourr d'alertes de scurit. S'apercevant que les systmes prcdents taient des passoires dans ce domaine, Vista, l'instar de MacOS X, dcharge la responsabilit sur l'utilisateur, qui doit tout bout de champ confirmer l'installation des programmes, l'usage des plug-ins dans le navigateur, l'utilisation des panneaux de configuration, etc.
 
Par exemple, lors du lancement de l'installateur, on obtient (sur une version anglaise du systme) :

 
Brr, a fait peur !  
 
Donc, je suppose que nous aurons des tonnes de demandes au support technique, disant "Y'a Windows qui me dit que votre programme veut accder mon ordinateur. Qu'est-ce que je dois faire"?
 
Jusqu' ce que nous nous soyons dcids acheter une signature numrique, et la mettre en place sur nos programmes...
 
Sinon, les programmes fonctionnent bien, la preuve :

 
Il n'y a plus qu' faire un thme d'cran "Vista" (sans les icnes qui bougent) pour Harmony/Melody, afin ne pas perturber ceux qui ne connatront que cette interface graphique.
by Olivier Guillion
 3 comments.


Full view
Reduced view
Most recent first
Oldest first
All
Didier Guillion
Olivier Guillion
Sylvie Ricard
All
Dev News
Technical
Mood
Memories
Myriad Life
To be seen
30 previous days
Apr 2006
May 2006
Jun 2006
Jul 2006
Aug 2006
Sep 2006
Oct 2006
Nov 2006
Dec 2006
Jan 2007
Feb 2007
Mar 2007
Apr 2007
May 2007
Jun 2007
Jul 2007
Aug 2007
Sep 2007
Oct 2007
Nov 2007
Dec 2007
Jan 2008
Feb 2008
Mar 2008
Apr 2008
May 2008
Jun 2008
Jul 2008
Aug 2008
Sep 2008
Oct 2008
Nov 2008
Dec 2008
Jan 2009
Feb 2009
Mar 2009
Apr 2009
May 2009
Jun 2009
Jul 2009
Aug 2009
Sep 2009
Oct 2009
Nov 2009
Dec 2009
Jan 2010
Feb 2010
Mar 2010
Apr 2010
May 2010
Jun 2010
Jul 2010
Aug 2010
Sep 2010
Oct 2010
Nov 2010
Dec 2010
Jan 2011
Feb 2011
Mar 2011
Apr 2011
May 2011
Jun 2011
Jul 2011
Aug 2011
Sep 2011
Oct 2011
Nov 2011
Dec 2011
Jan 2012
Feb 2012
Mar 2012
Apr 2012
May 2012
Jun 2012
Jul 2012
Aug 2012
Sep 2012
Oct 2012
Nov 2012
Dec 2012
Jan 2013
Feb 2013
Mar 2013
Apr 2013
May 2013
Jun 2013
Jul 2013
Aug 2013
Sep 2013
Oct 2013
Nov 2013
Dec 2013
Jan 2014
Feb 2014
Mar 2014
Apr 2014
May 2014
Jun 2014
Jul 2014
Aug 2014
Sep 2014
Oct 2014
Nov 2014
Dec 2014
Jan 2015
Jan 23rd, 2015 at 04:53pm 
Article from Didier Guillion
ACAM sur Mac tape 18
Jan 22nd, 2015 at 04:53pm 
Article from Olivier Guillion
Acam Winter tape 32
Jan 21st, 2015 at 04:54pm 
Article from Didier Guillion
ACAM sur Mac tape 17
Jan 20th, 2015 at 04:58pm 
Article from Olivier Guillion
Acam Winter tape 31
Jan 19th, 2015 at 04:55pm 
Article from Didier Guillion
ACAM sur Mac tape 16
Jan 16th, 2015 at 05:49pm 
Comment from dheo
Keyboard Input
Jan 16th, 2015 at 05:49pm 
Comment from dheo
Keyboard Input
Jan 16th, 2015 at 05:49pm 
Comment from dheo
Keyboard Input
Jan 16th, 2015 at 05:49pm 
Comment from dheo
Keyboard Input
Jan 16th, 2015 at 05:49pm 
Comment from dheo
Keyboard Input

Top of page
Last update:  (c) Myriad