Sei sulla pagina 1di 6

Integracin de sistema de visin artificial y robot en aplicacin tipo Pick&Place 3 Fundamentos y algoritmos de visin artificial

3 Fundamentos y algoritmos de visin artificial


3.1 Descripcin de los procesos utilizados
En esta aplicacin el problema de visin artificial que se plantea es la discriminacin y localizacin de una serie de objetos, concretamente discos circulares blancos, sobre una banda de transporte oscura. La cmara proporciona imgenes de resolucin 640x480 en tonos de grises con una profundidad de 8 bits, es decir, con 256 niveles de grises. No obstante se puede fijar un factor de escalado para bajar la resolucin y aumentar la velocidad de proceso, y as se har trabajndo con imgenes de 320x240. Los algoritmos que se aplicarn sobre la imagen original sern los siguientes, en el orden indicado: 1. Captura de la imagen mediante las libreras MIL Lite 2. Preprocesamiento con filtrado de la mediana. 3. Obtencin del histograma de la imagen. 4. Clculo de umbral ptimo (con mtodo de Otsu) para binarizacin, para separar las piezas del fondo independientemente de las condiciones de luz que haya en ese momento. 5. Binarizacin de la imagen. 6. Erosin binaria de la imagen, para eliminar puntos aislados y separar piezas unidas. 7. Segmentacin mediante etiquetado, para separar las piezas. 8. Anlisis de caractersticas de cada objeto.

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:

Ingeniera en Automtica y Electrnica Industrial

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

[i]= j=0 histograma[ j ]

3.4 Umbral ptimo mediante mtodo de Otsu


Previamente a la binarizacin de la imagen para segmentar objeto de fondo, se debe fijar el umbral adecuado. Si la imagen presenta unas zonas de objeto y fondo bien diferenciadas, el histograma tendr una forma como se muestra en Ilustracin 3.1: Histograma de imagen con objetos y fondo diferenciados, y el umbral adecuado se sita en el valle de la figura.

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

Ilustracin 3.2: Formulacin del mtodo de Otsu

3.5 Binarizacin de la imagen


El proceso de binarizacin de la imagen reducir el conjunto de posibles valores de cada pixel a 2, blanco y negro, 0 y 1. De esta forma las operaciones posteriores son ms rpidas y en general se consumen menos recursos del sistema. Dado un umbral t, la imagen se recorre asignando el valor correspondiente a cada pixel segn:

pixelbinario= 1 si pixel t 0 si pixel t

3.6 Erosin binaria de la imagen


Los procedimientos de erosin y dilatacin de imgenes consisten en aplicar una mscara con 1's a cada pxel con su entorno, y tomar como valor de salida el mnimo o mximo respectivamente. Concretamente en el caso de la erosin binaria, el mnimo ser 0 si hay algn pxel negro en el entorno, por tanto se borrarn todos los pxeles del borde exterior de los objetos, y los que estn aislados. Depende del orden de la mscara utilizada (3x3,5x5,7x7,..) la erosin ser ms agresiva, aunque el tiempo de computacin aumenta considerablemente con sta y en general todas las operaciones de contorno, cuando el orden utilizado es alto.

Ingeniera en Automtica y Electrnica Industrial

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.

3.7 Etiquetado y segmentacin


El siguiente procedimiento aplicado es la segmentacin de la imagen separando los distintos objetos. Para ello hay que utilizar un criterio de conectividad entre pixeles, como pueden ser los siguientes (ver Ilustracin 3.4: Pixeles 4-conectados (izda) y 8-conectados (dcha) ):

Conectividad-4: la conexin es horizontal y vertical. Conectividad-8: la conexin es tambin en diagonal. 3-4

Ingeniera en Automtica y Electrnica Industrial

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 255 255 255 0

0 255 255 255

0 255 255 255 0 255 255 255 0 0 0 0 0 0 0 0 0 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

Ilustracin 3.5: Procedimiento de etiquetado

Ingeniera en Automtica y Electrnica Industrial

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)

3.8 Anlisis de caractersticas de cada objeto


Una vez segmentada la imagen, se proceder a calcular el centro de gravedad de cada objeto, medido en pixeles. Si las coordenadas del pxel son (i,j) en los ejes X e Y respectivamente, la expresin necesaria es:
m

xCG = y CG =

ipixel m i , j

Npix m j pixel m i , j Npix m

pixel m del objeto m pixel m del objeto m

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.

Ingeniera en Automtica y Electrnica Industrial

3-6

Potrebbero piacerti anche