Capitulo3 Fundamentos y algoritmos de visión artificial

6
Integración de sistema de visión artificial y robot en aplicación tipo Pick&Place 3 Fundamentos y algoritmos de visión artificial 3 Fundament os y al gor itmos de visi ón ar tif icial 3.1 Descripción de l os p roceso s ut ili zados En esta apli cac n el pr oblema de vi si ón art if ici al que se pl antea es la di sc riminaci ón y localiza ción de una serie de objetos, concretamente discos circulares blancos, sobre una banda de transporte oscura. La cámara proporciona imágenes de resolución 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 resolución y aumentar la velocidad de proceso, y así se hará trabajndo con imágenes de 320x240. Los algoritmos que se aplicarán sobre la imagen original serán los siguientes, en el orden indicado: 1. Captur a de la ima gen medi ante l as lib rerías MIL Lite 2. Pre proces ami ento c on fil tra do de la medi ana. 3. Obt ención del hist ogr ama d e la imagen . 4. Cálcul o de umbra l óptimo ( con méto do de Ots u) para bi narizaci ón, pa ra separar l as piezas del fondo independientemente de las condiciones de luz que haya en ese momento. 5. Bin ari zac n de l a imagen. 6. Erosió n binaria d e la imagen, para eliminar punto s aislado s y separar pi ezas uni das. 7. Segmen tación median te etiq uetado , para separar las p iezas. 8. Aná lis is de c arac ter ísti cas d e cada obj eto. 3.2 Pr eprocesamiento En todas las aplicaciones es interesante incluir al menos un algoritmo de suavizado en el dominio del espacio, es decir, trabajando con una función unidimensional que transforme la intensidad de cada píxel en un valor promediado u obtenido de alguna otra forma, a partir de los píxeles de su entorno. Concretamente utilizando un promedio en base a la mediana del entorno, se pueden eli mi nar xe les muy bl ancos que puedan res ul tar de refle jos en las piez as debi do a unas condiciones de luz distintas a las ensayadas. Este método tiene la ventaja frente al promedio aritmético de que no desdibuja los bordes de las piezas, que en una aplicación como esta puede ser  perjudicial porque piezas muy cercanas pueden quedar unidad debido al promedio. El filtrado de la median garantiza que el método de Otsu tenga un resultado más fiable, puesto que en caso de brillos aislados abundantes la imagen presentaría un grupo importante en la zona alta del histograma, y en lugar de 2 regiones (fondo y objeto) habría 3 regiones. 3.3 Histograma El histograma de una imagen es la representación gráfica o analítica de la distribución relativa de cada valor posible de pixel de imagen, y en caso de imágenes grises de 8 bits será un vector de 256 componentes, siendo la componente i el número de pixeles de nivel i en la imagen, dividido por el número total de pixeles: Ingeniería en Automática y Electrónica Industrial 3-1

Transcript of Capitulo3 Fundamentos y algoritmos de visión artificial

8/6/2019 Capitulo3 Fundamentos y algoritmos de visión artificial

http://slidepdf.com/reader/full/capitulo3-fundamentos-y-algoritmos-de-vision-artificial 1/6

Integración de sistema de visión artificial y robot en aplicación tipo Pick&Place

3 Fundamentos y algoritmos de visión artificial 

3 Fundamentos y algoritmos de visión artificial

3.1 Descripción de los procesos utilizados

En esta aplicación el problema de visión artificial que se plantea es la discriminación y

localización de una serie de objetos, concretamente discos circulares blancos, sobre una banda de

transporte oscura. La cámara proporciona imágenes de resolución 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 resolución y aumentar la velocidad de proceso, y así se hará trabajndo con

imágenes de 320x240. Los algoritmos que se aplicarán sobre la imagen original serán los siguientes,

en el orden indicado:

1. Captura de la imagen mediante las librerías MIL Lite

2. Preprocesamiento con filtrado de la mediana.

