Extracción informatizada de información a partir de imágenes.
Las tareas de visión por computadora incluyen métodos para adquirir , procesar , analizar y comprender imágenes digitales, y extraer datos de alta dimensión del mundo real para producir información numérica o simbólica, por ejemplo, en forma de decisiones. [1] [2] [3] [4] Comprensión en este contexto significa la transformación de imágenes visuales (la entrada a la retina en el análogo humano) en descripciones del mundo que tienen sentido para los procesos de pensamiento y pueden provocar acciones apropiadas. Esta comprensión de la imagen puede verse como la separación de la información simbólica de los datos de la imagen utilizando modelos construidos con la ayuda de la geometría, la física, la estadística y la teoría del aprendizaje.
La disciplina científica de la visión por computadora se ocupa de la teoría detrás de los sistemas artificiales que extraen información de imágenes. Los datos de las imágenes pueden adoptar muchas formas, como secuencias de vídeo, vistas de múltiples cámaras, datos multidimensionales de un escáner 3D, nubes de puntos 3D de sensores LiDaR o dispositivos de escaneo médicos. La disciplina tecnológica de la visión por computadora busca aplicar sus teorías y modelos a la construcción de sistemas de visión por computadora.
La adopción de tecnología de visión por computadora puede resultar laboriosa para las organizaciones, ya que no existe una solución única para ello. Muy pocas empresas ofrecen una plataforma o sistema operativo unificado y distribuido donde las aplicaciones de visión por computadora se puedan implementar y administrar fácilmente.
Definición
La visión por computadora es un campo interdisciplinario que se ocupa de cómo se pueden fabricar computadoras para obtener una comprensión de alto nivel a partir de imágenes o videos digitales . Desde la perspectiva de la ingeniería , busca automatizar tareas que el sistema visual humano puede realizar. [5] [6] [7] "La visión por computadora se ocupa de la extracción, el análisis y la comprensión automáticos de información útil a partir de una sola imagen o una secuencia de imágenes. Implica el desarrollo de una base teórica y algorítmica para lograr una visualización automática. comprensión." [8] Como disciplina científica , la visión por computadora se ocupa de la teoría detrás de los sistemas artificiales que extraen información de imágenes. Los datos de la imagen pueden adoptar muchas formas, como secuencias de vídeo, vistas de varias cámaras o datos multidimensionales de un escáner médico . [9] Como disciplina tecnológica, la visión por computadora busca aplicar sus teorías y modelos para la construcción de sistemas de visión por computadora. La visión artificial se refiere a una disciplina de ingeniería de sistemas, especialmente en el contexto de la automatización de fábricas. En tiempos más recientes, los términos visión por computadora y visión artificial han convergido en mayor grado. [10] : 13
Historia
A finales de la década de 1960, la visión por computadora comenzó en las universidades que eran pioneras en inteligencia artificial . Su objetivo era imitar el sistema visual humano como un trampolín para dotar a los robots de un comportamiento inteligente. [11] En 1966, se creía que esto podría lograrse a través de un proyecto de verano de pregrado, [12] conectando una cámara a una computadora y haciendo que "describiera lo que veía". [13] [14]
Trabajos recientes han visto el resurgimiento de métodos basados en características utilizados junto con técnicas de aprendizaje automático y marcos de optimización complejos. [16] [17]
El avance de las técnicas de aprendizaje profundo ha dado más vida al campo de la visión por computadora. La precisión de los algoritmos de aprendizaje profundo en varios conjuntos de datos de visión por computadora de referencia para tareas que van desde la clasificación, [18] la segmentación y el flujo óptico ha superado los métodos anteriores. [ cita necesaria ] [19]
Campos relacionados
Física del estado sólido
La física del estado sólido es otro campo estrechamente relacionado con la visión por computadora. La mayoría de los sistemas de visión por computadora se basan en sensores de imágenes , que detectan la radiación electromagnética , que generalmente se presenta en forma de luz visible , infrarroja o ultravioleta . Los sensores están diseñados utilizando la física cuántica . El proceso por el cual la luz interactúa con las superficies se explica mediante la física. La física explica el comportamiento de la óptica , que es una parte central de la mayoría de los sistemas de imágenes. Los sensores de imágenes sofisticados incluso requieren de la mecánica cuántica para proporcionar una comprensión completa del proceso de formación de imágenes. [11] Además, varios problemas de medición en física se pueden abordar utilizando la visión por computadora, por ejemplo, el movimiento en fluidos.
Neurobiología
La neurobiología ha influido mucho en el desarrollo de algoritmos de visión por computadora. Durante el último siglo, se ha realizado un amplio estudio de los ojos, las neuronas y las estructuras cerebrales dedicadas al procesamiento de estímulos visuales tanto en humanos como en diversos animales. Esto ha llevado a una descripción tosca pero complicada de cómo funcionan los sistemas de visión naturales para resolver determinadas tareas relacionadas con la visión. Estos resultados han llevado a un subcampo dentro de la visión por computadora donde los sistemas artificiales están diseñados para imitar el procesamiento y el comportamiento de sistemas biológicos en diferentes niveles de complejidad. Además, algunos de los métodos basados en el aprendizaje desarrollados dentro de la visión por computadora ( por ejemplo, redes neuronales y análisis y clasificación de imágenes y características basados en el aprendizaje profundo ) tienen su origen en la neurobiología. El Neocognitron , una red neuronal desarrollada en la década de 1970 por Kunihiko Fukushima , es un ejemplo temprano de visión por computadora que se inspira directamente en la neurobiología, específicamente en la corteza visual primaria .
Algunas líneas de investigación de la visión por computadora están estrechamente relacionadas con el estudio de la visión biológica ; de hecho, del mismo modo que muchas líneas de investigación de la IA están estrechamente relacionadas con la investigación sobre la inteligencia humana y el uso del conocimiento almacenado para interpretar, integrar y utilizar información visual. El campo de la visión biológica estudia y modela los procesos fisiológicos detrás de la percepción visual en humanos y otros animales. La visión por computadora, por otro lado, desarrolla y describe los algoritmos implementados en el software y hardware detrás de los sistemas de visión artificial. Un intercambio interdisciplinario entre la visión biológica y por computadora ha resultado fructífero para ambos campos. [21]
Procesamiento de la señal
Otro campo más relacionado con la visión por computadora es el procesamiento de señales . Muchos métodos para procesar señales de una variable, típicamente señales temporales, pueden extenderse de forma natural al procesamiento de señales de dos variables o señales de múltiples variables en visión por computadora. Sin embargo, debido a la naturaleza específica de las imágenes, existen muchos métodos desarrollados dentro de la visión por computadora que no tienen contraparte en el procesamiento de señales de una variable. Junto con la multidimensionalidad de la señal, esto define un subcampo en el procesamiento de señales como parte de la visión por computadora.
Navegación robótica
La navegación robótica a veces se ocupa de la planificación o deliberación de rutas autónomas para que los sistemas robóticos naveguen a través de un entorno . [22] Se requiere una comprensión detallada de estos entornos para navegar a través de ellos. La información sobre el entorno podría proporcionarse mediante un sistema de visión por computadora, que actuaría como un sensor de visión y proporcionaría información de alto nivel sobre el entorno y el robot.
Además de las opiniones antes mencionadas sobre la visión por ordenador, muchos de los temas de investigación relacionados también pueden estudiarse desde un punto de vista puramente matemático. Por ejemplo, muchos métodos de visión por computadora se basan en la estadística , la optimización o la geometría . Finalmente, una parte importante del campo se dedica al aspecto de implementación de la visión por computadora; cómo se pueden implementar los métodos existentes en varias combinaciones de software y hardware, o cómo se pueden modificar estos métodos para ganar velocidad de procesamiento sin perder demasiado rendimiento. La visión por computadora también se utiliza en el comercio electrónico de moda, la gestión de inventarios, la búsqueda de patentes, los muebles y la industria de la belleza. [23]
Distinciones
Los campos más estrechamente relacionados con la visión por ordenador son el procesamiento de imágenes , el análisis de imágenes y la visión artificial . Existe una superposición significativa en la gama de técnicas y aplicaciones que cubren. Esto implica que las técnicas básicas que se utilizan y desarrollan en estos campos son similares, algo que se puede interpretar como que existe un solo campo con nombres diferentes. Por otro lado, parece necesario que grupos de investigación, revistas científicas, congresos y empresas se presenten o comercialicen como pertenecientes específicamente a uno de estos campos y, por tanto, se han elaborado diversas caracterizaciones que distinguen cada uno de los campos de los demás. sido presentado. En el procesamiento de imágenes, la entrada es una imagen y la salida también es una imagen, mientras que en la visión por computadora, se toma una imagen o un video como entrada y la salida podría ser una imagen mejorada, una comprensión del contenido de una imagen. o incluso el comportamiento de un sistema informático basado en dicha comprensión.
Los gráficos por computadora producen datos de imágenes a partir de modelos 3D, y la visión por computadora a menudo produce modelos 3D a partir de datos de imágenes. [24] También hay una tendencia hacia una combinación de las dos disciplinas, por ejemplo , como se explora en la realidad aumentada .
Las siguientes caracterizaciones parecen pertinentes, pero no deben considerarse universalmente aceptadas:
El procesamiento y el análisis de imágenes tienden a centrarse en imágenes 2D, cómo transformar una imagen en otra, por ejemplo , mediante operaciones de píxeles como la mejora del contraste, operaciones locales como la extracción de bordes o la eliminación de ruido, o transformaciones geométricas como la rotación de la imagen. . Esta caracterización implica que el procesamiento/análisis de imágenes no requiere suposiciones ni produce interpretaciones sobre el contenido de la imagen.
La visión por computadora incluye análisis 3D a partir de imágenes 2D. Esto analiza la escena 3D proyectada sobre una o varias imágenes, por ejemplo , cómo reconstruir la estructura u otra información sobre la escena 3D a partir de una o varias imágenes. La visión por computadora a menudo se basa en suposiciones más o menos complejas sobre la escena representada en una imagen.
La visión artificial es el proceso de aplicar una variedad de tecnologías y métodos para proporcionar inspección automática basada en imágenes, control de procesos y guía de robots [25] en aplicaciones industriales. [21] La visión artificial tiende a centrarse en aplicaciones, principalmente en la fabricación, por ejemplo , robots basados en visión y sistemas para inspección, medición o recolección basados en visión (como la recolección de contenedores [26] ). Esto implica que las tecnologías de sensores de imágenes y la teoría de control a menudo se integran con el procesamiento de datos de imágenes para controlar un robot y que el procesamiento en tiempo real se enfatiza mediante implementaciones eficientes en hardware y software. También implica que las condiciones externas, como la iluminación, pueden estar, y a menudo están, más controladas en la visión artificial que en la visión por computadora en general, lo que puede permitir el uso de diferentes algoritmos.
También existe un campo llamado imágenes que se centra principalmente en el proceso de producción de imágenes, pero a veces también se ocupa del procesamiento y análisis de imágenes. Por ejemplo, las imágenes médicas incluyen un trabajo sustancial sobre el análisis de datos de imágenes en aplicaciones médicas. Los avances en las redes neuronales convolucionales (CNN) han mejorado la detección precisa de enfermedades en imágenes médicas, particularmente en cardiología, patología, dermatología y radiología. [27]
Finalmente, el reconocimiento de patrones es un campo que utiliza diversos métodos para extraer información de señales en general, basados principalmente en enfoques estadísticos y redes neuronales artificiales . [28] Una parte importante de este campo se dedica a aplicar estos métodos a datos de imágenes.
Las aplicaciones van desde tareas como sistemas industriales de visión artificial que, por ejemplo, inspeccionan botellas que pasan a toda velocidad en una línea de producción, hasta investigaciones sobre inteligencia artificial y computadoras o robots que pueden comprender el mundo que los rodea. Los campos de la visión por computadora y la visión artificial tienen una superposición significativa. La visión por computadora cubre la tecnología central del análisis de imágenes automatizado que se utiliza en muchos campos. La visión artificial generalmente se refiere a un proceso de combinación de análisis de imágenes automatizado con otros métodos y tecnologías para proporcionar inspección automatizada y guía de robots en aplicaciones industriales. En muchas aplicaciones de visión por computadora, las computadoras están preprogramadas para resolver una tarea particular, pero los métodos basados en el aprendizaje son cada vez más comunes. Ejemplos de aplicaciones de visión por computadora incluyen sistemas para:
Inspección automática, por ejemplo , en aplicaciones de fabricación;
Organizar información, por ejemplo , para indexar bases de datos de imágenes y secuencias de imágenes.
Seguimiento de superficies o planos en coordenadas 3D para permitir experiencias de Realidad Aumentada.
Medicamento
Uno de los campos de aplicación más destacados es la visión médica por computadora , o procesamiento de imágenes médicas, caracterizado por la extracción de información a partir de datos de imágenes para diagnosticar a un paciente . Un ejemplo de esto es la detección de tumores , arteriosclerosis u otros cambios malignos, y variedad de patologías dentales; Otro ejemplo son las mediciones de las dimensiones de los órganos, el flujo sanguíneo, etc. También apoya la investigación médica proporcionando nueva información: por ejemplo , sobre la estructura del cerebro o la calidad de los tratamientos médicos. Las aplicaciones de la visión por computadora en el área médica también incluyen la mejora de imágenes interpretadas por humanos (imágenes ultrasónicas o imágenes de rayos X, por ejemplo) para reducir la influencia del ruido.
Visión de máquina
Una segunda área de aplicación de la visión por computadora es la industria, a veces llamada visión artificial , donde se extrae información con el fin de respaldar un proceso de producción. Un ejemplo es el control de calidad, en el que los detalles o los productos finales se inspeccionan automáticamente para encontrar defectos. Uno de los campos más frecuentes para dicha inspección es la industria de las obleas, en la que cada oblea se mide e inspecciona en busca de imprecisiones o defectos para evitar que un chip de computadora llegue al mercado de manera inutilizable. Otro ejemplo es la medición de la posición y orientación de los detalles que un brazo robótico recogerá. La visión artificial también se utiliza mucho en los procesos agrícolas para eliminar alimentos indeseables del material a granel, un proceso llamado clasificación óptica . [30]
Militar
Las aplicaciones militares son probablemente una de las áreas más importantes de la visión por computadora [ cita requerida ] . Los ejemplos obvios son la detección de soldados o vehículos enemigos y el guiado de misiles . Los sistemas más avanzados para guiar misiles envían el misil a un área en lugar de a un objetivo específico, y la selección del objetivo se realiza cuando el misil alcanza el área basándose en datos de imágenes adquiridos localmente. Los conceptos militares modernos, como la "conciencia del campo de batalla", implican que varios sensores, incluidos los sensores de imágenes, proporcionan un rico conjunto de información sobre una escena de combate que puede utilizarse para respaldar decisiones estratégicas. En este caso, se utiliza el procesamiento automático de los datos para reducir la complejidad y fusionar información de múltiples sensores para aumentar la confiabilidad.
Vehículos autónomos
Una de las áreas de aplicación más nuevas son los vehículos autónomos, que incluyen sumergibles , vehículos terrestres (pequeños robots con ruedas, automóviles o camiones), vehículos aéreos y vehículos aéreos no tripulados ( UAV ). El nivel de autonomía varía desde vehículos totalmente autónomos (no tripulados) hasta vehículos en los que sistemas basados en visión por ordenador ayudan al conductor o al piloto en diversas situaciones. Los vehículos totalmente autónomos suelen utilizar la visión por computadora para la navegación, por ejemplo, para saber dónde están o mapear su entorno ( SLAM ), para detectar obstáculos. También se puede utilizar para detectar ciertos eventos de tareas específicas, por ejemplo , un UAV que busca incendios forestales. Ejemplos de sistemas de apoyo son los sistemas de advertencia de obstáculos en automóviles, las cámaras y sensores LiDAR en vehículos y los sistemas para el aterrizaje autónomo de aviones. Varios fabricantes de automóviles han demostrado sistemas para la conducción autónoma de automóviles . Hay numerosos ejemplos de vehículos militares autónomos que van desde misiles avanzados hasta vehículos aéreos no tripulados para misiones de reconocimiento o guiado de misiles. La exploración espacial ya se está realizando con vehículos autónomos que utilizan visión por computadora, por ejemplo , el Curiosity de la NASA y el rover Yutu-2 de CNSA .
Retroalimentación táctil
Se están utilizando materiales como el caucho y el silicio para crear sensores que permitan aplicaciones como la detección de microondulaciones y la calibración de manos robóticas. Se puede usar caucho para crear un molde que se pueda colocar sobre un dedo; dentro de este molde habría múltiples galgas extensométricas. Luego, el molde para el dedo y los sensores podrían colocarse encima de una pequeña lámina de caucho que contiene una serie de pasadores de caucho. Luego, un usuario puede usar el molde para el dedo y trazar una superficie. Luego, una computadora puede leer los datos de las galgas extensométricas y medir si uno o más de los pasadores están siendo empujados hacia arriba. Si se empuja un alfiler hacia arriba, la computadora puede reconocerlo como una imperfección en la superficie. Este tipo de tecnología es útil para recibir datos precisos sobre imperfecciones en una superficie muy grande. [31] Otra variación de este sensor de molde de dedo son los sensores que contienen una cámara suspendida en silicio. El silicio forma una cúpula alrededor del exterior de la cámara y en el silicio hay marcadores de puntos equiespaciados. Luego, estas cámaras se pueden colocar en dispositivos como manos robóticas para permitir que la computadora reciba datos táctiles de alta precisión. [32]
Seguimiento y recuento de organismos en las ciencias biológicas [36]
Tareas típicas
Cada una de las áreas de aplicación descritas anteriormente emplea una variedad de tareas de visión por computadora; Problemas de medición o problemas de procesamiento más o menos bien definidos, que pueden resolverse utilizando una variedad de métodos. A continuación se presentan algunos ejemplos de tareas típicas de visión por computadora.
Las tareas de visión por computadora incluyen métodos para adquirir , procesar , analizar y comprender imágenes digitales, y extraer datos de alta dimensión del mundo real para producir información numérica o simbólica, por ejemplo , en forma de decisiones. [1] [2] [3] [4] Comprensión en este contexto significa la transformación de imágenes visuales (la entrada de la retina) en descripciones del mundo que pueden interactuar con otros procesos de pensamiento y provocar acciones apropiadas. Esta comprensión de la imagen puede verse como la separación de la información simbólica de los datos de la imagen utilizando modelos construidos con la ayuda de la geometría, la física, la estadística y la teoría del aprendizaje. [37]
Reconocimiento
El problema clásico en visión por computadora, procesamiento de imágenes y visión artificial es el de determinar si los datos de la imagen contienen o no algún objeto, característica o actividad específica. En la literatura se describen diferentes tipos de problemas de reconocimiento. [38]
Reconocimiento de objetos (también llamado clasificación de objetos ): se pueden reconocer uno o varios objetos o clases de objetos preespecificados o aprendidos, generalmente junto con sus posiciones 2D en la imagen o poses 3D en la escena. Blippar, Google Goggles y LikeThat proporcionan programas independientes que ilustran esta funcionalidad.
Identificación : se reconoce una instancia individual de un objeto. Los ejemplos incluyen la identificación del rostro o la huella digital de una persona específica, la identificación de dígitos escritos a mano o la identificación de un vehículo específico.
Detección : los datos de la imagen se escanean en busca de objetos específicos junto con sus ubicaciones. Los ejemplos incluyen la detección de un obstáculo en el campo de visión del automóvil y posibles células o tejidos anormales en imágenes médicas o la detección de un vehículo en un sistema automático de peaje. La detección basada en cálculos relativamente simples y rápidos se utiliza a veces para encontrar regiones más pequeñas de datos de imágenes interesantes que pueden analizarse más a fondo mediante técnicas más exigentes desde el punto de vista computacional para producir una interpretación correcta.
Actualmente, los mejores algoritmos para este tipo de tareas se basan en redes neuronales convolucionales . Un ejemplo de sus capacidades lo ofrece el ImageNet Large Scale Visual Recognition Challenge ; Este es un punto de referencia en clasificación y detección de objetos, con millones de imágenes y 1000 clases de objetos utilizados en la competencia. [39] El rendimiento de las redes neuronales convolucionales en las pruebas de ImageNet ahora es cercano al de los humanos. [39] Los mejores algoritmos todavía tienen problemas con objetos que son pequeños o delgados, como una pequeña hormiga en el tallo de una flor o una persona que sostiene una pluma en la mano. También tienen problemas con las imágenes distorsionadas con filtros (un fenómeno cada vez más común en las cámaras digitales modernas). Por el contrario, ese tipo de imágenes rara vez preocupan a los humanos. Los humanos, sin embargo, tienden a tener problemas con otras cuestiones. Por ejemplo, no son buenos para clasificar objetos en clases detalladas, como una raza particular de perro o una especie de pájaro, mientras que las redes neuronales convolucionales manejan esto con facilidad. [ cita necesaria ]
Existen varias tareas especializadas basadas en el reconocimiento, tales como:
Recuperación de imágenes basada en contenido : encontrar todas las imágenes en un conjunto más grande de imágenes que tienen un contenido específico. El contenido se puede especificar de diferentes maneras, por ejemplo en términos de similitud relativa a una imagen de destino (darme todas las imágenes similares a la imagen X) utilizando técnicas de búsqueda de imágenes inversas , o en términos de criterios de búsqueda de alto nivel proporcionados como entrada de texto. (dame todas las imágenes que contengan muchas casas, estén tomadas durante el invierno y no tengan automóviles).
Estimación de pose : estimación de la posición u orientación de un objeto específico en relación con la cámara. Una aplicación de ejemplo para esta técnica sería ayudar a un brazo robótico a recuperar objetos de una cinta transportadora en una situación de línea de montaje o recoger piezas de un contenedor.
Reconocimiento facial : una tecnología que permite comparar caras en imágenes digitales o fotogramas de vídeo con una base de datos de caras, que ahora se utiliza ampliamente para el bloqueo facial de teléfonos móviles, el cierre inteligente de puertas, etc. [40]
Reconocimiento de emociones : un subconjunto del reconocimiento facial, el reconocimiento de emociones se refiere al proceso de clasificación de las emociones humanas. Los psicólogos advierten, sin embargo, que las emociones internas no pueden detectarse de forma fiable a partir de los rostros. [41]
Reconocimiento de actividad humana : se ocupa del reconocimiento de la actividad a partir de una serie de fotogramas de vídeo, por ejemplo, si la persona está recogiendo un objeto o caminando.
Análisis de movimiento
Varias tareas se relacionan con la estimación del movimiento, donde se procesa una secuencia de imágenes para producir una estimación de la velocidad en cada punto de la imagen o en la escena 3D o incluso de la cámara que produce las imágenes. Ejemplos de tales tareas son:
Egomotion : determinación del movimiento rígido 3D (rotación y traslación) de la cámara a partir de una secuencia de imágenes producida por la cámara.
Seguimiento : seguir los movimientos de un conjunto (normalmente) más pequeño de puntos u objetos de interés ( p. ej. , vehículos, objetos, humanos u otros organismos [36] ) en la secuencia de imágenes. Esto tiene amplias aplicaciones en la industria, ya que la mayoría de la maquinaria de alto rendimiento se puede monitorear de esta manera.
Flujo óptico : para determinar, para cada punto de la imagen, cómo se mueve ese punto en relación con el plano de la imagen, es decir , su movimiento aparente. Este movimiento es el resultado tanto de cómo se mueve el punto 3D correspondiente en la escena como de cómo se mueve la cámara en relación con la escena.
Reconstrucción de escena
Dada una o (normalmente) más imágenes de una escena, o un vídeo, la reconstrucción de la escena tiene como objetivo calcular un modelo 3D de la escena. En el caso más sencillo, el modelo puede ser un conjunto de puntos 3D. Métodos más sofisticados producen un modelo de superficie 3D completo. La llegada de imágenes 3D que no requieren movimiento ni escaneo, y los algoritmos de procesamiento relacionados, están permitiendo avances rápidos en este campo. La detección 3D basada en cuadrículas se puede utilizar para adquirir imágenes 3D desde múltiples ángulos. Ahora hay algoritmos disponibles para unir múltiples imágenes 3D en nubes de puntos y modelos 3D. [24]
Restauración de imagen
La restauración de la imagen entra en escena cuando la imagen original está degradada o dañada debido a algunos factores externos como la posición incorrecta de la lente, interferencia de transmisión, poca iluminación o desenfoque de movimiento, etc., lo que se conoce como ruido. Cuando las imágenes se degradan o dañan, la información que se quiere extraer de ellas también se daña. Por lo tanto necesitamos recuperar o restaurar la imagen como estaba prevista. El objetivo de la restauración de imágenes es eliminar el ruido (ruido del sensor, desenfoque de movimiento, etc.) de las imágenes. El método más sencillo posible para eliminar el ruido son varios tipos de filtros, como filtros de paso bajo o filtros de mediana. Los métodos más sofisticados suponen un modelo de cómo se ven las estructuras de las imágenes locales para distinguirlas del ruido. Al analizar primero los datos de la imagen en términos de las estructuras locales de la imagen, como líneas o bordes, y luego controlar el filtrado en función de la información local del paso de análisis, generalmente se obtiene un mejor nivel de eliminación de ruido en comparación con los enfoques más simples.
La organización de un sistema de visión por computadora depende en gran medida de la aplicación. Algunos sistemas son aplicaciones independientes que resuelven un problema específico de medición o detección, mientras que otros constituyen un subsistema de un diseño más amplio que, por ejemplo, también contiene subsistemas para el control de actuadores mecánicos, planificación, bases de datos de información, gestión de personal. interfaces de máquina, etc. La implementación específica de un sistema de visión por computadora también depende de si su funcionalidad está preespecificada o si alguna parte de ella puede aprenderse o modificarse durante la operación. Muchas funciones son exclusivas de la aplicación. Sin embargo, existen funciones típicas que se encuentran en muchos sistemas de visión por computadora.
Adquisición de imágenes : una imagen digital se produce mediante uno o varios sensores de imagen , que, además de los distintos tipos de cámaras fotosensibles, incluyen sensores de alcance , tomógrafos, radares, cámaras ultrasónicas, etc. Dependiendo del tipo de sensor, el Los datos de la imagen resultante son una imagen 2D ordinaria, un volumen 3D o una secuencia de imágenes. Los valores de píxeles normalmente corresponden a la intensidad de la luz en una o varias bandas espectrales (imágenes grises o imágenes en color), pero también pueden estar relacionados con diversas medidas físicas, como la profundidad, la absorción o la reflectancia de ondas sónicas o electromagnéticas, o imágenes por resonancia magnética . [30]
Preprocesamiento : antes de que se pueda aplicar un método de visión por computadora a los datos de imágenes para extraer alguna información específica, generalmente es necesario procesar los datos para garantizar que satisfagan ciertas suposiciones implícitas en el método. Ejemplos son:
Vuelva a muestrear para garantizar que el sistema de coordenadas de la imagen sea correcto.
Reducción de ruido para garantizar que el ruido del sensor no introduzca información falsa.
Mejora del contraste para garantizar que se pueda detectar información relevante.
Extracción de características : las características de la imagen en varios niveles de complejidad se extraen de los datos de la imagen. [30] Ejemplos típicos de tales características son:
Las características más complejas pueden estar relacionadas con la textura, la forma o el movimiento.
Detección / segmentación : en algún momento del procesamiento, se toma una decisión sobre qué puntos o regiones de la imagen son relevantes para su posterior procesamiento. [30] Algunos ejemplos son:
Selección de un conjunto específico de puntos de interés.
Segmentación de una o varias regiones de imágenes que contienen un objeto de interés específico.
Segmentación de la imagen en una arquitectura de escena anidada que comprende partes de primer plano, grupos de objetos, objetos individuales u objetos salientes [42] (también conocida como jerarquía de escenas de taxones espaciales), [43] mientras que la prominencia visual a menudo se implementa como atención espacial y temporal .
Segmentación o cosegmentación de uno o varios vídeos en una serie de máscaras de primer plano por fotograma manteniendo su continuidad semántica temporal. [44] [45]
Procesamiento de alto nivel : en este paso, la entrada suele ser un pequeño conjunto de datos, por ejemplo, un conjunto de puntos o una región de imagen, que se supone que contiene un objeto específico. [30] El resto del tratamiento trata, por ejemplo:
Verificación de que los datos satisfacen supuestos basados en modelos y específicos de la aplicación.
Estimación de parámetros específicos de la aplicación, como la pose o el tamaño del objeto.
Registro de imágenes : comparar y combinar dos vistas diferentes del mismo objeto.
Toma de decisiones Tomar la decisión final requerida para la solicitud, [30] por ejemplo:
Pasa/falla en aplicaciones de inspección automática.
Coincidencia/no coincidencia en solicitudes de reconocimiento.
Marcar para una mayor revisión humana en aplicaciones médicas, militares, de seguridad y de reconocimiento.
Sistemas de comprensión de imágenes
Los sistemas de comprensión de imágenes (IUS) incluyen tres niveles de abstracción de la siguiente manera: el nivel bajo incluye primitivas de imagen como bordes, elementos de textura o regiones; el nivel intermedio incluye límites, superficies y volúmenes; y el nivel alto incluye objetos, escenas o eventos. Muchos de estos requisitos son enteramente temas para futuras investigaciones.
Los requisitos de representación en el diseño de IUS para estos niveles son: representación de conceptos prototípicos, organización de conceptos, conocimiento espacial, conocimiento temporal, escalamiento y descripción por comparación y diferenciación.
Mientras que la inferencia se refiere al proceso de derivar hechos nuevos, no representados explícitamente, a partir de hechos actualmente conocidos, el control se refiere al proceso que selecciona cuál de las muchas técnicas de inferencia, búsqueda y comparación debe aplicarse en una etapa particular del procesamiento. Los requisitos de inferencia y control para SIU son: búsqueda y activación de hipótesis, emparejamiento y prueba de hipótesis, generación y uso de expectativas, cambio y enfoque de atención, certeza y fuerza de creencia, inferencia y satisfacción de objetivos. [46]
Hardware
Existen muchos tipos de sistemas de visión por computadora; sin embargo, todos ellos contienen estos elementos básicos: una fuente de energía, al menos un dispositivo de adquisición de imágenes (cámara, ccd, etc.), un procesador y cables de control y comunicación o algún tipo de mecanismo de interconexión inalámbrica. Además, un práctico sistema de visión contiene software y una pantalla para controlar el sistema. Los sistemas de visión para espacios interiores, como la mayoría de los industriales, contienen un sistema de iluminación y pueden colocarse en un entorno controlado. Además, un sistema completo incluye muchos accesorios, como soportes para cámaras, cables y conectores.
La mayoría de los sistemas de visión por computadora utilizan cámaras de luz visible que ven pasivamente una escena a velocidades de cuadro de como máximo 60 cuadros por segundo (generalmente mucho más lento).
Mientras que los sistemas tradicionales de transmisión y video de consumo operan a una velocidad de 30 fotogramas por segundo, los avances en el procesamiento de señales digitales y el hardware de gráficos de consumo han hecho posible la adquisición, el procesamiento y la visualización de imágenes de alta velocidad para sistemas en tiempo real del orden de cientos a miles de fotogramas por segundo. Para las aplicaciones de robótica, los sistemas de vídeo rápidos y en tiempo real son de vital importancia y, a menudo, pueden simplificar el procesamiento necesario para ciertos algoritmos. Cuando se combina con un proyector de alta velocidad, la rápida adquisición de imágenes permite realizar mediciones 3D y seguimiento de características. [47]
Los sistemas de visión egocéntricos se componen de una cámara portátil que toma fotografías automáticamente desde una perspectiva en primera persona.
^ ab Tim Morris (2004). Visión por Computador y Procesamiento de Imágenes . Palgrave Macmillan. ISBN978-0-333-99451-1.
^ ab Bernd Jähne; Horst Hausecker (2000). Visión por computadora y aplicaciones, una guía para estudiantes y profesionales . Prensa académica. ISBN978-0-13-085198-7.
^ Dana H. Ballard; Christopher M. Brown (1982). Visión por computador. Prentice Hall. ISBN978-0-13-165316-0.
^ Huang, T. (19 de noviembre de 1996). Vandoni, Carlo E (ed.). Visión por computadora: evolución y promesa (PDF) . XIX Escuela de Computación del CERN. Ginebra: CERN. págs. 21-25. doi :10.5170/CERN-1996-008.21. ISBN978-9290830955. Archivado (PDF) desde el original el 7 de febrero de 2018.
^ Milán Sonka; Václav Hlavac; Roger Boyle (2008). Procesamiento, análisis y visión artificial de imágenes . Thompson. ISBN978-0-495-08252-1.
^ http://www.bmva.org/visionoverview Archivado el 16 de febrero de 2017 en Wayback Machine. Asociación británica de visión artificial y sociedad para el reconocimiento de patrones. Consultado el 20 de febrero de 2017.
^ Murphy, Mike (13 de abril de 2017). "El escáner médico" tricorder "de Star Trek está cada vez más cerca de convertirse en realidad". Archivado desde el original el 2 de julio de 2017 . Consultado el 18 de julio de 2017 .
^ Principios de visión por computadora , algoritmos, aplicaciones, aprendizaje, quinta edición por ER Davies Academic Press, Elsevier 2018 ISBN 978-0-12-809284-2
^ abcd Richard Szeliski (30 de septiembre de 2010). Visión por computadora: algoritmos y aplicaciones. Medios de ciencia y negocios de Springer. págs. 10-16. ISBN978-1-84882-935-0.
^ Sejnowski, Terrence J. (2018). La revolución del aprendizaje profundo . Cambridge, Massachusetts Londres, Inglaterra: The MIT Press. pag. 28.ISBN978-0-262-03803-4.
^ Papert, Seymour (1 de julio de 1966). "El Proyecto Visión de Verano". Memorándums de IA del MIT (1959 - 2004) . hdl :1721.1/6125.
^ Margaret Ann Boden (2006). La mente como máquina: una historia de la ciencia cognitiva. Prensa de Clarendon. pag. 781.ISBN978-0-19-954316-8.
^ Takeo Kanade (6 de diciembre de 2012). Visión artificial tridimensional. Medios de ciencia y negocios de Springer. ISBN978-1-4613-1981-8.
^ Nicu Sebe; Ira Cohen; Ashutosh Garg; Thomas S. Huang (3 de junio de 2005). Aprendizaje automático en visión por computadora. Medios de ciencia y negocios de Springer. ISBN978-1-4020-3274-5.
^ William Freeman; Pietro Perona; Bernhard Scholkopf (2008). "Editorial invitada: Aprendizaje automático para visión por computadora". Revista Internacional de Visión por Computadora . 77 (1): 1. doi : 10.1007/s11263-008-0127-7 . hdl : 21.11116/0000-0003-30FB-C . ISSN 1573-1405.
^ Jiao, Licheng; Zhang, ventilador; Liu, colmillo; Yang, Shuyuan; Li, Lingling; Feng, Zhixi; Qu, Rong (2019). "Una encuesta sobre detección de objetos basada en aprendizaje profundo". Acceso IEEE . 7 : 128837–128868. arXiv : 1907.09408 . Código Bib : 2019IEEEA...7l8837J. doi :10.1109/ACCESS.2019.2939201. S2CID 198147317.
^ Ferrie, C.; Kaiser, S. (2019). Redes neuronales para bebés . Libros de consulta. ISBN978-1492671206.
^ ab Steger, Carsten; Markus Ulrich; Christian Wiedemann (2018). Algoritmos y aplicaciones de visión artificial (2ª ed.). Weinheim: Wiley-VCH . pag. 1.ISBN978-3-527-41365-2. Archivado desde el original el 15 de marzo de 2023 . Consultado el 30 de enero de 2018 .
^ Murray, Don y Cullen Jennings. "Mapeo y navegación basados en visión estéreo para robots móviles Archivado el 31 de octubre de 2020 en Wayback Machine ". Actas de la Conferencia Internacional sobre Robótica y Automatización. vol. 2.IEEE, 1997.
^ Andrade, Norberto Almeida. «Visión Computacional e Inteligencia de Negocios en el Segmento de Belleza - Un Análisis a través de Instagram» (PDF) . Revista de Gestión de Marketing . Instituto Americano de Investigación para el Desarrollo de Políticas . Consultado el 11 de marzo de 2024 .
^ abc Soltani, AA; Huang, H.; Wu, J.; Kulkarni, TD; Tenenbaum, JB (2017). "Sintetizar formas 3D mediante el modelado de siluetas y mapas de profundidad de múltiples vistas con redes generativas profundas". Conferencia IEEE 2017 sobre visión por computadora y reconocimiento de patrones (CVPR) . págs. 1511-1519. doi :10.1109/CVPR.2017.269. hdl : 1721.1/126644 . ISBN978-1-5386-0457-1. S2CID 31373273.
^ Turek, Fred (junio de 2011). "Fundamentos de la visión artificial, cómo hacer que los robots vean". Revista Tech Briefs de la NASA . 35 (6).páginas 60–62
^ "El futuro de la recogida aleatoria de contenedores automatizada". Archivado desde el original el 11 de enero de 2018 . Consultado el 10 de enero de 2018 .
^ Esteva, André; Chou, Katherine; Yeung, Serena; Naik, Nikhil; Madani, Ali; Mottaghi, Ali; Liu, Yun; Topol, Eric; Decano, Jeff; Socher, Richard (8 de enero de 2021). "Visión médica por computadora basada en aprendizaje profundo". npj Medicina digital . 4 (1): 1–9. doi :10.1038/s41746-020-00376-2. ISSN 2398-6352. PMC 7794558 .
^ Chervyakov, NI; Lyakhov, PA; Deryabin, MA; Nagornov, NN; Valueva, MV; Valuev, GV (2020). "Solución basada en el sistema de números residuales para reducir el costo de hardware de una red neuronal convolucional". Neurocomputación . 407 : 439–453. doi : 10.1016/j.neucom.2020.04.018. S2CID 219470398. Las redes neuronales convolucionales (CNN) representan arquitecturas de aprendizaje profundo que se utilizan actualmente en una amplia gama de aplicaciones, incluida la visión por computadora, el reconocimiento de voz, la identificación de secuencias albuminosas en bioinformática, el control de producción, el análisis de series temporales en finanzas y muchas otras. .
^ Waldchen, Jana; Mäder, Patrick (7 de enero de 2017). "Identificación de especies de plantas mediante técnicas de visión por computadora: una revisión sistemática de la literatura". Archivos de métodos computacionales en ingeniería . 25 (2): 507–543. doi :10.1007/s11831-016-9206-z. ISSN 1134-3060. PMC 6003396 . PMID 29962832.
^ abcdef E. Roy Davies (2005). Visión artificial: teoría, algoritmos y aspectos prácticos . Morgan Kaufman. ISBN978-0-12-206093-9.
^ Ando, Mitsuhito; Takei, Toshinobu; Mochiyama, Hiromi (3 de marzo de 2020). "Capa de piel artificial de caucho con estructura flexible para estimación de forma de superficies de microondulación". Revista ROBOMECH . 7 (1): 11. doi : 10.1186/s40648-020-00159-0 . ISSN 2197-4225.
^ Choi, Seung Hyun; Tahara, Kenji (12 de marzo de 2020). "Manipulación diestra de objetos mediante una mano robótica de varios dedos con sensores visual-táctiles en la punta de los dedos". Revista ROBOMECH . 7 (1): 14. doi : 10.1186/s40648-020-00162-5 . ISSN 2197-4225.
^ Garg, Hitendra (29 de febrero de 2020). "Detección de somnolencia de un conductor mediante una aplicación de visión por computadora convencional". Conferencia Internacional 2020 sobre Electrónica de Potencia y Aplicaciones de IoT en Energías Renovables y su Control (PARC) . págs. 50–53. doi :10.1109/PARC49193.2020.236556. ISBN978-1-7281-6575-2. S2CID 218564267. Archivado desde el original el 27 de junio de 2022 . Consultado el 6 de noviembre de 2022 .
^ Hasan, Fudail; Kashevnik, Alexey (14 de mayo de 2021). "Análisis de última generación de algoritmos modernos de detección de somnolencia basados en visión por computadora". 2021 29ª Conferencia de la Asociación de Innovaciones Abiertas (FRUCT) . págs. 141-149. doi :10.23919/FRUCT52173.2021.9435480. ISBN978-952-69244-5-8. S2CID 235207036. Archivado desde el original el 27 de junio de 2022 . Consultado el 6 de noviembre de 2022 .
^ Balasundaram, A; Ashokkumar, S; Kothandaraman, D; kora, SeenaNaik; Sudarshan, E; Harshaverdhan, A (1 de diciembre de 2020). "Detección de fatiga basada en visión por computadora mediante parámetros faciales". Serie de conferencias IOP: Ciencia e ingeniería de materiales . 981 (2): 022005. Código bibliográfico : 2020MS&E..981b2005B. doi : 10.1088/1757-899x/981/2/022005 . ISSN 1757-899X. S2CID 230639179.
^ ab Bruijning, Marjolein; Visser, Marco D.; Hallmann, Caspar A.; Jongejans, Eelke; Golding, Nick (2018). "trackdem: seguimiento automatizado de partículas para obtener recuentos de población y distribuciones de tamaño a partir de vídeos en r". Métodos en Ecología y Evolución . 9 (4): 965–973. Código Bib : 2018MEcEv...9..965B. doi : 10.1111/2041-210X.12975 . hdl : 2066/184075 . ISSN 2041-210X.
^ David A. Forsyth; Juan Ponce (2003). Visión por computadora, un enfoque moderno . Prentice Hall. ISBN978-0-13-085198-7.
^ Forsyth, David; Ponce, Jean (2012). Visión por computadora: un enfoque moderno . Pearson.
^ ab Russakovsky, Olga; Deng, Jia; Su, Hao; Krause, Jonathan; Satheesh, Sanjeev; Mamá, Sean; Huang, Zhiheng; Karpathy, Andrej; Khosla, Aditya; Bernstein, Michael; Berg, Alexander C. (diciembre de 2015). "Desafío de reconocimiento visual a gran escala de ImageNet". Revista Internacional de Visión por Computadora . 115 (3): 211–252. arXiv : 1409.0575 . doi :10.1007/s11263-015-0816-y. hdl : 1721.1/104944 . ISSN 0920-5691. S2CID 2930547. Archivado desde el original el 15 de marzo de 2023 . Consultado el 20 de noviembre de 2020 .
^ Quinn, Arthur (9 de octubre de 2022). "Reconocimiento de imágenes por IA: tendencia inevitable del estilo de vida moderno". TopTen.ai . Archivado desde el original el 2 de diciembre de 2022 . Consultado el 23 de diciembre de 2022 .
^ Barrett, Lisa Feldman; Adolfo, Ralph; Marsella, Stacy; Martínez, Aleix M.; Pollak, Seth D. (julio de 2019). "Reconsideración de las expresiones emocionales: desafíos para inferir emociones a partir de los movimientos faciales humanos". La Ciencia Psicológica de Interés Público . 20 (1): 1–68. doi :10.1177/1529100619832930. ISSN 1529-1006. PMC 6640856 . PMID 31313636.
^ A. Maity (2015). "Detección y manipulación improvisada de objetos salientes". arXiv : 1511.02999 [cs.CV].
^ Barghout, Lauren. "El enfoque taxométrico visual para la segmentación de imágenes utilizando cortes de taxones espaciales difusos produce regiones contextualmente relevantes Archivado el 14 de noviembre de 2018 en Wayback Machine ". Procesamiento de información y gestión de la incertidumbre en sistemas basados en el conocimiento. Publicaciones internacionales Springer, 2014.
^ Liu, Ziyi; Wang, Le; Hua, pandilla; Zhang, Qilin; Niu, Zhenxing; Wu, Ying; Zheng, Nanning (2018). "Descubrimiento y segmentación conjuntos de objetos de vídeo mediante redes dinámicas acopladas de Markov" (PDF) . Transacciones IEEE sobre procesamiento de imágenes . 27 (12): 5840–5853. Código Bib : 2018ITIP...27.5840L. doi :10.1109/tip.2018.2859622. ISSN 1057-7149. PMID 30059300. S2CID 51867241. Archivado desde el original (PDF) el 7 de septiembre de 2018 . Consultado el 14 de septiembre de 2018 .
^ Wang, Le; Duan, Xuhuan; Zhang, Qilin; Niu, Zhenxing; Hua, pandilla; Zheng, Nanning (22 de mayo de 2018). "Segment-Tube: localización de acciones espacio-temporales en vídeos sin recortar con segmentación por fotograma" (PDF) . Sensores . 18 (5): 1657. Código bibliográfico : 2018Senso..18.1657W. doi : 10.3390/s18051657 . ISSN 1424-8220. PMC 5982167 . PMID 29789447. Archivado (PDF) desde el original el 7 de septiembre de 2018.
^ Shapiro, Stuart C. (1992). Enciclopedia de Inteligencia Artificial, Volumen 1 . Nueva York: John Wiley & Sons, Inc. págs. 643–646. ISBN978-0-471-50306-4.
^ Kagami, Shingo (2010). "Sistemas de visión de alta velocidad y proyectores para la percepción del mundo en tiempo real". Conferencia de la IEEE Computer Society de 2010 sobre visión por computadora y reconocimiento de patrones: talleres . vol. 2010. págs. 100-107. doi :10.1109/CVPRW.2010.5543776. ISBN978-1-4244-7029-7. S2CID 14111100.
^ Seth Colaner (3 de enero de 2016). "Un tercer tipo de procesador para VR/AR: VPU Myriad 2 de Movidius". www.tomshardware.com . Archivado desde el original el 15 de marzo de 2023 . Consultado el 3 de mayo de 2016 .
Otras lecturas
James E. Dobson (2023). El nacimiento de la visión por computadora. Prensa de la Universidad de Minnesota. ISBN 978-1-5179-1421-9.
Azriel Rosenfeld; Avinash Kak (1982). Procesamiento de imágenes digitales . Prensa académica. ISBN 978-0-12-597301-4.
Barghout, Lauren; Lawrence W. Lee (2003). Sistema de procesamiento de información perceptiva . Solicitud de patente estadounidense 10/618.543. ISBN 978-0-262-08159-7.
Michael C. Fairhurst (1988). Visión por Computador para sistemas robóticos . Prentice Hall. ISBN 978-0-13-166919-2.
Olivier Faugeras (1993). Visión por computadora tridimensional, un punto de vista geométrico . Prensa del MIT. ISBN 978-0-262-06158-2.
Tony Lindeberg (1994). Teoría del espacio de escala en visión por computadora. Saltador. ISBN 978-0-7923-9418-1.
James L. Crowley; Henrik I. Christensen, eds. (1995). Visión como proceso . Springer-Verlag. ISBN 978-3-540-58143-7.
Gösta H. Granlund; Hans Knutsson (1995). Procesamiento de señales para visión por computadora . Editorial académica Kluwer. ISBN 978-0-7923-9530-0.
Reinhard Klette; Karsten Schluens; Andreas Koschan (1998). Visión por computadora: datos tridimensionales a partir de imágenes. Springer, Singapur. ISBN 978-981-3083-71-4.
Emanuele Trucco; Alejandro Verri (1998). Técnicas introductorias a la visión por computadora 3-D. Prentice Hall. ISBN 978-0-13-261108-4.
Bernd Jähne (2002). Procesando imagen digital . Saltador. ISBN 978-3-540-67754-3.
Richard Hartley y Andrew Zisserman (2003). Geometría de vista múltiple en visión por computadora . Prensa de la Universidad de Cambridge. ISBN 978-0-521-54051-3.
R. Pescador; K Dawson-Howe; A. Fitzgibbon; C.Robertson; E. Trucco (2005). Diccionario de visión por computadora y procesamiento de imágenes . Juan Wiley. ISBN 978-0-470-01526-1.
Hamburguesa Wilhelm; Mark J. Burge (2007). Procesamiento de imágenes digitales: un enfoque algorítmico que utiliza Java. Saltador . ISBN 978-1-84628-379-6. Archivado desde el original el 17 de mayo de 2014 . Consultado el 13 de junio de 2007 .
Pedram Azad; Tilo Gockel; Rüdiger Dillmann (2008). Visión por computadora: principios y práctica. Elektor International Media BV. ISBN 978-0-905705-71-2.
Richard Szeliski (2010). Visión por computadora: algoritmos y aplicaciones. Springer-Verlag. ISBN 978-1848829343.
J.R. Parker (2011). Algoritmos para procesamiento de imágenes y visión por computadora (2ª ed.). Wiley. ISBN 978-0470643853.
Richard J. Radke (2013). Visión por computadora para efectos visuales . Prensa de la Universidad de Cambridge. ISBN 978-0-521-76687-6.
Nixon, Marcos; Aguado, Alberto (2019). Extracción de características y procesamiento de imágenes para visión por computadora (4ª ed.). Prensa académica. ISBN 978-0128149768.
enlaces externos
Lista de conferencias sobre visión por computadora USC Iris
Artículos sobre visión por computadora en la web: una lista completa de artículos de las conferencias sobre visión por computadora más relevantes.
Computer Vision Online Archivado el 30 de noviembre de 2011 en Wayback Machine : noticias, código fuente, conjuntos de datos y ofertas de trabajo relacionados con la visión por computadora.
CVonline: Compendio de visión por computadora de Bob Fisher.
Asociación Británica de Visión Artificial: apoya la investigación sobre visión por computadora en el Reino Unido a través de las conferencias BMVC y MIUA , Annals of the BMVA (revista de código abierto), BMVA Summer School y reuniones de un día.
Contenedor de visión por computadora, Joe Hoeller GitHub: contenedor de código abierto ampliamente adoptado para aplicaciones de visión por computadora aceleradas por GPU. Utilizado por investigadores, universidades, empresas privadas y el gobierno de EE. UU.