La visión artificial (o visión técnica ) es una teoría y tecnología para crear máquinas que pueden detectar, rastrear y clasificar objetos.
Como disciplina científica, la visión artificial se refiere a la teoría y tecnología de creación de sistemas artificiales que obtienen información de imágenes. Los datos de video pueden tener muchas formas, como una secuencia de video, imágenes de varias cámaras o datos 3D, como un dispositivo Kinect o un escáner médico.
Como disciplina tecnológica, la visión por computadora busca aplicar teorías y modelos de visión por computadora para construir sistemas de visión por computadora . Ejemplos del uso de tales sistemas pueden ser:
La visión por computadora también se puede describir como un complemento (pero no necesariamente lo contrario) de la visión biológica. En biología, se estudia la percepción visual de humanos y varios animales, como resultado de lo cual se crean modelos del funcionamiento de dichos sistemas en términos de procesos fisiológicos. La visión por computadora, por otro lado, estudia y describe los sistemas de visión por computadora que se implementan en hardware o software. El intercambio interdisciplinario entre la visión biológica y la computacional ha demostrado ser muy productivo para ambos campos científicos.
Las subsecciones de la visión por computadora incluyen la reproducción de acciones, la detección de eventos, el seguimiento, el reconocimiento de patrones, la recuperación de imágenes y algunas otras.
El campo de la visión artificial puede caracterizarse como joven, diverso y en desarrollo dinámico. Y aunque existen trabajos anteriores, se puede decir que no fue hasta finales de la década de 1970 cuando se inició un estudio intensivo de este problema, cuando las computadoras pudieron controlar el procesamiento de grandes conjuntos de datos, como las imágenes. Sin embargo, estos estudios generalmente comenzaron en otras áreas y, por lo tanto, no existe una formulación estándar del problema de visión por computadora. Además, y lo que es más importante, no existe una formulación estándar de cómo se debe resolver un problema de visión artificial. En cambio, hay muchos métodos para resolver varios problemas de visión por computadora bien definidos, donde los métodos a menudo son específicos del problema y rara vez se pueden generalizar a una amplia gama de aplicaciones. Muchos de los métodos y aplicaciones aún se encuentran en la investigación básica, pero un número cada vez mayor de métodos se utilizan en productos comerciales, donde a menudo forman parte de un sistema más grande que puede resolver problemas complejos (por ejemplo, en imágenes médicas o medición y calidad). control en los procesos de fabricación). En la mayoría de las aplicaciones prácticas de la visión por computadora, las computadoras están preprogramadas para realizar tareas específicas, pero los métodos basados en el conocimiento se están volviendo más generales.
Una parte importante en el campo de la inteligencia artificial es la planificación automática o la toma de decisiones en sistemas que pueden realizar acciones mecánicas, como mover un robot por algún entorno. Este tipo de procesamiento generalmente requiere la entrada de sistemas de visión por computadora que actúan como un sensor de video y brindan información de alto nivel sobre el entorno y el robot. Otras áreas que a veces se describen como pertenecientes a la inteligencia artificial y que se utilizan en relación con la visión artificial son el reconocimiento de patrones y los métodos de aprendizaje. Como resultado, la visión artificial a veces se considera parte del campo de la inteligencia artificial o de la informática en general.
Otra área relacionada con la visión artificial es el procesamiento de señales . Muchos métodos para procesar señales unidimensionales, generalmente señales temporales, pueden extenderse naturalmente para procesar señales bidimensionales o multidimensionales en visión artificial. Sin embargo, debido a la peculiar naturaleza de las imágenes, existen muchos métodos desarrollados en el campo de la visión artificial que no tienen análogos en el campo del procesamiento de señales unidimensionales. Una propiedad especial de estos métodos es su no linealidad, lo que, junto con la multidimensionalidad de la señal, hace que el subcampo correspondiente en el procesamiento de señales forme parte del campo de la visión artificial.
Aparte de las aproximaciones mencionadas al problema de la visión artificial, muchas de las cuestiones que se investigan pueden estudiarse desde un punto de vista puramente matemático. Por ejemplo, muchos métodos se basan en estadísticas , métodos de optimización o geometría . Finalmente, se está trabajando mucho en el campo de las aplicaciones prácticas de la visión por computadora: cómo se pueden implementar los métodos existentes en software y hardware, o cómo se pueden modificar para lograr una alta velocidad sin un aumento significativo en los recursos consumidos.
La visión artificial , el procesamiento de imágenes y la visión artificial son campos estrechamente relacionados. Pero aún no se determina exactamente si son secciones de una más amplia. En un análisis detallado, puede parecer que estos son solo nombres diferentes para la misma área. Para evitar confusiones, se acostumbra distinguirlas como áreas enfocadas a un tema de estudio en particular. A continuación se describen algunos de los más importantes:
El procesamiento de imágenes, o análisis de imágenes, se centra principalmente en trabajar con imágenes bidimensionales, es decir, cómo transformar una imagen en otra. Por ejemplo, operaciones de mejora de contraste por píxel, operaciones de mejora de bordes, operaciones de eliminación de ruido o transformaciones geométricas como transformaciones afines . Estas operaciones asumen que el procesamiento/análisis de imágenes opera independientemente del contenido de las propias imágenes.
La visión por computadora se enfoca en el procesamiento de escenas 3D proyectadas en una o más imágenes. Por ejemplo, restaurar la estructura u otra información sobre una escena tridimensional a partir de una o más imágenes. La visión por computadora a menudo depende de suposiciones más o menos complejas sobre lo que se representa en las imágenes.
La visión artificial se centra principalmente en aplicaciones industriales, como robots autónomos y sistemas de medición e inspección visual. Esto significa que las tecnologías de sensores de imagen y la teoría de control están asociadas con el procesamiento de datos de video para controlar el robot, y el procesamiento de datos en tiempo real se lleva a cabo en hardware o software.
También existe un campo llamado Visualización , que originalmente se asoció con el proceso de creación de imágenes, pero a veces se ocupaba del procesamiento y análisis. Por ejemplo, la radiografía funciona con el análisis de datos de video de aplicaciones médicas.
Finalmente, el reconocimiento de patrones es un campo que utiliza varios métodos para extraer información de datos de video, principalmente basados en un enfoque estadístico. Una parte significativa de esta área está dedicada a la aplicación práctica de estos métodos.
Una de las aplicaciones más importantes es el procesamiento de imágenes en medicina. Esta área se caracteriza por la obtención de información a partir de datos de video para el diagnóstico médico de los pacientes. En la mayoría de los casos, los datos de video se obtienen mediante microscopía , radiografía , angiografía , ultrasonido y tomografía . Un ejemplo de la información que se puede obtener de tales datos de video es la detección de tumores , aterosclerosis u otros cambios malignos. Otro ejemplo sería la medición del tamaño de los órganos, el flujo sanguíneo, etc. Esta área de aplicación también contribuye a la investigación médica proporcionando nueva información, por ejemplo, sobre la estructura del cerebro o la calidad del tratamiento médico.
Otra área de aplicación de la visión artificial es la industria. Aquí se obtiene la información con el propósito de apoyar el proceso productivo. Un ejemplo sería el control de calidad, donde las piezas o el producto final se verifican automáticamente en busca de defectos. Otro ejemplo es la medición de la posición y orientación de piezas levantadas por un brazo robótico.
Las aplicaciones militares son quizás el área más grande de visión por computadora. Ejemplos obvios son la detección de soldados y vehículos enemigos y el control de misiles . Los sistemas de control de misiles más avanzados envían el misil a un área determinada en lugar de a un objetivo específico, y la selección del objetivo se realiza cuando el misil alcanza el área determinada en función de los datos de video recibidos. Un concepto militar moderno como "conciencia de combate" implica que varios sensores, incluidos los sensores de imagen, proporcionan un gran conjunto de información sobre el campo de batalla que se puede utilizar para tomar decisiones estratégicas. En este caso, se utiliza el procesamiento automático de datos para reducir la complejidad o aumentar la confiabilidad de la información recibida.
Una de las nuevas áreas de aplicación son los vehículos autónomos, incluidos los submarinos, terrestres (robots, automóviles), aéreos. El nivel de autonomía varía desde vehículos totalmente autónomos (no tripulados) hasta vehículos en los que los sistemas basados en visión artificial ayudan al conductor o al piloto en diversas situaciones. Los vehículos totalmente autónomos utilizan la visión artificial para la navegación, es decir, para obtener información sobre su ubicación, para crear un mapa del entorno, para detectar obstáculos. También se pueden utilizar para tareas específicas, como la detección de incendios forestales. Ejemplos de tales sistemas son los sistemas de advertencia de obstáculos de vehículos y los sistemas de aterrizaje autónomo de aeronaves. Algunos fabricantes de automóviles han demostrado sistemas de conducción autónomos, pero esta tecnología aún no ha llegado al punto en que se pueda producir en masa.
Otras aplicaciones incluyen:
Cada una de las áreas de aplicación de la visión por computadora descritas anteriormente está asociada con una serie de tareas; Los problemas de medición o procesamiento más o menos bien definidos se pueden resolver utilizando una variedad de métodos. A continuación se presentan algunos ejemplos de tareas típicas de visión artificial.
Una tarea clásica en visión por computadora, procesamiento de imágenes y visión artificial es determinar si los datos de video contienen algún objeto, característica o actividad característica. Esta tarea puede ser resuelta de manera confiable y fácil por un ser humano, pero aún no ha sido resuelta satisfactoriamente en visión artificial en el caso general: objetos aleatorios en situaciones aleatorias.
Los métodos existentes para resolver este problema son efectivos solo para ciertos objetos, como objetos geométricos simples (por ejemplo, poliedros), rostros humanos, caracteres impresos o escritos a mano, automóviles, y solo bajo ciertas condiciones, generalmente cierta iluminación, fondo y posición de el objeto en relación con la cámara.
Una variedad de problemas de reconocimiento se han descrito en la literatura:
Hay varias tareas especializadas basadas en el reconocimiento, por ejemplo:
Varias tareas de estimación de movimiento en las que se procesa una secuencia de imágenes (datos de video) para encontrar una estimación de la velocidad de cada punto en una imagen o escena 3D. Ejemplos de tales tareas son:
Dadas dos o más imágenes de una escena, o datos de video. La restauración de escena tiene la tarea de recrear un modelo tridimensional de la escena. En el caso más simple, el modelo puede ser un conjunto de puntos en un espacio tridimensional. Los métodos más sofisticados reproducen el modelo 3D completo.
La tarea de la restauración de imágenes es eliminar el ruido (ruido del sensor, desenfoque de movimiento, etc.). El enfoque más simple para resolver este problema son los diferentes tipos de filtros, como los filtros de paso bajo o de paso medio. Los métodos más complejos usan representaciones de cómo deberían verse ciertas partes de la imagen y, en función de esto, las cambian.
Se logra un mayor nivel de eliminación de ruido analizando primero los datos de video para detectar la presencia de diversas estructuras, como líneas o bordes, y luego administrando el proceso de filtrado en función de estos datos.
La implementación de sistemas de visión artificial depende en gran medida de su aplicación, plataforma de hardware y requisitos de rendimiento. Algunos sistemas son autónomos y resuelven problemas específicos de detección y medición, mientras que otros sistemas son subsistemas de sistemas más grandes que ya pueden contener subsistemas para controlar manipuladores mecánicos (robots), bases de datos de información (búsqueda de imágenes similares), interfaces hombre-máquina (juegos de computadora) , etc. Sin embargo, hay funciones que son comunes a muchos sistemas de visión artificial.