ES2370015T3 - Sistema y método de inspección. - Google Patents

Sistema y método de inspección. Download PDF

Info

Publication number
ES2370015T3
ES2370015T3 ES04008677T ES04008677T ES2370015T3 ES 2370015 T3 ES2370015 T3 ES 2370015T3 ES 04008677 T ES04008677 T ES 04008677T ES 04008677 T ES04008677 T ES 04008677T ES 2370015 T3 ES2370015 T3 ES 2370015T3
Authority
ES
Spain
Prior art keywords
edge
plane
camera
image
data component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES04008677T
Other languages
English (en)
Inventor
Jan Antonis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Application granted granted Critical
Publication of ES2370015T3 publication Critical patent/ES2370015T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/2433Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures for measuring outlines by shadow casting
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/028Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by measuring lateral position of a boundary of the object

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)

Abstract

Un sistema (10) para inspeccionar un objeto (24, 124, 224), comprendiendo el sistema una superficie (28) de trabajo que proporciona un plano del objeto sobre el cual, en uso, es situado el objeto a inspeccionar; y una cámara (12) dispuesta con respecto a la superficie de trabajo de manera que, por lo menos, parte de la superficie de trabajo está en el interior del campo de visión de la cámara, estando dispuesta la cámara para capturar una imagen del objeto, comprendiendo la imagen una serie de componentes de datos de la imagen, incluyendo además el sistema un aparato (14, 16) para procesar la imagen del objeto, estando dispuesto el aparato (10) para recibir la imagen del objeto desde la cámara (12) y para identificar una serie de dichos componentes de datos de la imagen del objeto, que representan la posición de un respectivo componente del borde del objeto en un plano de imagen, en donde, durante la captura de una imagen mediante la cámara (12), la cámara y el objeto están fijos entre sí, estando dispuesto el aparato (14, 16) de procesamiento para proyectar cada componente de datos del borde de la imagen sobre el plano del objeto con el propósito de producir un respectivo componente de datos del borde del objeto en el plano del objeto, estando dispuesto además el aparato (14, 16) de procesamiento para determinar si cada componente de datos del borde del objeto se refiere a un borde del objeto que está situado en la superficie de trabajo, o a un borde del objeto que está desplazado de la superficie de trabajo y para, tras determinar que un componente de datos del borde del objeto está desplazado de la superficie (28) de trabajo, ajustar el valor del componente de datos del borde del objeto en una cantidad que depende de la relación entre el tamaño del desplazamiento T en una dirección perpendicular a la superficie de trabajo y la distancia perpendicular (FPz) del punto focal de la cámara desde el plano del objeto.

Description

