You are on page 1of 4

Universidad Austral de Chile 1

Informe Final: Proyecto señal contador de hojas


Adams Muñoz, Marco Vera, Patricio Fuentealba, Víctor Sandoval
Instituto de Electricidad y Electrónica,
Universidad Austral de Chile

Resumen— El presente informe da a conocer el desarrollo y


resultados obtenidos a través de la investigación e
implementación de un proyecto semestral, llamado
“Contador de Hojas”, referente al tratamiento matemático
de señales en tiempo discreto. Este proyecto consistió en dar
solución al conteo de hojas de un pallet a través de las
muestras obtenidas desde un escaneo. Básicamente, lo que
se realizó fue crear un programa que permitiera, con sólo
ingresar las señales escaneadas, obtener el total de hojas Figura 1. Diagrama de bloques del algoritmo.
que contiene el pallet. El algoritmo implementado permite En nuestro diagrama de bloque se observa que la
filtrar, correlacionar, encontrar cambios abruptos y entrada es la señal original (“cruda”), que se obtiene de una
detectar picos y valles de la señal. cámara que toma fotografías automáticamente cada cierto
tiempo, esta señal entra al primer bloque que es la detección
I. INTRODUCCION de cambios abruptos, en esta parte se identifica el comienzo y
El presente informe hace referencia a la investigación e término de la presencia de hojas en la señal, eliminando las
implementación, de un algoritmo eficiente, que permita filas sin información importante. Por resultado sale del bloque
encontrar el número de hojas que existen en un pallet, una nueva señal con menos elementos y mejor definida. La
basándose en señales obtenidas por medio de un escáner y señal que ingresa posee ruido por diversos factores, podemos
posterior tratamiento de las imágenes resultantes. La señal mencionar por ejemplo la luminosidad entre otros, es por esto
obtenida (señal original) posee imperfecciones, como: ruidos que se le debe dar un filtrado preliminar para poder atenuar
(debido al acomodamiento no homogéneo de las hojas, este tipo de situaciones indeseadas. Esta señal levemente
movimientos bruscos del escáner, etc.), redundancia de filtrada, entra al bloque de correlación en el cual se buscan y
información y problemas de borde (no se conoce con certeza eliminan las redundancias de la señal producidas por el
donde comienza y termina la señal), que deben ser solapamiento. Una vez que sale la señal sin redundancias se
solucionadas. La solución a estos tipos de problemas radica en aplica un filtro más estricto, ya que, al bloque de detección de
el tratamiento digital de señales (TDS), y para esto se efectuó peak debe ingresar una señal lo más limpia posible de ruidos.
un proyecto de investigación. El proyecto se resume en: Finalmente llegamos a la detección de peak y valles, donde se
investigación (búsqueda de información), implementación de identifican claramente los peak porque cada uno representa la
algoritmos (creados por nosotros o extraídos de trabajos presencia de una hoja, en cambio un valle solo denota la
relacionados) y finalmente puesta a prueba del algoritmo final ausencia de esta. Hay que tener en cuenta la distancia entre
que permitirá entregar el número total de hojas que posee el cada peak, ya que, si no se tienen en cuenta probablemente se
pallet. Este informe presenta las soluciones finales para sus perderían hojas en el conteo, afectando la eficiencia del
determinadas problemáticas, como es la detección de picos en algoritmo, finalmente la señal que sale de este bloque,
la señal para la cual se implemento un algoritmo para este fin, representa el numero de hojas en el pallet. Cabe mencionar
utilizando la función Peakdet, que fue creada y subida a la red que se puede trabajar según el sentido de la señal, pues el
para su uso gratuito[1]. Para la detección de cambios abruptos muestreo puede ser hacia abajo o bien hacia arriba según sea
se implementó un algoritmo encontrado, también en la red deseado, por esta razón se debe indicar este parámetro al
[2], que se basa en la función de Matlab, “cumsum”, pero que momento de ejecutar el programa.
posee unas modificaciones que permiten entenderlo de forma
A. Filtrado de la señal.
más simple. Finalmente, para tratar el problema de
correlación, creamos un algoritmo que dé solución al Un filtro digital es un sistema que, dependiendo de las
problema, el cual, en la sección II y III será presentado. variaciones de las señales de entrada en tiempo y amplitud, se
realiza un procesamiento matemático sobre dicha señal,
II. DESARROLLO
generalmente mediante el uso de la Transformada Rápida de
Para entender de mejor manera el funcionamiento Fourier (FFT). Los filtros digitales tienen como entrada una
del algoritmo, se presenta a continuación un diagrama de señal analógica o digital y en su salida tienen otra señal
bloques que representa gráficamente la organización del analógica o digital, pudiendo haber cambiado en amplitud,
procesamiento de la señal. frecuencia, o fase dependiendo de las características del filtro
Este diagrama muestra la entrada y salida de la señal en cada digital [3].
bloque, identificando y mostrando los cambios que se realizan El filtro implementado para tratar nuestra señal contador
en ella. corresponde a un filtro pasa banda [3], pues se requiere
Universidad Austral de Chile 2

