PRACTICA 6


TITULO

Detección de defectos en placas de circuitos impresos

OBJETIVO

El objetivo de la práctica es mostrar al alumno las diversas posibilidades que ofrece las técnicas de visión artificial para la detección de defectos en placas de circuitos impresos. Los defectos o características que se detectarán son los siguientes:
  • De los Pad:
    • Su existencia
    • El tamaño del taladro
  • Del circuito:
    • Si existe algún corte en los conductores
    • Si existe algún estrechamiento en los conductores
    • Si existe algún engordamiento en los conductores

IMÁGENES DE PRUEBA

Las imágenes de trabajo son dos imágenes reales, captadas del módulo servidor de imágenes. Cada una de ellas se corresponde con un circuito distinto, existente en el módulo servidor de imágenes. Las imágenes están ya adquiridas, y se accede a ellas en el menú de "Imágenes/CargarPrácticas/ImagenPráctica6" con el nombre de CIRCUITO1, CIRCUITO2 .

CIRCUITO1

CIRCUITO2

En ellas se distinguen tres tipos de objetos:
  • Conductores, de tonalidad más oscura.
  • Placa, de tonalidad intermedia.
  • Taladros, de tonalidad más clara.
Se supone conocidos, aproximadamente, los siguientes datos:
  • Rango de anchura de los conductores: 3-6 pixeles (ambos inclusive)
  • Rango de tamaño de los radios de los taladros: 2-3 pixeles (ambos inclusive)
  • Rango de tamaño de los radios de los Pad: 6-9 pixeles (ambos inclusive)

ALGORITMOS UTILIZADOS

Se emplean al menos los siguientes algoritmos básicos:
  • Separar las tres componentes de una imagen RGB en color ("AlgoritmosColor/CanalesColor/SeparaCanales")
  • Definir un área de interés en la imagen ("Imágenes/Manipulación/AreaInterés")
  • Copiar un área de interés en la imagen ("Imágenes/Manipulación/CopiarArea")
  • Filtrado con el algoritmo de la mediana ponderada del entorno de vecindad ("AlgoritmosBN/Ruido/Reducción/MedianaPonderada")
  • Segmentación por umbral ("AlgoritmosBN/Segmentación/Umbralización"). Permite dividir la imagen en tres campos: conductores, placa y taladros
  • And de dos imágenes ("AlgoritmosBN/DosImagenes/AND")
  • Or de dos imágenes ("AlgoritmosBN/DosImagenes/OR")
  • Erosión de una imagen ("AlgoritmosBN/Morfología/Erosión")
  • Dilatación de una imagen ("AlgoritmosBN/Morfología/Dilatación")
  • Opening de una imagen ("AlgoritmosBN/Morfología/Opening")
  • Closing de una imagen ("AlgoritmosBN/Morfología/Closing")
  • Hit-or-Miss con una máscara de reconocimiento ("AlgoritmosBN/Morfología/Binaria/HitOrMiss")
  • Adelgazamiento de un objeto binario ("AlgoritmosBN/Morfología/Binaria/Adelgazamiento")
  • Podamiento de puntos extremos ("AlgoritmosBN/Morfología/Binaria/Podamiento")
  • Guarda una imagen en un buffer de trabajo ("Imágenes/GuardaEnBuffer")
  • Leer una imagen en un buffer de trabajo ("Imágenes/LeeDeBuffer")
  • Composición de imágenes en falso color (usando los tres canales de una imagen en RGB para destacar posibles defectos), con el algoritmo ("AlgoritmosColor/CanalesColor/UneCanales")
Para más información, consultar el Tutorial sobre Visión Artificial (Capítulo 8. Tratamientos Morfológicos) existente en el sistema.

DESCRIPCIÓN DE LA PRÁCTICA

