Computer vision: la visión artificial que permite ver, observar y comprender

Lucía MITI
MejorIndustriaTI
Published in
5 min readMay 9, 2024

Las mesas de Inteligencia Artificial, organizadas mensualmente por MITI, son instancias aprovechadas mes a mes por las empresas para que puedan beneficiarse de las oportunidades y avances que brinda la IA.

En este nuevo encuentro, Rodolfo Redlich, co-fundador de Zembia, y Michael Venegas, fundador de Onesla, expusieron sobre los avances dentro del terreno de la Computer Vision, disciplina derivada de la IA. Rodolfo se centró en el salto que representó esta tecnología y cómo en menos de 10 líneas de código el algoritmo YOLO revolucionó el campo de trabajo. Por su parte, Michael explicó cómo realizar el despliegue de este algoritmo, centrándose en el proceso de entrenamiento y fine tuning.

“Nos estamos moviendo muy rápido, mes a mes vemos distintas actualizaciones y, si bien en el mundo de la visión por computadora tal vez no es tan vertiginoso, sí es realmente sorprendente”, -detalló Rodolfo-. “Si la Inteligencia Artificial permite a los ordenadores pensar, la visión artificial les permite ver, observar y comprender”.

Y explicó: “Antes de 2012, los investigadores de visión artificial pensaban que hacer que una computadora distinguiera un gato de un perro sería casi imposible. En 2010 el ImageNet Large Scale Visual Recognition Challenge desafió a los laboratorios de Computer Vision a implementar algoritmos capaces de reconocer cada una de estas imágenes. Luego, en 2012 llegó AlexNet, una red neuronal convolucional de 8 capas de profundidad que rompió récord en el desafío de reconocimiento visual de imágenes por computadora. Esta red definiría lo que hoy conocemos como Redes Neuronales Profundas. Hoy podemos diferenciar un gato de un perro con un nivel superior al 99 % de precisión”.

En 2016, finalmente, nació el algoritmo You Only Look Once (YOLO), un sistema de código abierto del estado del arte para detección de objetos en tiempo real, el cual hace uso de una única red neuronal convolucional para detectar objetos en imágenes. “El algoritmo aprende representaciones generalizables de los objetos, permitiendo un bajo error de detección para entradas nuevas, diferentes al conjunto de datos de entrenamiento. En una pasada, encuadra y clasifica”.

YOLO llegó para resolver cuatro problemas típicos de visión por computadora: la clasificación de imágenes, la detección de objetos, la segmentación semántica, es decir, qué forma tienen distintos objetos en la imagen, y la estimación de puntos clave, qué pose tienen las distintas formas dentro de la imagen.

La versión 8 de YOLO es uno de los modelos más populares de visión por computadora y permite resolver estos cuatro problemas. Está diseñada para ser rápida, precisa y fácil de usar. Además, mediante el fine tuning, que es un reentrenamiento sobre el modelo, se logra mejorar y adaptar modelos de aprendizaje profundo a tareas específicas de este algoritmo.

Si te interesa leer sobre los códigos de ejemplo capaces de resolver estos desafíos típicos de la visión por computadora, te invitamos a leer el artículo de Rodolfo Redlich.

El futuro de IA

“Para el 2023 ya hay un gran salto de redes neuronales y está de moda la IA generativa. Se empieza a hablar de multimodalidad, ya no sólo vemos texto sino también audio e imágenes. Hay muchos más datos de entrenamientos y herramientas más fáciles de usar”, puntualiza Rodolfo.

Hay otros dos modelos de computer visión que son interesantes: Moondream es un modelo de imagen a texto pequeño que genera descripciones a partir de imágenes, muy descriptivo, que puede ser ejecutado en pocas líneas de código y, por otro lado, YOLO-World, un modelo de detección de objetos zero-shot donde entregas un prompt y el modelo identifica el objeto de interés sin entrenamiento o fine-tuning.

“La visión artificial pasó de ser algoritmos específicos para cada problema a ser una red neuronal capaz de resolver varias clasificaciones a la vez. Es una tecnología que permite a las máquinas dar sentido al mundo que los rodea. Para determinar el modelo que debes usar en tu proyecto, ten en cuenta los objetivos, requerimientos de precisión y velocidad de procesamiento”, concluyó el especialista de Zembia.

Cómo desplegar el algoritmo: Entrenamiento y fine tuning

“La Computer Vision es una disciplina derivada de la Inteligencia Artificial que está enfocada en capturar, procesar, analizar y entender imágenes digitalizadas del mundo real para extraer información -explica Michael Venegas-. Se utiliza para la reconstrucción de escenas, para la detección y reconocimiento de objetos, de eventos o actividades, para el seguimiento de video, entre muchas otras.

Los pasos generales para poder entrenar y resolver un problema determinado, por ejemplo la clasificación de imágenes, son los siguientes:

1. Preparación e instalación de las aplicaciones y librerías

2. Preparación del set de datos

3. Preparación de las configuraciones

4. Entrenamiento

5. Ejecución del algoritmo

“Para el primer punto (preparación e instalación de las aplicaciones y librerías), las principales aplicaciones corren sobre las siguientes plataformas: Git, Python (lenguaje más usado) y manejadores de dependencias”, puntualizó

Para el segundo paso (la preparación del dataset), lo primordial para cualquier proyecto que implemente machine learning son los datos. Se debe construir un conjunto de datos (dataset) y se deben considerar imágenes (al menos unas 100). Puede ayudar la realización de técnicas de augmentation y hay una librería que puede ayudar que es Albumentation. “Luego, con la data recogida, el paso siguiente es identificarla y etiquetarla. Es importante etiquetar todos los campos de texto que se desean leer. Luego se debe exportar el dataset a formato YOLO dejándolas en el directorio definido para esto”, sumó Michael.

“El despliegue del algoritmo también puede hacerse con modelos preentrenados o entrenando los propios. Para el entrenamiento de un modelo propio es necesario configurar los archivos de configuración, indicando el tamaño del batch, subdivisiones, números de clases y otros parámetros de filtrado. Se recomienda usar GPU para mejores resultados en términos de tiempo y rendimiento. Cuando se ejecute el detector en la imagen de muestra, se podrán detectar los campos donde hay texto en la imagen, delimitados por el algoritmo y se podrá obtener o recortar la región a extraer información”, explica Michael sobre el proceso de entrenamiento.

“Por último, para la ejecución del algoritmo, con el objeto identificado, se requerirá un algoritmo de transformación OCR a texto; para este caso una buena herramienta es

Tesseract, ejecutándose bajo el siguiente flujo: Detectar la región deseada de extracción desde la imagen (YOLO), transferir la región hacia el algoritmo de reconocimiento (Tesseract) y obtener el resultado en el formato deseado”, agregó.

“Después de eso tendremos los resultados esperados, así se puede trabajar sobre estas herramientas. Y si bien las herramientas han cambiado mucho, el proceso sigue siendo el mismo. La Computer Vision se enriqueció con la inteligencia artificial y con el aprendizaje automático. Se formó un triángulo virtuoso donde las tres disciplinas se empezaron a mezclar y potenciar. Así brindan los resultados espectaculares que hoy podemos ver y que marcan hacia donde está yendo la industria”, cerró Venegas.

--

--