analizar sólo un intervalo de valores cercanos a la frecuencia


que determina la presencia de la hoja, a esta frecuencia la
llamaremos frecuencia principal. El algoritmo que utilizamos,
fue implementado por nosotros, el cual se basa principalmente En la tercera formulación, las observaciones son procesadas
en el uso de la función FFT como base. No fue necesario por una integral ordinaria y luego se utiliza un umbral de
buscar otros algoritmos que cumplieran esta función, pues éste adaptación. Este es el funcionamiento de un contador de
nos ha dado muy buenos resultados hasta ahora (ver sección cambio de promedio [5], y es cómo funciona el algoritmo
de III. Resultados). CUSUM que se implementó para solución de nuestro
La forma de cómo funciona el algoritmo de filtrado problema.
implementado es la siguiente:
1- Aplicación de la FFT a la señal: con esta operación se
obtiene el espectro frecuencial de la señal, el cual,
gráficamente, indica el valor de la frecuencia principal.
2- Eliminación de frecuencias irrelevantes: En esta sección se
elige un intervalo no muy extenso (éste debe estar centrado en
la frecuencia principal y su frecuencia espejo), Con el fin de
quitar las frecuencias que corresponden al ruido que posee.
3- Aplicación de la Transformada Rápida de Fourier Inversa Figura 2.comportamiento típico de la relación de verosimilitud ,
(IFFT): esta función nos permite obtener la señal filtrada y así correspondiente al cambio en el promedio de una secuencia Gaussiana con
varianza constante.
poder tener una apreciación más clara de la presencia y no
presencia de cada hoja del pallet. Se implementó el algoritmo CUSUM, a partir de un algoritmo
B. Detección de cambios abruptos. obtenido de internet [2], al cual se le han hecho algunas
modificaciones para utilizarlo sobre la señal contador.
Uno de los problemas que presenta la señal contador,
es lo que respecta a la detección de cambios abruptos o C. Correlación.
detección de bordes, el cual es necesario solucionar si se Para dar solución al problema de la correlación entre
requiere de un algoritmo contador de hojas que sea rápido y señales, indagamos en varias fuentes para ver si es que existía
eficiente, lo cual implica que no trabaje en zonas irrelevantes alguna función ya implementada, pero obtuvimos resultados
de las señales a tratar. negativos. Luego investigamos acerca del índice que
Para esto se utilizo el algoritmo basado en suma acumulativa determina la correlación máxima entre 2 señales y lo que
(CUSUM), el cual en este caso trabaja con un método llamado encontramos se muestra en la siguiente ecuación [6]:
derivación intuitiva [4], en el cual se tiene una relación de
verosimilitud, la que puede ser, la comparación entre la
varianza de la señal o la comparación de los promedios de la
señal. El comportamiento típico de esta relación es que Donde r es la correlación entre las señales x e y en el
muestra una pendiente negativa antes del cambio y una instante k. Este valor se obtiene operando con la varianza y
pendiente positiva después del cambio, como se puede observa covarianza entre las señales.
en la figura 2. Por lo tanto, la información pertinente, por lo
que al cambio se refiere, se encuentra en la diferencia entre el La ecuación anterior fue el índice utilizado en el algoritmo
valor de la relación de verosimilitud y su valor mínimo actual, para encontrar la correlación de las señales. Tenemos que
y la regla de decisión correspondiente es entonces, en cada tener en cuenta que la señal original, obtenida del escaneo,
instante de tiempo, para comparar la diferencia a un umbral de viene dada por una matriz y cada fila de ella es una imagen del
la siguiente manera: escáner.
Donde: La forma de cómo funciona el algoritmo implementado con
respecto a la correlación es la siguiente:
Vamos a considerar solo 2 señales S1 y S2.
1- Fijamos una “ventana” de los primeros 500 valores de la
señal S2 que llamaremos ventana2.
2- Se genera una “ventana” de los últimos 500 valores de la
señal S1 que llamaremos ventana1.
Tiempo de detención: 3- La ventana1 se va desplazando de uno en uno hacia el
Un ejemplo simple de un cambio en el promedio μ, de una inicio de la señal y cada instante se va comparando con la
secuencia aleatoria, es si primero se toma entonces ventana2 obteniéndose un vector r(k).
existen tres formulaciones: 4- Se busca el máximo valor del vector r(k) y se encuentra el
punto donde comienza la información redundante de S1.
5- Se elimina esa información y se une S1(ahora cortada) con
S2.
Universidad Austral de Chile 3

