La visión de computación define un campo que les permite a las computadoras usar algoritmos complejos, que pueden basarse en el deep learning o tradicional, para comprender imágenes y videos digitales, y así extraer información útil.
La visión de computación define un campo que les permite a las computadoras usar algoritmos complejos, que pueden basarse en el deep learning o tradicional, para comprender imágenes y videos digitales, y así extraer información útil.
La visión de computación tiene como objetivo principal comprender por primera vez el contenido de videos e imágenes fijas; genera información útil a partir de ellos para resolver una gran variedad de problemas. Dado que es un subgrupo de la inteligencia artificial (IA) y el deep learning, la visión de computación entrena redes neuronales convolucionales (CNN) a fin de desarrollar capacidades de visión humana para aplicaciones. La visión de computación puede incluir entrenamiento específico de CNN para la segmentación, la clasificación y la detección usando imágenes y videos como los datos.

Las redes neuronales convolucionales (CNN) pueden realizar la segmentación, clasificación y detección para una gran variedad de aplicaciones:
| Segmentación | Clasificación | Detección |
| Ideal para delinear objetos | ¿Es un gato o un perro? | ¿Dónde existe en el espacio? |
| Se utiliza en vehículos de conducción autónoma | Clasifica con precisión | Reconoce cosas por seguridad |
La visión de computación tiene muchas aplicaciones en muchos sectores, como deportes, automóviles, agricultura, comercio minorista, banca, construcción, seguros y demás. Las máquinas impulsadas por la IA de todo tipo se potencian con ojos como los nuestros, gracias a las redes neuronales convolucionales (CNN), los procesadores de imágenes que ahora usan las máquinas para identificar objetos. Las CNN son los ojos actuales de los vehículos autónomos, la exploración petrolíferay la investigación de energía de fusión. También pueden detectar enfermedades rápidamente en las imágenes médicas y salvar vidas.
Las técnicas tradicionales de procesamiento de imágenes y de visión de computación se han utilizado a lo largo de las décadas en numerosas aplicaciones y trabajos de investigación. Sin embargo, la aparición de las técnicas de IA modernas a través de las redes neuronales artificiales, que permiten una mayor precisión en el rendimiento, y los avances en la computación de alto rendimiento a partir de las GPU, que permiten una precisión superhumana, han generado una adopción generalizada en diferentes industrias, como el transporte, el comercio minorista, la manufactura, la salud y los servicios financieros.
Los sistemas de visión de computación, ya sean los tradicionales o los basados en IA, pueden ser mejores que los humanos al clasificar imágenes y videos en categorías y clases discretas, como cambios menores en el tiempo de tomografías axiales computarizadas médicas. En este sentido, la visión de computación automatiza las tareas que los humanos podrían realizar, pero con una precisión y una velocidad mucho más altas.
Con la amplia variedad de aplicaciones actuales y potenciales, no es sorprendente que las proyecciones de crecimiento para las soluciones y las tecnologías de visión de computación sean prodigiosas. Una encuesta de investigación de mercado indica que este mercado crecerá un increíble 47% anual hasta 2023, cuando alcanzará los 25,000 millones de dólares en todo el mundo. En toda la ciencia de la computación, la visión de computación se encuentra entre las áreas más populares y activas de investigación y desarrollo.
La visión de computación analiza imágenes y, luego, crea representaciones numéricas de lo que "ve" usando una red neuronal convolucional (CNN). Una CNN es una clase de red neuronal artificial que usa capas convolucionales para filtrar las entradas y obtener información útil. La operación de convolución implica combinar los datos de entrada (mapa de funciones) con un kernel de convolución (filtro) para formar un mapa de funciones transformadas. Los filtros en las capas convolucionales (capas conv) se modifican según los parámetros aprendidos para extraer la información más útil para una tarea específica. Las redes convolucionales se ajustan automáticamente para encontrar la mejor función según la tarea. La CNN filtra información sobre la forma de un objeto cuando se enfrenta a una tarea de reconocimiento de objetos general, pero extrae el color del pájaro cuando se enfrenta a una tarea de reconocimiento de aves. Esto se basa en la comprensión de la CNN de que diferentes clases de objetos tienen diferentes formas, pero que los diferentes tipos de aves tienen más probabilidades de diferir en color que en forma.

