Está en la página 1de 55

8.

Visión Computacional
Introducción
• Visión, es la ventana al mundo de los organismos.
• Reconocer y localizar objetos en el entorno, mediante el procesamiento de las imágenes.
• Visión computacional (o artificial), es el estudio de estos procesos, con el objetivo de
entenderlos y construir máquinas con capacidades similares.
• El procesamiento de imágenes, es una área muy ligada a la visión computacional.
• Su objetivo es mejorar la calidad de las imágenes para su posterior utilización o
interpretación.
• En visión computacional, se busca extraer características útiles para cada tarea a realizar.
• La descripción e interpretación se logra usando la computadora.

Figura 1. Descripción de la imagen 1


8.1 Panorámica de la Visión Artificial
Aspectos generales sobre imágenes: la luz

• Una parte pequeña del espectro electromagnético es la


zona visible (luz visible)
• Comprende longitudes de onda aproximadamente desde
los 400 hasta los 700 nm. (nm=nanómetros=10-9m)

2
Figura 2. Longitudes de onda
Panorámica de la Visión Artificial

Aspectos generales sobre imágenes: Sistema


Visual Humano

Figura 3. Sistema visual humano


3
Panorámica de la Visión Artificial
Sistemas de Visión Artificial: Definición

• Es el análogo artificial de la visión humana

Figura 4. sistema de visión artificial

4
Objetivos de la visión computacional
-Determinar la localización y tipos de objetos en una imagen.
-Construir una representación tridimensional.
-Analizar un objeto para determinar su calidad.
-Descomponer una imagen en partes.
Aplicaciones en Visión Computacional
• Robótica móvil.
• Manufactura.
• Análisis e interpretación de imágenes médicas.
• Reconocimiento de textos y dibujos.
• Análisis de imágenes microscópicas.
• Interpretación de imágenes aéreas y de satélites.
Teoría de la visión
• La formación de una imagen, ocurre cuando un sensor(ojo o cámara) registra la
radiación(luz) que interactúa con ciertos objetos físicos.
• La imagen obtenida en el sensor es una función, con valor a la intensidad o
brillantez en cada punto(x,y), esto es:

Intensidad=f(x,y)

5
Panorámica de la Visión Artificial
2. Sistemas de Visión Artificial: Etapas

• Las etapas en un SVA son:


• Adquisición de la imagen
• Preproceso
• Segmentación
•Representación y descripción (extracción de
características)
• Reconocimiento e interpretación

6
Panorámica de la Visión Artificial
Sistemas de Visión Artificial: Etapas

• El preproceso es la mejora de la calidad de una imagen para


usarse en etapas posteriores: p. ej. aumento de contraste

Figura 5. Preproceso
7
Panorámica de la Visión Artificial
Sistemas de Visión Artificial: Etapas

Figura 6. Preproceso

8
Panorámica de la Visión Artificial
Sistemas de Visión Artificial: Etapas
• Segmentación: División de una imagen en regiones
homogéneas que se corresponden con los objetos contenidos
en ella

Figura 7. Segmentación 9
Panorámica de la Visión Artificial
Sistemas de Visión Artificial: Etapas

• Extracción de características: Obtención de medidas de


características de los objetos segmentados.
• Color
• Textura
• Forma (área, perímetro, número de agujeros, ...)
• Características invariantes a transformaciones geométricas.
• Obtención de vectores de características normalizados.

10
Panorámica de la Visión Artificial
Ejemplos de texturas:

Figura 8. Imágenes de textura


11
Panorámica de la Visión Artificial
Sistemas de Visión Artificial: Etapas

Área
Perímetro

Ejes mayor y menor Bounding box


12
Figura 9. Extracción de caracteríticas
Panorámica de la Visión Artificial
Sistemas de Visión Artificial: Etapas
Reconocimiento: Consiste en clasificar los objetos de la escena a
partir de características extraídas. Los objetos vienen descritos
 
  mediante vectores de características.
 
 
 

N ú m e r o d e a g u je r o s To rn illo s
Tu e rc a s
A ra n d e la s

0 .1 0 .2 0 .3 0 .4 0 .5