6- Se repite este ciclo hasta que se haya realizado a todas las comienzo y luego el fin de la señal, para ambos casos funciona
filas de la matriz de la señal original. como fue descrito anteriormente. Para el caso del fin de la
señal se trabaja con la señal invertida. Una vez detectados los
D. Detección de peaks y valles. puntos se eliminan las secciones de la señal que no son de
La motivación de este proyecto, radica en encontrar la relevancia, es decir del punto de comienzo hacia atrás y del
cantidad exacta de hojas que hay en un pallet, por ende uno de punto de termino hacia adelante.
los problemas fundamentales es encontrar los picos y valles El resultado de este algoritmo se puede apreciar claramente en
que existen en la señal contador, ya que un pico representa la la figura 3 mostrada a continuación, en la imagen superior se
presencia de una hoja mientras que el valle es la ausencia de muestra la grafica que arroja la cusum, en donde el punto de
esta. Para la búsqueda de estos parámetros utilizamos un inflexión es el punto de cambio. En la imagen inferior se
algoritmo de detección de picos y valles. El algoritmo a observa la grafica de la fila de la señal en la cual ocurre el
utilizar es peakdet, una función gratuita, creada por Eli cambio. A simple vista se observa que el resultado que arroja
Billauer, Licenciado en Ingeniería eléctrica, el algoritmo se la cusum es de calidad ya que se aprecia que la señal si
obtuvo de su página web [1]. comienza en el punto entregado.
Para la experimentación de este algoritmo se trabajo con una
La función peakdet lo que hace es buscar máximos, de una señal con dos sentidos de escaneo, de arriba hacia abajo y
función y lo hace tomando un valor de esta y lo compara con viceversa, para el primer caso la cusum arrojo como punto de
sus proximidades derecho e izquierdo, si el valor tomado es cambio de comienzo de la señal, el valor 1500 el cual se
mayor que sus pares comparados, este es asignado como un encontraba en la fila 9, y como punto de termino 1711, en la
máximo. Análogamente para encontrar los mínimos realiza el fila 67.
mismo procedimiento, solo que ahora si el valor tomado
resulta menor que sus próximos, será asignado como mínimo.
Para saber si un máximo encontrado corresponde o no a un
pico, se utiliza un margen de distancia mínimo entre máximos
y mínimos, si la distancia entre estos sobrepasa el límite
establecido, el máximo y mínimo correspondiente se cataloga
como pico o valle.
III. RESULTADOS
En esta sección se mostraran los resultados obtenidos al
implementar los algoritmos que fueron utilizados para tratar la
señal contador y de esa manera llegar a la solución del
problema.
A. Filtrado de la señal.
Figura 3. resultado punto inicio de la cusum.
Para el algoritmo se realizaron dos filtrados, un primer filtrado
de tipo leve (intervalo de atenuación de frecuencias de FFT C. Correlación.
amplio), para no quitar demasiada información a la señal
original y así poder comparar unas con otras, con el fin de que Luego de la implementación del algoritmo de
la correlación funcione de manera más óptima. El otro filtro correlación, se realizaron diversas pruebas, las cuales
implementado debe atenuar lo máximo posible de ruido de la mostraban empíricamente que existían errores tales como:
señal, para así tener una correcta detección de peaks como se 1- La mayoría de los puntos de corte se encontraban entre la
muestra en la figura 6. muestra 1600 y 1900 pero habían puntos que se alejaban
B. Detección de cambios abruptos. significativamente del rango como se muestra en la figura 4.
2- No coincidió el número de hojas que poseía la
En cuanto a los resultados obtenidos en la detección senal1contador (correspondiente al escaneo de un pallet de
de cambios abruptos, se puede mencionar que: arriba hacia abajo) con las que tenía la senal2contador
En un principio se trabajaron algoritmos por separado para la (correspondiente al escaneo del mismo pallet de abajo hacia
detección del comienzo y del final de la señal, finalmente y arriba).
como forma de optimizar el algoritmo se trabaja en uno solo la Luego se realizaron algunas adaptaciones para solucionar los
detección de ambos cambios (inicio y fin). La forma de trabajo errores presentados:
del algoritmo es recorrer cada fila de la matriz que conforma Para solucionar el primer problema se acotó el intervalo para
la señal a tratar, comparando los promedios de estas con un encontrar los puntos de máxima correlación, pero todos
promedio de referencia dado, el cual corresponde cercanos al promedio, basándonos en que el escáner recopila
aproximadamente al promedio de las señal justo después del imágenes a distancia casi constante. El resultado de lo anterior
cambio, una vez que detecta la fila en la cual se produce el se muestra en la figura 5.
cambio, se trabaja sobre esta buscando la suma acumulativa Para el problema N°2, relacionado con la diferencia de hojas,
para luego buscar el punto de inflexión que es el punto de no obtuvimos una solución satisfactoria, pero relacionamos
interés ya que es en dicho punto donde aproximadamente este error con algún tipo de problemas de escaneo o a la
comienza o termina la señal. El algoritmo busca primero el correlación de la señal.
Universidad Austral de Chile 4