Los casos de uso de la visión de computación incluyen el reconocimiento de imágenes, la clasificación de imágenes, el etiquetado de videos y los asistentes virtuales. Algunos de los casos de uso más populares y prominentes para la visión de computación son los siguientes:
Científicos de datos y visión de computación
Python es el lenguaje de programación más popular para machine learning (ML), y la mayoría de los científicos de datos están familiarizados con su facilidad de uso y su gran tienda de bibliotecas, la mayoría de ellas gratuitas y de código abierto. Los científicos de datos usan Python en sistemas de ML para la extracción de datos y el análisis de datos, ya que Python proporciona compatibilidad con una amplia variedad de algoritmos y modelos de ML. Dada la relación entre ML y la visión de computación, los científicos de datos pueden aprovechar el universo en expansión de las aplicaciones de visión de computación en empresas de todo tipo para extraer información vital de las tiendas de imágenes y videos y aumentar la toma de decisiones basadas en datos.
Desde el punto de vista arquitectónico, la CPU está compuesta por solo unos pocos núcleos con una gran cantidad de memoria caché que puede manejar algunos hilos de software a la vez. Por el contrario, una GPU está compuesta por cientos de núcleos que pueden manejar miles de hilos en simultáneo.

Dado que las redes neuronales se crean a partir de una gran cantidad de neuronas idénticas, son muy paralelas por naturaleza. Este paralelismo se asigna de forma natural a las GPU, que proporcionan una arquitectura aritmética con datos en paralelo y una aceleración de computación importante en lugar del entrenamiento solo de CPU. Este tipo de arquitectura lleva a cabo un conjunto similar de cálculos en una matriz de datos de imágenes. La capacidad de una sola instrucción y varios datos (SIMD) de la GPU la hace ideal para ejecutar tareas de visión de computación, que a menudo implican cálculos similares que operan en toda una imagen. Específicamente, las GPU de NVIDIA aceleran enormemente las operaciones de visión de computación, lo que libera la CPU para otros trabajos. Además, se pueden usar varias GPU en la misma máquina, para crear una arquitectura capaz de ejecutar varios algoritmos de visión de computación en paralelo.
Los frameworks de deep learning acelerados por GPU proporcionan interfaces a lenguajes de programación comúnmente utilizados, como Python. También proporcionan flexibilidad para crear y explorar fácilmente CNN y DNN personalizadas, al mismo tiempo que ofrecen la alta velocidad necesaria tanto para los experimentos como para la implementación industrial. NVIDIA CUDA-X AI acelera los frameworks de deep learning ampliamente utilizados, como Caffe, Microsoft Cognitive Toolkit (CNTK), TensorFlow, Theano y Torch, así como muchas otras aplicaciones de machine learning. Los frameworks de deep learning se ejecutan más rápido en las GPU y se escalan en varias GPU dentro de un solo nodo. Para usar los frameworks con las GPU para los procesos de inferencia y de entrenamiento de redes neuronales convolucionales, NVIDIA proporciona cuDNN y TensorRT™ respectivamente. cuDNN y TensorRT proporcionan implementaciones muy ajustadas para las rutinas estándar, como las capas de convolución, agrupación, normalización y activación.
Haz clic aquí para obtener una guía de uso y de instalación paso a paso de NVCaffe. Puedes encontrar una rápida implementación de C++/CUDA de redes neuronales convolucionales aquí.
Para desarrollar e implementar un modelo de visión en poco tiempo, NVIDIA ofrece el SDK DeepStream, para desarrolladores de IA de visión. También incluye TAO Toolkit para crear modelos de IA precisos y eficientes destinados al dominio de visión de computación.

Para obtener más información técnica y noticias sobre otros temas de visión de computación, como las CNN, visita nuestro sitio para desarrolladores.
Para obtener más información:
Para obtener más información técnica, lee lo siguiente: