Sei sulla pagina 1di 3

Reconocimiento Automtico de Partituras (Junio 2010)

Reconocimiento Automtico de Partituras (Junio 2010)


Ivn Lpez Espejo, Jonathan Prados Garzn
El objetivo del presente trabajo es el de proporcionar un reconocimiento automatizado de partituras muy sencillas no manuscritas presentadas en algn formato de imagen.

I. DESCRIPCIN DE LA SOLUCIN PROPUESTA


N ESTE principal apartado del texto desarrollaremos la solucin propuesta al problema de reconocimiento ptico musical. Las diferentes etapas del algoritmo son las descritas a continuacin.

estamos realizando estn surtiendo efecto o no (y en definitiva para obtener convergencia hacia la solucin), se basan en el estudio de la proyeccin horizontal de histograma de la imagen resultado. C. Segmentacin de pentagramas A continuacin segmentamos la imagen separando pentagramas y ttulo de la partitura. Esto lo logramos con ayuda de la proyeccin horizontal de histograma. Dado que el fondo es completamente negro, las zonas inter-pentagrama se caracterizarn en la proyeccin horizontal de histograma por una secuencia continua de ceros, por lo que, mediante un algoritmo de bsqueda de ceros basado en comparacin con el valor anterior y posterior, establecemos el punto medio entre dos pentagramas para que estos sean separados. D. Segmentacin de smbolos Ahora, para cada uno de los pentagramas, as como para el ttulo, se procede a segmentar cada uno de los smbolos que componen la lnea con la ayuda de la proyeccin vertical de histograma de cada una de las lneas por separado. En el caso de un pentagrama, en su proyeccin vertical de histograma se podr observar un nivel mnimo de continua correspondiente a la contribucin de las cinco lneas del pentagrama. Este nivel, que conocemos como el mnimo no-cero, es detectado para cada uno de los pentagramas individualmente, de modo que, con un algoritmo similar al anteriormente presentado para la segmentacin de la proyeccin horizontal de histograma, segmentamos los smbolos de cada una de las lneas detectadas (con la diferencia del uso de un algoritmo de bsqueda del mnimo no-cero comentado). Estos lmites intersimblicos podran aprovecharse para la segmentacin directa del elemento en la imagen. No obstante, se prefiri realizar una caracterizacin del smbolo mediante el estudio del contorno de la proyeccin vertical de histograma del mismo, ya que podemos limitar su extensin mucho ms fcilmente respecto de la extensin del smbolo en el interior del pentagrama (comentar en este sentido que la caracterizacin del smbolo mediante el estudio de seis momentos estadsticos arroj peores resultados respecto del mtodo finalmente implementado). E. Reconocimiento de smbolos A continuacin se procede a la clasificacin de cada uno de los smbolos detectados segn el siguiente mtodo. Ya hemos dicho que realmente estamos segmentando la proyeccin de histograma vertical del smbolo. Pues bien, con esta informacin hacemos lo siguiente:

A. Preprocesamiento En este primer punto adaptamos la partitura para su tratamiento. Una vez obtenemos la imagen de la misma, supuesta su entrada en el modelo de color RGB, la transformamos a niveles de gris para seguidamente invertirla. La misin de la inversin es la de un tratamiento ms sencillo mediante la contemplacin de la informacin contenida en la partitura como niveles de gris relativamente grandes frente al fondo tendente a nivel cero. Finalmente, aplicamos binarizacin para que los pxels de inters se mantengan en blanco frente al fondo negro. B. Correccin de la inclinacin Esta etapa est incluida en el preprocesado de la imagen y, como su nombre indica, consiste en corregir la inclinacin que pueda presentar la imagen de partida. Este paso es de vital importancia dado que los mtodos de segmentacin y reconocimiento desarrollados no operaran correctamente ante la presencia de este defecto. El mtodo seguido para llevar a cabo la correccin de la inclinacin se basa principalmente en la transformada de Hough. En primer lugar se aplica dicha transformada con una resolucin en la componente de 0.05. El espacio de parmetros de salida usado es el polar. La ventaja que aporta (aparte de los problemas que nos evitamos con las lneas verticales) es que obtenemos directamente una aproximacin del ngulo de inclinacin de la imagen. El porqu de optar por el uso de la transformada de Hough es por las caractersticas inherentes de los datos de entrada que vamos a emplear. Dado que estamos ante la imagen de una partitura musical que presenta numerosos pentagramas, los mximos de la transformada de Hough se correspondern con las lneas que componen dichos pentagramas. En consecuencia, uno de los mximos de dicha transformada nos proporcionar la ecuacin de la recta en coordenadas polares asociada a una de las lneas de los pentagramas y, a partir de la misma, podremos obtener directamente una estimacin del ngulo de inclinacin. Posteriormente, por si acaso la imagen se presenta an algo torcida, se opta por un ajuste de tanteo. Este consiste en aplicar inclinaciones a la imagen en los mrgenes de error que tenemos tras efectuar el paso de la transformada de Hough. La realimentacin para determinar si las correcciones que