Figura 4: Gráfica que muestra los puntos de corte de cada fila de la señal Figura 7: Grafico que muestra las distancias entre peaks de la señal contador.
original, resaltando los puntos que se alejan del promedio. Abcisa: peaks ; Ordenada: distancia entre peaks.

IV. CONCLUSIONES
Para encontrar la solución se trabajó con algoritmos de
diversos tópicos, ejemplo de aquello lo podemos encontrar en
el filtrado de la señal, se eliminaron varias frecuencias del
espectro, ya que correspondían a ruido indeseado en la señal,
el problema del filtrado es que hay que tener mucha precisión
en elegir las frecuencias de corte, para trabajar eficientemente
en ella, otra área de desarrollo fue la búsqueda del comienzo y
fin de las hojas en la señal, ya que la cámara comienza a tomar
Figura 5: Gráfica que muestra los puntos de corte de cada fila de la señal
original, luego de acotar el intervalo de los puntos de corte. fotografías más arriba del comienzo del pallet lo cual agrega
información sin importancia. Se observaron resultados de
D. Detección de peak y valles. CUSUM, programa basado en una función que posee Matlab,
se realizaron pruebas gráficas para determinar el comienzo de
Al efectuar las pruebas del algoritmo peakdet, sobre la señal la presencia de las hojas. Para el problema de la correlación se
contador, se produjeron errores tales como saltar picos donde trabajó con dos fotografías y sus respectivas señales en donde
sí debería existir una hoja. Para la solución de este dilema, se se buscaron las similitudes que se podían observar, existieron
efectúo un filtrado que elimina los ruidos y regenera un pico problemas donde podemos mencionar que la mayoría de los
en el lugar que falta, tal como se aprecia en la figura 6 puntos de corte se encontraban entre la muestra 1600 y 1900,
remarcado en el rectángulo naranjo, haciendo que peakdet pero habían puntos que se alejaban significativamente del
funcione sin mayores problemas. rango, para solucionar el problema se acotó el intervalo para
encontrar los puntos de máxima correlación, pero todos
cercanos al promedio, basándonos en que el escáner recopila
imágenes a distancia casi constante. Finalmente se llegó a la
detección de peak en donde se trabajó básicamente en las
distancias que habían entre cada peak y cuando hay una que
escapa al rango significa que hay un error, para aquello se
realizaron pruebas gráficas en donde se ratifican las distancias
entre peaks y peaks.

Figura 6: Grafico de filtrado de la señal, con color azul se aprecia la señal sin V. REFERENCIAS BIBLIOGRAFICAS
filtrar, con color rojo la señal filtrada.
[1] http://www.billauer.co.il/peakdet.html
Para probar si el algoritmo verdaderamente no se saltaba [2]http://www.mathworks.com/matlabcentral/newsreader/view
ningún peak de la señal, se graficó las distancias entre peaks y _thread/252101
peaks dando como resultado el grafico de la figura 7. Lo que [3]http://es.wikipedia.org/wiki/Filtro_digital
muestra, es que las distancias entre peaks solo varían entre 27 [4] Michele Basseville, Igor V. Nikiforov “Detection of
y 35, y en ningún caso se sobrepasa el doble del promedio, Abrupt Changes: Theory and Application”, publicado por
que es aproximadamente 30. Si esto pasara significaría que el Prentice-Hall, Inc.
algoritmo se salta hojas, pero no es así. Además se aprecia un [5] Mohamad Khalil ; Oussama Mustapha; Dimitri Lefebvre,
decrecimiento en las distancias entre peaks, como muestra la Marwa Chendeb, Abrupt change detection algorithm: from
línea roja, lo que es explicable ya que las hojas que están más theory to implementation.
abajo del pallet se encuentran más aplastadas por el peso de [6] Thorsten Last, Chris D Nugent, Frank J Owens, Multi-
las demás. component based cross correlation beat detection in
electrocardiogram analysis. http://www.biomedical-
engineering-online.com/content/3/1/26

You might also like