D e s v ia c ió n t íp ic a d e l r a d io d e la f ig u r a
Figura 9. Reconocimiento de imágenes 13
8.3 PROCESAMIENTO BASICO DE IMÁGENES
DIGITALES[1]
Procesamiento de imágenes .- transformación de una imagen en otra
imagen
Análisis de una imagen es una transformación de una imagen en algo
distinto de una imagen. El análisis es un determinado tipo de información
representando una descripción o una decisión
Segmentación.- es el proceso por el cual se extrae de la imagen cierta
información subyacente para su posterior uso
Principios.- Discontinuidad ( bordes y regiones ) y similitud
Región.-Área de la imagen en las que los píxeles poseen propiedades
similares, intensidad, color etc.
Borde.- Línea que separa dos regiones
[1] Pajares M.Gonzalo, De la cruz Jesús, Visión por computador Imágenes digitales y aplicaciones Alfa
Omega Rama 2002 p 66

14
Procesamiento básico de imágenes
         Operaciones individuales
        Operador de Identidad q=p (copia)
        Operador Inverso o Negativo q=255-p (Ver aplicación)
        Operador umbral q=0 para p<=p1 y q=255 para P1>P1(ver aplicación)
        Operador intervalo de umbral binario
        q=0 para p<=p1 o p>P2 y 0 para p1<p<P2
        Operador de umbral binario binario invertido
        q=255 para p<=p1 o p>P2 y 0 para p1<p<P2
        Transformaciones de imágenes punto a punto.-Suma , resta , rodajas de planos de bits
Operaciones de vecindad (ver detección de borde características de Imagen)
Operaciones de Convolución
Transformaciones lógicas
Transformaciones geométricas
Desplazamiento, Escalado zoom y Giros

15
Suavizado y realzado usado para mejorar la calidad de la imagen
Suavisado. Reducir el ruido, promedio de entornos de vecindad
Realzado.- mejorar los detalles se usa el histograma de una imagen
Otros procesos. Media Varianza , varianza alta imagen de alto contraste
Asimetría sobre en la distribución de los niveles de gris.
Energía.- Distribución de los niveles de gris
Entropía.- mayor entropía mayor el numero de niveles de grises
Ecualización distribuir los niveles de gris
matiz= es un atributo asociado con la longitud de onda dominante en la mezcla de
longitudes de onda de luz. Viene a ser como el color percibido por el observador
Saturación.- se refiere a al pureza relativa o la cantidad de luz blanca mezclada con una
matiz

Figura 10. Suavizado y realzado


16
 
 
  Histograma.- de una imagen es una función discreta que representa el
 
  número de píxeles en la función de los niveles de intensidad g la
  probabilidad de P(g)= de ocurrencia de un determinado nivel se define
 
E
como P(g) = N(g)/M

17
Figura 11. Histograma de la imagen
18
ESPECICIFICACION DE COLORES
Intensidad o saturación de cada color 0-
255
Combinación de colores 16 777 216
colores
Colores básicos no colores primarios que
se usan en pintura(rojo, amarillo y azul)
Los colores complementarios, las
opuestas del cubo
el color más su complementario se obtiene
el blanco
Gradiente= rango de colores similares
Tonos de gris.- solo hay 256 tonos de gris
(valores iguales de los colores primarios)
La variable para almacenar color es 4
bytes
1024x768 *3bytes = 2.1 MB de memoria
RAM de video (VRAM) no mayores de 800
x 600
Figura 12.Tetraedro de color RGB

Paleta de color= 256 colores son suficientes para Imágenes de páginas WEB

19
8.4 PROCESADO DE IMÁGENES
 Una Imagen es una matriz bidimensional de pixeles que están representadas
por uno o más bits cada píxel se representa por un byte en los sistemas de
256 colores y se basan en una paleta por eso se llaman imágenes de paleta
Manipulación de paletas requiere un uso exhaustivo de las funciones API
 
para mayor rapidez las imágenes se debe cargar en una matriz
Visual Basic soporta 3 tipos de imágenes BMP, GIF y JPG
 
EFECTOS EN LAS IMAGENES
 DESENFOQUE DE LAS IMÁGENES
 Desenfoque (emborronamiento) filtrado paso bajo. Del mismo modo que es
posible eliminar o desminuir la energía de las altas frecuencias de sonido con
la ayuda de un ecualizador también podemos eliminar las altas frecuencias de
una imagen
 
Una imagen desenfocada contiene menos cambios bruscos que la imagen
original y se parece más a la imagen que se ve a través de un cristal
ligeramente transparente
Par desenfocar una imagen debemos reducir las diferencias grandes entre
pixeles adyacentes, tomemos un bloque de 9 pixeles, centrados en el píxel que
queremos desenfocar y sus 8 vecinos inmediatos 20
ENFOQUE DE IMÁGENES (las imágenes que se publican deben enfocarse de alguna
forma ). Para enfocar una imagen hay que resaltar los bordes de los objetos que hay en
ella
Los bordes son las partes de la imagen que tienen cambios bruscos de intensidad entre
pixeles adyacentes.
 
Area suave = diferencia entre los pixeles será cero o un numero pequeño
En borde La diferencia será grande incluso negativo
 
Si los dos pixeles están en un borde, sus valores serán muy diferentes y esta diferencia es
significativa . Esta es el área de la imagen que hay que enfocar

Figura 13. Imagen


desenfocada

21
Figura 14. Imagen enfocada

22
Uso del efecto bajorrelieve
Este efecto agudiza los bordes iguala las áreas mas suaves dado su efecto de
profundidad(bajorrelieve)
El algoritmo que se usa para este efecto está basado entre las diferencias entre los pixeles
adyacentes
El Algoritmo bajorrelieve añade una constante a la diferencia para que tenga un poco mas de
brillo la áreas que quedarían negras
NuevoValor= Diferencia +120

Figura 15.
Efecto bajo
relieve

23
Uso del efecto especial Difusión
Este efecto usa la función Rnd() para introducir cierta aleatoriedad a la
imagen y darle la apariencia de una pintura, el píxel actual toma el
valor de otro seleccionado de forma aleatoria dentro de un bloque de
5x5 alrededor del que se procesa.

24
Figura 16. Uso de efecto especial de cuadro de arte
Aislamiento de zonas de imágenes
Basada en una técnica fotográfica es posible emplear muchas reglas para aislar zonas de
proceso a las que aplicar la inversión, y se debe experimentar con muchas hasta encontrar la
que mejor se adapta a una imagen en concreto. en el algoritmo que se muestra invierte los
valores de los componentes menores a 128
 
Creación de filtros personalizados
Máscara de filtrado.- tamaño sobre el que se va a realizar los cálculos y puede se de 3x3 o
de 5x5

25
Figura 17. Aislamiento de zonas de imágenes
Detección de los bordes
Gradiente de una imagen
Cuando cambia la derivada
Operador de sobel
Usa la mascara para obtener gx
-1 0 1
-2 0 2
-1 0 1
gy
-1 -1 -1
0 0 0
1 2 1
Operador de Piwit
Usa la mascara gx
-1 0 1
-1 0 1
-1 0 1
gy
1 1 1
0 0 0
-1 -1 -1
 
26
Figura 18. Inspección de nivel de llenado en una línea de producción 27
8.5. EXTRACCION DE CARACTERISTICAS
 En las aplicaciones de visión de máquina, con frecuencia es necesario distinguir un objeto de
otro.
 Tabla. Características básicas y medidas para la identificación de un objeto en el caso de
objetos bidimensionales.
 Centro de gravedad: para todos los pixels (n) en una región donde cada pixel está especificado
por las coordenadas (x,y), las coordenadas x e y del centro de gravedad se definen como
1 1
C.G.y = ------y C.G.x = ------x
n N
 Relación de aspecto: La relación longitud – anchura de un rectángulo de contorno que rodea al
objeto. Un objetivo es encontrar el rectángulo que da la relación de aspecto mínima.
 Delgadez: Es la medida de lo delgado que es un objeto. Dos de las definiciones que se utilizan
son (Perímetro)2
(a) Delgadez = -----------------------
área
Esta se conoce también como su compacidad.
(b) Delgadez = diámetro / área

