El proyecto presentado tiene el siguiente diagrama general

Anuncio
BARRENADO DE PLACAS MEDIANTE PROCESAMIENTO DIGITAL DE
IMÁGENES
Juan Carlos Martínez Espinoza, Jorge Barroso Castro, Martha D Ponce Sánchez., Bernardo
Martínez Ortega, Alma Adriana Camacho Pérez.
Universidad de LaSalle
Av. Universidad No.602, Col. Lomas del Campestre, León, Gto.
e-mail: [email protected]
RESUMEN
El proyecto propuesto es el procesamiento digital de una imagen captada por una cámara Web para realizar
perforaciones con un taladro sobre placas, esto es, que el taladro reconocerá en lugar exacto en donde se
encuentran los círculos y las líneas limites, sobre ellos realizara los barrenos y recorrerá los límites realizando
una función similar a la de una máquina de control numérico 1. Una de las finalidades de este proyecto es
llevarlo hasta la etapa comercial.
1. INTRODUCCION
La información visual juega un papel muy importante en la comunicación humana, de ahí que no sea de
extrañar el gran interés mostrado por el desarrollo de sistemas para el tratamiento digital de imágenes. Sus
aplicaciones son fundamentales e imprescindibles en multitud de campos: ingeniería, física, biología,
medicina, etc.
2. OBJETIVO
Implementación de códigos “G” y maquinado de barrenos sobre piezas por medio del tratamiento de
imágenes procesadas sobre un entorno amigable de programación.
3. FUNCIONAMIENTO DE LA MAQUINA
Hablamos de una máquina que por medio del tratamiento de una imagen de una placa fenólica captada por
una cámara Web, la computadora detectará a través de la imagen donde se tendrán que realizar perforaciones,
esto se realizará por medio del movimiento de los ejes X, Y y Z manipulados desde la computadora y se
pasará la señal a la máquina montada sobre ejes en los cuales se encuentra un taladro que se posicionará sobre
la placa respectivamente en donde hará las perforaciones, esto es, que el taladro reconocerá en lugar exacto en
donde se encuentran los círculos y las líneas limites, realizará los barrenos y recorrerá los límites realizando
una función similar a la de una máquina de control numérico.
El proyecto presentado tiene el siguiente diagrama general, el rectángulo punteado nos muestra los procesos
que hasta hoy están implementados.
Detección
con CCD
Proceso
en
CPU
Amplificación
de Señal
1. Diagrama
General
Implementación
Electro-mecánica
Datos procesados
Pieza
El siguiente esquema muestra de manera profunda cada una de las funciones a desarrollarse dentro del
proceso que se hace en la computadora una vez obtenida la imagen.
Captura de
Imagen
Convertir a
Escala de Grises
Maquinado
de Pieza
Escritura de
Códigos “G”
Filtrado
Salida de
Datos PC
Detección de
Contornos
Envio de
Datos a PC
Reconocimiento
de Patrones
Obtención de
Coordenadas
Detección
de Puntos
2. Diagrama Específico
de Proceso
HISTOGRAMA. El histograma es la base de una gran cantidad de técnicas de procesado de imagen y por esa
razón es objeto de estudio en esta práctica. Básicamente el histograma es la representación gráfica de las
frecuencias relativas con las que aparecen los distintos colores en una determinada imagen
En general se representa como un gráfico de barras en el que las abcisas son los distintos colores de la imagen
y las ordenadas la frecuencia relativa con la que cada color aparece en la imagen. El histograma proporciona
información sobre el brillo y el contraste de la imagen, y puede ser utilizado para ajustar estos parámetros,
eliminar ciertas tonalidades molestas, etc. Estas técnicas de manejo del histograma son las se manipulan
dentro del software.
MODIFICACIÓN DEL HISTOGRAMA. La modificación del histograma consisten en generalizar las
transformaciones de intensidad de los pixeles de la imagen. En general se define una función de transferencia,
una función que se aplica a cada pixel de la imagen para transformar su valor. De esta forma se puede definir
cualquier transformación de intensidad como la variación del brillo y el contraste, el ecualizado, el negativo,
etc. aunque algunos de estos procesados pueden realizarse de manera más eficiente con algoritmos específicos
como veremos en apartados sucesivos.
ESCALA DE GRISES. Lo primero que se hace es capturar la imagen por medio de una cámara Web, el
software desarrollado realiza el proceso de captura de la fotografía. El procesado de imágenes, que comprende
la manipulación por ordenador de imágenes reales, resuelve estos problemas al poder automatizar el proceso
de extracción de información útil de los datos de la imagen. Con el procesado de imágenes, también podemos
perfeccionar la imagen, corregir distorsiones, etc. Existen dos tipos principales de aplicaciones para el
procesado de imágenes:


