La visión artificial es un campo de la inteligencia artificial (IA) que utiliza el machine learning y las redes neuronales para enseñar a los ordenadores y sistemas a obtener información significativa de imágenes digitales, vídeos y otros elementos visuales, y a hacer recomendaciones o tomar medidas cuando ven defectos o problemas.
Si la IA permite a los ordenadores pensar, la visión artificial les permite ver, observar y comprender.
La visión artificial funciona de forma muy parecida a la visión humana, salvo que los humanos llevan ventaja. La vista humana cuenta con la ventaja de toda una vida de contexto para aprender a distinguir los objetos, la distancia a la que se encuentran, si se mueven o si algo va mal en una imagen.
La visión artificial entrena a las máquinas para realizar estas funciones, pero debe hacerlo en mucho menos tiempo utilizando cámaras, datos y algoritmos en lugar de retinas, nervios ópticos y una corteza visual. Dado que un sistema entrenado para inspeccionar productos o vigilar un activo de producción puede analizar miles de productos o procesos por minuto, detectando defectos o problemas imperceptibles, puede superar rápidamente las capacidades humanas.
La visión artificial se utiliza en sectores que van desde la energía y los suministros hasta la fabricación y la automoción, y el mercado sigue creciendo. Según el analista de sectores Gartner, el mercado mundial de software, hardware y servicios de visión artificial generará 386 000 millones de dólares en 2031, frente a los 126 000 millones de dólares de 20221.
La visión artificial necesita muchos datos. Realiza análisis de datos una y otra vez hasta que discierne las distinciones y, en última instancia, reconoce las imágenes. Por ejemplo, para entrenar a un ordenador en el reconocimiento de neumáticos de automóvil, es necesario alimentarlo con grandes cantidades de imágenes de neumáticos y elementos relacionados con ellos para que aprenda las diferencias y reconozca un neumático, especialmente uno sin defectos.
Para ello se utilizan dos tecnologías esenciales: un tipo de machine learning llamado deep learning y una red neuronal convolucional (CNN).
El machine learning utiliza modelos algorítmicos que permiten a un ordenador aprender por sí mismo sobre el contexto de los datos visuales. Si se introducen suficientes datos en el modelo, el ordenador "mirará" los datos y aprenderá a distinguir una imagen de otra. Los algoritmos permiten que la máquina aprenda por sí misma, en lugar de que alguien la programe para reconocer una imagen.
Una CNN ayuda a un modelo de machine learning o de deep learning a “mirar” descomponiendo las imágenes en píxeles a los que se les asignan etiquetas. Utiliza las etiquetas para realizar convoluciones (una operación matemática en dos funciones para producir una tercera función) y hace predicciones sobre lo que "ve". La red neuronal ejecuta convoluciones y comprueba la exactitud de sus predicciones en una serie de iteraciones hasta que las predicciones empiezan a cumplirse. Entonces es reconocer o ver imágenes de una manera similar a los humanos.
Al igual que un ser humano que distingue una imagen a distancia, una CNN discierne primero los bordes duros y las formas simples, y luego va completando la información a medida que ejecuta iteraciones de sus predicciones. Se utiliza una CNN para comprender imágenes individuales. Un red neuronal recurrente (RNN) se utiliza de forma parecida en aplicaciones de vídeo para ayudar a los ordenadores a entender cómo se relacionan entre sí las imágenes de una serie de fotogramas.
Los científicos e ingenieros han estado tratando de desarrollar formas para que las máquinas vean y entiendan los datos visuales durante unos 60 años. La experimentación comenzó en 1959 cuando los neurofisiólogos mostraron a un gato una serie de imágenes, intentando correlacionar una respuesta en su cerebro. Descubrieron que respondió primero a bordes o líneas rectos y científicamente, esto significaba que el procesamiento de imágenes comienza con formas simples como los bordes rectos2.
Casi al mismo tiempo, se desarrolló la primera tecnología de escaneo de imágenes por ordenador, lo que permitió a los ordenadores digitalizar y adquirir imágenes. Otro hito se alcanzó en 1963 cuando los ordenadores pudieron transformar imágenes bidimensionales en formas tridimensionales. En la década de 1960, la IA surgió como un campo de estudio académico y también marcó el comienzo de la búsqueda de la IA para resolver el problema de la visión humana.
En 1974 se introdujo la tecnología de reconocimiento óptico de caracteres (OCR), que podía reconocer texto impreso en cualquier fuente o tipo de letra3 .Del mismo modo, el reconocimiento inteligente de caracteres (ICR) podría descifrar texto escrito a mano que utiliza redes neuronales4 .Desde entonces, el OCR y el ICR se han abierto paso en el procesamiento de documentos y facturas, el reconocimiento de matrículas de vehículos, los pagos móviles, la conversión de máquinas y otras aplicaciones comunes.
En 1982, el neurocientífico David Marr estableció que la visión funciona jerárquicamente e introdujo algoritmos para que las máquinas detecten bordes, esquinas, curvas y formas básicas similares. Al mismo tiempo, el científico informático Kunihiko Fukushima desarrolló una red de células que podían reconocer patrones. La red, denominada Neocognitron, incluía capas convolucionales en una red neuronal.
En 2000, los estudios se centraron en el reconocimiento de objetos y, en 2001, aparecieron las primeras aplicaciones de reconocimiento facial en tiempo real. La estandarización de cómo se etiquetan y anotan los conjuntos de datos visuales surgió a lo largo de la década de 2000. En 2010, estuvo disponible el conjunto de datos ImageNet. Contenía millones de imágenes etiquetadas en mil clases de objetos y proporciona una base para las CNN y los modelos de deep learning que se utilizan en la actualidad. En 2012, un equipo de la Universidad de Toronto inscribió a una CNN en un concurso de reconocimiento de imágenes. El modelo, llamado AlexNet, redujo significativamente la tasa de error para el reconocimiento de imágenes. Después de este avance, los índices de error se han reducido a solo un pequeño porcentaje5.
Se está investigando mucho en el campo de la visión artificial, pero no se detiene ahí. Las aplicaciones del mundo real demuestran lo importante que es la visión artificial para los negocios, el entretenimiento, el transporte, la sanidad y la vida cotidiana. Un impulsor clave para el crecimiento de estas aplicaciones es la avalancha de información visual que fluye desde los móviles, sistemas de seguridad, cámaras de tráfico y otros dispositivos instrumentados visualmente. Estos datos podrían desempeñar un papel importante en las operaciones de todos los sectores, pero hoy en día no se utilizan. La información crea un banco de pruebas para entrenar aplicaciones de visión artificial y una plataforma de lanzamiento para que se conviertan en parte de una serie de actividades humanas:
Muchas organizaciones no tienen los recursos para financiar laboratorios de visión artificial y crear modelos de deep learning y redes neuronales. También pueden carecer de la potencia informática necesaria para procesar grandes conjuntos de datos visuales. Empresas como IBM están ayudando al ofrecer servicios de desarrollo de software de visión artificial. Estos servicios ofrecen modelos de aprendizaje prediseñados disponibles en la nube y también alivian la demanda de recursos informáticos. Los usuarios se conectan a los servicios a través de una interfaz de programación de aplicaciones (API) y los utilizan para desarrollar aplicaciones de visión artificial.
IBM también ha introducido una plataforma de visión artificial que aborda las preocupaciones de desarrollo y recursos informáticos. IBM Maximo Visual Inspection incluye herramientas que permiten a los expertos en la materia etiquetar, entrenar e implementar modelos de visión de deep learning, sin necesidad de tener experiencia en codificación o deep learning. Los modelos de visión se pueden implementar en centros de datos locales, la nube y dispositivos periféricos.
Aunque cada vez es más fácil obtener recursos para desarrollar aplicaciones de visión artificial, una pregunta importante que debe responderse desde el principio es: ¿Qué harán exactamente estas aplicaciones? Comprender y definir tareas específicas de visión artificial puede enfocar y validar proyectos y aplicaciones y facilitar la puesta en marcha.
Estos son algunos ejemplos de tareas de visión artificial establecidas:
1. Emerging Tech: Revenue Opportunity Projection of Computer Vision: Growth Markets. Gartner. 19 de abril de 2024.
2. https://hackernoon.com/a-brief-history-of-computer-vision-and-convolutional-neural-networks-8fe8aacc79f3
3. Optical character recognition. Wikipedia.
4. Intelligent character recognition. Wikipedia.
5. A Brief History of Computer Vision (and Convolutional Neural Networks). Rostyslav Demush. Hacker Noon. 27 de febrero de 2019.
6. 7 Amazing Examples of Computer And Machine Vision In Practice. Bernard Marr. Forbes. 8 de abril de 2019.
7. The 5 Computer Vision Techniques That Will Change How You See The World. James Le. Heartbeat. 12 de abril de 2018.