reporte proyecto primer parcial 1
DESCRIPTION
TRANSCRIPT
Sistema de inspección inteligente para sistemas de
calidad en rines de bicicleta. Ingeniería Robótica, Universidad Politécnica de Guanajuato
Av. Universidad s/n Juan Alonso
Cortazar Guanajuato México
Landa Muñoz Jesús David
Domínguez Vega Francisco Manuel
Sistemas de visión Artificial
Abstract—The fundamental objective is get knowledge of
the process and algorithms for analysing images, applying
techniques of intelligent system vision with these
algorithmic processes determine if our piece is apt or not
according to the various specifications as ray number and
siz.
I. INTRODUCCIÓN
La parte más fundamental del proyecto es poder aplicar
técnicas utilizadas en el tratamiento de imágenes para poder
realizar tareas específicas como son las de sistemas de calidad
para líneas de producción.
II. CONCEPTOS REQUERIDOS
¿QUÉ ES UNA IMAGEN?
Es una matriz que enumera ciertos parámetros para captar el
entorno en el que se encuentra según sea su ambiente,
típicamente para su análisis es en forma matricial de n
renglones por m columnas y dimensión depende directamente
de las cualidades del sensor.
¿Definición de una imagen?
Una representación visual, que manifiesta la apariencia visual
de un objeto real o imaginario. Aunque el término suele
entenderse como sinónimo de representación visual, también se
aplica como extensión para otros tipos de percepción,
como imágenes auditivas, olfativas, táctiles, sinestésicas etc.
¿Qué es un pixel?
Pixel, abreviatura de Picture Element, es un único punto en
una imagen gráfica. Los monitores gráficos muestran imágenes
dividiendo la pantalla en miles (o millones) de pixeles,
dispuestos en filas y columnas. Los pixeles están tan juntos que
parece que estén conectados.
¿Cuánto vale un pixel?
Debemos saber el número total de píxeles que tiene la imagen
y por eso sólo hace falta que multipliquemos la anchura por la
altura en píxeles. Por ejemplo una imagen de 12 Megapíxeles
(MP) en color (RGB) y con 8 bits de profundidad de color por
cada canal. En este caso el número total de píxeles sería:
4.288 x 2.848 = 12.212.224 píxeles.
¿Qué es el sensor de una cámara?
El sensor es el corazón de nuestra cámara. Todo lo que
hacemos para capturar una buena foto, desde el momento en
que encuadramos hasta el momento del disparo, todo son
acciones y pasos que persiguen un único objetivo que es
conducir la luz (la imagen) exterior hacia el sensor de la
cámara.
El sensor como su nombre lo indica es un elemento “sensible”
dentro de nuestra cámara, aquello sobre lo cual se proyecta la
luz dibujando una imagen que representa lo que nuestra cámara
ve.
El sensor es para las cámaras de fotos digitales como la película
o carrete que usábamos en las cámaras de fotos analógicas. La
diferencia es que en las cámaras analógicas había que cambiar
la película mientras que en las digitales el sensor es fijo y no
requiere ser cambiado. Podemos “proyectar” sobre él tantas
fotos digitales como queramos, pues para almacenar la foto ya
tenemos la tarjeta de memoria.
Sensor CCD
Un charge-coupled device o CCD (dispositivo de carga
acoplada) es un circuito integrado que contiene un número
determinado decondensadores enlazados o acoplados. Bajo el
control de un circuito interno, cada condensador puede
transferir su carga eléctrica a uno o a varios de los
condensadores que estén a su lado en el circuito impreso.
Sensor MOSFET
Se descubrió que esta nueva tecnología llamada CMOS
(Transistor de efecto de campo metal-óxido-semiconductor)
permitía la creación se sensores que consumían mucha menos
batería, y que a la vez permitían un procesamiento de la imagen
mucho más rápido. Por otro lado a las fábricas les resulta
mucho más económico fabricar un sensor CMOS que uno
CCD.
Última tecnología en sensores,
Cuanto más grande sea el tamaño del sensor, mejor.
Sensor Full Frame, conocido también como
sensor 35mm. Dimensiones: 36x24mm
Sensor APS-H. Dimensiones: 28,7x19mm
Sensor APS-C (usado en las Nikon, Pentax y
Sony). Dimensiones: 23,6×15,7mm
Sensor APS-C (usado en las Canon).
Dimensiones: 22,2×14,8mm
Sensor Foveon (usado en las cámaras Sigma).
Dimensiones: 20,7×13,8mm
Sensor Micro Cuatro Tercios. Dimensiones:
17,3x13mm
Mosaico de BAYER
Es un tipo de matriz de filtros, rojos verdes y azules, que se
sitúa sobre un sensor digital de imagen (CCD o APS) para hacer
llegar a cada fotodiodo la información de luminosidad
correspondiente a una sección de los distintos colores
primarios. Interpolando las muestras de cuatro fotodiodos
vecinos se obtiene un pixel de color. Se llama así por su
creador, Bryce Bayer, de la empresa Eastman Kodak,
El mosaico de Bayer está formado por un 50% de filtros verdes,
un 25% de rojos y un 25% de azules. Interpolando dos muestras
verdes, una roja, y una azul se obtiene un pixel de color. En la
patente de Bryce Bayer, se llama elementos sensores de
luminosidad a los verdes, y elementos sensores del color a los
rojos y azules. La razón de que se use mayor cantidad de puntos
verdes es que el ojo humano es más sensible a ese color. La
disposición de los colores suele ser rojo-verde-rojo-verde... en
una fila, y verde-azul-verde-azul en la siguiente fila paralela.
En los ficheros RAW de las cámaras de fotos digitales se guarda
la información del patrón de Bayer de forma directa, sin
interpolaciones, lo cual puede ser aprovechado posteriormente
por los programas de revelado digital para una decodificación
de mayor calidad que la que permiten los algoritmos internos
presentes en los dispositivos de captura.
-DILATACIÓN
También llamada suma de Minkowski, consiste en sumar
pixeles en la periferia del pixel analizado ya que esto causará
algún incremento en las dimensiones de los objetos de la
imagen y también se combinan ó fusionan características por lo
que tiene a llenar huecos de la imagen ya que este tiene un
elemento estructurante.
Elemento estructurante
-UMBRALIZACIÓN (BINARIZACIÓN)
Es aplicable a imágenes con formato a colores y consiste en
transformar esa imagen en blanco y negro (NO GRISES) a un
umbral establecido según se desee. Para binarizarla es
necesario definir ese umbral ya que es el valor en el cual
comparará los pixeles si son mayores a ese umbral los descarta
y si es menor lo deja como “1” ó “0” según sea la lógica, y se
pueden manipular imágenes con operaciones booleanas y
algebra DeMorgan.
Elemento estructurante
ORIGINAL
BINARIZADA
0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 0 0
0 0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 0 0
0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0 0
0 0 1 1 1 1 1 1 1 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
DILATADA
ORIGINAL
- EROCIÓN
El principal propósito es remover pixeles que no deberían estar
en donde se encuentran, por ejemplo para eliminar pixeles cuyo
valor de brillo está en el rango de brillo de interés.
Elemento estructurante
ORIGINAL
-REGIÓN DE INTERÉS
Es la zona en dónde se realizarán ciertos procesos y aplicaran
algoritmos para darle una apariencia que sea de nuestra
completa conveniencia para utilizar una fotografía y poder
usarla a un proceso específico.
En la siguiente imagen se observan 3 regiones de interés
1) RectA Tiene un proceso tipo Threshold (Binarizado)
con un umbral de 11
2) RectB Tiene un proceso tipo Erode (Erosión) con un
factor de 6
3) RectC Tiene un proceso tipo Dilate (Dilatación) con
un factor de 8
III. COMPONENTES Y MATERIALES UTILIZADOS.
A) Sistema de visión controlado
B) Camara SONY 12MPix
C) Control iluminación
D) Software Sherlock
IV. DESARROLLO DE LA PRÁCTICA
ENTORNO SHERLOCK
BINARIZACIÓN
En la siguiente imagen se puede observar el software en el cual
fue desarrollado todo este sistema de inspección inteligente.
Cargar imagen y seleccionar una RIO que tenga las
dimensiones necesarias para el resto de las imágenes a aplicar
un algoritmo para binarizarla.
Utilizar el algoritmo “Color map” y configurar sus parámetros.
EROCIONADA
Procedemos a crear un nuevo elemento de color a binarizar la
imagen, y lo pones “negro”, enseñar y utilizamos el patrón que
sea por regiones de color iguales y damos click en “Learn”, en
la parte inferior de la imagen activamos la opción “Show all”
para ver las regiones abarcados por el patrón seleccionado, se
muestra el símbolo a continuación.
Se pondrá en color gris las zonas que están siendo abarcadas
con el color patrón de región seleccionado, y así hasta tener
todas las regiones de interés de la imagen cubierta en color gris,
como se muestra a continuación.
Se crea una nueva ventana para imagen en la cual se utilizara
para crear la binarización respecto a los patrones aprendidos,
sobre la nueva en la sección de cargar imagen seleccionamos la
parte de “Reading” para cargar los parámetros binarizados.
A continuación se observa la imagen binarizada, cabe
mencionar que sobre esta imagen binarizada estaremos
trabajando con tonos monocromáticos y se pueden erosionar,
dilatar para cubrir las necesidades del proceso.
Se guarda la imagen procesada y lo mismo para todas las
muestras deseadas
Una vez procesadas las imágenes procedemos a trabajar sobre
ellas para reconocer patrones, centroides y elementos que nos
sean de utilidad para poder identificar el tamaño de los rines,
así como el número de rayos.
A continuación se detallan los pasos seguidos para completar
el programa.
Programa principal y sus subrutinas
Dentro de nuestro programa requerimos realizar distintas
operaciones y procesos, por lo cual dividimos estas operaciones
en subrutinas que forman parte de nuestro programa principal.
A continuación describiremos estas subrutinas y finalmente la
unión de todas ellas dentro del programa principal.
Cálculos
Dentro de esta subrutina realizamos distintos cálculos, como
son, la obtención del diámetro en pixeles, el cambio de el
diámetro en pixeles por diámetro en centímetros y determinar
el ángulo entre rayos, estos datos serán utilizados para tomar
decisiones, por lo cuando quedan guardados en variables para
poder ser utilizados más adelante.
Grande mayor
Dentro de esta subrutina se determina si el rin analizado entra
en las especificaciones marcadas, de ser así lo asigna como
grande mayor y desplegar los mensajes que nos dicen si cumple
con las especificaciones de los rayos, su tamaño y se determina
si es apto o no.
Grande menor
Dentro de nuestra clasificación de los rines determinamos que
hay distintos tamaños de rin grande, con apenas unos
centímetros de diferencia, esto es tomado en cuenta al momento
de analizar las especificaciones, por lo tanto, dentro de esta
subrutina se hacen los cambios pertinentes en las reglas y solo
al cumplir con dichos puntos el rin entra dentro de esta
clasificación.
Mediana 1, 2 y 3
Al igual que en los rines grandes hay pequeñas diferencias
dentro de nuestros rines medianos, siguiendo la misma lógica
que en los rines anteriores se cargan los parámetros dentro de
las tomas de decisiones de modo que al caer dentro de una de
estas especificaciones nos despliegue en pantalla los mensajes
pertinentes.
Programa principal
Dentro de nuestro programa principal mandamos llamar todas
las subrutinas mencionadas anteriormente, y realizamos
algunas operaciones para determinar puntos necesarios dentro
de estas subrutinas, ya sean para tomar decisiones, o realizar
cálculos.
Una de estas operaciones es crear un área circular, con la cual
determinaremos el centroides de nuestra figura, con este punto
podemos determinar el diámetro de nuestro rin dentro de la
subrutina de operaciones, y con este valor posteriormente
determinar dentro de que clasificación de tamaño entra nuestra
pieza.
También creamos dos círculos, estos nos ayudaran a determinar
el número de rayos y para comparar si es rin grande o mediano,
ya que en el rin mediano el círculo mayor no encuentra puntos
de identificación de rayos.
El número de rayos nos ayudara a determinar si la pieza es
aceptable o no.
Finalmente se acomodan las operaciones y llamados de
subrutinas de modo adecuado, ya que tiene un orden correcto
como se mencionó, algunas de las subrutinas requieren la
adquisición de datos antes poder ser llamadas.
Conclusiones
Landa Muñoz Jesús David
El desarrollo de un sistema de visión completo y controlador es
el principal parámetro que nos ayudara ó hará más difícil el
proceso ya que no hay problema con brillo ó sombras y ese fue
nuestro principal obstáculo al tratar de hacer el procesamiento
ya que los tonos luminosos tienden a confundirse con partes de
nuestra región de interés y el fondo lo cual por una parte nos
puso a trabajar más pero aprendimos como poder contrarrestar
esos problemas.
Por otro lado el proceso de conteo e identificación de elementos
fue mucho más eficiente y rápido ya que las imágenes pre
procesadas tenían nuestras características ideales entonces solo
fue necesario utilizar formular trigonométricas y ecuaciones
algebraicas para obtener los parámetros requeridos.
Dominguez Vega Francisco Manuel
La adquisición de imágenes es una parte fundamental de todo
sistema de visión, ya que detalles como el ángulo de la cámara,
la iluminación o el brillo de la pieza pueden dificultar el proceso
de las imágenes.
Al binarizar imágenes es importante aplicar procesos que
mantengan la información que nos interesa, ya que de lo
contrario podemos perder información importante e incluso
agregar datos inexistentes a nuestra imagen.
Una imagen bien binarizada nos facilita procesos posteriores,
como son adquisición de puntos o datos de nuestra imagen.
Un buen binarizados se realiza con experiencia y conocimiento
de los datos que se quieren obtener.
Al mantener el programa principal lo más simple posible nos
ayuda a detectar posibles fallas, así como solucionar más
fácilmente los errores que se puedan presentar.