Las aplicaciones que refuerzan o reconstruyen una imagen dañada o de mala calidad.
Las aplicaciones que extraen información numérica o gráfica de la imagen.
Una vez que contamos con esta, lo primero que hacemos es convertirla a un formato de escala de grises para
poder trabajar con ella.
En esta parte se estudiará la conversión de una imagen en color a escala de grises, el equivalente a la
luminancia de la imagen. Como ya sabemos el ojo percibe distintas intensidades de luz en función del color
que se observe, esto es debido a la respuesta del ojo al espectro visible la cual se puede observar en la figura,
por esa razón el cálculo del equivalente blanco y negro (escala de grises o luminancia) de la imagen debe
realizarse como una media ponderada de las distintas componentes de color de cada pixel.
La ecuación de la luminancia nos muestra es la expresión matemática de ese fenómeno y los factores de
ponderación de cada componente de color nos indican la sensibilidad del ojo humano a las frecuencias del
espectro cercanas al rojo, verde y azul.
Y = R*0.3+G*0.59+B*0.11
(1)
Por tanto, para realizar esta conversión llega con aplicar esta ecuación a cada pixel de la imagen true-color.
Aparecería una nueva matriz de un byte por pixel que daría la información de luminancia. Para convertir a
escala de grises una imagen de paleta, basta con convertir cada color de la paleta a su gris correspondiente
según la ecuación anterior, creando una nueva paleta de grises.
FILTRADO. Para realizar el Filtrado de datos existen varias técnicas como la de pasa bajos, pasa medios,
pasa alto, filtro Smoth y filtro Sharpen, todos ellos implementados en el programa aunque la que nosotros
recomendamos utilizar es la técnica de pasa medios. El problema de algunos métodos como el paso bajo es
que difumina los bordes y otros detalles afilados. Nosotros queremos reducir el ruido en vez de difuminar, por
esa razón se utilizó la técnica filtros de mediana. En estos filtros, el nivel de gris del cada pixel es
reemplazado por la mediana de los niveles de gris de los pixeles que lo rodean. Este método de filtrado es
particularmente efectivo cuando el patrón de ruido consiste en fuertes impulsos y se pretende mantener los
bordes sin difuminar.
DETECCION DE CONTORNOS. Para realizar la detección de bordes igualmente existe un sin número de
técnicas de primera derivada como Prewitt, Sobel, Roberts, Frei-Chen1 y segunda derivada como laplaciano.
Muchas técnicas basadas en la utilización de máscaras para la detección de bordes utilizan máscaras de
tamaño 3x3 o incluso más grandes. La ventaja de utilizar máscaras grandes es que los errores producidos por
efectos del ruido son reducidos mediante medias locales tomadas en los puntos en donde se superpone la
máscara. Las máscaras tienen tamaños impares, de forma que los operadores se encuentran centrados sobre
los puntos en donde se calculan los gradientes.
Los operadores de gradiente común encuentran bordes horizontales y verticales y trabajan mediante
convolución. Los operadores de Prewitt, Sobel, Roberts y Frei-Chen son operadores dobles o de dos etapas.
La detección de bordes se realiza en dos pasos, en el primero la máscara busca bordes horizontales y en el
segundo los verticales, el resultado final es la suma de ambos.
Los filtros diferenciales ayudan a detectar bordes pues las zonas que en la imagen original son de un tono
uniforme se transforman en un gris mediano. Mientras los bordes, zonas donde hay un cambio abrupto de
intensidad, son enfatizados. Algunos resultan negros y otros blancos.
El sistema cuenta con las técnicas de Roberts y Sobel de entre las que recomendamos usar la segunda por
calidad al usuario para con esto obtener el reconocimiento de patrones, se eliminará el ruido
BRILLO. Modificar el brillo de una imagen es añadir una cantidad constante al valor del tono de cada uno de
los pixeles de la misma. Si este valor es positivo estamos aumentando el brillo de la imagen, mientras que, si
por el contrario es negativo, el brillo disminuye. Evidentemente si al sumar la constante se pasa de 255, se
queda el pixel en ese valor. Lo mismo si baja de 0 se queda en negro. Por tanto las modificaciones de brillo
corren el riesgo de perder información de la imagen.
CONTRASTE. El contraste mide, en cierto modo, el rango dinámico de los colores en la imagen, es decir,
una imagen muy contrastada tiene un amplio abanico de colores (o tonos de gris) desde valores muy bajos a
valores muy altos. Para una imagen con poco contraste los colores están muy juntos, el margen dinámico es
pequeño.
La variación en el contraste aparece como una compresión del histograma en caso de una reducción, o una
expansión en caso de aumento de contraste. Al igual que el brillo, variando el contraste se puede provocar una
pérdida de información de la imagen.
NEGATIVO. Este efecto consigue hallar, como su nombre dice, el negativo de una imagen. Lo que
obtenemos es la imagen tal y como aparece en los carretes de fotos cuando se revelan (no en el papel, sino en
la película). El efecto de negativo ya ha sido comentado cuando se trató el tema de las modificaciones de
histograma. Allí se indicaba que existían formas más eficientes de implementar ciertos procesados.
UMBRAL o THRESHOLD. Threshold podría ser traducido como umbral. Este efecto convierte una imagen
en tonos de gris en una imagen bicolor (blanco y negro), asignando el valor 255 (blanco) a los valores de
pixeles por encima de un cierto umbral, el cual es un parámetro, o 0 si está por debajo de este.
ELIMINACIÓN DE RUIDO. Entendemos por ruido en imágenes digitales cualquier valor de un píxel de
una imagen que no se corresponde exactamente con la realidad. Cuando se adquiere una imagen digital, ésta
está contaminada por ruido. El ruido se debe, la mayoría de las veces al equipo electrónico utilizado en la
captación de las imágenes y al ruido añadido en los tramos de transmisión.
Tenemos que distinguir dos clases diferentes de ruido:


