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
t
{ B
2 t }
t =∑i=0
t n i
N t =∑
i=0
t
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
Top Related