3. Obtención del histograma de la imagen.

4. Cálculo de umbral óptimo (con método de Otsu) para binarización, para separar las piezas

del fondo independientemente de las condiciones de luz que haya en ese momento.

5. Binarización de la imagen.

6. Erosión binaria de la imagen, para eliminar puntos aislados y separar piezas unidas.

7. Segmentación mediante etiquetado, para separar las piezas.

8. Análisis de características 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 función unidimensional que transforme la intensidad de

cada píxel en un valor promediado u obtenido de alguna otra forma, a partir de los píxeles de su

entorno. Concretamente utilizando un promedio en base a la mediana del entorno, se pueden

eliminar píxeles muy blancos que puedan resultar de reflejos en las piezas debido a unas

condiciones de luz distintas a las ensayadas. Este método tiene la ventaja frente al promedio

aritmético de que no desdibuja los bordes de las piezas, que en una aplicación como esta puede ser 

 perjudicial porque piezas muy cercanas pueden quedar unidad debido al promedio.

El filtrado de la median garantiza que el método de Otsu tenga un resultado más fiable, puesto

que en caso de brillos aislados abundantes la imagen presentaría un grupo importante en la zona alta

del histograma, y en lugar de 2 regiones (fondo y objeto) habría 3 regiones.

3.3 Histograma

El histograma de una imagen es la representación gráfica o analítica de la distribución relativa de

cada valor posible de pixel de imagen, y en caso de imágenes grises de 8 bits será un vector de 256

componentes, siendo la componente i el número de pixeles de nivel i en la imagen, dividido por el

número total de pixeles:

Ingeniería en Automática y Electrónica Industrial 3-1

8/6/2019 Capitulo3 Fundamentos y algoritmos de visión artificial

http://slidepdf.com/reader/full/capitulo3-fundamentos-y-algoritmos-de-vision-artificial 2/6

Integración de sistema de visión artificial y robot en aplicación tipo Pick&Place

3 Fundamentos y algoritmos de visión artificial 

El histograma es formalmente la función estadística de densidad de probabilidad en forma

discreta de los distintos niveles de gris dentro de la imagen.

Si se integra el resultado es la función de distribución ω[i].

3.4 Umbral óptimo mediante método de Otsu

Previamente a la binarización 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, elhistograma tendrá una forma como se muestra en Ilustración 3.1: Histograma de imagen con objetos

y fondo diferenciados, y el umbral adecuado se sitúa en el valle de la figura.

Para la determinación automática de este umbral se ha implementado el algoritmo denominado

método de Otsu, publicado en 1979 en “IEEE Transactions on System Man Cybernetics” por 

 Nobuyuki Otsu, en el artículo “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

Ingeniería en Automática y Electrónica Industrial 3-2

histograma [ i ]= N   pixeles de nivel i

 N total 

0≤i≤255

[i ]=∑ j=0

i

histograma [  j ] 0≤i≤255

 Ilustración 3.1: Histograma de imagen con objetos y fondo diferenciados

8/6/2019 Capitulo3 Fundamentos y algoritmos de visión artificial

http://slidepdf.com/reader/full/capitulo3-fundamentos-y-algoritmos-de-vision-artificial 3/6

Integración de sistema de visión artificial y robot en aplicación tipo Pick&Place

3 Fundamentos y algoritmos de visión 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 representarían objeto y fondo (o viceversa) respectivamente. El umbral que

maximize esta varianza entre clases es el óptimo para la binarización. Las formulación de estosconceptos se detalla en Ilustración 3.2: Formulación del método de Otsu.

3.5 Binarización de la imagen

El proceso de binarización 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 más rápidas y en general se

consumen menos recursos del sistema. Dado un umbral t, la imagen se recorre asignando el valor 

correspondiente a cada pixel según:

3.6 Erosión binaria de la imagen

Los procedimientos de erosión y dilatación de imágenes consisten en aplicar una máscara con 1's

a cada píxel con su entorno, y tomar como valor de salida el mínimo o máximo respectivamente.

Concretamente en el caso de la erosión binaria, el mínimo será 0 si hay algún píxel negro en el

entorno, por tanto se borrarán todos los píxeles del borde exterior de los objetos, y los que estén

aislados. Depende del orden de la máscara utilizada (3x3,5x5,7x7,..) la erosión será más agresiva,

aunque el tiempo de computación aumenta considerablemente con ésta y en general todas las

operaciones de contorno, cuando el orden utilizado es alto.

Ingeniería en Automática y Electrónica Industrial 3-3

 pixelbinario={1 si pixel ≤t 0 si pixel t }

 Ilustración 3.2: Formulación del método de Otsu

 B

2 t =T ∗t −t 2

1−t optimo=Max

{ B

2 t }

t =∑i=0

t  n i

 N t =∑

i=0

ini

 N T =∑i=0

iMAX 

in i

 N 

 B2 t ≡varianza entre clases it e it 

t ≡  probabilidad de la clase it 

t ≡media de la clase it 

n i≡número de pixeles de intensidad i

 N ≡número de pixelestotal de la imagen

T ≡media total de la imagen

8/6/2019 Capitulo3 Fundamentos y algoritmos de visión artificial

http://slidepdf.com/reader/full/capitulo3-fundamentos-y-algoritmos-de-vision-artificial 4/6

Integración de sistema de visión artificial y robot en aplicación tipo Pick&Place

3 Fundamentos y algoritmos de visión artificial 

En función de la naturaleza de la imagen, se pueden utilizar máscaras con estructuras espaciales

en la distribución de los 1's, para realizar la erosión por ejemplo en direcciones paralelas a un eje, o

formas concretas. En este proyecto se utilizan matrices de máscara sin estructura. El procedimiento

se muestra en Ilustración 3.3: Resultado de erosión binaria con máscara no estructurada de 3x3.

En esta aplicación la función de erosión se implementa con dos objetivos:

1. Filtrado binario de la imagen, eliminando todos los píxeles aislados que puedan aparecer, y

que posteriormente se etiquetarían como un objeto encontrado. Aunque se descarte por tener 

un tamaño demasiado pequeño, se está sobrecargando el procesamiento innecesariamente, y

además hay un número máximo previsto de objetos que podría desbordarse si hay mucho

ruido, dejando fuera los objetos verdaderamente interesantes.

2. Separación de piezas unidas, puesto que la erosión moderada permite borrar la zona de

contacto entre discos que vengan unidos en la cinta, siempre claro está que esa zona de

unión tenga un ancho en píxeles menor que la máscara utilizada. En tal caso el  procedimiento tendría que repetirse varias veces, o utilizar una máscara muy grande,

resultando demasiado agresivo y lento en computación como para ser útil.

3.7 Etiquetado y segmentación

El siguiente procedimiento aplicado es la segmentación de la imagen separando los distintos

objetos. Para ello hay que utilizar un criterio de conectividad entre pixeles, como pueden ser los

siguientes (ver  Ilustración 3.4: Pixeles 4-conectados (izda) y 8-conectados (dcha) ):

● Conectividad-4: la conexión es horizontal y vertical.

● Conectividad-8: la conexión es también en diagonal.

Ingeniería en Automática y Electrónica Industrial 3-4

 Ilustración 3.3: Resultado de erosión binaria con máscara no estructurada de 3x3

0 0 0 0

0 0 0 1

0 0 1 1

0 0 1 1

0 0 0 0

1 1 1 1

1 1 1 1

1 1 1 1

0 0 1 1

0 0 0 1

1 1 1 1

1 1 1 1

10

1 1 1

1 1 1

1 1 1

8/6/2019 Capitulo3 Fundamentos y algoritmos de visión artificial