Sistema y método de inspección
Campo de la Invención
La presente invención se refiere al campo de la inspección de objetos y del procesamiento de imágenes.
Antecedentes de la Invención
Existe una amplia variedad de aplicaciones que requieren la inspección de objetos para determinar o verificar sus dimensiones. Por ejemplo, durante o después de la fabricación de un objeto, puede ser necesario verificar las dimensiones del objeto con propósitos de control de calidad. Alternativamente, puede desearse determinar las dimensiones de un objeto con propósitos de ingeniería inversa.
Son bien conocidos los sistemas de inspección automática que utilizan cámaras digitales, especialmente para inspeccionar objetos planos en general, tales como chapa metálica o placas de circuito impreso.
Los datos de imagen capturados por una cámara digital se crean proyectando luz en 3D sobre un detector 2D. Una forma habitual de volver a transformar esta información en datos 3D es capturar imágenes desde puntos de vista múltiples. Pueden conseguirse puntos de vista múltiples utilizando múltiples cámaras, o desplazando una sola cámara con un dispositivo de posicionamiento de precisión.
Alternativamente, algunos sistemas utilizan equipamiento óptico especializado, tal como lentes telecéntricas o una cámara de barrido de líneas, para constreñir el sistema de manera que puedan resolverse los datos de medición 3D a partir de una sola imagen.
La solicitud de patente europea EP 1 154 227 da a conocer un método y un aparato de detección de bordes, en los cuales se sintetiza una imagen de un objeto a partir de cuatro imágenes diferentes del objeto.
Un problema con los sistemas de inspección convencionales del tipo esbozado anteriormente, es que son costosos. Como resultado, en muchas aplicaciones la inspección sigue realizándose manualmente utilizando calibres o reglas.
Por lo tanto, sería deseable dar a conocer un sistema de inspección que no requiera múltiples cámaras, movimiento relativo entre el objeto y la cámara, o equipamiento óptico especializado.
Resumen de la Invención
La invención da a conocer un sistema para inspeccionar un objeto, acorde con la reivindicación 1.
En las realizaciones preferidas, el objeto plano, y por lo tanto la superficie de trabajo, es sustancialmente perpendicular al eje óptico de la cámara. Asimismo, se prefiere que el objeto esté situado sobre la superficie de trabajo, de tal modo que el eje óptico de la cámara cruce el objeto cuando la imagen es capturada. El aparato de procesamiento puede utilizar parámetros que incluyen el grosor del objeto (en una dirección perpendicular al plano del objeto), la distancia del punto focal de la cámara sobre el plano del objeto (en una dirección perpendicular al plano del objeto) y/o datos relativos a la forma del perfil del borde del objeto. El aparato de procesamiento puede disponerse para recibir parte o la totalidad de esta información mediante entradas de usuario, y/o desde memoria local o accesible de otro modo. Ventajosamente, la cámara comprende una lente no telecéntrica.
En una realización preferida, el aparato de procesamiento determina si cada componente de datos del borde del objeto se refiere a un borde del objeto que queda sobre la superficie de trabajo o a un borde del objeto que está separado, o desplazado, respecto de la superficie de trabajo, y la cantidad de desplazamiento. En una realización, esto se consigue calculando un respectivo primer parámetro relativo a una línea de referencia virtual que se extiende desde el componente de datos del borde del objeto, calculando un segundo parámetro relativo a una línea virtual que se extiende entre el componente de datos del objeto y un punto de referencia en el plano del objeto, y comparando con un valor umbral la diferencia entre dicho primer parámetro y dicho segundo parámetro.
Preferentemente, dicha línea de referencia virtual que se extiende desde el componente de datos del objeto, comprende una línea que es normal, o sustancialmente normal, al borde detectado del cual forma parte el componente de datos del objeto. Convenientemente, el aparato calcula dicho primer parámetro desde uno o varios otros componentes respectivos de datos del objeto, que están situados a cada lado del componente de datos del objeto sobre el borde detectado.
En el presente documento, cuando el punto de referencia comprende la posición del punto focal de la cámara, la línea de referencia virtual que se extiende entre el componente de datos del objeto y dicho punto de referencia se denomina la línea radial. En la realización preferida, en la que dicho primer parámetro comprende el valor de dicho ángulo de dicha línea normal y dicho segundo parámetro comprende el valor de dicho ángulo de dicha línea radial,
5 dicho valor umbral es de 90 grados. Preferentemente, el aparato está dispuesto para determinar que el componente de datos del objeto se refiere a un borde superior (es decir, separado de la superficie de trabajo) si la diferencia absoluta entre dichos primer y segundo parámetros es mayor de 90 grados, y que el componente de datos del objeto se refiere a un borde inferior (es decir, en la superficie de trabajo) si la diferencia absoluta entre dichos primer y segundo parámetros es menor de 90 grados.
10 En realizaciones particularmente preferidas, el aparato de procesamiento está dispuesto para calcular una línea de visión desde el punto focal de la cámara al componente de datos del borde del objeto, y para determinar el punto en que la línea de visión se encuentra sustancialmente con el borde del objeto, y para determinar la cantidad de desplazamiento en función de la posición de dicho punto.
En las reivindicaciones dependientes se enumeran otras características preferidas de la invención.
15 La invención da a conocer, además, un método de procesamiento de una imagen de un objeto, acorde con la reivindicación 11.
La invención da a conocer además un producto de programa informático, acorde con la reivindicación 12.
En todos sus aspectos, la invención es particularmente adecuada para su utilización con componentes de datos de imagen correspondientes a un respectivo punto, o componente, o un borde de un objeto. Preferentemente, los
20 componentes de datos de la imagen se obtienen a partir de una silueta, o contorno de oclusión, del objeto y corresponden a uno o varios bordes detectados del objeto.
Además, la invención en todos sus aspectos es particularmente adecuada para inspeccionar objetos planos en general, tales como chapa metálica, PCBs, tela, cartulina, láminas plásticas, o cualesquiera otros objetos opacos, planos en general, especialmente aquellos que están perforados o perfilados.
25 Para los expertos en la materia, resultarán evidentes otros aspectos ventajosos de la invención tras examinar la siguiente descripción de una realización específica, y haciendo referencia a los dibujos adjuntos.
Breve Descripción de los Dibujos
A continuación se describe una realización específica de la invención a modo de ejemplo, y haciendo referencia a los dibujos anexos, en los cuales:
30 la figura 1 es un diagrama esquemático de un sistema de inspección, que realiza un sistema acorde con la invención, estando el sistema situado in situ sobre un objeto a inspeccionar;
la figura 2 es un diagrama de flujo que ilustra un primer ejemplo del funcionamiento de un módulo de procesamiento de datos incluido en el sistema de la figura 1;
la figura 3 es una ilustración de una polilínea, compuesta de una serie de puntos de bordes del objeto;
35 la figura 4 es una ilustración del examen del borde de un objeto inspeccionado; y
la figura 5 es una ilustración de cómo determinar un punto real del borde desde un punto del borde proyectado.
La figura 6 presenta una vista en sección lateral de un objeto con un borde biselado;
la figura 7 presenta una vista en sección lateral, de un objeto con un borde socavado;
40 la figura 8 presenta una vista en planta de un objeto a inspeccionar;
la figura 9 presenta una vista en sección lateral, de un objeto con un borde biselado y el punto focal de la cámara;
la figura 10 presenta una vista en sección lateral, de otro objeto con un borde biselado y el punto focal de la cámara;
la figura 11 es un diagrama de flujo que ilustra un segundo ejemplo del funcionamiento del módulo de procesamiento de datos incluido en el sistema de la figura 1;
la figura 12 es un diagrama de flujo que ilustra un tercer ejemplo del funcionamiento del módulo de procesamiento de datos incluido en el sistema de la figura 1;
5 la figura 13 presenta una vista en sección lateral, de un objeto con un borde curvo y el punto focal de la cámara; y
la figura 14 es un diagrama de flujo que ilustra un cuarto ejemplo del funcionamiento del módulo de procesamiento de datos incluido en el sistema de la figura 1.
Descripción Detallada de los Dibujos
10 En la siguiente descripción, se adopta un sistema de coordenadas de referencia XYZ convencional, donde los ejes X, Y y Z son ortogonales entre sí.
A continuación, haciendo referencia a la figura 1 de los dibujos, se muestra, indicado en general como 10, un ejemplo de un sistema o aparato de inspección que realiza la invención. El aparato 10 comprende una cámara digital 12 y un sistema 14 de procesamiento de datos (que se representa convenientemente como un ordenador en la 15 figura 1). Ventajosamente, la cámara digital 2 es una cámara de alta resolución en la que la resolución es del orden de, por lo menos, 6 megapíxeles. Se comprenderá que, en la práctica, el nivel de resolución depende de la precisión requerida para los resultados y/o del tamaño del área a inspeccionar. Preferentemente, la cámara 12 comprende una lente no telecéntrica y, preferentemente, es del tipo basada en área o tomavistas, en oposición, digamos, una cámara de barrido de líneas. Como resultado, las imágenes capturadas se procesan utilizando la proyección en
20 perspectiva de los puntos en el plano de imagen sobre el plano del objeto, en lugar de utilizar proyección paralela.
A su vez, el sistema 14 de procesamiento de datos está dispuesto para hacer funcionar un aparato o módulo 16 de procesamiento de datos en forma, por ejemplo, de programa informático. Tal como se describe a continuación con mayor detalle, el módulo 16 de procesamiento de datos está dispuesto para recibir datos de imágenes desde la cámara 12, y para generar datos 3D 18 que representan el objeto inspeccionado. En función de los requisitos de la
25 aplicación, los datos 3D generados 18 pueden compararse con datos 3D esperados 20, para producir un informe de inspección 22.
La figura 1 muestra asimismo un objeto 24 a inspeccionar. Preferentemente, el objeto 24 tiene una serie de aberturas 26 formadas en el mismo que se asume son, preferentemente, planas o lisas en general y, en particular, se prefiere que el objeto 24 sea de un grosor T uniforme en general, siendo el grosor la dimensión en el eje Z (tal
30 como se define a continuación) y, en la realización preferida, en una dirección sustancialmente paralela a la línea normal de visión de la cámara 12. El objeto 24 puede estar formado de cualquier material sustancialmente opaco, tal como metal, plástico, madera, cartón o papel. Se comprenderá que el tamaño y la forma específicos del objeto ilustrado 24, y el número, el tamaño, la forma y la disposición de las aberturas 26, son solamente a modo de ejemplo.
35 El objeto 24 está situado sobre el anverso de una superficie de trabajo 28. En la realización preferida, la superficie de trabajo 28 está iluminada desde su reverso mediante una fuente de luz 30. Por lo tanto, la superficie de trabajo 28 está formada de un material traslúcido y, más preferentemente, de un material que difunde la luz de manera que se consigue una iluminación sustancialmente uniforme de la superficie de trabajo 28. A modo de ejemplo, la superficie de trabajo 28 puede estar formada ventajosamente de vidrio escarchado difuso, o similar.
40 La cámara 12 está situada sobre la superficie de trabajo 28, de manera que cualquier objeto situado sobre el anverso de la superficie de trabajo 28 está dentro de su campo de visión. La cámara 12 tiene un punto focal (no mostrado en la figura 1) y una línea normal de visión 13 (o eje óptico), siendo la línea normal de visión, la línea de visión desde el punto focal que es perpendicular al plano de imagen de la cámara. Preferentemente, la cámara 12 está dispuesta con respecto la superficie de trabajo de manera que la línea normal de visión 13 de la cámara 12 es
45 sustancialmente perpendicular a la superficie de trabajo 28. Mientras se está tomando una imagen, la cámara 12 está fija con respecto a la superficie de trabajo 28 y puede sujetarse en una posición fija adecuada mediante cualquier medio adecuado, por ejemplo un pórtico u otra estructura de soporte (no mostrada). Además, mientras se está tomando una imagen, el objeto 24 está fijo con respecto a la superficie de trabajo 28 y, por lo tanto, con respecto a la cámara 12.
50 La superficie de trabajo 28 iluminada provoca una silueta, o contorno de oclusión, del objeto 24 a proporcionar a la cámara 12, y facilita de ese modo la detección de los bordes o perímetros del objeto. No es esencial iluminar la superficie de trabajo 28. Por ejemplo, disponiendo la superficie de trabajo 28 y el objeto 24 en respectivos tonos o colores opuestos, la cámara 12 puede detectar el contorno, o los bordes del objeto 24 utilizando técnicas convencionales de separación de colores. El contorno contrastado del objeto 24 contra la superficie de trabajo 28, sea mediante silueta o contraste de color, puede denominarse un contorno por oclusión.
Durante la utilización, la cámara 12 captura una imagen del objeto 24, comprendiendo normalmente los datos de la imagen una serie de componentes de datos de imagen en forma de píxeles. Por lo tanto, la cámara 12 puede proporcionar al módulo 16 de procesamiento de los datos, datos de imagen habitualmente en forma de archivo electrónico, preferentemente en un formato sin pérdidas, tal como un mapa de bits, o similar. No es posible generar datos 3D, o un modelo 3D, del objeto 24 utilizando únicamente una sola imagen procedente de una sola cámara estática 12. Esto se debe, principalmente, a que un punto de la imagen puede definir solamente el inicio y la dirección de la línea de visión entre dicho punto de la imagen y el punto del objeto que lo crea (no puede definir la longitud de la línea de visión ni, por lo tanto, la posición del punto del objeto que lo crea). Los datos de imagen capturados son esencialmente datos 2D, por ejemplo, puede determinarse la posición de un píxel dado de los datos de imagen, en un plano sustancialmente perpendicular a la línea normal de visión 13 de la cámara (en lo que sigue, el plano X-Y), pero no puede determinarse su posición en un plano paralelo sustancialmente a la línea normal de visión 13 de la cámara (en lo que sigue, el plano o eje Z). Tal como puede verse a partir de la figura 1, se asume convenientemente que la superficie de trabajo 28 está situada sustancialmente en un plano X-Y, y que la línea normal de visión 13 de la cámara está situada en un plano Z (o en paralelo con el eje Z).
Por lo tanto, puede decirse que la posición y la orientación de la cámara 12 y la orientación del objeto 24 en un sistema de coordenadas común (sistema XYZ), son conocidas por el módulo 16 de procesamiento de datos. Y por lo tanto, también lo son la posición y la orientación de la superficie de trabajo 28 (o plano del objeto). Por ejemplo, la posición del punto focal de la cámara en el sistema de coordenadas XYZ es conocida por el módulo 16. En la realización preferida, el módulo 16 de procesamiento de datos está programado para asumir que la superficie de trabajo 28 está, en general, dispuesta perpendicularmente respecto a la línea normal de visión 13 de la cámara (estando situada, en general, en un plano X-Y) y a una distancia fija, conocida, desde la cámara 12 (por ejemplo, desde el punto focal de la cámara) a lo largo de la línea normal de visión 13 (coordenada del eje Z conocida, por ejemplo, Z = 0). En la realización preferida, el objeto 24 (especialmente, cuando se asume que el objeto 24 es plano en general) o por lo menos su superficie superior, en uso, está dispuesta perpendicularmente en general, con respecto al eje óptico 13 de la cámara. Asimismo, se prefiere que el módulo 16 de procesamiento de datos esté programado para suponer que el eje óptico 13 de la cámara pasa cerca del objeto 24 (es decir, que el objeto 24 está en el campo de visión de la cámara, y está situado, en general, sobre el objeto 24 y no significativamente hacia un lado del objeto 24). El eje óptico 13 de la cámara puede cruzarse con el objeto 24 (es decir, la cámara 12 está situada sobre el objeto 24 y no hacia un lado del objeto 24). En la realización preferida, el sistema 10 de inspección está dispuesto de manera que estas hipótesis son correctas.
Para tratar el problema esbozado anteriormente, se prefiere, si bien no es esencial, que el aparato 10 de inspección y, en concreto, el módulo 16 de procesamiento de datos, esté dispuesto para su utilización con objetos que son planos en general, de grosor conocido y que, durante la utilización, están situados sustancialmente en un plano X-Y.
Asimismo, el módulo 16 de procesamiento de datos está dotado de, o preprogramado con, datos que indican la forma del perfil en la sección transversal del objeto 24, en el plano Z-Y y en el plano Z-X. A modo de ejemplo, el objeto 24 puede tener cualquiera entre un perfil de lados rectos (figuras 1 y 5), un perfil biselado (figuras 6, 9 y 10) o un perfil socavado (figura 7). Si el perfil es biselado o socavado, entonces el módulo 16 procesamiento de datos es alimentado con datos que indican cualquiera entre el ángulo del bisel o del socavado (en el plano Z-Y ó Z-X según proceda, y en lo que sigue se denomina el ángulo del borde del objeto (OEA, object edge angle)), o la anchura del bisel o del socavado (en la dirección X ó Y, según proceda). Esta información puede ser utilizada junto con el grosor conocido T, tal como se describe a continuación en mayor detalle.
El módulo 16 de procesamiento de datos puede disponerse para recibir parte, o la totalidad de los datos identificados anteriormente (y otros datos, tal como se describe a continuación) como uno o varios parámetros de entrada (suministrados, por ejemplo, por un usuario durante el uso y/o que pueden recibirse desde una memoria, local o accesible otro modo) y/o puede estar preprogramada con parte o la totalidad de los parámetros o de los datos (por ejemplo, parte o la totalidad de los datos o de los parámetros pueden ser intrínsecos al algoritmo o algoritmos de proceso ejecutados por el módulo 16 de procesamiento de datos). Por ejemplo, en el algoritmo ilustrado en la figura 2, es inherente asumir que el objeto 24 inspeccionado es de lados rectos y que el objeto 24 está dispuesto perpendicularmente con respecto al eje óptico 13 de la cámara, mientras que el valor de T puede ser proporcionado por una entrada del usuario, respecto de cada objeto o de cada lote de objetos del mismo grosor. En el algoritmo de la figura 11, es inherente que el objeto 124 siendo inspeccionado tiene un perfil del borde biselado mientras que el valor de T y, por ejemplo, el ángulo de bisel pueden proporcionarse como parámetros de entrada. En realizaciones alternativas (no ilustradas) los algoritmos de las figuras 2 y/u 11 y/o 12 pueden combinarse para acomodar objetos 24, 124, 224 que pueden ser de lados rectos, biselados o socavados. En dichas realizaciones, el módulo 16 de procesamiento de datos puede recibir un parámetro de entrada adicional, cuyo valor indica si el actual objeto, o lote de objetos, bajo inspección es de lados rectos, biselados o socavados, y se ejecutará correspondientemente el algoritmo compuesto (no ilustrado).
Por lo tanto, el módulo 16 de procesamiento de datos conoce la dimensión del objeto 24 en la dirección Z (es decir, su grosor T), junto con los datos de perfil relevantes y la posición y la orientación conocidas, relativas, del objeto 24 y de la cámara 12. Esta información, junto con la imagen 2D capturada por la cámara 12, permite al módulo 16 de procesamiento de datos otorgar una posición 3D (es decir, unas coordenadas X, Y y Z) a cualquier píxel dado, tal como se describe en mayor detalle a continuación.
Sin embargo, existe un problema adicional a tratar. Tal como es bien sabido, los bordes o perímetros de un objeto pueden determinarse a partir de los datos de imagen capturados, utilizando técnicas convencionales de detección del borde o de separación de color. Sin embargo, para los objetos 3D, no es posible determinar a través de sólo una imagen si un borde detectado es un borde superior o un borde inferior. Esta ambigüedad impide la generación de un modelo de 3D preciso del objeto. En algunas circunstancias, la determinación de un borde superior o inferior puede deducirse de una manera relativamente directa. Por ejemplo, en los casos en que el objeto 24 es, en general, perpendicular al eje óptico 13 de la cámara y éste lo cruza, y cuando se sabe que el objeto es de lados rectos, entonces el módulo 16 de procesamiento de datos puede asumir que los bordes externos detectados son bordes superiores. En otras circunstancias, esta determinación es más difícil.
El módulo 16 de procesamiento de datos está dispuesto para superar este problema, tal como se describe a continuación haciendo referencia, en concreto, a la figura 2 de los dibujos. La figura 2 ilustra los procesos llevados a cabo por el módulo 16 de procesamiento de datos. El bloque 200 representa la recepción por el módulo 16 de procesamiento de datos, de los datos de imagen capturados desde la cámara 12. En el presente ejemplo, se asume que los datos de imagen se componen de píxeles. Los datos de imagen capturados comprenden una representación de la silueta en 2D, o contorno de oclusión, del objeto 24 visto por la cámara 12.
En el bloque 202, el módulo 16 de procesamiento de datos utiliza técnicas convencionales de detección del borde, o equivalentes, para detectar los bordes del contorno de oclusión de la imagen capturados. En el presente ejemplo, se asume que esto se lleva a cabo con una precisión de un sólo píxel (es decir, la presencia de un borde se identifica por el píxel entero más próximo al borde detectado) aunque, dependiendo del nivel de precisión requerido, puede alternativamente llevarse a cabo con precisión de sub-píxel o de multi-píxel. En cualquier caso, una vez que se ha completado la detección del borde, son identificados una serie de puntos de coordenadas 2D (en lo que sigue, denominados puntos del borde de la imagen, IEPs (image edge points)), que corresponden a los bordes detectados del contorno de oclusión de la imagen capturada. Cuando la detección del borde se lleva a cabo con una precisión de un sólo píxel, cada punto del borde IEP corresponde a un píxel respectivo de la imagen capturada.
Existen muchas técnicas convencionales de detección del borde adecuadas. El documento a titulado "A Computational Approach to Edge Detection" (“un enfoque computacional para la detección del borde”) de J. Canny, en IEEE Transactions on Pattern Analysis and Machine Intelligence, volumen 8, número 6, páginas 679 a 698 (ISSN: 0162-8828), describe una técnica adecuada de detección del borde.
A continuación haciendo referencia al bloque 204, en la realización preferida, después de la detección del borde, los puntos del borde de la imagen (IEPs) son clasificados en conjuntos o grupos dependiendo de a qué perímetro del contorno de oclusión pertenecen (por ejemplo, al perímetro correspondiente al exterior del objeto 24 o al perímetro correspondiente a una u otra de las aberturas internas 26). Además, en el interior de cada conjunto, los puntos del borde IEP se disponen preferentemente por orden, o en secuencia, de manera que los puntos del borde sucesivos en un conjunto respectivo trazan, o siguen, el perímetro respectivo (es decir, los puntos del borde en el interior de un conjunto están ordenados de manera que están junto a su vecino o vecinos más próximos en el perímetro respectivo).
Existen muchos algoritmos del vecino más próximo convencionales, que podrían ser utilizados para clasificar los puntos del borde de la manera descrita. Por ejemplo, un documento (que se incorpora al presente documento como referencia) titulado “Topological Structural Analysis of Digital Binary Images by Border Following" (“análisis estructural topológico de imágenes binarias digitales mediante seguimiento del borde”), de S. Suzuki y K. Abe, en CVGIP, volumen 30, número 1 1985, páginas 32 a 46, describe un ejemplo de una técnica adecuada.
Se comprenderá que los procesos descritos para los bloques 202 y 204 no necesariamente tienen que realizarse por separado. Algunas técnicas de detección del borde generan automáticamente puntos del borde que son ordenados de la manera descrita anteriormente.
En esta etapa, las coordenadas del punto del borde de la imagen IEP se refieren al plano de imagen (no ilustrado), o al sistema de coordenadas de la imagen, de la cámara 12. En el bloque 206, sin embargo, los puntos del borde IEP en el plano de imagen son proyectados al plano del objeto, o sistema universal de coordenadas, es decir, el plano de referencia en el que está situado el objeto inspeccionado 24, utilizando técnicas geométricas convencionales y un conocimiento de los parámetros intrínsecos de la cámara (tales como la longitud focal y la dispersión de la lente) y de parámetros extrínsecos (tales como la posición y la orientación con respecto al plano del objeto). Puede conseguirse una descripción de cómo realizar este proceso, en el documento (que se incorpora a la presente memoria a modo de referencia) titulado "A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses" ("una técnica de calibración de cámara versátil para tecnología de visión en máquinas 3D de alta precisión utilizando lentes y cámaras de TV comerciales”) de R.Y. Tsai, publicado en IEEE Journal of Robotics and Automation, volumen RA-3, número 4, agosto de 1987, páginas 323 a
344.
En el presente ejemplo, se asume que el plano del objeto corresponde al plano Z = 0, es decir el plano X-Y, en el que está situada la superficie de trabajo 28. Esencialmente, los puntos del borde IEP en el plano de imagen de la cámara se convierten en ángulos de proyección, o líneas de visión, desde el plano de imagen, a través del punto focal de la cámara, y sobre el plano del objeto.
A continuación haciendo referencia al bloque 208, los puntos respectivos en los que las líneas de visión proyectadas cruzan el plano Z = 0 (en lo que sigue, denominados puntos del borde del objeto OEPs (object edge points)) pueden representarse mediante coordenadas 2D respectivas en el plano Z = 0. Los OEPs juntos trazan, o siguen, un contorno 2D del plano Z = 0, de la imagen capturada por la cámara 12. Dependiendo de la forma y la configuración del objeto inspeccionado, puede haber uno o varios conjuntos de OEPs, estando cada conjunto relacionado con un respectivo perímetro interior o exterior del objeto inspeccionado. Por ejemplo, para el objeto 24, hay cuatro conjuntos de OEPs, un conjunto para el perímetro exterior y tres conjuntos respectivos para cada una de las aberturas 26. Las tareas representadas por los bloques 206 y 208 pueden realizarse simultáneamente.
Sin embargo, no es posible determinar a través de sólo los OEPs, si un OEP dado es relativo a un borde superior o inferior, del objeto inspeccionado. En la realización preferida, para tratar este problema, se asume que el, o cada, conjunto de OEPs definen una polilínea respectiva. Para cada OEP, el módulo 16 de procesamiento de datos está dispuesto para calcular uno o varios parámetros respectivos relativos a, o que definen, la respectiva línea normal (u otra línea de referencia, por ejemplo tangente) a la polilínea, en cada OEP (figura 2, bloque 210). En la realización preferida, esto se consigue calculando un parámetro respectivo en la forma del valor del respectivo ángulo entre un eje de referencia y la normal respectiva. Para realizar cálculos consistentes, debe establecerse un sistema de referencia. Por lo tanto, se asume, a modo de ejemplo, que el eje de referencia desde el que se miden los ángulos en el plano X-Y comprende, o es paralelo, al eje X, y que los ángulos se miden en sentido antihorario desde el eje de referencia. Asimismo, se asume, a modo de ejemplo, que la normal a la polilínea de cualquier OEP se extiende dentro del objeto 24, 24' (es decir, hacia dentro de la polilínea si la polilínea representa un perímetro exterior, y hacia fuera de la polilínea si la polilínea representa un perímetro interior).
Existen muchos métodos convencionales adecuados para calcular normales y/o parámetros que son indicativos. Por ejemplo, haciendo referencia a la figura 3, se muestra un ejemplo de una polilínea 301 definida por una serie de OEPs. Puede asumirse que la normal de un punto dado OEP2 comprende una línea que biseca el ángulo A formado entre las secciones respectivas 303, 305 de la polilínea 301 que une el punto OEP2 a sus vecinos más próximos OEP1, OEP3 a cada lado. Puesto que las coordenadas 2D respectivas (en el plano X-Y) OEP1, OEP2 y OEP3 son conocidas, puede calcularse inmediatamente el ángulo A. En la realización preferida, la normal N2 en OEP2 se representa mediante un parámetro NA2 que es el ángulo entre el eje de referencia y la normal N2. Asumiendo que la normal N2 biseca el ángulo A, entonces NA2 = 180 -(A/2). Se observa que en la figura 3 se asume que la polilínea 301 representa un perímetro interior y, por consiguiente, se toma la normal N2 saliendo hacia fuera de la polilínea
301. Alternativamente, si se asume que la polilínea 301 representa un perímetro exterior, entonces la normal N2 saldría hacia dentro de la polilínea 301 y se tendría que el ángulo N2 = 360 – A.
Se comprenderá que existen métodos alternativos de determinación de la línea normal/el ángulo normal (u otro borde de referencia/ángulo de referencia) diferentes a la construcción de polilíneas. Por ejemplo, pueden utilizarse máscaras de detección del borde, tales como el sistema de detección de bordes Sobel o el sistema de detección de bordes Canny (a los que se hace referencia más adelante).
Se apreciará que, cuando se calculan los ángulos respectivos entre el eje de referencia y las normales (en lo que sigue, denominados "ángulos normales"), el módulo 16 de procesamiento de datos necesita saber si el respectivo OEP que está siendo procesado pertenece a un perímetro interior o a un perímetro exterior. Convenientemente, esto puede determinarse durante, o después de, las tareas descritas en relación al bloque 204. Algunos algoritmos de detección del borde y/o de clasificación de datos (bloques 202, 204) determinan automáticamente si un conjunto de puntos de borde se refieren a un perímetro interior o exterior. En cualquier caso, es sencillo deducir por comparación los respectivos valores de puntos del borde, en cada conjunto.
El módulo 16 de procesamiento de datos calcula además la posición respectiva de cada OEP con respecto a un punto FPx,y que es la proyección del punto focal de la cámara sobre el plano Z = 0, a lo largo de una línea que es perpendicular al plano Z = 0, es decir, una proyección del punto focal de la cámara perpendicularmente sobre el plano Z = 0. Para realizaciones en las que la línea de visión 13 de la cámara es sustancialmente perpendicular al plano del objeto, FPx,y corresponde al punto en el que la línea normal de visión 13 de la cámara cruza el plano Z = 0. Esto se ilustra en la figura 5. En realizaciones alternativas (no ilustradas) en las que el eje óptico 13 de la cámara está inclinado con respecto al plano del objeto, FPx,y no está situado en la línea de visión 13 de la cámara.
En la figura 5, se muestra un objeto simplificado 24' bajo inspección. El objeto 24' tiene una abertura 26' formada en el mismo. Después del bloque 208 (figura 2), el objeto 24' se representa por dos conjuntos de OEPs, correspondiendo un conjunto al perímetro exterior del objeto 24' (representado en la figura 5 como una polilínea P1 en negrita), y correspondiendo el otro conjunto a un perímetro interior (representado en la figura 5 como una polilínea P2 en negrita) que representa la abertura 26'. Con propósitos ilustrativos, se destacan dos OEPs, a saber OEP4 y OEP5 en la polilínea interior P2, siendo el primero del borde superior de la abertura 26', y siendo el segundo del borde inferior de la abertura 26' (tomándose los términos relativos "superior" e "inferior" con respecto al plano Z = 0, y donde la altura crece con el valor de la coordenada Z). Las normales respectivas N4, N5 para OEP4 y OEP5 se muestran saliendo hacia fuera desde la polilínea P2. El punto focal proyectado de la cámara 13 sobre el plano Z = 0 se muestra como FPx,y. El módulo 16 de procesamiento de datos construye virtualmente una respectiva línea radial R4, R5 (o una representación de la misma) que se extiende entre el punto focal proyectado FPx,y y OEP4, OEP5, respectivamente. Respecto de cada línea radial R4, R5, el módulo 16 de procesamiento de datos calcula (bloque 212) un respectivo ángulo RA4, RA5 entre el eje de referencia y la línea radial (en lo que sigue, denominado el ángulo radial). Los ángulos radiales se calculan inmediatamente a partir de las coordenadas 2D conocidas (en el plano X-Y) del punto focal proyectado Fx,y y el respectivo OEP.
A continuación, en el bloque 214, el módulo 16 de procesamiento de datos compara el ángulo normal respectivo NA4, NA5 con el ángulo radial respectivo RA4, RA5. Si la diferencia absoluta entre los respectivos ángulos normal y radial es menor que 90 grados (tal como es el caso para RA5 y NA5) entonces el módulo 16 de procesamiento de datos determina que el OEP se refiere a un borde inferior (bloque 220). Si la diferencia absoluta entre los respectivos ángulos normal y radial es mayor de 90 grados (tal como es el caso para RA4, NA4) entonces el módulo 16 de procesamiento de datos determina que el OEP se refiere a un borde superior (bloque 216). Si se estima que el ángulo es igual a 90 grados, entonces puede asumirse que el OEP se refiere a un borde superior o a un borde inferior, según se prefiera.
Si se identifica un OEP como perteneciente a un borde inferior, entonces se crea un punto 3D correspondiente para crear un modelo 3D del objeto 24, 24', con las mismas coordenadas X e Y que el OEP respectivo y con Z = 0 como tercera dimensión (bloque 222).
Si se identifica un OEP como perteneciente a un borde superior, entonces pueden utilizarse matemáticas convencionales para calcular un punto 3D correspondiente para crear un modelo 3D para el objeto 24, 24'. Esto resultará evidente tras la consideración de la figura 4. La figura 4 muestra un objeto 24, 24' situado sobre una superficie de trabajo 28, 28'. Se desea calcular la posición en 3D, del punto real del borde AEP (actual edge point) del objeto 24, 24'. Se muestra la línea de visión LOS (line of sight) desde el punto focal de la cámara, en un contorno de trazos. Las coordenadas X e Y (OEPX, OEPY) del OEP correspondiente son conocidas, de manera que también lo es la altura FPZ del punto focal. El grosor T del objeto 24, 24' es conocido asimismo. Por consiguiente, pueden calcularse las coordenadas X e Y del punto real del borde AEP (AEPX, AEPY) utilizando geometría simple y por lo tanto puede determinarse la posición 3D del punto real del borde AEP (bloque 218). Por ejemplo, en la figura 4, la coordenada X AEPX puede calcularse utilizando ecuación
AEPX = OEPX -((OEPX/FPZ)*T)
La coordenada Y AEPY puede calcularse sustituyendo el valor OEPY por OEPX en la ecuación anterior. La coordenada Z AEPZ del punto real del borde AEP es igual a grosor T del objeto 24, 24'. En la ecuación anterior, se asume que la posición del punto focal en el plano X-Y, Fx,y, es el punto de referencia desde el que se miden los valores OEPX y OEPY, es decir, los valores OEPX y OEPY son relativos a Fx,y.
Las relaciones descritas haciendo referencia a los bloques de 206 a 218 ó 222 pueden reproducirse para cada OEP cuando sea necesario.
Por lo tanto, puede calcularse una coordenada universal real 3D para cada OEP sobre un perímetro detectado, utilizando solamente los datos capturados a partir de una sola imagen del objeto 24, 24'. Las coordenadas 3D pueden utilizarse para construir un modelo 3D del objeto 24, 24'. Si se desea, o cuando sea necesario, pueden utilizarse técnicas de ajuste de datos con objeto de deducir la verdadera forma del objeto 24, 24' o de partes del mismo, por ejemplo aberturas, a partir de los perímetros detectados.
Resultará evidente que las técnicas dadas a conocer anteriormente pueden ser aplicadas en cualquier punto del borde en el que se conozca el grosor del objeto 24, 24'. Esto no implica necesariamente que el objeto a inspección sea de un grosor uniforme en general.
En la descripción precedente se asume, solamente con propósitos ilustrativos, que el objeto 24, 24' bajo inspección es de lados rectos, es decir que los lados del objeto 24, 24' son sustancialmente perpendiculares a sus caras y por lo tanto, en el presente ejemplo, están situados en un plano que es sustancialmente perpendicular al plano X-Y. La invención puede utilizarse igualmente con objetos (no mostrados) que no son de lados rectos. Esto se ilustra continuación, a modo de ejemplo, haciendo referencia a las figuras 6 a 12.
En la siguiente descripción, que hace referencia a las figuras 6 a 12, el acrónimo ICS (image co-ordinate system) se refiere al sistema de coordenadas de la imagen (que incluye el plano de imagen de la cámara) y los puntos en el ICS (incluyendo puntos en el plano de imagen, por ejemplo IEPs) se denominan PICs. El acrónimo WCS (world coordinate system) se refiere al sistema universal de coordenadas, es decir el sistema universal XYZ real en el cual, en el presente ejemplo, el plano del objeto corresponde al plano Z = 0. Los puntos en el sistema WCS (que incluyen puntos en el plano del objeto, por ejemplo OEPs) son denominados PWCs.
Las figuras 6 y 7 muestran los bordes de los objetos 124, 224 que ilustran dos tipos básicos de perfil del borde que puede tener un objeto típico bajo inspección, en concreto un borde biselado (figura 6) o un borde socavado (figura 7). En las figuras 6 y 7, se muestran los objetos 124, 224 en sección transversal tomada en los planos X-Z ó Y-Z. Se verá que los perfiles del borde son, en general, triangulares en la sección transversal transversa. Los perfiles del borde pueden producirse sobre bordes externos, o exteriores, del objeto 124, 224 y/o sobre bordes internos, o interiores (por ejemplo, en una abertura 26).
La figura 8 muestra una vista en planta de cualquiera de los objetos 124, 224. Los bordes superior e inferior (con respecto a la superficie de trabajo 28) se indican como 50, 51. Se asume que los bordes 50, 51 son paralelos entre sí. Se proyecta una línea de visión 53 desde el punto focal hasta un punto del borde detectado OEP1. El punto OEP1 tiene coordenadas X e Y, PWCx, PWCy (denominadas colectivamente PWCx/y) que, inicialmente, adoptan respectivos valores detectados por la cámara 12 y proyectados sobre el plano del objeto. Se muestra asimismo la línea normal N1 en el punto OEP1. La diferencia absoluta entre el ángulo de la línea de visión (es decir, el ángulo radial que se ha descrito anteriormente, en lo que sigue el ángulo radial PWC) y el ángulo normal N1 (ángulo normal PWC) es mayor de 90 grados (se muestra como ángulo ABS en la figura 8). Por lo tanto, se asume que el punto OEP1 está en el borde 50 de arriba, o superior. Los parámetros dWx y dWy (denominados colectivamente dwx/y) son, respectivamente, las distancias x e y (en el plano X-Y) desde el borde superior 50 hasta el fondo del borde 51, a lo largo de la línea de visión 53.
En la figura 12 se muestra, asimismo, una línea A-A’ de sección transversal normal a los bordes 50, 51. La figura 9muestra una vista en sección transversal (en torno al eje Z) del objeto 124, tomada a lo largo de la línea A-A'. Ésta muestra el perfil en la sección transversal transversa del objeto, tomada en el plano normal a OEP1.
En la figura 9, el ángulo del borde del objeto (OEA, object edge angle) es el ángulo del bisel (convenientemente, con respecto al plano del objeto de la superficie de trabajo 28) en el plano normal a OEP1, y la anchura del borde (EW, edge width) es la anchura del bisel en dicho plano. Asumiendo que el módulo 16 de procesamiento de datos dispone del grosor T, entonces dispone asimismo, por lo menos, de uno entre el borde del objeto y la anchura del borde del objeto. Siempre que dos de estos parámetros sean conocidos por el módulo 16 de procesamiento de datos, entonces el tercer parámetro puede ser calculado por el módulo 16.
El siguiente ángulo requerido por el módulo 16 de procesamiento de datos es el ángulo de la línea de visión (LoSEA, Line of Sight Angle). El LoSEA es el ángulo entre la línea de visión 53 y la propia referencia (por ejemplo, al plano del objeto o la superficie de trabajo 28) desde la que se mide el OEA. El LoSEA se mide en el mismo plano que el OEA. Preferentemente, este es el plano normal al OEP (OEP1 en este caso), que está definido por el ángulo normal calculado (N1). La proyección del punto focal sobre el plano X-Y, Fx/y, el ángulo normal PWC, los valores PWCx/y, y el ángulo radial PWC, son todos conocidos por el módulo 16 de procesamiento de datos (sea por entrada del usuario, preprogramación o cálculo). El valor del LoSEA puede ser calculado inmediatamente utilizando solamente parte de estos parámetros, por ejemplo Fx/y y el valor PWCx/y apropiado.
Si, tal como se muestra en la figura 9, el OEA es menor que el LoSEA, el módulo 16 de procesamiento de datos determina que el punto del borde OEP1 está sobre el borde inferior 51 del objeto 124, invalidando de ese modo la afirmación anterior de que estaba sobre el borde superior 50. Por lo tanto, los valores reales, o finales PWCx/y del OEP1 son iguales a los valores detectados, o iniciales:
Valor PWCx/y final = Valor PWCx/y inicial
Si el OEA es mayor que el LoSEA, tal como se muestra en la figura 10, el módulo 16 de procesamiento de datos determina que el OEP1 es del borde superior 50, y los respectivos valores PWCx/y deben ser ajustados, convenientemente como sigue:
Valor PWCx/y =
Valor PWCx/y – ((Valor PWCx/y / altura z WCS del Punto Focal) * Grosor) + dWx/y Donde la altura z WCS del punto focal es la coordenada Z del punto focal. El parámetro Fx/y, el ángulo normal PWC, el valor PWCx/y, y el ángulo radial PWC, son todos conocidos por el módulo 16 de procesamiento de datos. Solamente algunos de estos valores son necesarios para calcular valores para dWx/y. El mismo proceso puede repetirse para tantos OEPs como sea necesario.
5 La figura 11 muestra un diagrama de flujo que ilustra cómo el módulo 16 de procesamiento de datos puede llevar a cabo los cálculos descritos anteriormente. Se observará que el algoritmo ilustrado es el mismo que el algoritmo ilustrado en la figura 2, hasta el punto en donde se determina que el PIC, u OEP, es un borde superior (bloque 216). El proceso descrito anteriormente de adopción de la decisión de suma, y de cálculo, se ilustra en los bloques adicionales 225, 227 y 229.
El algoritmo ilustrado en la figura 11 puede ser adaptado fácilmente para manejar perfiles de borde socavado (figura 7). En dichos casos, la posición mínima del borde es la posición del borde que tiene interés. Por ejemplo, cuando se considera una abertura circular 26 que está biselada o socavada, la medición de interés es el diámetro máximo de un cilindro virtual (no mostrado) que puede encajar a través de la abertura 26.
La figura 12 muestra un diagrama de flujo que ilustra cómo puede ser adaptado el diagrama de flujo de la figura 11,
15 para manejar un perfil con borde socavado. Se observará que el algoritmo ilustrado en la figura 12 es el mismo que el algoritmo ilustrado en la figura 2 hasta el punto en que se determina que el PIC, u OEP, está en un borde inferior (bloque 220). Si el OEP es un borde inferior, entonces el módulo 16 determina si el OEA es mayor que el LoSEA (bloque 231). En caso afirmativo, entonces los valores PWCx/y iniciales son ajustados restando el valor dWx/y respectivo (bloque 233). En caso negativo, entonces se determina que el OEP es realmente un borde superior, y los valores PWCx/y iniciales son ajustados (bloque 235) utilizando la fórmula:
Valor PWCx/y =
Valor PWCx/y – ((Valor PWCx/y / altura z WCS del Punto Focal) * Grosor)
Si el PIC, u OEP, está en un borde superior (bloque 216), entonces los valores PWCx/y iniciales son ajustados (bloque 237) utilizando la fórmula proporcionada anteriormente en relación con el bloque 235.
25 Se comprenderá que la invención no está limitada a las técnicas de cálculo específicas descritas en el presente documento puesto que, por lo menos en algunos aspectos de los cálculos, son dependientes del sistema de referencia seleccionado, por ejemplo, la dirección seleccionada de la normal y las referencias de medición de ángulos. Además, no es esencial que la normal desde un OEP se utilice como referencia representando el OEP. Por ejemplo, puede utilizarse alternativamente la tangente en un OEP como una referencia que represente el OEP. Igualmente, puede utilizarse cualquier otra línea desde un OEP como referencia, siempre que la línea de referencia seleccionada se utilice consistentemente para cada OEP. Un experto en la materia apreciará que la selección de una referencia alternativa afectará a los cálculos posteriores. Por ejemplo, el cálculo en la etapa de 214 en la figura 2 puede quedar como:
Abs (Ángulo radial – Ángulo de referencia) > (90 + θ)
35 Donde "Ángulo de referencia" es el ángulo subtendido entre el eje de referencia del ángulo y la línea de referencia seleccionada, y θ es el ángulo entre la normal y la línea de referencia medida desde el eje de referencia del ángulo.
Asimismo, se comprenderá que la invención no se limita a la inspección de objetos con bordes de lados rectos, biselados o socavados. El aparato de procesamiento de datos puede disponerse para procesar datos acordes con una definición de cualquier perfil del borde.
Resultará evidente para los expertos en la materia que, si el eje óptico 13 de la cámara 12 está obligado a ser sustancialmente paralelo al eje z, el eje óptico 13 cruzará el plano X-Y (Z = 0) en el punto FPx,y, y que los IEPs y los OEPs existirán en planos sustancialmente paralelos, difiriendo sólo en la escala. Si se asume que el eje óptico 13 está limitado de este modo, la diferenciación entre borde superior e inferior podría realizarse examinando los IEPs en lugar de los OEPs (tal como se ha descrito anteriormente), puesto que este proceso no está afectado por la
45 escala. Por lo tanto, pueden utilizarse los IEPs en lugar de los OEPs, y puede utilizarse el centro óptico de la imagen como punto de referencia en lugar de FPx,y, siendo el centro óptico de la imagen el punto de la imagen desde el que se proyecta el eje óptico. Por lo demás, el proceso de determinación es similar, en general, al descrito anteriormente en relación con los OEPs. A modo de ejemplo, haciendo referencia al diagrama de flujo de la figura 2, la determinación de si un punto dado es un borde superior e inferior (bloques de 210 a 220) puede realizarse antes de la proyección de los IEPs (bloque 216). A continuación, cuando el módulo 16 de procesamiento está decidiendo si ajustar, o no, el valor OEPX/y de un punto dado y, por lo tanto, necesita determinar si el punto está, o no, relacionado con un borde superior o un borde inferior, esta información está ya disponible para éste, habiendo sido ya determinada a partir del IEP correspondiente.
En las realizaciones precedentes, el módulo 16 de procesamiento está dispuesto para determinar si cada OEP está,
o no, situado en un borde superior o en un borde inferior. De manera más general, el módulo 16 de procesamiento puede configurarse para determinar si un OEP está, o no, situado en la superficie de trabajo 28 (o en el plano del objeto) o si está situado separado, o desplazado respecto de la superficie de trabajo 28 en la dirección Z (en la descripción anterior, la cantidad de desplazamiento corresponde al grosor T del objeto, cuando el OEP está en un borde superior, y a cero (es decir, no hay desplazamiento) cuando el OEP está en un borde inferior). Esto permite al módulo 16 de procesamiento manejar objetos cuyo perfil del borde en la sección transversal transversa es tal que el OEP está situado entre las superficies superior e inferior del objeto. A este respecto, el módulo 16 de procesamiento puede disponerse para determinar el punto en el cual una línea de visión desde el punto focal de la cámara al OEP, se encuentra con el borde del objeto. Esto puede conseguirse fácilmente si el módulo 16 de procesamiento es alimentado con datos que describen el perfil del borde en la sección transversal transversa del objeto.
La descripción anterior de las figuras 1 a 12 se refiere a la manipulación de objetos con perfiles del borde de lados rectos, biselados o socavados. Los algoritmos ilustrados en las figuras 2, 11 y 12 pueden ser fácilmente adaptados para manejar otros perfiles del borde, en donde el desplazamiento vertical (es decir, el desplazamiento en la dirección Z) puede variar a lo largo del perfil del borde. En la figura 13 se muestra un ejemplo de uno 324 de dichos objetos, y el diagrama de flujo de la figura 14 ilustra un algoritmo adecuado. El diagrama de flujo de la figura 14 es idéntico al de las figuras 2, 11 y 12, excepto en su determinación del desplazamiento vertical (en lugar de asumir que éste es el grosor T) y el desplazamiento horizontal, dWx/y. Los bloques de 200 a 210 son idénticos a los bloques 200 a 210 mostrados en las figuras 2, 11 y 12.
En los algoritmos anteriores (figuras 2, 11, 12), la identificación de un borde como borde superior o inferior, permitió al módulo 16 de procesamiento de datos utilizar el grosor T del objeto (en el caso de un borde superior) o cero (en el caso de un borde inferior) respectivamente, como valores del desplazamiento vertical T, y un valor apropiado de dWx/y determinado por la evaluación del estado del borde superior e inferior y el conocimiento del perfil del borde. Sin embargo, esto no es aplicable a un borde tal como el perfil del borde en la sección transversal transversa del objeto 324 mostrado en la figura 13. Después de la determinación del desplazamiento vertical T y el desplazamiento horizontal dWx/y, el módulo 16 de procesamiento de datos aplica la ecuación mostrada en el bloque 246 de la figura
14. Esta ecuación es similar a la ecuación de los bloques 218 y 222 de la figura 2, y los bloques 222, 227 y 229 de la figura 11, y los bloques 218, 233 y 235 de la figura 12, excepto en la eliminación de los términos que valen cero y en cualesquiera cambios apropiados en el signo de la variable dWx/y debidos a la elección de un dato del borde arbitrario.
La figura 13 muestra el objeto 324 con un perfil del borde curvo tomado en una sección transversal en la que el eje X del plano de la sección transversal está a lo largo de la normal al borde del objeto (que se determina mediante el ángulo normal al OEP en cuestión). Esta es una sección transversal comparable a la sección transversal indicada en la línea A-A' mostrada en la figura 8, y a las secciones transversales mostradas en las figuras 4, 6, 7, 9 y 10. Puede verse que el perfil del borde de la figura 13 presenta cantidades variables de desplazamiento horizontal en relación con un dato del borde arbitrario, y cantidades variables de desplazamiento vertical en relación con la superficie de trabajo 28.
Se muestra asimismo una línea de visión 53, y está proyectada desde el punto focal hasta el OEPX/y inicial. Esta línea de visión 53, cuando se ve en el plano en sección transversal normal mencionado anteriormente, crea un ángulo de la línea de visión (LoSEA) similar al descrito en relación con las figuras 9 y 10. Por lo tanto, en el bloque 238 de la figura 14, se determina el valor de LoSEA. A partir del bloque 238 puede verse que el módulo 16 utiliza el ángulo normal en el OEP en cuestión, para determinar el plano en sección transversal normal en el que se mide el LoSEA (y en el cual es conocido el perfil del borde en sección transversal). El módulo 16 de procesamiento es suministrado con datos que describen el perfil del borde en sección transversal del objeto 324. Los datos pueden comprender, por ejemplo, una o varias ecuaciones que describen una o varias líneas que representan el perfil, o un conjunto de puntos de coordenadas en el plano en sección transversal normal. Por lo tanto, el sistema 10 puede ser utilizado con objetos que tengan cualquier perfil del borde definible.
Haciendo referencia al bloque 240 de la figura 14, el siguiente valor requerido por el módulo 16 de procesamiento de datos es el punto de incidencia (PoI, Point of Incidence). El PoI es el punto en que la línea de visión 53 toca el perfil del borde del objeto 324. El PoI puede obtenerse de varias maneras, por ejemplo, podría utilizarse el ángulo LoSEA para crear un nuevo sistema de coordenadas. El nuevo sistema de coordenadas podría disponerse de manera que su eje Y podría ser paralelo a la línea de visión 53, y estar en el plano de sección transversal normal. El eje X podría ser perpendicular a la línea de visión 53 y estar en el plano de sección transversal normal. El origen de dicho sistema de coordenadas se dispone para estar situado sustancialmente separado del perfil del borde del objeto 324, de manera que el eje y del sistema de coordenadas no cruza el perfil del borde. Cuando se ha conseguido la creación y ubicación de este sistema de coordenadas, se examina cada punto del perfil del borde (que son conocidos, puesto que el módulo de procesamiento 16 es alimentado con datos que describen el perfil del borde) y se calcula su valor absoluto del eje x en este sistema de coordenadas. El punto del perfil del borde que posee el menor valor absoluto x y que, por lo tanto, está más próximo al eje y del sistema de coordenadas, se toma como PoI.
Podrían utilizarse muchas otras técnicas para encontrar el PoI, tal como deduciendo las tangentes a la curva del perfil. Se proporcionan otras técnicas en la publicación “Computer Graphics Handbook: Geometry and Mathematics” (“manual de gráficos por ordenador: geometría y matemáticas”) (1990), de Michael Mortenso.
Una vez que se ha encontrado el PoI, pueden utilizarse los datos que definen la geometría del perfil del borde para
5 encontrar el desplazamiento horizontal (Desplazamiento del Bordex) relativo al dato arbitrario y el desplazamiento vertical (Desplazamiento del Bordez), tal como se indica en el bloque 242 de la figura 14, y se ilustra en la figura 13. Puesto que el eje Z del plano en sección transversal normal, es paralelo al eje Z WCS, puede utilizarse el Desplazamiento del Bordez vertical del PoI como el valor para el parámetro T, tal como se muestra en el bloque 244 de la figura 14. Además, el Desplazamiento del Bordex horizontal puede ser convertido al WCS para proporcionar
10 dWx/y, tal como se muestra asimismo en el bloque 244 (en donde la conversión desde el sistema de coordenadas del plano en sección transversal normal, al WCS, depende del valor del ángulo normal calculado en el bloque 210). Este dWx/y es comparable al dWx/y descrito en relación con las figuras 8 a 12, e ilustrado en las mismas.
La última etapa restante llevada a cabo por el módulo 16 de procesamiento de datos es el cálculo del valor del punto real del borde AEP (bloque 246). Esta etapa involucra ajustar el valor OEPx,y en una cantidad que depende de los
15 desplazamientos vertical y horizontal calculados, y es idéntica a la ecuación de los bloques 218 y 222 de la figura 2, los bloques 222, 227 y 229 de la figura 11, y los bloques 218, 233 y 235 de la figura 12, excepto en la eliminación de los términos que se hacen cero, y en cualesquiera cambios apropiados en el signo de la variable dWx,y debidos la elección del dato del borde.
La invención no se limita a las realizaciones descritas en el presente documento, las cuales pueden modificarse o 20 variarse sin apartarse del alcance de la invención, tal como se define mediante las reivindicaciones.

Claims (12)

  1. REIVINDICACIONES
    1. Un sistema (10) para inspeccionar un objeto (24, 124, 224), comprendiendo el sistema una superficie (28) de trabajo que proporciona un plano del objeto sobre el cual, en uso, es situado el objeto a inspeccionar; y una cámara
    (12) dispuesta con respecto a la superficie de trabajo de manera que, por lo menos, parte de la superficie de trabajo está en el interior del campo de visión de la cámara, estando dispuesta la cámara para capturar una imagen del objeto, comprendiendo la imagen una serie de componentes de datos de la imagen, incluyendo además el sistema un aparato (14, 16) para procesar la imagen del objeto, estando dispuesto el aparato (10) para recibir la imagen del objeto desde la cámara (12) y para identificar una serie de dichos componentes de datos de la imagen del objeto, que representan la posición de un respectivo componente del borde del objeto en un plano de imagen, en donde, durante la captura de una imagen mediante la cámara (12), la cámara y el objeto están fijos entre sí, estando dispuesto el aparato (14, 16) de procesamiento para proyectar cada componente de datos del borde de la imagen sobre el plano del objeto con el propósito de producir un respectivo componente de datos del borde del objeto en el plano del objeto, estando dispuesto además el aparato (14, 16) de procesamiento para determinar si cada componente de datos del borde del objeto se refiere a un borde del objeto que está situado en la superficie de trabajo, o a un borde del objeto que está desplazado de la superficie de trabajo y para, tras determinar que un componente de datos del borde del objeto está desplazado de la superficie (28) de trabajo, ajustar el valor del componente de datos del borde del objeto en una cantidad que depende de la relación entre el tamaño del desplazamiento T en una dirección perpendicular a la superficie de trabajo y la distancia perpendicular (FPz) del punto focal de la cámara desde el plano del objeto.
  2. 2.
    Sistema (10) acorde con la reivindicación 1, en el que cuando un perfil del borde del objeto (224) tomado en un plano perpendicular al plano del objeto es perpendicular al plano del objeto, o está socavado, dicho componente de datos del borde del objeto es ajustado restando una cantidad sustancialmente igual a dicha relación multiplicada por la distancia relativa entre el componente de datos del borde del objeto (OEPx) y la posición (FPx,y) del punto focal de la cámara en el plano del objeto.
  3. 3.
    Un sistema (10) acorde con la reivindicación 1, en el que cuando un perfil del borde del objeto (124) tomado en un plano perpendicular al plano del objeto está biselado, el aparato (14, 16) de procesamiento está dispuesto para determinar si el ángulo del perfil del borde biselado es mayor que el ángulo formado por una línea de visión (LoSEA) desde el punto focal de la cámara a dicho componente de datos del borde del objeto y, tras la determinación, para ajustar dicho componente de datos del borde del objeto restando una cantidad sustancialmente igual a dicha relación multiplicada por la distancia relativa entre el componente de datos del borde del objeto (OEPX) y la posición (FPx,y) del punto focal de la cámara en el plano del objeto, y sumando una cantidad sustancialmente igual a la distancia, en el plano del objeto, entre los bordes del perfil biselado a lo largo de dicha línea de visión.
  4. 4.
    Un sistema (10) acorde con la reivindicación 1, en el que cuando un perfil del borde del objeto (224) tomado en un plano perpendicular al plano del objeto está socavado, y cuando el aparato (14, 16) de procesamiento determina que un componente de datos del borde del objeto se refiere a un borde del objeto que está situado sobre la superficie de trabajo (28), el aparato de procesamiento está dispuesto para determinar si el ángulo del perfil del borde socavado es mayor que el ángulo formado por una línea de visión (LoSEA) desde el punto focal de la cámara a dicho componente de datos del borde del objeto (OEPX) y, tras la determinación, para ajustar dicho componente de datos del borde del objeto en una cantidad sustancialmente igual a la distancia, en el plano del objeto, entre los bordes del perfil socavado a lo largo de dicha línea de visión.
  5. 5.
    Un sistema (10) acorde con cualquier reivindicación precedente, en el que el aparato (14, 16) de procesamiento determina si cada componente de datos del borde del objeto se refiere a un borde del objeto que está situado sobre la superficie de trabajo (28) o a un borde del objeto que está separado de la superficie de trabajo (28), calculando un respectivo primer parámetro relativo a una línea de referencia virtual (N4, N5) que se extiende desde el componente de datos del borde del objeto (OEP4, OEP5), calculando un segundo parámetro relativo a una línea virtual (R4, R5) que se extiende entre el componente de datos del objeto y un punto de referencia (FPx,y) en el plano del objeto, y comparando la diferencia entre dicho primer parámetro y dicho segundo parámetro con un valor umbral.
  6. 6.
    Sistema (10) acorde con la reivindicación 5, en el que dicho primer parámetro comprende el valor de un ángulo (NA4, NA5) entre un eje de referencia del ángulo y dicha línea de referencia virtual (N4, N5) que se extiende desde el componente de datos del borde del objeto (OEP4, OEP5).
  7. 7.
    Un sistema (10) acorde con la reivindicación 5 ó 6, en el que dicho segundo parámetro comprende el valor de un ángulo (RA4, RA5) entre el eje de referencia del ángulo y dicha línea de referencia virtual (R4, R5) que se extiende entre el componente de datos del borde del objeto (OEP4, OEP5) y dicho punto de referencia (FPx,y).
  8. 8.
    Un sistema (10) acorde con cualquiera de las reivindicaciones 5 a 7, en el que dicho punto de referencia (FPx,y) sobre el plano del objeto comprende la posición del punto focal de la cámara en el plano del objeto, y dicha línea de referencia virtual (N4, N5) que se extiende desde el componente de datos del borde del objeto (OEP4, OEP5)
    comprende una línea normal al objeto en dicho componente de datos del borde del objeto, y en el que dicho valor umbral es de 90 grados.
  9. 9.
    El sistema (10) acorde con la reivindicación 1, en el que el aparato de procesamiento está dispuesto para calcular una línea de visión (LoSEA) desde el punto focal de la cámara hasta el componente de datos del borde del objeto, y para determinar el punto en que la línea de visión se encuentra sustancialmente con el borde del objeto, y determinar la cantidad de desplazamiento en función de la posición de dicho punto.
  10. 10.
    Un sistema (10) acorde con la reivindicación 9, en el que la línea de visión (LoSEA) está situada en un plano sustancialmente normal al borde del objeto, en la posición del componente de datos del borde del objeto.
  11. 11.
    Un método de procesamiento de un objeto de imagen en un sistema (10) para inspeccionar un objeto (24, 124, 224), comprendiendo el sistema una superficie de trabajo (28) que proporciona un plano del objeto sobre el cual, en uso, está situado el objeto a inspeccionar, y una cámara (12) dispuesta con respecto a la superficie de trabajo de manera que, por lo menos, parte de la superficie de trabajo está en el interior del campo de visión de la cámara, estando dispuesta la cámara para capturar una imagen del objeto, comprendiendo la imagen una serie de componentes de datos de imagen, y en donde, durante la captura de una imagen mediante la cámara, la cámara y el objeto están fijos entre sí, comprendiendo el método recibir la imagen del objeto desde la cámara (12); identificar una serie de componentes de datos de dicha imagen que representan la posición de un respectivo componente del borde del objeto en un plano de imagen; proyectar cada componente de datos del borde de la imagen sobre el plano del objeto, para producir un respectivo componente de datos del borde del objeto en el plano del objeto; determinar si cada componente de datos del borde del objeto se refiere a un borde del objeto que está situado sobre la superficie (28) de trabajo, o a un borde del objeto que está desplazado desde la superficie de trabajo; y, tras determinar que un componente de datos del borde del objeto está desplazado respecto de la superficie de trabajo, ajustar el valor del componente de datos del borde del objeto, en una cantidad que depende de la relación entre el tamaño del desplazamiento T en una dirección perpendicular a la superficie (28) de trabajo y la distancia perpendicular (FPz) del punto focal de la cámara desde el plano del objeto.
  12. 12.
    Un producto de programa informático que comprende código informático utilizable para hacer que un ordenador lleve a cabo un método de procesamiento de una imagen de un objeto en un sistema (10) para inspeccionar un objeto (24, 124, 224), comprendiendo el sistema una superficie (28) de trabajo que proporciona un plano del objeto en el cual, en uso, está situado el objeto a inspeccionar; y una cámara (12) dispuesta con respecto a la superficie
    (28) de trabajo de manera que, por lo menos, parte de la superficie de trabajo está en el interior del campo de visión de la cámara, estando dispuesta la cámara para capturar una imagen del objeto, comprendiendo la imagen una serie de componentes de datos de la imagen, y donde, durante la captura de una imagen mediante la cámara, la cámara y el objeto están fijos entre sí, en donde dicho método comprende recibir la imagen del objeto desde la cámara (12), identificar una serie de componentes de datos de la imagen que representan la posición de un respectivo componente del borde del objeto en un plano de la imagen; proyectar dicho componente de datos del borde de la imagen sobre el plano del objeto para producir un respectivo componente de datos del borde del objeto, en el plano del objeto; determinar si cada componente de datos del borde del objeto se refiere a un borde del objeto que está situado sobre la superficie (28) de trabajo, o a un borde del objeto que está desplazado de la superficie de trabajo; y, tras determinar que un componente de datos del borde del objeto está desplazado respecto de la superficie de trabajo, ajustar el valor del componente de datos del borde del objeto en una cantidad que depende de la relación entre el tamaño del desplazamiento T en una dirección perpendicular a la superficie de trabajo y la distancia perpendicular (FPz) del punto focal de la cámara desde el plano del objeto.
ES04008677T 2003-04-12 2004-04-12 Sistema y método de inspección. Expired - Lifetime ES2370015T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0308509 2003-04-12
GBGB0308509.9A GB0308509D0 (en) 2003-04-12 2003-04-12 Inspection apparatus and method

Publications (1)

Publication Number Publication Date
ES2370015T3 true ES2370015T3 (es) 2011-12-12

Family

ID=9956694

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04008677T Expired - Lifetime ES2370015T3 (es) 2003-04-12 2004-04-12 Sistema y método de inspección.

Country Status (6)

Country Link
US (1) US7649545B2 (es)
EP (1) EP1467176B1 (es)
AT (1) ATE517315T1 (es)
CA (1) CA2464033C (es)
ES (1) ES2370015T3 (es)
GB (1) GB0308509D0 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2005281043B2 (en) * 2004-09-07 2009-01-08 National Printing Bureau, Incorporated Administrative Agency OVD examination method and examination instrument
WO2007110107A1 (de) * 2006-03-23 2007-10-04 Maehner Bernward Verfahren zur räumlichen vermessung sich schnell bewegender objekte
JP2009168581A (ja) * 2008-01-15 2009-07-30 Saki Corp:Kk 被検査体の検査装置
US9767354B2 (en) 2009-02-10 2017-09-19 Kofax, Inc. Global geographic information retrieval, validation, and normalization
TWI492166B (zh) 2012-01-12 2015-07-11 Kofax Inc 行動影像擷取和處理的系統和方法
US10146795B2 (en) 2012-01-12 2018-12-04 Kofax, Inc. Systems and methods for mobile image capture and processing
US9355312B2 (en) 2013-03-13 2016-05-31 Kofax, Inc. Systems and methods for classifying objects in digital images captured using mobile devices
US10127636B2 (en) * 2013-09-27 2018-11-13 Kofax, Inc. Content-based detection and three dimensional geometric reconstruction of objects in image and video data
US9208536B2 (en) 2013-09-27 2015-12-08 Kofax, Inc. Systems and methods for three dimensional geometric reconstruction of captured image data
US20140316841A1 (en) 2013-04-23 2014-10-23 Kofax, Inc. Location-based workflows and services
US9386235B2 (en) 2013-11-15 2016-07-05 Kofax, Inc. Systems and methods for generating composite images of long documents using mobile video data
US9760788B2 (en) 2014-10-30 2017-09-12 Kofax, Inc. Mobile document detection and orientation based on reference object characteristics
US10620575B2 (en) 2015-05-08 2020-04-14 Hewlett-Packard Development Company, L.P. Light projection for a print substrate
US10242285B2 (en) 2015-07-20 2019-03-26 Kofax, Inc. Iterative recognition-guided thresholding and data extraction
EP3455667A2 (en) * 2016-05-11 2019-03-20 Wayray Sa Heads-up display with variable image plane
US20190012782A1 (en) * 2017-07-05 2019-01-10 Integrated Vision Systems LLC Optical inspection apparatus and method
US11062176B2 (en) 2017-11-30 2021-07-13 Kofax, Inc. Object detection and image cropping using a multi-detector approach
GB202400826D0 (en) 2024-01-22 2024-03-06 Inspecvision Ltd Inspection system and method

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61105623A (ja) * 1984-10-29 1986-05-23 Toray Ind Inc 物体上の位置の認識装置
US4899061A (en) * 1986-08-13 1990-02-06 The Broken Hill Proprietary Company Limited Determining a width and/or thickness of a generally rectangular object
US5136373A (en) * 1989-06-22 1992-08-04 Hamamatsu Photonics K. K. Image processing apparatus
WO1991015731A1 (de) 1990-04-05 1991-10-17 Aurotec System Gmbh Industrieautomation Verfahren und vorrichtung zum vermessen und/oder prüfen der umrissformen oder kanten von werkstücken
US5095204A (en) * 1990-08-30 1992-03-10 Ball Corporation Machine vision inspection system and method for transparent containers
DE69132486T2 (de) * 1990-09-04 2001-05-10 Canon Kk Dreidimensionales Modellierungsgerät-und Verfahren
US5495429A (en) * 1993-02-12 1996-02-27 West Virginia University Method and apparatus for measuring the color of three dimensional objects
US6278798B1 (en) * 1993-08-09 2001-08-21 Texas Instruments Incorporated Image object recognition system and method
US5917934A (en) * 1996-03-15 1999-06-29 Sony Corporation Automated visual inspection apparatus for detecting defects and for measuring defect size
US6064759A (en) * 1996-11-08 2000-05-16 Buckley; B. Shawn Computer aided inspection machine
US5974169A (en) * 1997-03-20 1999-10-26 Cognex Corporation Machine vision methods for determining characteristics of an object using boundary points and bounding regions
IL125228A0 (en) 1998-07-06 1999-03-12 3D Multi Vision Ltd Method and apparatus for measuring dimensions of objects
US6172748B1 (en) * 1998-12-28 2001-01-09 Applied Vision Machine vision system and method for non-contact container inspection
US6577758B1 (en) * 1999-09-24 2003-06-10 Cognex Technology And Investment Corporation Image position detection technique in which input parameters can be easily determined
US6571196B2 (en) * 1999-11-29 2003-05-27 Hitachi Kokusai Electric Inc. Size inspection/measurement method and size inspection/measurement apparatus
US6606403B2 (en) * 2000-05-04 2003-08-12 Daniel Freifeld Repetitive inspection system with intelligent tools
JP2001317916A (ja) 2000-05-10 2001-11-16 Fuji Mach Mfg Co Ltd エッジ検出方法および装置
JP2002342710A (ja) * 2001-05-16 2002-11-29 Nec Corp 文字切出し装置及びそれに用いる文字切出し方法並びにそのプログラム
US7003161B2 (en) * 2001-11-16 2006-02-21 Mitutoyo Corporation Systems and methods for boundary detection in images
US7117047B1 (en) * 2001-12-04 2006-10-03 Assembly Guidance Systems, Inc. High accuracy inspection system and method for using same
WO2003083460A1 (en) * 2002-03-25 2003-10-09 Geo-Centers, Inc. Automated inspection and processing system
TWI236562B (en) * 2002-11-21 2005-07-21 Hitachi Int Electric Inc A method of detecting a pattern and an apparatus thereof
JP4364524B2 (ja) * 2003-02-20 2009-11-18 株式会社日立製作所 パターン検査方法

Also Published As

Publication number Publication date
GB0308509D0 (en) 2003-05-21
EP1467176B1 (en) 2011-07-20
US20040252190A1 (en) 2004-12-16
CA2464033C (en) 2011-12-20
ATE517315T1 (de) 2011-08-15
EP1467176A1 (en) 2004-10-13
US7649545B2 (en) 2010-01-19
CA2464033A1 (en) 2004-10-12

Similar Documents

Publication Publication Date Title
ES2370015T3 (es) Sistema y método de inspección.
US10775160B2 (en) System and method for efficient surface measurement using a laser displacement sensor
US11619485B2 (en) Hybrid 3D optical scanning system
CN102224412A (zh) 成形片材的缺陷检查装置
CN112334761B (zh) 缺陷判别方法、缺陷判别装置及记录介质
CN1271085A (zh) 测量肢体部分的方法
FI112279B (fi) Menetelmä vastinpisteiden määrittämiseksi
CN113124771B (zh) 具有校准目标对象的成像系统
CN105092603B (zh) 碗型工件内壁的在线视觉检测装置和方法
JP2006521544A (ja) 輪郭に従って複数層形式に具現化された平坦な布地構造の品質規準を検査するための方法
KR100698535B1 (ko) 경사 보정기능을 갖는 이동로봇의 위치 인식 장치 및 방법
JP7306620B2 (ja) 表面欠陥検査装置及び表面欠陥検査方法
CN110441331B (zh) 玻璃光畸变检测系统及方法
EP1676238B1 (en) A method for measuring dimensions by means of a digital camera
CN112710662A (zh) 生成方法及装置、生成系统和存储介质
JP2001201322A (ja) 非接触伸び計ターゲットおよび非接触伸び計
JP4837541B2 (ja) 端面形状検査方法および同装置
Munaro et al. Fast 2.5 D model reconstruction of assembled parts with high occlusion for completeness inspection
JP2018146401A (ja) 検査装置用制御装置、検査装置、検査装置制御方法、及び、プログラム
JPH0432567Y2 (es)
WO2021240934A1 (ja) 対象物の位置および姿勢の計測のためのマーカ、装置、システムおよび計測方法
JP2018044863A (ja) 計測装置、計測方法、システム及び物品の製造方法
JP2016075517A (ja) 透視歪の測定装置および透視歪の測定方法
CN115575399A (zh) 表面缺陷检测方法及表面缺陷检测系统
Castillo-Santiago et al. 3D reconstruction of aerodynamic airfoils using computer stereo vision