Reconocimiento Automtico de Partituras (Junio 2010) Eliminacin de la componente de continua detectada como el mnimo no-cero anteriormente comentado. Normalizacin de los valores de la proyeccin vertical de histograma del smbolo. Obtencin de 24 coeficientes del mdulo de la FFT de la proyeccin vertical de histograma del smbolo. Comparacin con cada uno de los patrones base almacenados por clase en la base de datos. La seleccin de la clase a la cual pertenece el smbolo se realiza en base a la minimizacin del error lineal calculado como la acumulacin de las diferencias en valor absoluto entre cada par de coeficientes de los mdulos de las FFTs del smbolo en estudio y del patrn de la base de datos con el cual se compara. El estudio del smbolo en base a la FFT se basa, junto con la normalizacin, en la importancia de caracterizar con un nmero estndar de coeficientes el smbolo, de modo que se contemple la propiedad de la invarianza a la escala. La funcin implementada en el prototipo asume que el smbolo que se estudia se va a encontrar en la base de datos, por lo que se selecciona mediante minimizacin del error y no se establece ningn umbral necesario tipo tolerancia para poder clasificarse o no. Otra limitacin importante es que la funcin tambin presupone que el ttulo slo ocupa la primera lnea segmentada mediante la proyeccin horizontal de histograma. Esto se ha pensado as debido a la forma de segmentar un smbolo dentro de un pentagrama. Recordemos que el smbolo se lleva sobre el nivel cero (eliminacin de la componente de continua introducida por las cinco lneas del pentagrama). Pues bien, el programa hace una excepcin sobre el clculo del nivel mnimo de continua para la primera lnea ya que, si se selecciona un mnimo no-cero en la lnea del ttulo, podemos perder y distorsionar la informacin no proveyendo un resultado coherente. Comentar que sobre los cinco sencillos ejemplos provistos se obtienen unos buenos resultados con este mtodo de clasificacin. Smbolos detectables B C E F H I M N O P S U Clave de sol Compas de 3/4 Silencio de Negra blanca Barra divisoria y doble Redonda barra final

2 caracterizaciones en funcin de si este puede aparecer reflejado, invertido (pinsese en una figura como una blanca), etc. El reconocimiento de ms smbolos aparte de los incluidos en la base de datos sera inmediatamente extensible, pudiendo cubrir con este mtodo partituras de mayor complejidad si fuese necesario. Tampoco se ha tenido en cuenta el reconocimiento de armaduras, por simplicidad (slo se admiten partituras cuya tonalidad sea de Do Mayor o su relativo menor La menor), ni alteraciones accidentales. Por tanto, las partituras de test estn todas transportadas a la tonalidad de Do Mayor. F. Deteccin de tono Una vez tenemos segmentada la imagen y se han reconocido las figuras musicales, se procede a la deteccin de tono donde se requiera. El mtodo seguido para la deteccin de tono est basado en el uso de la proyeccin horizontal de histograma. Dado el trozo de la imagen, hallamos su proyeccin horizontal (sobre el eje y). A continuacin se sigue un mtodo en el que se determina tanto la posicin de las lneas del pentagrama como las lneas virtuales (se pueden definir 13 lneas desde el Sol3 al Re7, 5 visibles y 8 virtuales). Lo que hacemos es recorrer la proyeccin horizontal hasta determinar las lneas del pentagrama. Como estas estarn representadas en blanco y ocuparn todo el trozo de la imagen, se correspondern con mximos. As determinamos sus posiciones y las distancias de separacin entre cada par de lneas. Haciendo un promedio de la distancia entre pares de lneas adyacentes visibles, podemos obtener una estimacin de la separacin (aplicando redondeo por estar en un espacio discreto) entre lneas del pentagrama. Con esta distancia estimada podemos determinar las posiciones de las 8 lneas virtuales restantes. Una vez determinadas todas las posiciones, vamos recorriendo la proyeccin de histograma situndonos en las lneas estimadas y en los puntos medios entre ambas. En cada posicin haremos la suma de todos los elementos del histograma en un entorno igual a la mitad de la separacin calculada. Finalmente, en aquella posicin (de las 26 posibles, lneas y puntos medios entre dos lneas) donde se obtenga una suma mayor, se considera que se encuentra la cabeza de la figura musical. II. NOTAS IMPORTANTES SOBRE LA EJECUCIN Posterior a la ejecucin del fichero demo.m, el resultado del reconocimiento de la partitura se almacena en un archivo en el mismo directorio y llamado Resultado.txt. En l figura la secuencia de caracteres reconocidos y, al lado de cada figura musical correspondiente a una nota, la frecuencia correspondiente al tono detectado. Mediante la siguiente expresin se puede asociar la frecuencia a la nota musical para corroboracin inmediata:
= 440
.

A D G L R Z Comps de 4/4 Blanca

Tab. 1. Smbolos con patrn correspondiente en la base de datos.

Los smbolos contemplados en la base de datos son los recogidos en la tabla 1. Notar que, para mayor precisin en la seleccin, por cada smbolo se incluyen varias

Reconocimiento Automtico de Partituras (Junio 2010)


log log 440 = 440 = log 32.7 32.7 +1 4 + 10 12 log 2 10 log 2 12 + .

= log 2 log +

+ 1 4 log 2 + .

n 1 2 3 4 5 6 7 8 9 10 11 12

ota Do Do# Re Re# Mi Fa Fa# Sol Sol# La La# Si

Tab. 2. Correspondencia entre el nmero n y la nota musical.

La anterior tabla relaciona el nmero natural n obtenido de la aplicacin de la anterior expresin en funcin de la frecuencia con la nota en cuestin. Por otro lado, la octava en la que dicha nota se encuentra tambin se puede obtener a partir de = log 32.7 +1 .

REFERENCIAS
[1] [2] X. Fernndez Hermida y C. Snchez-Barbudo y Vargas, Development of an Optical Music Recognizer. A. Snchez, J.J. Pantrigo y J. Ignacio Prez, Extraccin de Lneas Meldicas a partir de Imgenes de Partituras Musicales.

Potrebbero piacerti anche