http://slidepdf.com/reader/full/capitulo3-fundamentos-y-algoritmos-de-vision-artificial 5/6

Integración de sistema de visión artificial y robot en aplicación tipo Pick&Place

3 Fundamentos y algoritmos de visión artificial 

El etiquetado consiste en recorrer la imagen y asignar una etiqueta a cada píxel, que será nueva si

ese píxel no está conectado, o la misma del píxel al que esté conectado en caso de estarlo (digamos

que la hereda). Ocurrirá no obstante que un píxel podrá encontrarse conectado a dos píxeles conetiquetas distintas. Entonces se asignará la etiqueta de menor valor (la más antigua) y se registrará

Ingeniería en Automática y Electrónica Industrial 3-5

 Ilustración 3.4: Pixeles 4-conectados (izda) y 8-conectados (dcha)

0

1

1 0

1

0

0

0 0

1

1

11

111

1

1

 Ilustración 3.5: Procedimiento de etiquetado

0 0 0

0 0 255

0 255 255

0 255 255

0 0 0 0

255 0 0 0

255 0 0 255

255 0 255 255

0 0 0 0 0 0 0

255 0

0 0

0 0

255 0

255 255

0 0 0

0 0 1

0 3 1

0 3 1

0 0 0 0

1 0 0 0

1 0 0 4

1 0 5 4

0 0 0 0 0 0 0

2 0

0 0

0 0

2 0

2 2

8/6/2019 Capitulo3 Fundamentos y algoritmos de visión artificial

http://slidepdf.com/reader/full/capitulo3-fundamentos-y-algoritmos-de-vision-artificial 6/6

Integración de sistema de visión artificial y robot en aplicación tipo Pick&Place

3 Fundamentos y algoritmos de visión artificial 

en un array al efecto el enlace existente entre ambas etiquetas.

Después 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 píxel tendrá una etiqueta que a su vez corresponderá con

una etiqueta de grupo. El número de etiquetas de grupo encontradas será el número de objetos

distintos (no conectados) de la imagen.

En  Ilustración 3.5: Procedimiento de etiquetado se muestra un ejemplo sencillo con dos objetos,

 partiendo de una imagen donde los píxeles blancos tienen valor 255. Se recorre la imagen en orden

de filas, mirando si cada píxel 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 más rápido 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 píxel

con etiqueta e pertenecal objeto identificado por  EtiquetaGrupo[e]. En el ejemplo anterior sería:

 EtiquetaGrupo[]=(0,1,2,1,2,2)

3.8 Análisis de características 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 píxel son (i,j) en los ejes X e Y respectivamente, la

expresión necesaria es:

Se requiere recorrer de nuevo la matriz de imagen etiquetada utilizando el vector de clases para

computar cada píxel en su objeto correspondiente. Se podría haber generado una matriz de clases ya

compactada, es decir, con el número de clase en lugar de etiqueta, pero es un proceso adicional que

no aporta nada, sino consumo de tiempo, porque después es necesario volver a barrer esa matriz.

El número de pixeles del objeto Npix se utilizará además para confirmar que se trata de una pieza

objetivo, puesto que el tamaño esperado se conoce a priori. Así en caso de tener algunas piezas pegadas o alguna mancha se podrá discriminar, puesto que la posición del centro de gravedad de

todas formas no sería válida.

También puede ocurrir que los discos se corten en la imagen, incluso que un disco grande cortado

se vea como un disco pequeño, provocando un error en la manipulación del robot puesto que la

 posición del centro de gravedad no será buena. Por eso también se computan los píxeles de cada

objeto que se encuentran en un ancho predefinido de periferia, desechando el objeto si se supera un

límite determinado.

Ingeniería en Automática y Electrónica Industrial 3-6

 xCG

m=∑ i∗ pixel mi , j

 Npix m

∇ pixel m del objeto m

 yCG

m=∑  j∗ pixel mi , j

 Npixm

∇  pixel m del objeto m