28
El diámetro de un objeto, sin considerar su forma, es la distancia máxima obtenible entre 2
puntos situados en el contorno de un objeto.
 Momentos: dada una región, R, y las coordenadas de los puntos (x,y) en o sobre el contorno
de la región, el momento de orden pq.ésimo de la imagen de la región viene dad por
 

Mpq =  xp. Yq
x.y

Ejemplo 1. Considérese el esquema de la imagen de la figura 19.

Figura 19. Representación esquemática del modelo de pixel para el ejemplo 1. 29


Determinar el área, la relación de aspecto mínima, el diámetro, el centro de gravedad y las
medidas de delgadez de la imagen.
Para la imagen se muestra el rectángulo de contorno mínimo. Para facilidad de cálculo, el origen
es trasladado al origen de las coordenadas x´ e y´. El área puede determinarse a partir del
momento Mo´o´ como

Mo´o´ =  x´. y´ = 45 pixels.


x´,y´

La relación de aspecto mínima utilizaría el rectángulo de contorno mínimo, siendo


Longitud 11
Relación de aspecto mínima = ----------------- = -------- =1.57
Anchura 7
  

30
Con el diámetro = 11 pixels. La posición del centro de gravedad para los n= 45 pixeles en la región se
calcularía a partir de
1
C.G.y´ = ------y´
n

  1
C.G.x´ = ------x´
N

Cgx= (1/45)[7(1/2)+7(3/2)+7(5/2) +3(7/2)+3(9/2)+3(11/2)+3(13/2)+3(15/2)+3(17/2)+3(19/2)+3(21/2)]


Cgx= 4.43
Cgy= (1/45) [3(1/2)+3(3/2)+11(5/2)+11(7/2)+11(9/2)+3(11/2)+3(13/2)]
Cgy= 3.5

31
Donde la localización de los pixeles viene dada por el punto medio de cada célula de pixel.
(C.G.=centro de gravedad).
De las dos medidas de delgadez definidas, los cálculos serían:
perímetro =36
(perímetro)2 362
(b) Compacidad = ------------------- = ------- = 28.8
área 45
 
diámetro 11
(b) Delgadez = ------------------- = ------- = 0.24
área 45
 
Reconocimiento del objeto
El próximo paso en el procesamiento de los datos de la imagen es identificar el objeto que la
imagen representa. Este problema de identificación se resuelve utilizando la información sobre
las características extraídas que se describe en la sub sección anterior. Las técnicas de
reconocimiento de objeto utilizadas hoy en día en la industria se pueden clasificar dentro de dos
categorías principales:
1.      Técnicas de coincidencia de plantilla
2.      Técnicas estructurales.
32
8.6 PROCESAMIENTO DE IMAGENES EN MATLAB
Matlab soporta los siguientes formatos de imagen TIFF .tiff ,JPEG .jpg ,GIF .gif ,BMP .bmp,
PNG .png,XWD .xwd
• 1 Lea y despliegue una imagen
• a Aclare el área de trabajo de MATLAB de cualquier variable y cierre las ventanas de la
figura abiertas. >>close all
• b. Lea y muestre la imagen >>I = imread('pout.tif'); >>imshow(I)
• Si la imagen esta en un directorio especificado
• >> I = imread('D:\SISTEMAS INTELIGENTES 2017\Fotos\Avion.bmp'); imshow(I)
• c. Para conseguir la información de las variables de trabajo >> whos
• Name Size Bytes Class Attributes
• I 265x416x3 330720 uint8

33
PROCESAMIENTO DE IMAGENES EN MATLAB
Mostrando Imágenes Binarias
>>BW = imread('circles.png');
>>imshow (BW ); imshow (~BW )
Mostrando Imágenes de todo color
>>RGB = imread('peppers.png');
>>imshow(RGB)

34
PROCESAMIENTO DE IMAGENES EN MATLAB
Extender los valores de intensidad (la imagen en escala de grises)
>>figure, imhist(I) ;
• Despliegue la nueva imagen igualada, I2, en una nueva ventana de la figura.
 >>figure, imshow(I2)
