Академический Документы
Профессиональный Документы
Культура Документы
3.2 Preprocesamiento
En todas las aplicaciones es interesante incluir al menos un algoritmo de suavizado en el dominio del espacio, es decir, trabajando con una funcin unidimensional que transforme la intensidad de cada pxel en un valor promediado u obtenido de alguna otra forma, a partir de los pxeles de su entorno. Concretamente utilizando un promedio en base a la mediana del entorno, se pueden eliminar pxeles muy blancos que puedan resultar de reflejos en las piezas debido a unas condiciones de luz distintas a las ensayadas. Este mtodo tiene la ventaja frente al promedio aritmtico de que no desdibuja los bordes de las piezas, que en una aplicacin como esta puede ser perjudicial porque piezas muy cercanas pueden quedar unidad debido al promedio. El filtrado de la median garantiza que el mtodo de Otsu tenga un resultado ms fiable, puesto que en caso de brillos aislados abundantes la imagen presentara un grupo importante en la zona alta del histograma, y en lugar de 2 regiones (fondo y objeto) habra 3 regiones.
3.3 Histograma
El histograma de una imagen es la representacin grfica o analtica de la distribucin relativa de cada valor posible de pixel de imagen, y en caso de imgenes grises de 8 bits ser un vector de 256 componentes, siendo la componente i el nmero de pixeles de nivel i en la imagen, dividido por el nmero total de pixeles:
3-1
Integracin de sistema de visin artificial y robot en aplicacin tipo Pick&Place 3 Fundamentos y algoritmos de visin artificial El histograma es formalmente la funcin estadstica de densidad de probabilidad en forma discreta de los distintos niveles de gris dentro de la imagen. Si se integra el resultado es la funcin de distribucin [i].
N pixeles de nivel N total
histograma [i]=
i
0i255
0i255
Ilustracin 3.1: Histograma de imagen con objetos y fondo diferenciados Para la determinacin automtica de este umbral se ha implementado el algoritmo denominado mtodo de Otsu, publicado en 1979 en IEEE Transactions on System Man Cybernetics por Nobuyuki Otsu, en el artculo A threshold selection method from gray-level histogram. El algoritmo consiste en obtener para todos los umbrales posibles (tantos como niveles de gris tenga la Ingeniera en Automtica y Electrnica Industrial 3-2
Integracin de sistema de visin artificial y robot en aplicacin tipo Pick&Place 3 Fundamentos y algoritmos de visin artificial imagen) un valor denominado varianza entre clases (B2, sigma_b_squared) y que viene a medir el grado de diferencia entre los pixeles de la clase intensidad<umbral, y la clase restante intensidad>umbral, que representaran objeto y fondo (o viceversa) respectivamente. El umbral que maximize esta varianza entre clases es el ptimo para la binarizacin. Las formulacin de estos conceptos se detalla en Ilustracin 3.2: Formulacin del mtodo de Otsu.
T t t2 t = 1
2 B
t optimo=Max { B t}
t t
t=i=0
2
ni N
t=i =0 i
ni N
T =i=0 i
i MAX
ni N
B t varianza entre clases it e it t probabilidad de la clase it tmedia de la clase it n inmero de pixeles de intensidad i N nmero de pixeles total de la imagen T media total de la imagen
3-3
Integracin de sistema de visin artificial y robot en aplicacin tipo Pick&Place 3 Fundamentos y algoritmos de visin artificial En funcin de la naturaleza de la imagen, se pueden utilizar mscaras con estructuras espaciales en la distribucin de los 1's, para realizar la erosin por ejemplo en direcciones paralelas a un eje, o formas concretas. En este proyecto se utilizan matrices de mscara sin estructura. El procedimiento se muestra en Ilustracin 3.3: Resultado de erosin binaria con mscara no estructurada de 3x3.
0 1 1 1 1 1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 1 0 0
0 1 1 1 1 1
0 1 1 1 1 1
0 1 1 1 1 1
0 1 1 1 1 1 1
0 1 1 1 1 1
Ilustracin 3.3: Resultado de erosin binaria con mscara no estructurada de 3x3 En esta aplicacin la funcin de erosin se implementa con dos objetivos: 1. Filtrado binario de la imagen, eliminando todos los pxeles aislados que puedan aparecer, y que posteriormente se etiquetaran como un objeto encontrado. Aunque se descarte por tener un tamao demasiado pequeo, se est sobrecargando el procesamiento innecesariamente, y adems hay un nmero mximo previsto de objetos que podra desbordarse si hay mucho ruido, dejando fuera los objetos verdaderamente interesantes. 2. Separacin de piezas unidas, puesto que la erosin moderada permite borrar la zona de contacto entre discos que vengan unidos en la cinta, siempre claro est que esa zona de unin tenga un ancho en pxeles menor que la mscara utilizada. En tal caso el procedimiento tendra que repetirse varias veces, o utilizar una mscara muy grande, resultando demasiado agresivo y lento en computacin como para ser til.
Integracin de sistema de visin artificial y robot en aplicacin tipo Pick&Place 3 Fundamentos y algoritmos de visin artificial
0 1 1
1 1 0
1 1 0
0 1 1
1 1 0
1 1 0
Ilustracin 3.4: Pixeles 4-conectados (izda) y 8conectados (dcha) El etiquetado consiste en recorrer la imagen y asignar una etiqueta a cada pxel, que ser nueva si ese pxel no est conectado, o la misma del pxel al que est conectado en caso de estarlo (digamos que la hereda). Ocurrir no obstante que un pxel podr encontrarse conectado a dos pxeles con etiquetas distintas. Entonces se asignar la etiqueta de menor valor (la ms antigua) y se registrar
0 0
0 0
0 255 255 0
0 255 0
0 0 0 0 0
0 0 3 3 0
0 1 1 1 0
0 1 1 1 0
0 0 0 0 0
0 0 0 5 0
0 0 4 4 0
0 2 2 2 0
0 0 2 0 0
3-5
Integracin de sistema de visin artificial y robot en aplicacin tipo Pick&Place 3 Fundamentos y algoritmos de visin artificial en un array al efecto el enlace existente entre ambas etiquetas. Despus de terminar el recorrido completo de la imagen, se deben resolver todos estos enlaces agrupando las etiquetas emparentadas en una misma etiqueta de grupo, de modo que al final se tendr una imagen etiquetada, donde cada pxel tendr una etiqueta que a su vez corresponder con una etiqueta de grupo. El nmero de etiquetas de grupo encontradas ser el nmero de objetos distintos (no conectados) de la imagen. En Ilustracin 3.5: Procedimiento de etiquetado se muestra un ejemplo sencillo con dos objetos, partiendo de una imagen donde los pxeles blancos tienen valor 255. Se recorre la imagen en orden de filas, mirando si cada pxel est 4-conectado con los pixeles ya recorridos, o sea, con el de la izquierda y el de arriba. La conectividad-4 produce una algoritmo bastante ms rpido y as se implementa en este proyecto. Si los enlaces se registran adecuadamente, al final se obtiene la imagen etiquetada junto con un vector que agrupa las etiquetas en etiquetas de grupo. As a un pxel con etiqueta e pertenecal objeto identificado por EtiquetaGrupo[e]. En el ejemplo anterior sera: EtiquetaGrupo[]=(0,1,2,1,2,2)
xCG = y CG =
ipixel m i , j
Se requiere recorrer de nuevo la matriz de imagen etiquetada utilizando el vector de clases para computar cada pxel en su objeto correspondiente. Se podra haber generado una matriz de clases ya compactada, es decir, con el nmero de clase en lugar de etiqueta, pero es un proceso adicional que no aporta nada, sino consumo de tiempo, porque despus es necesario volver a barrer esa matriz. El nmero de pixeles del objeto Npix se utilizar adems para confirmar que se trata de una pieza objetivo, puesto que el tamao esperado se conoce a priori. As en caso de tener algunas piezas pegadas o alguna mancha se podr discriminar, puesto que la posicin del centro de gravedad de todas formas no sera vlida. Tambin puede ocurrir que los discos se corten en la imagen, incluso que un disco grande cortado se vea como un disco pequeo, provocando un error en la manipulacin del robot puesto que la posicin del centro de gravedad no ser buena. Por eso tambin se computan los pxeles de cada objeto que se encuentran en un ancho predefinido de periferia, desechando el objeto si se supera un lmite determinado.
3-6