Clasificación de imágenes mediante aprendizaje automático: Los detalles de la clasificación de imágenes

Enseñar a los ordenadores a entender lo que ven es el tema que quita el sueño a todos los ingenieros de visión por ordenador. Aunque se ha avanzado mucho en el campo del reconocimiento de imágenes en los últimos años, aún faltan muchas piezas del rompecabezas que deberían encajar para obtener una imagen completa y clara de cómo enseñar a las máquinas a dar sentido a lo que ven.

Durante mucho tiempo, la clasificación de imágenes no se consideraba un problema estadístico hasta que llegó una solución parcial desde el campo del aprendizaje automático con el nombre de redes neuronales, en particular, las redes neuronales convolucionales (CNN). Las CNN son un tipo especial de redes neuronales artificiales que ofrecen resultados similares a los humanos en tareas de clasificación de imágenes.

Este artículo explica cómo el cerebro humano reconstruye el mundo visual, cómo las máquinas aprenden a entender lo visual y cuáles son las aplicaciones de la clasificación de imágenes.

Reconocimiento de imágenes: ¿Qué tan difícil puede ser?

El reconocimiento de imágenes es el proceso de identificar lo que representa una imagen.

Para los humanos, interpretar el mundo visual es fácil. Cuando el ser humano ve algo, tiene una comprensión inherente de lo que es. En la mayoría de los casos, no es necesario un estudio consciente del objeto para darle sentido.

Sin embargo, para los ordenadores es una tarea difícil porque sólo pueden manipular dígitos. Por ejemplo, un punto cuadrado de 3×3 en la frente de Albert Einstein, para un ordenador es una matriz tridimensional donde cada dimensión representa uno de los colores primarios: rojo, verde y azul.

Aunque el ser humano puede interpretar las imágenes en una fracción de segundo, en la corteza visual del cerebro se produce un complejo proceso cognitivo.

El córtex visual está dividido en capas (V1-V8) y procesa la información visual procedente de los ojos. Cuando un estímulo está presente en el campo receptivo, su representación llega primero a la capa V1, o lo que es lo mismo, las neuronas de la zona de la capa V1 se disparan primero. Esta capa es un mapa que conserva la información espacial del estímulo en el mundo y también detecta sus bordes. La capa V1 está fuertemente conectada con la capa V2, que a su vez participa en la discriminación de formas, orientaciones, colores y otras características de bajo nivel. Las características visuales de alto nivel implican la comprensión por parte del cerebro del contexto y la relación de las imágenes y sólo se perciben en las capas superiores, como la V6-V8.

Digamos que el estímulo percibido es tu padre. La detección del objeto en sí se realiza en la capa V1. Sin embargo, la información semántica sólo se percibe en las capas V6-V8.

Es importante destacar que lo que corresponde a cada capa está casi siempre relacionado con la controversia, ya que la investigación aporta cada vez más descubrimientos a lo largo del tiempo. Sin embargo, es un hecho que cuanto más alta es la capa, más abstracta es la presentación.

Aparte de esta arquitectura de alto nivel, a nivel micro, se ha aplicado la mecánica de la neurona para simular los procesos en las capas de la corteza visual. En concreto, cada neurona recibe la entrada de las dendritas y, basándose en la no linealidad compleja que se aplica a su entrada, se dispara si la entrada no lineal sumada supera algún umbral. Aunque esta explicación es muy simplificada, fue suficiente para que una investigación inventara la primera red neuronal artificial.

Inspirándose en el sistema visual humano, los ingenieros intentaron reproducir este proceso con máquinas. Para que los ordenadores pudieran entender los objetos, era necesario crear un sistema que extrajera características de alto nivel de los "estímulos" visuales utilizando únicamente manipulaciones numéricas. Es entonces cuando entran en juego las redes neuronales convolucionales. Cuando se alimentan con suficientes datos limpios y bien definidos, las CNN permiten extraer características comunes de alto nivel para cada categoría que abarcan los datos.

¿Cómo funciona la CNN en el reconocimiento de imágenes?

Las representaciones aprendidas por la CNN son similares a la forma en que las capas visuales humanas representan la información visual: las primeras capas convolucionales extraen características de bajo nivel, como bordes y manchas, y las últimas capas asignan la parte semántica a la imagen.

En definitiva, la clasificación de imágenes para un ordenador se traduce en el problema de identificar rasgos comunes "mirando" los dígitos y realizando manipulaciones matemáticas para encontrar una función (es decir, un modelo), que pueda generalizar en datos no vistos.

El rendimiento más avanzado de las redes neuronales convolucionales en tareas de clasificación de imágenes puede ser equivalente al de los humanos, pero sólo es posible si se cumplen los siguientes factores: se proporcionan muchos datos (GB), se asigna un largo periodo de tiempo y se dispone de la arquitectura de red neuronal adecuada.

Implementación de CNN en ProcessMaker IDP para la clasificación de imágenes

ProcessMaker IDP se ocupa de la gestión inteligente de contenidos y el reconocimiento de imágenes es parte de una gran cadena de soluciones de aprendizaje automático que ofrecemos. Aunque hay una serie de APIs abiertas disponibles para obtener información de las imágenes, ProcessMaker IDP desarrolla su propio y único clasificador para proteger los datos sensibles de los clientes. El uso de servicios abiertos para la clasificación de imágenes como Google implica compartir los datos de los clientes con terceros. Si bien no es un problema si se necesita clasificar imágenes con perros y gatos, es un problema de cumplimiento cuando hay que clasificar documentos de identidad y tarjetas de crédito.

Mantener un alto nivel de seguridad mientras se proporciona un rendimiento preciso del clasificador ML conlleva algunos desafíos. Dado que ProcessMaker IDP no dispone de grandes bibliotecas de imágenes, depende en gran medida de los datos de los clientes o de conjuntos de datos de código abierto, que normalmente no están listos para su uso directo. Limpiarlos y etiquetarlos manualmente requiere mucho tiempo.

Otro reto es encontrar la arquitectura adecuada. En la mayoría de los casos, construir una arquitectura propia es más eficiente. Sin embargo, si no tenemos suficientes datos, utilizar una arquitectura preentrenada es una mejor opción.

Al invertir en un hardware específico, pudimos superar estos retos y mejorar significativamente el tiempo necesario para entrenar un modelo.

Clasificación de imágenes mediante aprendizaje automático: Los detalles de la clasificación de imágenes

Plataforma de soluciones

Compruébelo usted mismo Pruebe gratis las últimas funciones de la Plataforma ProcessMaker.

Prueba gratuita

Suscríbase al boletín de noticias Hyper-Productivity™ de ProcessMaker

    Consentimiento a la Política de Privacidad Al marcar esta casilla usted consiente en Declaración de privacidad de ProcessMaker.

    Descubra cómo las organizaciones líderes utilizan ProcessMaker para agilizar sus operaciones a través de la automatización de procesos.

    Contáctenos

    Actualización de la privacidad
    Utilizamos cookies para que las interacciones con nuestro sitio web y servicios sean fáciles y significativas. Las cookies nos ayudan a entender mejor cómo se utiliza nuestro sitio web y adaptar la publicidad en consecuencia.

    Acepta