• Tambien puede ver su histograma con: >>figure, imhist(I2)

35
PROCESAMIENTO DE IMAGENES EN MATLAB
Paso 4: Escriba la Imagen a un Archivo del Disco
>>imwrite(I2, 'D:\SISTEMAS INTELIGENTES
2015\Fotos\pout.tif') info = Filename: [1x69
Para conseguir la información de la imagen del archivo char]
>> info = imfinfo('pout.tif') FileModDate: '04-Dec-2000
Lea y despliegue la imagen de la escala de grises rice.png. 06:57:50'
FileSize: 69004
Format: 'tif'
FormatVersion: []
Width: 240
Height: 291
BitDepth: 8
ColorType: 'grayscale‘
FormatSignature: [73 73 42
0] ….

36
PROCESAMIENTO DE IMAGENES EN MATLAB
Acceder a un pixcel de una imagen
>> I = imread('rice.png'); imshow(I)
>> I (2,15 ) ans = 97
Devuelve el valor para el píxel a la fila 2, la columna 15 de la imagen I
Ampliar o desminuir una imagen
>>pout = imread('pout.tif');
>>imshow(pout, 'InitialMagnification', 250)
• Para aumentar imagen
>>pout = imread('pout.tif');
>>imtool(pout, 'InitialMagnification', 150) ( se puede modificar con la
herramienta de imagen)
• Controlando la Aparición de la Figura
• La figura siguiente enseña la misma imagen mostrada con una
frontera y sin frontera.
>> imshow('moon.tif','Border','tight')
>>imshow('moon.tif')

• >> imshow('moon.tif')

37
Especificando el Tamaño de la Imagen de Salida
• Utilizando el Factor de Aumento ( figura 2
25% mas grande que figura1)
• I = imread('circuit.tif');
• J = imresize(I,1.25);
• imshow(I); figure, imshow(J)
• Especificando el Tamaño de la Imagen de
Salida
• La orden siguiente crea una imagen de salida
con 100 filas y 150 columnas.
• I = imread('circuit.tif');
• J = imresize(I,[100 150]);
• imshow(I)
• figure, imshow(J)
• La imagen rota 35 grado
• >> J = imrotate(I,35);
• >> figure, imshow(J)
38
FILTRADO DE UNA IMAGEN
• Filtrando Utilizando infilter (filtro por prorattio)
• I = imread('coins.png');
• h = ones(5,5) / 25;
• I2 = imfilter(I,h);
• imshow(I), title('Original Image');
• figure, imshow(I2), title('Filtered Image')

39
Esqueletización

• Para reducir todos los objetos en una


imagen a líneas, sin cambiar la
estructura esencial de la imagen, utilice
la función de bwmorph. Este proceso
es conocido como skeletonization .
• >> BW1 = imread('circbw.tif');
• BW2 = bwmorph(BW1,'skel',Inf);
• imshow(BW1)
• figure, imshow(BW2)
• >> figure, imshow(~BW2)

40
EJERCICIO
• Cargar una imagen. Mostralo y mostrar planos de las imágenes
• I = imread('E:\PAE ABRIL 2008 NUEVO\Fotos\forma4.bmp');
• >> imshow(I)
• planeR=Image2( :, :,1) ; planeG=Image2( :, :,2) ;
planeB=Image2( :, :,3) ;
• >> imshow(Image2); >> imshow(planeR);
• >> imshow(planeG); >> imshow(planeB);

ROJO VERDE AZUL


41
Convertir imagen de colores a escala de grises y binaria
a)Leer y mostrar la Imagen ( del ejercicio anterior)
Image2= imread('E:\PAE ABRIL 2008 NUEVO\Fotos\forma4.bmp');
>> imshow(Image2);
b) Convertir Imaagen RGB a GrayScale
J = rgb2gray(Image2); imshow(J);
c) Vonvertir imAgen Grayscale a BN
BW = im2bw(J, 0.7); >> imshow(BW);
d) Detectar borde
>> BW1 = edge(J,'sobel'); >> imshow(~BW1)

