Contenido
Los usos principales de la visión artificial son la inspección y clasificación automáticas basadas en imágenes y la guía del robot.;[6][7] en esta sección la primera se abrevia como "inspección automática". El proceso general incluye la planificación de los detalles de los requisitos y el proyecto, y luego la creación de una solución.[9][10] Esta sección describe el proceso técnico que ocurre durante la operación de la solución.
Métodos y secuencia de operación.
El primer paso en la secuencia de operación de inspección automática es la adquisición de una imagen, generalmente utilizando cámaras, lentes e iluminación que ha sido diseñada para proporcionar la diferenciación requerida por el procesamiento posterior.[11][12] Los paquetes de software de MV y los programas desarrollados en ellos emplean varias técnicas de procesamiento de imágenes digitales para extraer la información requerida y, a menudo, toman decisiones (como aprobar/reprobar) en función de la información extraída.[13] Los componentes de un sistema de inspección automática generalmente incluyen iluminación, una cámara u otro generador de imágenes, un procesador, software y dispositivos de salida.[7].
Imágenes
El dispositivo de imágenes (por ejemplo, una cámara) puede estar separado de la unidad principal de procesamiento de imágenes o combinarse con ella, en cuyo caso la combinación generalmente se denomina cámara inteligente o sensor inteligente.[14][15] La inclusión de la función de procesamiento completo en el mismo recinto que la cámara a menudo se denomina procesamiento integrado.[16] Cuando se separan, la conexión se puede realizar a un hardware intermedio especializado, un dispositivo de procesamiento personalizado o un capturador de fotogramas dentro de una computadora mediante una interfaz analógica o digital estandarizada ( Camera Link, CoaXPress ).[17][18][19][20] Las implementaciones de MV también usan cámaras digitales capaces de conectarse directamente (sin un capturador de fotogramas) a una computadora a través de interfaces FireWire, USB o Gigabit Ethernet .[20][21] Si bien las imágenes convencionales (luz visible 2D) se usan más comúnmente en MV, las alternativas incluyen imágenes multiespectrales, imágenes hiperespectrales, imágenes de varias bandas infrarrojas,[22] imágenes de barrido lineal, imágenes 3D de superficies e imágenes de rayos X.[6] Las diferenciaciones clave dentro de las imágenes de luz visible MV 2D son monocromática frente a color, velocidad de fotogramas, resolución y si el proceso de imagen es simultáneo o no en toda la imagen, lo que lo hace adecuado para procesos en movimiento.[23].
Estas cámaras necesitan tener especificaciones muy particulares para esta aplicación, ya que necesitan estar en uso por largos periodos de tiempo y muchas veces en un espacio reducido. Adicionalmente, estas cámaras normalmente disponen de una alta definición y FPS para poder capturar dimensiones y errores en la producción. Como mencionado anteriormente, interfaces como CoaXpress son utilizadas para poder transferir esta información de manera eficiente. Estas interfaces pueden llegar a velocidades de 12.5Gbps (gigabits por segundo) por canal de transmisión.[24] "Garbage in, Garbage out" (en Español Basura entra, Basura sale) es un concepto de informática que se aplica aquí. Las cámaras requieren de estas características, ya que sin ellas, se producirían resultados mediocres. Alta velocidad y calidad de imagen son clave para la vision de maquina. [25] Las condiciones del ambiente como la temperatura, golpes, etc. también necesitan ser consideradas en el contexto industrial. [26].
Aunque la gran mayoría de las aplicaciones de visión artificial se resuelven mediante imágenes bidimensionales, las aplicaciones de visión artificial que utilizan imágenes 3D son un nicho en crecimiento dentro de la industria.[27][28] El método más utilizado para la obtención de imágenes en 3D es la triangulación basada en el escaneo, que utiliza el movimiento del producto o la imagen durante el proceso de creación de imágenes. Un láser se proyecta sobre las superficies de un objeto. En la visión artificial, esto se logra con un movimiento de exploración, ya sea moviendo la pieza de trabajo o moviendo la cámara y el sistema de imágenes láser. La línea es vista por una cámara desde un ángulo diferente; la desviación de la línea representa variaciones de forma. Las líneas de varios escaneos se ensamblan en un mapa de profundidad o una nube de puntos.[29] La visión estereoscópica se usa en casos especiales que involucran características únicas presentes en ambas vistas de un par de cámaras.[29] Otros métodos 3D utilizados para la visión artificial son el tiempo de vuelo y la cuadrícula.[29][27] Un método son los sistemas basados en matriz de cuadrículas que utilizan un sistema de luz estructurada pseudoaleatorio como el empleado por el sistema Microsoft Kinect alrededor de 2012.[30][31].
Procesamiento de imágenes
Una vez adquirida una imagen, se procesa.[19] Las funciones de procesamiento central generalmente las realiza una CPU, una GPU, una FPGA o una combinación de estas.[16] La inferencia y el entrenamiento de aprendizaje profundo imponen mayores requisitos de rendimiento de procesamiento.[32] Por lo general, se utilizan múltiples etapas de procesamiento en una secuencia que termina como un resultado deseado. Una secuencia típica podría comenzar con herramientas como filtros que modifican la imagen, seguido de la extracción de objetos, luego la extracción (por ejemplo, mediciones, lectura de códigos) de datos de esos objetos, seguido por la comunicación de esos datos o la comparación con valores objetivo para crear y comunicar resultados de "aprobado/reprobado". Los métodos de procesamiento de imágenes de visión artificial incluyen;.
Outputs
Una salida común (Output) de los sistemas de inspección automática son las decisiones de aprobación/rechazo.[13] Estas decisiones pueden, a su vez, desencadenar mecanismos que rechacen elementos fallidos o hagan sonar una alarma. Otras salidas comunes incluyen la posición del objeto y la información de orientación para los sistemas de guía del robot.[6] Además, los tipos de salida incluyen datos de medición numéricos, datos leídos de códigos y caracteres, conteos y clasificación de objetos, visualizaciones del proceso o resultados, imágenes almacenadas, alarmas de sistemas automatizados de monitoreo espacial MV y señales de control de procesos .[9][12] Esto también incluye interfaces de usuario, interfaces para la integración de sistemas de múltiples componentes e intercambio de datos automatizado.[43].