¿Qué es la visión artificial? | Minicurso OpenCV – Parte 1

Por Administrador

Bienvenidos al primer artículo del minicurso de Visión por Computador con OpenCV en Python, donde empezaremos desde cero a aprender los fundamentos y uso de OpenCV.

Para empezar en este apasionante campo, responderemos a la siguiente pregunta:

¿Qué es la visión artificial?

La visión artificial, visión por computador o visión máquina (sí, suele ser llamada de múltiples formas) es un subcampo de la inteligencia artificial. Su objetivo es que una computadora pueda «ver», es decir, que sea capaz de extraer información útil a partir de imágenes o videos para tomar decisiones. No se trata solo de mostrar imágenes en pantalla, sino de analizarlas, interpretarlas y usarlas como parte de un proceso automático.

Ejemplos de aplicaciones de visión por computador:

  • En una línea de producción, una cámara puede detectar el color de una etiqueta para verificar si un producto cumple con el estándar requerido antes de continuar el proceso.
  • En un sistema industrial, una cámara puede capturar la imagen de una placa o etiqueta, extraer los caracteres que aparecen en ella y, una vez identificados, permitir que el proceso de ensamblaje continúe solo si la placa es correcta.
  • En un sistema de control de acceso, una cámara puede analizar el rostro de una persona para verificar su identidad y registrar automáticamente su asistencia.

¿Por qué es difícil para el computador interpretar imágenes?

Aunque para nosotros, reconocer objetos, colores o personas es algo natural, para una computadora no lo es. Cuando una cámara captura una imagen, el computador no ve objetos, personas o colores como lo hacemos nosotros. En realidad, solo recibe números que representan la intensidad y el color de cada píxel. Por sí solo, no entiende qué está ocurriendo en la escena. Por ello debemos ayudarle a interpretar esa información.

El procesamiento de imágenes y el aprendizaje automático (machine learning)

Cuando hablamos de desarrollar aplicaciones de visión por computador, generalmente existen dos caminos principales para hacerlo: el procesamiento de imágenes y el machine learning.

¿Qué es el procesamiento de imágenes?

En el procesamiento de imágenes trabaja directamente sobre la imagen. Es decir, la modificamos, la filtramos o la transformamos con el objetivo de resaltar cierta información y poder extraer datos útiles.

Por ejemplo, si quisiéramos aislar una moneda sobre una mesa, podríamos aplicar técnicas para diferenciarla del fondo, detectar sus bordes y luego analizar su forma o su tamaño. En este enfoque, no hay aprendizaje, sino que se aplican reglas y operaciones sobre los píxeles.

¿Qué es el aprendizaje automático o machine learning?

El segundo camino es el machine learning, en donde se entrena un modelo a partir de datos, para que este aprenda a identificar ciertos patrones, como peatones, rostros, perros, gatos u otros objetos.

Eso sí, es importante mencionar que incluso cuando usamos machine learning, normalmente necesitamos aplicar técnicas de procesamiento de imágenes, tanto antes como después del modelo, para preparar los datos o refinar los resultados.

Conoce más del ebook en: Introducción a la Visión por Computador con OpenCV y Python

Viendo estos caminos, ¿por qué es importante estudiar procesamiento de imágenes para el desarrollo de soluciones de visión artificial?

En este minicurso nos centraremos en el procesamiento de imágenes, no en machine learning, pero ¿Por qué? el aprendizaje automático es, sin duda, muy potente. Sin embargo, aprender procesamiento de imágenes no compite con él, sino que lo complementa.

Por ejemplo, en un sistema de control de calidad, un modelo de machine learning puede identificar si un producto es defectuoso a partir de su imagen. Luego, mediante procesamiento de imágenes, es posible resaltar bordes, medir dimensiones, localizar el área exacta del defecto o filtrar la imagen para facilitar la visualización y el análisis del problema. En otros casos, ni siquiera es necesario usar aprendizaje automático.

¿Cuándo aplicar procesamiento de imágenes en lugar de machine learning?

Si el problema se desarrolla en un entorno controlado, es decir con iluminación constante, fondo conocido, posición fija de la cámara u objetos bien definidos, muchas veces es posible resolverlo únicamente aplicando técnicas de procesamiento de imágenes, de forma más simple y eficiente.

Algo similar ocurre cuando:

  • No se cuenta con grandes cantidades de datos para entrenar modelos
  • Se necesitan resultados rápidos y fáciles de explicar
  • Se trabaja con recursos limitados, como dispositivos embebidos

En estos escenarios, el procesamiento de imágenes suele ser una mejor opción.

Gracias por haber llegado hasta aquí. Espero que este contenido te haya sido útil. Si te quedaste con alguna duda o te gustaría que profundicemos en algún punto, puedes dejarlo en los comentarios.

Nos vemos en el siguiente artículo. 😊