42
Determinación de perímetro
Mostrando un Complot de Contorno
de Datos de Imagen
•Lea una imagen de grayscale y
muéstrelo.
•I = imread('rice.png');
•imshow(I)
•Muestre un complot de contorno de
la imagen de grayscale.
•figure, imcontour(I,3)

43
DETECTANDO BORDES
• Lee imagen y mostrar
• >>I = imread('coins.png');
>>imshow(I)
• Aplique el operador de Sobel y
canny a la imagen y muéstrelos.
• >>BW1 = edge(I,'sobel');
• >>BW2 = edge(I,'canny');
• >>imshow(BW1)
• >>figure, imshow(BW2)

Filtro de
sobel

Filtro de Canny 44
Detectando Líneas Utilizando la Transformación de Hough

Lea una imagen en el espacio de trabajo de


MATLAB.
>>I = imread('circuit.tif'); Para este ejemplo
haga girar y corte la imagen.
>>rotI = imrotate(I,33,'crop');
>>imshow (rotI );
Encuentre los filos en la imagen.
>>BW = edge(rotI,'canny');
>>imshow (BW);

45
Acceso a píxel y planos en las imágenes
Encontrando el tamaño de la
imagen
image=imread(’ E:\PAE ABRIL
2008 NUEVO\Fotos\niño.bmp”
imshow(image)
>> [m, n]=size(image)

m = 104
n = 420

>> image(20,20) ans = 139


Cambiar al color negro
>image1(20,20)=0 ;
46
Redes neuronales convolucionales
Las redes neuronales convolucionales están específicamente diseñadas para
el trabajo con imágenes, ya que, si queremos trabajar por píxeles en una
imagen, si esta tiene simplemente 120 píxeles de altura, 120 píxeles de
anchura y tres canales de color (120x120x3) necesitaríamos que la primera
capa interna tuviese 43200 pesos a configurar, y esto solo para una imagen
pequeña.
Estas redes neuronales en lugar de estar formadas por capas internas hechas
por un conjunto unidimensional de neuronas como las vistas hasta ahora,
están formadas por capas internas tridimensionales, es decir, cada capa tiene
una anchura, una altura y una profundidad. Existen varios tipos de estas
capas, siendo la principal la capa convolucional.
A las matrices formadas por los distintos pesos de estos conjuntos
tridimensionales de neuronas se les llama filtros. Dividiendo la imagen por
zonas y haciendo distintas combinaciones se consigue reducir el número de
neuronas utilizadas a como sería con una red prealimentada.

47
48
APLICACIONES
1. Smartphones
Las grandes empresas de smartphones están en una continua
carrera por mejorar las cámaras frontales y traseras, y a su vez
el software que hay detrás de ellas. Entre las diversas
aplicaciones que estos aparatos ofrecen podemos encontrar
detección facial, estabilización de video, anticipación de
movimiento, autoenfoque, control automático de la
iluminación, detección de profundidad… El caso de los
smartphones es probablemente el contacto más cercano que
tiene la población general con la visión artificial.

49
50
2. Vehículos autónomos
Los vehículos autónomos necesitan una gran cantidad de
información para poder funcionar correctamente, y la mayoría de
esta información se consigue mediante cámaras y visión artificial
junto con otros tipos de sensores. Pero actualmente está tecnología
está en desarrollo por varios motivos.
Sin embargo, actualmente la visión artificial sí se encuentra en el
mercado de la automoción con otros tipos de aplicaciones de
automatización, como por ejemplo la detección de puntos ciegos,
los sistemas de visión nocturna, detección de somnolencia o
sistemas de prevención de colisión.

51
52
PROBLEMAS PROPUESTOS

53
PROBLEMAS PROPUESTOS

3. Dada la siguiente figura


0000000
0111110
0111110
0111110
0111110
0000000
a) Determinar el área, la relación de aspecto mínima, el
diámetro, el centro de gravedad , compacidad, delgadez.

54
BIBLIOGRAFÍA

Mikell P. Groover et. al/ROBÓTICA


INDUSTRIAL/McGRAW-HILL
https://youtu.be/V8j1oENVz00
https://youtu.be/5Z4VZhHZk58
https://youtu.be/65YPJlmbpXc

55

También podría gustarte