El alumno debe detectar los defectos existentes en la imagen mediante transformaciones morfológicas, componiendo una secuencia de operaciones sobre la misma. Se realizará sobre las dos imágenes: CIRCUITO1, CIRCUITO2.
    El desarrollo de la práctica se divide en tres partes: la primera común en la que se adaptan las imágenes de prueba, y las dos siguientes en las que se detectan por separado las características de los taladros y de los conductores. La primera está descrita ampliamente, mientras que en las otras dos se expone solamente los objetivos deseados con las imágenes correspondientes al CIRCUITO2
      1) Adaptación de las imágenes: Con las dos imágenes se realizan las siguientes acciones:
      • Conversión de la imagen en color (CIRCUITO1, CIRCUITO2) en una imagen en blanco y negro que recoja la información de la misma. La información más discriminante de la imagen captada en color, reside en el tercer canal (componente azul), por lo que es más adecuado trabajar sólo con ésta componente. Adicionalmente, al ser imágenes reales, es necesario homogenizar los márgenes de la imagen, con el algoritmo "AreaInteres" (parámetros x1=10, y1=10, x2=465, y2=450, nivel de gris=120). La imagen resultante se denomina CIRCUITO_BN.
      • Determinación de los taladros. Con la imagen CIRCUITO_BN se copia el área de trabajo, con el algoritmo "CopiarArea" (parámetros x1=1, y1=1, x2=479, y2=479), y se homogeniza la imagen con un "Closing" y un "Opening" ambos con una iteración y una máscara en cruz. Posteriormente se umbraliza con un umbral 170, obteniéndose la imagen SOLO_TALADROS.
      • Determinación de los conductores. Con la imagen CIRCUITO_BN se filtra con el algoritmo "MedianaPonderada" y se copia el área de trabajo, con el algoritmo "CopiarArea" (parámetros x1=1, y1=1, x2=479, y2=479). Posteriormente se umbraliza con un umbral 80, y se invierte obteniéndose la imagen SOLO_CONDUCTORES.
      • Determinación de la zona conjunta conductores y taladros. Con la imagen SOLO_TALADROS, dilatada 3 veces con un elemento estructurante en cruz, y la imagen SOLO_CONDUCTORES, haciendo un OR entre ambas, se obtiene la imagen conjunta, que se denomina SOLO_OBJETO.
      • Determinación de la zona de influencia de los Pads. Para halla la zona de influencia de los Pads se dilata dos veces, con un elemento estructurante en cruz, la imagen SOLO_OBJETO (para evitar posibles zonas no homogéneas) y a continuación se erosiona ocho veces la imagen, con un elemento estructurante en cruz (según tamaño máximo posible de los conductores), para posteriormente dilatar seis veces (ocho menos dos) la imagen resultante. A esta imagen se denomina ZONA_PADS
      2) Determinación de las características de los Taladros: En concreto se desea obtener partiendo de las imágenes SOLO_TALADROS y SOLO_OBJETO, las siguientes imágenes (es conveniente representarlas en falos color superpuestas con la imagen SOLO_CONDUCTORES):
      • Taladros con un radio menor de dos (en la siguiente figura se recogen los taladros con radios menor que dos de la imagen CIRCUITO2)
      • Taladros con un radio mayor de tres (en la siguiente figura se recogen los taladros con radios mayor que tres de la imagen CIRCUITO2)
      • Pads que no poseen taladros (en la siguiente figura se recogen los pads que no poseen taladros en la imagen CIRCUITO2)
      • Pads que son mayores que ocho (en la siguiente figura se recogen los pads que son mayores que ocho en la imagen CIRCUITO2)
      3) Determinación de las características de los Conductores:En concreto se desea obtener partiendo de las imágenes SOLO_CONDUCTORES y SOLO_OBJETO, las siguientes imágenes (es conveniente representarlas en falos color superpuestas con la imagen SOLO_CONDUCTORES):
      • Conductores de anchura menor que tres (en la siguiente figura se recogen los conductores que son menores que tres en la imagen CIRCUITO2)
      • Conductores de anchura mayor que un valor dado (en la siguiente figura se recogen los conductores que son mayores que seis y que ocho en la imagen CIRCUITO2)
      • Pequeños defectos estructurales: Pequeños cortes, pequeños estrechamientos, ... (todo aquello que se considere significativo). Para ello se analizará la imagen SOLO_OBJETO con un detector estructural como es el "HitOrMiss". A este detector se le suministra dos máscaras: en la primera máscara se ponen a 1 los pixeles que deben estar en la imagen como activos (a 255); en la segunda máscara se ponen a 1 los pixeles que deben de estar en la imagen como inactivos (a 0); los pixeles que están a 0 en ambas máscaras pueden tomar cualquier valor en la imagen. Por ejemplo con las siguientes máscaras se detectan cortes verticales en conductores horizontales, de anchura de 1 a 3.
      • 1
        0
        0
        0
        1
        1
        0
        0
        0
        1
        1
        0
        0
        0
        1
        0
        0
        1
        0
        0
        0
        0
        1
        0
        0
        0
        0
        1
        0
        0
        Primera Máscara
        Segunda Máscara
        Al aplicar los algoritmos pueden detectarse puntos erróneos en la proximidad de los Pads, por lo que se recomienda filtrarlos utilizando la imagen ZONA_PADS.
        En las siguientes imágenes se represebta distintos detalles detectados para la imagen del CIRCUITO2.


      MÉTODO DE EVALUACIÓN

      El alumno deberá generar áreas de trabajo que obtengan como resultado las imágenes de los apartados 1, 2 y 3, para las imágenes de entrada CIRCUITO1 y CIRCUITO2

        Menu principal
        Menu practicas
        Para cualquier consulta: jsebas@etsii.upm.es