Ruido gaussiano: Se caracteriza por tener un espectro de energía constante para todas las frecuencias.
Cuando se presenta este problema, el valor exacto de cualquier píxel es diferente cada vez que se
captura la misma imagen. Este efecto, suma o resta un determinado valor al nivel de gris real y es
independiente de los valores que toma la imagen.
Ruido impulsivo: Se caracteriza por la aparición de píxeles con valores arbitrarios normalmente
detectables porque se diferencian mucho de sus vecinos más próximos.
MORFOLOGIA. EROSION. El filtrado de mínimo y de máximo es muy similar al filtrado de mediana,
junto con éste forman los filtros de rango. En vez de sustituir el píxel del centro por el valor medio, se utiliza
el valor mínimo o máximo de la ventana. Estos filtros son eficaces en eliminar el ruido impulsivo extremo. El
filtro mínimo elimina los puntos blancos, mientras que el filtro máximo elimina los puntos oscuros.
Con el filtrado de mínimo, un píxel se representa con el píxel más oscuro de su vecindad, por lo que la
intensidad total de la imagen de salida será reducida. Este filtro tiende a "ensanchar" las líneas negras de la
imagen, por esta razón también es conocido como filtro de dilatación.
Con el filtrado de máximo se aumenta la intensidad total de la imagen de salida. Este filtro también es
conocido como filtro de erosión, debido a la propiedad que posee de "adelgazar" líneas. Si la imagen posee
líneas negras, al elegir el valor máximo de la vecindad de cada píxel, los valores más oscuros serán sustituidos
por valores más altos con la consiguiente reducción de los píxeles cercanos al negro.
DETECCION DE PUNTOS Y OBTENCION DE COORDENADAS. En este punto se utilizará una
técnica propia que consiste en lo siguiente: determinar el tamaño total de la placa en la imagen, determinar la
distancia que existe entre cada uno de los centros de los círculos y los bordes de la placa. Una vez obtenidas
estas distancias, en una nueva ventana con las mismas dimensiones de la placa original se trazaran puntos
tomando las distancias tomadas anteriormente como referencia para que estos sean los puntos a barrenar en
una placa donde ya no exista el error.
ENVIO DE DATOS A LA PC. El envío de datos a la PC se realizará por puerto paralelo y con esto se
obtendrá el maquinado de la pieza mediante el posicionamiento del taladro sobre la placa identificadas
anteriormente las coordenadas de los puntos a barrenar. Esto también nos podrá proporcionar el maquinado de
los códigos “G”.
DISEÑO DE SOFTWARE. El software consta con las siguientes opciones: Web Cam contiene la parte de
visualización, captura de imagen y analizar imagen. CNC manual, esta opción nos permite manipular el
motor por medio de cada uno de los ejes de manera manual tomando distancias como referencia o
movimientos paso a paso. Analizar imagen, contiene todas las opciones para el procesamiento de imagen.
El manejo de los ejes y la parte electro-mecánica está conformada por dos módulos, el de motor
(posicionamiento por medio de coordenadas) y el DSP (procesamiento de la imagen).
En el menú de analizar imagen podemos encontrar las opciones de escala de grises, histograma, filtro, bordes,
morfología. Escala de grises contiene un submenú con la opción de y transformada de intensidad en la que
encontramos efectos como: negativo, brillo, contraste, escalado de imagen y segmentación de imagen.
En el submenú de filtros encontramos opciones de: filtro pasa bajos, filtro Smooth, filtro pasa medios, filtro
pasa alto y filtro Sharpen.
En el submenú de bordes tenemos el manejo por la técnica de Roberts y Sobel.
En el submenú de morfología tenemos el tratado de la Erosión. Imágenes mostradas en el póster.
BIBLIOGRAFÍA
1. Norton. L. Robert, Diseño de Maquinaria, Mc. Graw Hill
2.
J.R. Parker, “Algorithms for Image Processing and Compunter”. 2ª edición. p.p. 120-250
3.
Páginas Web diversas relacionadas con el tema, entre las que debemos destacar:
a.
www.claraocr.org
b.
dkc.jhu.edu/gamera
c.
www.gnu.org/software/ocrad
d.
http.cs.berkeley.edu/ocrchie
Descargar