Extracción de información computarizada de imágenes
Las tareas de visión por computadora incluyen métodos para adquirir , procesar , analizar y comprender imágenes digitales , y la extracción de 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] La 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 la acción apropiada. Esta comprensión de imágenes puede verse como el desenredo de la información simbólica de los datos de imágenes utilizando modelos construidos con la ayuda de la geometría, la física, las estadísticas y la teoría del aprendizaje.
La disciplina científica de la visión artificial se ocupa de la teoría que sustenta los sistemas artificiales que extraen información de las imágenes. Los datos de las imágenes pueden adoptar muchas formas, como secuencias de vídeo, vistas de varias cámaras, datos multidimensionales de un escáner 3D, nubes de puntos 3D de sensores LiDaR o dispositivos de escaneo médico. La disciplina tecnológica de la visión artificial busca aplicar sus teorías y modelos a la construcción de sistemas de visión artificial.
La visión artificial es un campo interdisciplinario que se ocupa de cómo se puede hacer que las computadoras obtengan 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 hacer. [5] [6] [7] "La visión artificial 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 comprensión visual automática". [8] Como disciplina científica , la visión artificial se ocupa de la teoría detrás de los sistemas artificiales que extraen información de las imágenes. Los datos de la imagen pueden tomar muchas formas, como secuencias de video, vistas de múltiples cámaras o datos multidimensionales de un escáner médico . [9] Como disciplina tecnológica, la visión artificial busca aplicar sus teorías y modelos para la construcción de sistemas de visión artificial. 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 artificial y visión artificial han convergido en mayor grado. [10] : 13
Historia
A finales de los años 1960, la visión artificial comenzó a aplicarse en las universidades que eran pioneras en el campo de la 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 se podría lograr mediante un proyecto de verano de pregrado, [12] conectando una cámara a una computadora y haciendo que esta "describa lo que ve". [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 requerida ] [19]
La neurobiología ha influido enormemente en el desarrollo de algoritmos de visión artificial. Durante el último siglo, se ha estudiado ampliamente los ojos, las neuronas y las estructuras cerebrales dedicadas al procesamiento de estímulos visuales tanto en humanos como en varios animales. Esto ha llevado a una descripción burda pero enrevesada de cómo funcionan los sistemas de visión natural para resolver ciertas tareas relacionadas con la visión. Estos resultados han dado lugar a un subcampo dentro de la visión artificial en el que se diseñan sistemas artificiales para imitar el procesamiento y el comportamiento de los 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 artificial ( por ejemplo , la red neuronal y el análisis y clasificación de imágenes y características basados en el aprendizaje profundo ) tienen su origen en la neurobiología. El Neocognitrón , una red neuronal desarrollada en la década de 1970 por Kunihiko Fukushima , es un ejemplo temprano de visión artificial que se inspira directamente en la neurobiología, específicamente en la corteza visual primaria .
Algunas líneas de investigación en visión artificial están estrechamente relacionadas con el estudio de la visión biológica ; de hecho, muchas líneas de investigación en IA están estrechamente vinculadas con la investigación sobre la inteligencia humana y el uso del conocimiento almacenado para interpretar, integrar y utilizar la 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 artificial, 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 la visión artificial ha demostrado ser fructífero para ambos campos. [21]
Procesamiento de señales
Otro campo relacionado con la visión artificial es el procesamiento de señales . Muchos métodos para procesar señales de una variable, típicamente señales temporales, pueden extenderse de manera natural al procesamiento de señales de dos variables o señales multivariables en la visión artificial. Sin embargo, debido a la naturaleza específica de las imágenes, existen muchos métodos desarrollados dentro de la visión artificial que no tienen contrapartida 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 artificial.
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 por un entorno . [22] Se requiere una comprensión detallada de estos entornos para navegar por ellos. La información sobre el entorno podría ser proporcionada por un sistema de visión por computadora, que actúa como un sensor de visión y proporciona información de alto nivel sobre el entorno y el robot.
Además de los puntos de vista mencionados anteriormente sobre la visión artificial, muchos de los temas de investigación relacionados también se pueden estudiar desde un punto de vista puramente matemático. Por ejemplo, muchos métodos en visión artificial se basan en estadísticas , optimización o geometría . Finalmente, una parte importante del campo está dedicada al aspecto de implementación de la visión artificial; cómo los métodos existentes se pueden implementar en varias combinaciones de software y hardware, o cómo estos métodos se pueden modificar para ganar velocidad de procesamiento sin perder demasiado rendimiento. La visión artificial también se utiliza en el comercio electrónico de moda, la gestión de inventarios, la búsqueda de patentes, el mobiliario y la industria de la belleza. [23]
Distinciones
Los campos más relacionados con la visión artificial 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 estos campos. Esto implica que las técnicas básicas que se utilizan y desarrollan en estos campos son similares, algo que puede interpretarse como que solo hay un campo con diferentes nombres. Por otro lado, parece ser necesario que los grupos de investigación, las revistas científicas, los congresos y las empresas se presenten o se comercialicen como pertenecientes específicamente a uno de estos campos y, por lo tanto, se han presentado diversas caracterizaciones que distinguen cada uno de los campos de los demás. 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 artificial, se toma una imagen o un vídeo 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 existe una tendencia hacia una combinación de las dos disciplinas, por ejemplo , como se explora en la realidad aumentada .
Las siguientes caracterizaciones parecen relevantes pero no deben tomarse como universalmente aceptadas:
El procesamiento y análisis de imágenes tienden a centrarse en imágenes 2D, en 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 y análisis de imágenes no requiere suposiciones ni produce interpretaciones sobre el contenido de la imagen.
La visión artificial incluye el análisis 3D a partir de imágenes 2D. Esto analiza la escena 3D proyectada en 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 artificial 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 fabricación, por ejemplo , robots basados en visión y sistemas para inspección, medición o selección basados en visión (como selección de contenedores [26] ). Esto implica que las tecnologías de sensores de imagen y la teoría de control a menudo se integran con el procesamiento de datos de imagen para controlar un robot y que el procesamiento en tiempo real se enfatiza por medio de implementaciones eficientes en hardware y software. También implica que las condiciones externas como la iluminación pueden ser y a menudo son más controladas en la visión artificial que en la visión por computadora 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 que 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. El progreso en las redes neuronales convolucionales (CNN) ha 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, principalmente basados 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 los sistemas de visión artificial industrial que, por ejemplo, inspeccionan botellas que pasan a toda velocidad en una línea de producción, hasta la investigación sobre inteligencia artificial y computadoras o robots que pueden comprender el mundo que los rodea. Los campos de la visión artificial y la visión artificial tienen una superposición significativa. La visión artificial cubre la tecnología básica del análisis automatizado de imágenes que se utiliza en muchos campos. La visión artificial generalmente se refiere a un proceso de combinación del análisis automatizado de imágenes 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 artificial, las computadoras están preprogramadas para resolver una tarea particular, pero los métodos basados en el aprendizaje ahora son cada vez más comunes. Los ejemplos de aplicaciones de la visión artificial incluyen sistemas para:
Inspección automática, por ejemplo , en aplicaciones de fabricación;
Monitoreo de cultivos agrícolas, por ejemplo, se ha desarrollado un modelo de transformadores de visión de código abierto [30] para ayudar a los agricultores a detectar automáticamente enfermedades de la fresa con una precisión del 98,4%. [31]
Modelado de objetos o entornos, por ejemplo , análisis de imágenes médicas o modelado topográfico;
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 artificial médica , o procesamiento de imágenes médicas, que se caracteriza por la extracción de información de los datos de imágenes para diagnosticar a un paciente . Un ejemplo de ello es la detección de tumores , arterioesclerosis u otros cambios malignos, y una variedad de patologías dentales; las mediciones de las dimensiones de los órganos, el flujo sanguíneo, etc. son otro ejemplo. También apoya la investigación médica al proporcionar nueva información: por ejemplo , sobre la estructura del cerebro o la calidad de los tratamientos médicos. Las aplicaciones de la visión artificial en el área médica también incluyen la mejora de las 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 artificial
Una segunda área de aplicación de la visión artificial 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, donde los detalles o 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 se mide e inspecciona cada una de ellas 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 debe recoger un brazo robótico. La visión artificial también se utiliza mucho en los procesos agrícolas para eliminar los alimentos no deseados de los materiales a granel, un proceso llamado clasificación óptica . [32]
Militar
Las aplicaciones militares son probablemente una de las áreas más grandes de la visión artificial [ cita requerida ] . Los ejemplos obvios son la detección de soldados o vehículos enemigos y la guía de misiles . Los sistemas más avanzados para la guía de 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 en función de los datos de imagen adquiridos localmente. Los conceptos militares modernos, como "conocimiento del campo de batalla", implican que varios sensores, incluidos los sensores de imagen, proporcionan un rico conjunto de información sobre una escena de combate que se puede utilizar para respaldar decisiones estratégicas. En este caso, se utiliza el procesamiento automático de los datos para reducir la complejidad y fusionar la 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 completamente autónomos (no tripulados) hasta vehículos en los que los sistemas basados en visión por computadora respaldan a un conductor o piloto en diversas situaciones. Los vehículos completamente autónomos generalmente usan 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 específicos de la tarea, por ejemplo , un UAV que busca incendios forestales. Ejemplos de sistemas de apoyo son los sistemas de advertencia de obstáculos en automóviles, cámaras y sensores LiDAR en vehículos y sistemas para el aterrizaje autónomo de aeronaves. Varios fabricantes de automóviles han demostrado sistemas para la conducción autónoma de automóviles . Hay amplios ejemplos de vehículos militares autónomos que van desde misiles avanzados hasta UAV para misiones de reconocimiento o guía 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 la CNSA .
Retroalimentación táctil
Materiales como el caucho y el silicio se están utilizando para crear sensores que permiten aplicaciones como la detección de microondulaciones y la calibración de manos robóticas. El caucho se puede utilizar para crear un molde que se puede colocar sobre un dedo, dentro de este molde habría múltiples medidores de tensión. El molde del dedo y los sensores podrían entonces colocarse sobre una pequeña lámina de caucho que contenga una serie de clavijas de caucho. Un usuario puede entonces usar el molde del dedo y trazar una superficie. Una computadora puede entonces leer los datos de los medidores de tensión y medir si una o más de las clavijas están siendo empujadas hacia arriba. Si una clavija está siendo empujada hacia arriba, entonces la computadora puede reconocer esto 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. [33] 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 e incrustados en el silicio hay marcadores de puntos que están espaciados de manera uniforme. Estas cámaras pueden luego colocarse en dispositivos como manos robóticas para permitir que la computadora reciba datos táctiles de alta precisión. [34]
Seguimiento y recuento de organismos en las ciencias biológicas [38]
Tareas típicas
Cada una de las áreas de aplicación descritas anteriormente emplea una variedad de tareas de visión artificial; 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 artificial.
Las tareas de visión artificial incluyen métodos para adquirir , procesar , analizar y comprender imágenes digitales, y la extracción de 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] La 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 la acción apropiada. Esta comprensión de imágenes puede verse como el desenredo de la información simbólica de los datos de imágenes utilizando modelos construidos con la ayuda de la geometría, la física, la estadística y la teoría del aprendizaje. [39]
Reconocimiento
El problema clásico en la visión artificial, el procesamiento de imágenes y la visión por computadora es el de determinar si los datos de la imagen contienen algún objeto, característica o actividad específica. En la literatura se describen diferentes variedades de problemas de reconocimiento. [40]
Reconocimiento de objetos (también llamado clasificación de objetos ): se pueden reconocer uno o varios objetos o clases de objetos predeterminados o aprendidos, generalmente junto con sus posiciones 2D en la imagen o poses 3D en la escena. Blippar, Google Goggles y LikeThat ofrecen programas independientes que ilustran esta funcionalidad.
Identificación : se reconoce una instancia individual de un objeto. Algunos ejemplos incluyen la identificación del rostro o la huella dactilar 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. Algunos 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 de peaje automático. 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 imagen interesantes que se pueden analizar más a fondo mediante técnicas que requieren un mayor esfuerzo computacional para producir una interpretación correcta.
En la actualidad, los mejores algoritmos para estas tareas se basan en redes neuronales convolucionales . Una ilustración de sus capacidades la da el ImageNet Large Scale Visual Recognition Challenge ; se trata de un punto de referencia en la clasificación y detección de objetos, con millones de imágenes y 1000 clases de objetos utilizados en la competición. [41] El rendimiento de las redes neuronales convolucionales en las pruebas de ImageNet es ahora cercano al de los humanos. [41] Los mejores algoritmos todavía tienen dificultades con objetos 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 imágenes que han sido distorsionadas con filtros (un fenómeno cada vez más común con 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 clasificando objetos en clases de grano fino, como la raza particular de perro o especie de ave, mientras que las redes neuronales convolucionales manejan esto con facilidad. [ cita requerida ]
Existen varias tareas especializadas basadas en el reconocimiento, tales como:
Recuperación de imágenes basada en contenido : búsqueda de todas las imágenes de un conjunto más amplio de imágenes que tienen un contenido específico. El contenido se puede especificar de diferentes maneras, por ejemplo, en términos de similitud con una imagen de destino (dame 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, se hayan tomado durante el invierno y no tengan automóviles).
Estimación de la posición : estimación de la posición u orientación de un objeto específico en relación con la cámara. Un ejemplo de aplicación de esta técnica sería ayudar a un brazo robótico a recuperar objetos de una cinta transportadora en una línea de montaje o a recoger piezas de un contenedor.
Reconocimiento facial : una tecnología que permite la comparación de rostros en imágenes digitales o fotogramas de vídeo con una base de datos de rostros, que ahora se utiliza ampliamente para el bloqueo facial de teléfonos móviles, el cierre inteligente de puertas, etc. [42]
Reconocimiento de emociones : un subconjunto del reconocimiento facial, el reconocimiento de emociones se refiere al proceso de clasificación de las emociones humanas. Sin embargo, los psicólogos advierten que las emociones internas no se pueden detectar de manera confiable a partir de los rostros. [43]
Reconocimiento de actividad humana : se ocupa de reconocer 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
Existen varias tareas relacionadas con la estimación del movimiento, en las que se procesa una secuencia de imágenes para generar una estimación de la velocidad en cada punto de la imagen o de la escena 3D o incluso de la cámara que genera las imágenes. Algunos ejemplos de estas 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 : seguimiento de los movimientos de un conjunto (normalmente) más pequeño de puntos de interés u objetos ( por ejemplo , vehículos, objetos, seres humanos u otros organismos [38] ) en la secuencia de imágenes. Esto tiene amplias aplicaciones industriales, ya que la mayoría de las máquinas de alto rendimiento se pueden 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 la 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 simple, el modelo puede ser un conjunto de puntos 3D. Los métodos más sofisticados producen un modelo de superficie 3D completo. La aparición 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 se degrada o daña debido a algunos factores externos como la posición incorrecta de la lente, interferencia de transmisión, poca iluminación o desenfoques de movimiento, etc., lo que se conoce como ruido. Cuando las imágenes se degradan o dañan, la información que se extrae de ellas también se daña. Por lo tanto, necesitamos recuperar o restaurar la imagen como se pretendía. El objetivo de la restauración de la imagen es la eliminación del ruido (ruido del sensor, desenfoque de movimiento, etc.) de las imágenes. El enfoque más simple posible para la eliminación del ruido son varios tipos de filtros, como filtros de paso bajo o filtros medianos. Los métodos más sofisticados asumen un modelo de cómo se ven las estructuras de la imagen local para distinguirlas del ruido. Al analizar primero los datos de la imagen en términos de las estructuras de la imagen local, 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 artificial 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, interfaces hombre-máquina, etc. La implementación específica de un sistema de visión artificial 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 artificial.
Adquisición de imágenes – Una imagen digital es producida por uno o varios sensores de imagen , que, además de varios tipos de cámaras sensibles a la luz, incluyen sensores de rango , dispositivos de tomografía, radar, cámaras ultrasónicas, etc. Dependiendo del tipo de sensor, los datos de imagen resultantes son una imagen 2D ordinaria, un volumen 3D o una secuencia de imágenes. Los valores de los píxeles corresponden típicamente 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 varias medidas físicas, como la profundidad, la absorción o reflectancia de ondas sónicas o electromagnéticas, o la resonancia magnética . [32]
Preprocesamiento : antes de que se pueda aplicar un método de visión artificial a los datos de imágenes para extraer información específica, suele ser necesario procesar los datos para garantizar que cumplan con ciertas suposiciones implícitas en el método. Algunos ejemplos son:
Remuestreo 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 : se extraen características de imágenes en varios niveles de complejidad de los datos de imagen. [32] Algunos ejemplos típicos de dichas 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 el procesamiento posterior. [32] Algunos ejemplos son:
Selección de un conjunto específico de puntos de interés.
Segmentación de una o varias regiones de imagen que contienen un objeto de interés específico.
Segmentación de la imagen en una arquitectura de escena anidada que comprende primer plano, grupos de objetos, objetos individuales o partes de objetos salientes [44] (también denominada jerarquía de escena de taxón espacial), [45] mientras que la saliencia 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 cuadro, manteniendo su continuidad semántica temporal. [46] [47]
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. [32] El procesamiento restante se ocupa, por ejemplo, de lo siguiente:
Verificación de que los datos satisfacen supuestos específicos de la aplicación y basados en el modelo.
Estimación de parámetros específicos de la aplicación, como la posición o el tamaño del objeto.
Registro de imágenes : comparación y combinación de dos vistas diferentes del mismo objeto.
Toma de decisiones Tomar la decisión final requerida para la aplicación, [32] por ejemplo:
Aprobado o reprobado en aplicaciones de inspección automática.
Coincidencia/no coincidencia en aplicaciones de reconocimiento.
Bandera para 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, a saber: el nivel bajo incluye elementos primitivos de la 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 temas que requieren más investigación.
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 conocidos actualmente, 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 la SIU son: búsqueda y activación de hipótesis, comparación y prueba de hipótesis, generación y uso de expectativas, cambio y foco de atención, certeza y fuerza de creencia, inferencia y satisfacción de objetivos. [48]
Hardware
Existen muchos tipos de sistemas de visión artificial, pero todos ellos contienen estos elementos básicos: una fuente de alimentación, 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 sistema de visión práctico contiene software, así como una pantalla para monitorizar 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 ubicarse 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 artificial utilizan cámaras de luz visible que visualizan pasivamente una escena a velocidades de cuadro de 60 cuadros por segundo como máximo (normalmente mucho más lento).
Mientras que los sistemas tradicionales de transmisión y video para consumidores operan a una velocidad de 30 cuadros por segundo, los avances en el procesamiento de señales digitales y el hardware de gráficos para consumidores han hecho posible la adquisición, procesamiento y visualización de imágenes a alta velocidad para sistemas en tiempo real en el orden de cientos a miles de cuadros por segundo. Para aplicaciones en robótica, los sistemas de video rápidos 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 adquisición rápida de imágenes permite realizar mediciones 3D y seguimiento de características. [49]
Los sistemas de visión egocéntrica se componen de una cámara portátil que toma fotografías automáticamente desde una perspectiva en primera persona.
^ de Tim Morris (2004). Visión artificial y procesamiento de imágenes . Palgrave Macmillan. ISBN978-0-333-99451-1.
^ de Bernd Jähne; Horst Haußecker (2000). Visión artificial y aplicaciones: una guía para estudiantes y profesionales . Academic Press. ISBN978-0-13-085198-7.
^ Dana H. Ballard; Christopher M. Brown (1982). Visión artificial. Prentice Hall. ISBN978-0-13-165316-0.
^ Huang, T. (19 de noviembre de 1996). Vandoni, Carlo E (ed.). Visión artificial: evolución y promesa (PDF) . 19.ª Escuela de Informática del CERN. Ginebra: CERN. pp. 21–25. doi :10.5170/CERN-1996-008.21. ISBN978-9290830955. Archivado (PDF) del original el 7 de febrero de 2018.
^ Milan Sonka; Vaclav Hlavac; Roger Boyle (2008). Procesamiento de imágenes, análisis y visión artificial . Thomson. 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 artificial , algoritmos, aplicaciones y aprendizaje, quinta edición, de ER Davies Academic Press, Elsevier 2018 ISBN 978-0-12-809284-2
^ abcd Richard Szeliski (30 de septiembre de 2010). Visión artificial: algoritmos y aplicaciones. Springer Science & Business Media. pp. 10–16. ISBN978-1-84882-935-0.
^ Sejnowski, Terrence J. (2018). La revolución del aprendizaje profundo . Cambridge, Massachusetts. Londres, Inglaterra: The MIT Press. p. 28. ISBN.978-0-262-03803-4.
^ Papert, Seymour (1 de julio de 1966). "El proyecto Summer Vision". Memorandos 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. Clarendon Press. pág. 781. ISBN978-0-19-954316-8.
^ Takeo Kanade (6 de diciembre de 2012). Visión artificial tridimensional. Springer Science & Business Media. 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 artificial. Springer Science & Business Media. ISBN978-1-4020-3274-5.
^ William Freeman; Pietro Perona; Bernhard Scholkopf (2008). "Editorial invitada: aprendizaje automático para visión artificial". Revista internacional de visión artificial . 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-2Archivado 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 estereoscópica 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). "Sintetización de formas 3D mediante el modelado de mapas de profundidad y siluetas de múltiples vistas con redes generativas profundas". Conferencia IEEE de 2017 sobre visión artificial y reconocimiento de patrones (CVPR) . págs. 1511–1519. doi :10.1109/CVPR.2017.269. hdl : 1721.1/126644 . ISBN .978-1-5386-0457-1. Número de identificación del sujeto 31373273.
^ Turek, Fred (junio de 2011). "Fundamentos de la visión artificial: cómo hacer que los robots vean". Revista NASA Tech Briefs . 35 (6).páginas 60–62
^ "El futuro de la selección aleatoria automatizada de contenedores". Archivado desde el original el 11 de enero de 2018. Consultado el 10 de enero de 2018 .
^ Esteva, Andre; Chou, Katherine; Yeung, Serena; Naik, Nikhil; Madani, Ali; Mottaghi, Ali; Liu, Yun; Topol, Eric; Dean, Jeff; Socher, Richard (8 de enero de 2021). "Visión artificial médica basada en aprendizaje profundo". npj Digital Medicine . 4 (1): 5. doi :10.1038/s41746-020-00376-2. ISSN 2398-6352. PMC 7794558 . PMID 33420381.
^ Chervyakov, NI; Lyakhov, PA; Deryabin, MA; Nagornov, NN; Valueva, MV; Valuev, GV (2020). "Solución basada en sistema de número de residuos para reducir el costo de hardware de una red neuronal convolucional". Neurocomputing . 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, incluidas 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 de tiempo en finanzas y muchas otras.
^ Wäldchen, Jana; Mäder, Patrick (7 de enero de 2017). "Identificación de especies de plantas mediante técnicas de visión artificial: 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.
^ Aghamohammadesmaeilketabforoosh, Kimia; Nikan, Soodeh; Antonini, Giorgio; Pearce, Joshua M. (enero de 2024). "Optimización de la detección de enfermedades y calidad de la fresa con transformadores de visión y redes neuronales convolucionales basadas en la atención". Alimentos . 13 (12): 1869. doi : 10.3390/foods13121869 . ISSN 2304-8158. PMC 11202458 . PMID 38928810.
^ "Un nuevo modelo de inteligencia artificial desarrollado en Western detecta enfermedades de las fresas y apunta a los desechos". Londres . 2024-09-13 . Consultado el 2024-09-19 .
^ abcdef E. Roy Davies (2005). Visión artificial: teoría, algoritmos y aspectos prácticos . Morgan Kaufmann. 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 la estimación de la 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 múltiples dedos con sensores visuales y táctiles en las puntas 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 en un conductor mediante una aplicación de visión artificial convencional". Conferencia internacional de 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 artificial". 2021 29.ª Conferencia de la Asociación de Innovaciones Abiertas (FRUCT) . pp. 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 videos en r". Métodos en ecología y evolución . 9 (4): 965–973. Bibcode :2018MEcEv...9..965B. doi : 10.1111/2041-210X.12975 . hdl : 2066/184075 . ISSN 2041-210X.
^ David A. Forsyth; Jean Ponce (2003). Visión artificial: 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 . Recuperado el 20 de noviembre de 2020 .
^ Quinn, Arthur (9 de octubre de 2022). "Reconocimiento de imágenes con IA: tendencia inevitable en el 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; Adolphs, Ralph; Marsella, Stacy; Martinez, Aleix M.; Pollak, Seth D. (julio de 2019). "Expresiones emocionales reconsideradas: desafíos para inferir emociones a partir de movimientos faciales humanos". Psychological Science in the Public Interest . 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. "Un enfoque taxométrico visual para la segmentación de imágenes mediante 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. Springer International Publishing, 2014.
^ Liu, Ziyi; Wang, Le; Hua, Gang; Zhang, Qilin; Niu, Zhenxing; Wu, Ying; Zheng, Nanning (2018). "Descubrimiento y segmentación conjunta de objetos de vídeo mediante redes dinámicas acopladas de Markov" (PDF) . IEEE Transactions on Image Processing . 27 (12): 5840–5853. Bibcode :2018ITIP...27.5840L. doi :10.1109/tip.2018.2859622. ISSN 1057-7149. PMID 30059300. S2CID 51867241. Archivado desde el original (PDF) el 2018-09-07 . Consultado el 2018-09-14 .
^ Wang, Le; Duan, Xuhuan; Zhang, Qilin; Niu, Zhenxing; Hua, Gang; 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) . Sensors . 18 (5): 1657. Bibcode :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 artificial y reconocimiento de patrones - Talleres . Vol. 2010. págs. 100–107. doi :10.1109/CVPRW.2010.5543776. ISBN978-1-4244-7029-7. Número de identificación S2: 14111100.
^ Seth Colaner (3 de enero de 2016). "Un tercer tipo de procesador para VR/AR: la 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 .
Lectura adicional
James E. Dobson (2023). El nacimiento de la visión artificial. University of Minnesota Press. ISBN 978-1-5179-1421-9.
Azriel Rosenfeld; Avinash Kak (1982). Procesamiento digital de imágenes . Academic Press. ISBN 978-0-12-597301-4.
Barghout, Lauren; Lawrence W. Lee (2003). Sistema de procesamiento de información perceptiva . Solicitud de patente de EE. UU. 10/618,543. ISBN 978-0-262-08159-7.
Tony Lindeberg (1994). Teoría del espacio de escala en la visión artificial. Springer. ISBN 978-0-7923-9418-1.
James L. Crowley; Henrik I. Christensen, eds. (1995). La 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). Procesamiento de imágenes digitales . Springer. ISBN 978-3-540-67754-3.
Richard Hartley y Andrew Zisserman (2003). Geometría de vista múltiple en visión artificial . Cambridge University Press. ISBN 978-0-521-54051-3.
R. Fisher; K. Dawson-Howe; A. Fitzgibbon; C. Robertson; E. Trucco (2005). Diccionario de visión artificial y procesamiento de imágenes . John Wiley. ISBN 978-0-470-01526-1.
Wilhelm Burger; Mark J. Burge (2007). Procesamiento de imágenes digitales: un enfoque algorítmico con Java. Springer . ISBN 978-1-84628-379-6Archivado 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 artificial: algoritmos y aplicaciones. Springer-Verlag. ISBN 978-1848829343.
JR Parker (2011). Algoritmos para procesamiento de imágenes y visión artificial (2.ª ed.). Wiley. ISBN 978-0470643853.
Richard J. Radke (2013). Visión artificial para efectos visuales . Cambridge University Press. ISBN 978-0-521-76687-6.
Nixon, Mark; Aguado, Alberto (2019). Extracción de características y procesamiento de imágenes para visión artificial (4.ª ed.). Academic Press. ISBN 978-0128149768.
Enlaces externos
Lista de conferencias sobre visión artificial de la 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 relacionadas con la visión artificial
CVonline – Compendio de visión artificial de Bob Fisher.
Asociación Británica de Visión Artificial: apoya la investigación sobre visión artificial 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 artificial, Joe Hoeller GitHub: contenedor de código abierto ampliamente adoptado para aplicaciones de visión artificial aceleradas por GPU. Lo utilizan investigadores, universidades, empresas privadas y el gobierno de los EE. UU.