En cliquant sur "Accepter ", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser son utilisation et de contribuer à nos efforts de marketing. Consultez notre politique de confidentialité pour plus d'informations.
Knowledge

Segmentación de imágenes: ¿la columna vertebral de la inteligencia artificial visual?

Escrito por
Daniella
Publicado el
2024-05-31
Tiempo de lectura
0
min

La segmentación de imágenes es una disciplina fundamental en la computación visual y anotación de imágenes en inteligencia artificial. Consiste en dividir una imagen en regiones significativas y diferenciadas. Esta técnica es de suma importancia en el campo de la inteligencia artificial visual, ya que permite a los sistemas informáticos comprender y analizar la información visual de forma precisa y eficaz. Los cursos de segmentación de imágenes son esenciales para dominar las técnicas avanzadas y sus aplicaciones prácticas, especialmente en disciplinas científicas, como la monitorización del secuestro de CO2 y la evaluación de la permeabilidad de las rocas.

Al dividir una imagen en segmentos coherentes, la segmentación de la imagen facilita varias tareas, como reconocimiento de objetos, detección de bordes y análisis de patrones. ¡Te lo contamos todo a través de este artículo!

¿Qué es la segmentación de imágenes y cuál es su papel en la inteligencia artificial visual?

La segmentación de imágenes es una técnica utilizada en la computación visual para dividir una imagen en diferentes regiones o segmentos, lo que facilita la detección de objetos, las tareas de clasificando y aplicaciones en diversos campos, como la visión artificial, las imágenes médicas, la robótica y el análisis geológico.

Su función esencial en la inteligencia artificial visual radica en su capacidad de proporcionar una representación estructurada y significativa de la información visual, lo que permite a los sistemas informáticos comprender e interactuar con su entorno visual de una manera más sofisticada.

Al dividir una imagen en segmentos coherentes, la segmentación de imágenes permite identificar y diferenciar los diversos elementos presentes en una escena visual, como objetos, contornos y texturas.

Esta segmentación precisa es fundamental para muchas aplicaciones de inteligencia artificial visual, como el reconocimiento de objetos, la detección de patrones, la videovigilancia, la navegación autónoma, la medicina de diagnóstico asistida por computadora y más.

Logo


¿Le gustaría externalizar sus tareas de segmentación y anotación de imágenes como parte de sus desarrollos de IA?
🚀 No lo dude: confíe en nuestros etiquetadores y formadores de datos para crear conjuntos de datos a medida. ¡Póngase en contacto con nosotros hoy mismo!

¿Cuáles son los diferentes enfoques y técnicas que se utilizan en la segmentación de imágenes?

Hay varios enfoques y técnicas que se utilizan en la segmentación de imágenes. Cada técnica de segmentación de imágenes implica una serie de operaciones específicas para procesar y analizar las imágenes. Cada una se adapta a contextos específicos y tiene distintas ventajas y limitaciones. La elección del método a menudo depende de las características de la imagen, de los requisitos de precisión y rendimiento, así como de las restricciones de procesamiento en tiempo real, cuando proceda.

Umbralización

Segmentar una imagen en escala de grises con Otsu (fuente: https://pfl-cepia.hub.inrae.fr/axe-images/tutoriel/la-segmentation-des-images)

El umbral es uno de los métodos más simples y más utilizados en la segmentación de imágenes. Su principio fundamental se basa en la definición de un valor umbral, más allá del cual se considera que los píxeles pertenecen a un objeto de interés y por debajo del cual se clasifican como pertenecientes al fondo.

  • Selección de umbral

El primer paso para establecer un umbral es elegir un valor umbral apropiado. Este valor se puede determinar empíricamente examinando el histograma de la imagen para identificar los niveles de luminancia, color o intensidad que separan claramente los píxeles del objeto de los del fondo. Como alternativa, se pueden usar técnicas más avanzadas para establecer automáticamente el umbral, como el método de Otsu, que minimiza la varianza dentro de una clase.

  • Clasificación de píxeles

Una vez establecido el umbral, cada píxel de la imagen se compara con este umbral. Los píxeles cuyo valor supera el umbral se asignan al objeto de interés, mientras que aquellos cuyo valor está por debajo del umbral se asignan al fondo. Este proceso de clasificación se realiza para cada píxel de la imagen, lo que da como resultado una segmentación binaria en la que los píxeles están «activados» (pertenecen al objeto) o «desactivados» (pertenecen al fondo).

  • Tipos de umbrales

La definición de umbrales se puede aplicar globalmente, donde se usa un único umbral para toda la imagen, o localmente, donde se aplican diferentes umbrales a diferentes regiones de la imagen de acuerdo con sus características locales.

Por ejemplo, el umbral global puede ser eficaz para segmentar imágenes que tienen un contraste uniforme entre el objeto y el fondo. En cuanto al umbral local, puede ser más adecuado para imágenes con variaciones en la luminancia o el contraste.

  • Tratamiento posterior

Tras la segmentación, se pueden utilizar técnicas de posprocesamiento para mejorar la calidad de los resultados. Esto puede incluir eliminar el ruido, fusionar regiones vecinas o rellenar los huecos en los contornos de los objetos.

Métodos basados en contornos

Los métodos de segmentación de imágenes basados en contornos son esenciales para identificar los límites entre los objetos y el fondo de una imagen. Estos métodos permiten resaltar las transiciones abruptas en los valores de intensidad y localizar con precisión los contornos de los objetos.

  • Detección de transiciones abruptas

Los métodos basados en contornos aprovechan las transiciones abruptas o los cambios significativos en los valores de color, luminancia o textura de la imagen para localizar los contornos. Los contornos generalmente corresponden a variaciones significativas en estas propiedades, lo que las hace distintas e identificables.

  • Uso de operadores de gradiente

Segmentación de una imagen de granos de arroz por cuenca hidrográfica según la norma de gradiente (fuente: https://pfl-cepia.hub.inrae.fr/axe-images/tutoriel/la-segmentation-des-images)

Los operadores de gradiente, como el filtro Sobel, el filtro Prewitt o el filtro Roberts, son herramientas que se utilizan habitualmente para detectar contornos en una imagen. Estos operadores calculan los gradientes de la imagen, es decir, los cambios en la luminancia o la intensidad de los píxeles, y resaltan las regiones en las que estos cambios son más pronunciados, que generalmente corresponden a los contornos.

  • Detector de contorno Canny

El detector de bordes Canny es uno de los algoritmos más populares y eficientes para la detección de bordes. Para detectar contornos con alta precisión y baja sensibilidad al ruido, utiliza varios pasos, que incluyen:

- reducción de ruido;

- el cálculo del gradiente;

- la supresión de los valores no máximos locales;

- la implementación de un umbral por histéresis.

  • Selección de contornos

Una vez que se han detectado los contornos, se pueden utilizar varios métodos para seleccionar los que sean más relevantes o significativos para la tarea de segmentación específica. Esto puede incluir la aplicación de criterios de calidad, como la longitud, la curvatura o la consistencia de los contornos, o el uso de técnicas de combinación para combinar segmentos de contorno adyacentes.

Segmentación por regiones

La segmentación por regiones es un enfoque potente y versátil para segmentar imágenes en regiones homogéneas. Este método detecta y agrupa automáticamente píxeles similares en regiones coherentes. Esto facilita la comprensión y el análisis de los datos visuales en una variedad de áreas de aplicación.

  • Crecimiento de las regiones (Región en crecimiento)

Este método implica seleccionar uno o más píxeles iniciales, denominados «semillas», y luego expandir progresivamente las regiones añadiendo píxeles vecinos que compartan características similares. El proceso continúa hasta que todos los píxeles se asignen a una región específica o hasta que se cumplan los criterios de parada predefinidos. El crecimiento regional es sensible a las condiciones iniciales y puede verse influido por la elección de semillas y los criterios de crecimiento.

  • Métodos de agrupamiento

Estas técnicas agrupan los píxeles de la imagen en clústeres o grupos homogéneos en función de sus similitudes en el espacio de características, como el color, la textura o el brillo. El algoritmo de agrupamiento más utilizado es el algoritmo K-means, que divide los datos en un número predefinido de clústeres minimizando la varianza dentro del clúster. También se pueden utilizar otros métodos de agrupamiento, como la clasificación jerárquica de abajo hacia arriba (CAH) o la agrupación espectral, en función de los requisitos de segmentación específicos.

  • Algoritmos de región activa (Modelos Active Contour)

También conocidos como «serpientes», los algoritmos de región activa utilizan contornos deformables para segmentar las imágenes en regiones homogéneas. Los contornos activos se colocan inicialmente cerca de los bordes de los objetos de interés y, a continuación, se deforman para que se ajusten a los contornos reales del objeto, minimizando una función energética definida por el usuario. Las serpientes se pueden usar para segmentar objetos con límites complejos o mal definidos, pero pueden ser sensibles al ruido y a los artefactos de la imagen.

Segmentación por umbral adaptativo

La segmentación de umbrales adaptativos es un enfoque eficaz para segmentar imágenes con niveles de contraste variables o condiciones de iluminación no uniformes. Permite segmentar regiones con mayor precisión y una mejor adaptación a las variaciones locales. Por lo tanto, es particularmente útil en escenarios en los que las condiciones de adquisición de imágenes son variables o impredecibles.

  • Desglose de la imagen en áreas locales

En primer lugar, la imagen se divide en áreas locales o bloques de tamaño fijo o variable. Cada zona contiene un conjunto de píxeles que se procesarán juntos para determinar el umbral de segmentación correspondiente.

  • Cálculo de los umbrales locales

Para cada área local, se calcula un umbral de segmentación según las características locales de la imagen. Puede ser el promedio o la mediana de los niveles de gris de los píxeles del área. Este método también puede utilizar métodos más sofisticados basados en distribuciones estadísticas locales.

  • Segmentación adaptativa

Una vez calculados los umbrales locales, la segmentación de cada zona se lleva a cabo utilizando su propio umbral adaptativo. Los píxeles se clasifican como pertenecientes al objeto o al fondo en función de su intensidad en relación con el umbral del área local a la que pertenecen.

  • Fusión de resultados

Tras la segmentación de cada zona, los resultados suelen fusionarse para obtener una segmentación coherente de toda la imagen. Esto puede implicar pasos de posprocesamiento para eliminar los artefactos y las inconsistencias entre las diferentes áreas.

Segmentación basada en contornos activos (Modelos Active Contour)

Los contornos activos se utilizan en una variedad de aplicaciones, incluida la segmentación de imágenes médicas, la detección de objetos en imágenes naturales, el reconocimiento de patrones y la visión por computadora. Su flexibilidad y capacidad para adaptarse a contornos complejos los convierten en una herramienta valiosa para la segmentación de imágenes en los casos en que otros métodos de segmentación pueden resultar ineficaces o imprecisos.

  • Inicialización del contorno activo

Se coloca un contorno inicial cerca del contorno del objeto de interés en la imagen. El usuario puede especificar este contorno manualmente o inicializarlo automáticamente mediante técnicas como la detección de bordes o la ubicación de puntos de interés.

  • Deformación del contorno

Una vez que el contorno inicial está en su lugar, se deforma iterativamente para adaptarse a los contornos reales del objeto en la imagen. Esto se logra minimizando una función energética definida por el usuario. Este último tiene en cuenta tanto la coherencia del contorno como su adhesión a las características de la imagen, como los gradientes de luminancia o las propiedades de textura.

  • Optimización de la energía

La deformación del contorno se logra optimizando la función energética mediante técnicas de optimización numérica, como el descenso de gradientes o métodos de optimización basados en iteraciones sucesivas. El objetivo es encontrar la configuración del contorno que minimice la energía total para que se ajuste mejor a los contornos de los objetos de la imagen.

  • Detenga la deformación

La deformación del contorno continúa hasta que se alcanzan ciertos criterios de parada predefinidos, como la convergencia del algoritmo o la estabilización del contorno. En este punto, se obtiene el contorno final y se puede utilizar para segmentar el objeto de interés de la imagen.

Segmentación basada en el aprendizaje automático

La segmentación basada en el aprendizaje automático tiene varias ventajas, como una mayor precisión, la capacidad de generalizar a datos invisibles y la adaptabilidad a una variedad de tareas de segmentación. Herramientas como Python, Pillow y OpenCV se usan comúnmente para aprender visión artificial y segmentación de imágenes. Sin embargo, a menudo se requiere un gran conjunto de datos de entrenamiento y recursos computacionales importantes para entrenar el modelo, pero ofrece un rendimiento excepcional en muchas aplicaciones de segmentación de imágenes.

  • Recopilación y preparación de datos de formación

Se forma un conjunto de datos de entrenamiento, que incluye pares de imágenes y las máscaras de segmentación correspondientes. Las imágenes pueden ser pretratado si es necesario para normalizar los valores de píxeles o aumentar el tamaño del conjunto de datos.

  • Diseño de arquitectura de redes neuronales

Luego, una arquitectura de red neuronal convolucional (CNN) está diseñado para realizar la tarea de segmentación. Entre las arquitecturas más populares se encuentran U-Net, FCN (red totalmente convolucional) y Mask R-CNN, que están especialmente diseñadas para la segmentación de imágenes.

  • Entrenamiento de redes neuronales

Luego, la red neuronal se entrena en el conjunto de datos de entrenamiento para aprender a segmentar automáticamente las imágenes. Durante el entrenamiento, la red ajusta sus pesos y parámetros. Para ello, utiliza técnicas de optimización, como la retropropagación de errores, para minimizar la diferencia entre las máscaras de segmentación pronosticadas por la red y las máscaras de segmentación reales.

  • Validación y ajuste del modelo

Tras el entrenamiento, el modelo se evalúa sobre la base de un conjunto de datos de validación para evaluar su rendimiento y ajustar los hiperparámetros si es necesario. Esto puede incluir técnicas como ajustar la tasa de aprendizaje,Aumento de datos, o regularización para mejorar el rendimiento del modelo.

  • Uso del modelo para la segmentación

Una vez entrenado, el modelo se puede utilizar para segmentar nuevas imágenes en tiempo real. Al introducir una imagen en el modelo, el modelo genera automáticamente una máscara de segmentación que identifica las regiones de interés de la imagen.

Segmentación semántica

La segmentación semántica ofrece una comprensión fina y precisa del contenido de las imágenes. Esto es muy útil en muchos campos, como la visión artificial, la inteligencia artificial y el análisis de imágenes.

  • Preparación y anotación de datos

Se forma un conjunto de datos de entrenamiento, que incluye imágenes anotadas en las que cada píxel se etiqueta con su clase semántica correspondiente. Estas anotaciones se pueden realizar manualmente mediante anotadores humanos o automáticamente mediante técnicas de procesamiento de imágenes asistidas por computadora.

  • Diseño de redes de segmentación

Luego se construye una red neuronal convolucional (CNN), especialmente diseñada para la segmentación semántica. Entre las arquitecturas más populares se incluyen las redes de segmentación totalmente convolucional (FCN), las redes neuronales profundas residuales (ResNet) o los codificadores/decodificadores.

  • Entrenamiento de redes neuronales

La red neuronal se entrena con el conjunto de datos de entrenamiento anotados para aprender a asociar cada píxel de la imagen con su clase semántica correspondiente. Durante el entrenamiento, la red ajusta sus pesos y parámetros mediante técnicas de optimización, como el descenso de gradientes, para minimizar la diferencia entre las predicciones de la red y las anotaciones reales.

  • Validación y evaluación del modelo

Después del entrenamiento, el modelo se evalúa en función de un conjunto de datos de validación para evaluar su rendimiento en términos de precisión, recuperación y otras medidas de rendimiento de segmentación. Si es necesario, se pueden aplicar técnicas de optimización para mejorar el rendimiento del modelo.

  • Uso del modelo para la segmentación semántica

Una vez entrenado, el modelo se puede usar para segmentar nuevas imágenes en tiempo real asignando a cada píxel de la imagen una clase semántica predicha. Esto permite una segmentación precisa y detallada del contenido de la imagen, lo que resulta útil en muchas aplicaciones, como la conducción autónoma, la videovigilancia, la cartografía y muchas más.

¿Cuáles son las principales áreas de aplicación de la segmentación de imágenes en inteligencia artificial?

La segmentación de imágenes tiene multitud de aplicaciones en diversos campos de la inteligencia artificial:

Reconocimiento de objetos

La segmentación de imágenes se utiliza para distinguir y aislar diferentes objetos de una imagen. Esta capacidad es crucial para el reconocimiento automático de objetos, donde los sistemas de inteligencia artificial necesitan identificar objetos específicos en una escena compleja.

Por ejemplo, en las aplicaciones de videovigilancia, la segmentación de imágenes permite detectar y rastrear objetos en movimiento, como vehículos o personas, lo cual es fundamental para la seguridad y la vigilancia.

Imágenes médicas y de diagnóstico asistidas por computadora

En medicina, la segmentación de imágenes se utiliza para el análisis de imágenes médicas, incluidos los escáneres y las resonancias magnéticas. La segmentación de imágenes ayuda a los profesionales de la salud a diagnosticar enfermedades, planificar tratamientos y evaluar los resultados de los pacientes con mayor precisión. En particular, al identificar y diferenciar las estructuras anatómicas, las lesiones o las anomalías.

Además, hay varios artículos disponibles sobre los conceptos básicos del procesamiento de imágenes y la visión industrial y robótica, con la posibilidad de comentar estos artículos en un foro dedicado.

Visión artificial y procesamiento de imágenes

En el campo de la visión artificial, la segmentación de imágenes se utiliza para extraer características visuales importantes de las imágenes, como contornos, texturas o áreas de interés. Luego, esta información se puede utilizar para tareas como el reconocimiento facial, la reconstrucción de objetos en 3D o la realidad aumentada.

Cartografía y teledetección

En cartografía y teledetección, la segmentación de imágenes se utiliza para analizar imágenes aéreas o satelitales con el fin de mapear y monitorear áreas geográficas específicas. Por ejemplo, la segmentación de imágenes se puede usar para identificar y monitorear los cambios ambientales, como la deforestación, la erosión del suelo o la expansión urbana.

Industria y robótica

En la industria y la robótica, la segmentación de imágenes se utiliza para guiar a los robots y las máquinas en tareas como el montaje, la inspección de calidad o la manipulación de objetos. Al segmentar las imágenes de la escena laboral, los sistemas de inteligencia artificial pueden identificar y localizar con precisión los elementos con los que los robots necesitan interactuar, automatizando de manera efectiva los procesos industriales.

Análisis de una imagen o vídeo para redes sociales y marketing

En las redes sociales y en la web, la segmentación de imágenes se utiliza para analizar visualmente el contenido compartido por los usuarios, como imágenes, videos o los anuncios. Al segmentar este contenido, los sistemas de inteligencia artificial pueden extraer información relevante para la segmentación de la publicidad, el análisis de tendencias o recomendación de contenido personalizada, que es esencial para el marketing y la publicidad en línea.

Conclusión

En conclusión, la segmentación de imágenes desempeña un papel de liderazgo en muchas áreas de la inteligencia artificial visual, ya que ofrece soluciones para analizar, comprender e interpretar de manera efectiva la información visual. Exploramos varios enfoques y técnicas de segmentación, cada uno con sus propias ventajas y limitaciones, pero todos contribuyen a la creación de modelos de inteligencia artificial más precisos y de mejor rendimiento.

Desde los métodos tradicionales, como la detección de umbrales y bordes, hasta los enfoques modernos basados en el aprendizaje automático y las redes neuronales convolucionales, la segmentación de imágenes ha evolucionado significativamente. Ofrece soluciones adaptadas a una amplia variedad de tareas y aplicaciones.

Está claro que la segmentación de imágenes seguirá desempeñando un papel esencial en la evolución de la inteligencia artificial visual. Esto es así a pesar de que siguen surgiendo nuevos avances, como la segmentación semántica basada en redes neuronales profundas.