Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Configuración de cookies
Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Detección de bordes en el procesamiento de imágenes. Aprenda Sobel, Canny y otros algoritmos de detección de bordes para detectar con precisión los bordes y lograr un reconocimiento de bordes robusto.
Como humanos, al mirar una imagen, reconocemos de forma natural los bordes de los objetos, seguimos sus curvas y notamos las texturas en sus superficies. Sin embargo, para un ordenador, la comprensión comienza al nivel de los píxeles individuales.
Un píxel, la unidad más pequeña de una imagen digital, almacena el color y el brillo en un solo punto. Al rastrear los cambios en estos valores de píxeles a través de una imagen, una computadora puede detectar patrones que revelan detalles clave.
En particular, el procesamiento de imágenes utiliza datos de píxeles para enfatizar las características esenciales y eliminar las distracciones. Una técnica común de procesamiento de imágenes es la detección de bordes, que identifica los puntos donde el brillo o el color cambian bruscamente para delinear objetos, marcar límites y agregar estructura.
Esto permite a los ordenadores separar formas, medir dimensiones e interpretar cómo se conectan las partes de una escena. La detección de bordes es a menudo el primer paso en el análisis de imágenes avanzado.
Fig. 1. Ejemplo que muestra la imagen original junto con las salidas de diferentes métodos de detección de bordes. (Fuente)
En este artículo, echaremos un vistazo a qué es la detección de bordes, cómo funciona y sus aplicaciones en el mundo real. ¡Empecemos!
Conceptos de detección de bordes
La detección de bordes se centra en buscar lugares en una imagen donde el brillo o el color cambian notablemente de un punto a otro. Si el cambio es pequeño, el área aparece suave. Si el cambio es brusco, a menudo marca el límite entre dos regiones diferentes.
Estas son algunas de las razones por las que se producen estos cambios de píxeles:
Discontinuidades normales de la superficie: Cuando dos superficies se encuentran en un ángulo, como la esquina de una pared o el borde de una caja, este cambio brusco de orientación produce un límite claro en la imagen.
Discontinuidades de profundidad: Aparecen donde los objetos están a diferentes distancias de la cámara, produciendo una separación visible que ayuda al sistema a distinguirlos.
Cambios en el color o la textura de la superficie: Esto ocurre cuando un área tiene un color o una textura diferente a la del área adyacente, lo que crea una separación visible.
Cambios de iluminación: Surgen de las variaciones en la iluminación, incluyendo sombras o reflejos en las superficies, creando separaciones visibles incluso cuando las superficies son lisas o continuas.
Fig. 2. Diferentes tipos de discontinuidades de borde en imágenes. (Fuente)
¿Cómo funciona el reconocimiento de detección de bordes?
La detección de bordes generalmente comienza convirtiendo una imagen en color en una imagen en escala de grises, por lo que cada punto solo muestra el brillo. Esto facilita que el algoritmo se centre en las diferencias de luz y oscuridad en lugar del color.
A continuación, unos filtros especiales pueden escanear la imagen para encontrar lugares donde el brillo cambia repentinamente. Estos filtros calculan la pendiente del cambio de brillo, lo que se denomina gradiente. Un gradiente más alto está causado por una mayor diferencia entre los puntos cercanos, lo que a menudo indica un borde.
A continuación, el algoritmo sigue refinando la imagen, eliminando los pequeños detalles y conservando solo las líneas y formas más importantes. El resultado es un contorno claro y una imagen de salida que se puede utilizar para un análisis posterior.
Evolución de la detección de bordes y el procesamiento de imágenes
Antes de profundizar en la detección de bordes con más detalle, analicemos cómo se desarrolló con el tiempo.
El procesamiento de imágenes comenzó con métodos simples basados en reglas, como la umbralización y el filtrado, para limpiar y mejorar las imágenes. En la era analógica, esto significaba trabajar con fotografías o películas utilizando filtros ópticos, lupas o tratamientos químicos para resaltar los detalles.
Técnicas como el ajuste de contraste, la reducción de ruido, el ajuste de la intensidad de la imagen y la detección básica de bordes ayudaron a que las imágenes de entrada fueran más claras y resaltaran las formas y texturas. En las décadas de 1960 y 70, el cambio del procesamiento analógico al digital abrió el camino al análisis moderno en áreas como la astronomía, las imágenes médicas y la monitorización por satélite.
En las décadas de 1980 y 90, las computadoras más rápidas hicieron posible abordar tareas más complejas, como la extracción de características, la detección de formas y el reconocimiento básico de objetos. Algoritmos como el operador de Sobel y Canny ofrecieron una detección de bordes más precisa, mientras que el reconocimiento de patrones encontró aplicaciones en todo, desde la automatización industrial hasta la lectura de texto impreso a través del reconocimiento óptico de caracteres.
Detección de bordes y visión artificial en el siglo XXI
Hoy en día, los constantes avances en la tecnología han llevado al desarrollo de la visión artificial. La IA de visión, o visión artificial, es una rama de la IA que se centra en enseñar a las máquinas a interpretar y comprender la información visual.
Mientras que el procesamiento de imágenes tradicional, como el umbral doble (que aclara las imágenes manteniendo los bordes fuertes y eliminando los débiles) y la detección de bordes, seguía reglas fijas y solo podía manejar tareas específicas, la visión artificial utiliza modelos basados en datos que pueden aprender de ejemplos y adaptarse a nuevas situaciones.
Hoy en día, los sistemas de imagen van mucho más allá de la simple mejora de imágenes o la detección de bordes. Pueden reconocer objetos, rastrear movimientos y comprender el contexto de una escena completa.
Una de las técnicas clave que lo hace posible es la convolución. Una operación de convolución es un proceso en el que pequeños filtros (también llamados kernels) escanean una imagen para encontrar patrones importantes como bordes, esquinas y texturas. Estos patrones se convierten en los bloques de construcción que los modelos de visión artificial utilizan para reconocer y comprender los objetos.
Por ejemplo, los modelos de visión artificial como Ultralytics YOLO11 utilizan estas características basadas en la convolución para realizar tareas avanzadas como la segmentación de instancias. Esto está estrechamente relacionado con la detección de bordes porque la segmentación de instancias requiere delinear con precisión los límites de cada objeto en una imagen.
Mientras que la detección de bordes se centra en encontrar cambios de intensidad en los píxeles de los bordes para marcar los bordes de los objetos, la segmentación de instancias se basa en esa idea para detectar bordes, clasificar y separar cada objeto en su propia región.
Fig 3. Una mirada al uso de YOLO11 y la segmentación de instancias. (Fuente)
Algoritmos y enfoques de detección de bordes
Incluso con el crecimiento de la visión artificial, el procesamiento de imágenes sigue siendo una parte importante de muchas aplicaciones. Esto se debe a que la visión artificial a menudo se basa en pasos básicos de preprocesamiento de imágenes.
Antes de detectar objetos o comprender una escena, los sistemas suelen limpiar la imagen, reducir el ruido y encontrar bordes para que los detalles clave destaquen. Estos pasos hacen que los modelos avanzados sean más precisos y eficientes.
A continuación, exploremos algunos de los algoritmos de procesamiento de imágenes más comunes que se utilizan para detectar bordes y cómo funcionan.
Detección de bordes de Sobel
La detección de bordes de Sobel es un método clave utilizado para encontrar los contornos de los objetos en una imagen. En lugar de analizar cada detalle a la vez, se centra en las áreas donde el brillo cambia bruscamente de un píxel al siguiente píxel vecino.
Estos cambios repentinos suelen marcar el punto en el que un objeto termina y otro comienza, o donde un objeto se encuentra con el fondo. Al aislar estos bordes, Sobel transforma una imagen compleja en un contorno más limpio que es más fácil de procesar para otros sistemas en tareas como el seguimiento del movimiento, la detección de formas o el reconocimiento de objetos.
Puede considerar la detección de bordes de Sobel como un detector de gradiente que mide cómo cambia la intensidad a través de una imagen. En esencia, esto funciona a través de una operación de convolución: deslizando pequeñas matrices, llamadas kernels, a través de la imagen y calculando sumas ponderadas de los valores de los píxeles vecinos.
Estos kernels están diseñados para enfatizar los cambios de brillo a lo largo de las direcciones horizontal y vertical. A diferencia de los modelos de aprendizaje profundo, donde los kernels se aprenden de los datos, Sobel utiliza kernels fijos para resaltar eficientemente los bordes sin necesidad de entrenamiento.
Aquí hay una mirada más de cerca a cómo funciona el método de detección de bordes de Sobel:
Usando dos filtros de 3×3: Este método utiliza dos pequeñas cuadrículas de 3×3, llamadas filtros. Piense en ellas como plantillas que se deslizan sobre la imagen en las direcciones horizontal (dirección x) y vertical (dirección y). Una cuadrícula está diseñada para encontrar bordes horizontales, y la otra es para bordes verticales.
Cálculo del gradiente: Cada filtro encuentra la rapidez con la que cambia el brillo y la dirección del gradiente. Un gran cambio significa un posible borde.
Combinación de resultados: Los resultados horizontales y verticales se combinan para determinar la fuerza y la dirección general del borde en cada píxel.
Detección de bordes: Los píxeles con una alta magnitud de gradiente se marcan como bordes fuertes.
Delimitación de contornos: Estos bordes ayudan a definir las formas de los objetos y a separar diferentes regiones de la imagen.
Fig. 4. La detección de bordes de Sobel puede resaltar los contornos principales de una imagen de entrada y producir un mapa de bordes. (Source)
Detección de bordes Canny
La detección de bordes Canny es otro método popular para encontrar bordes en una imagen. Es conocido por producir contornos limpios y precisos. A diferencia de las técnicas básicas de detección de bordes, sigue una serie de pasos cuidadosamente diseñados para filtrar el ruido, afinar los límites y centrarse en los bordes más importantes.
Aquí tienes una descripción general rápida de cómo funciona un detector de bordes Canny:
Suavizado de la imagen: Primero, la imagen se difumina con un filtro gaussiano, una técnica de suavizado que reduce el ruido y los pequeños detalles que podrían confundirse con bordes.
Detección de cambios de brillo: A continuación, el algoritmo busca cambios bruscos en el brillo, utilizando cálculos de gradiente para medir la fuerza y la dirección de esos cambios.
Afinando los bordes: Solo se conservan los puntos más fuertes a lo largo de cada línea detectada, mientras que se eliminan los puntos más débiles, lo que da como resultado bordes nítidos y limpios.
Clasificación de bordes: Cada píxel se etiqueta como fuerte, débil o no es un borde, según los valores umbral del cambio de brillo.
Limpieza final: Se conservan los bordes débiles conectados a los fuertes; todos los demás se descartan, dejando solo límites claros y conectados.
Fig. 5. Imagen original y su respectiva imagen de salida después de usar el detector de bordes Canny. (Fuente)
Debido a que ofrece resultados precisos al tiempo que filtra el ruido, la detección de bordes de Canny se utiliza ampliamente en áreas donde la precisión es importante. Por ejemplo, se utiliza en industrias como la imagenología médica, el mapeo satelital, el escaneo de documentos y la visión robótica.
Detección de bordes basada en gradientes vs. basada en Gaussianas
Hasta ahora, los dos ejemplos de detección de bordes que hemos visto son Sobel y Canny. Aunque ambos tienen como objetivo encontrar bordes, abordan el problema de manera diferente.
Los métodos basados en gradientes (como Sobel, Prewitt y Scharr) detectan bordes buscando cambios bruscos en el brillo, conocidos como gradiente. Escanean la imagen y marcan los lugares donde este cambio es más fuerte. Estos métodos son simples, rápidos y funcionan bien cuando las imágenes son claras. Sin embargo, son sensibles al ruido: pequeñas variaciones en el brillo pueden confundirse con bordes.
Los métodos basados en Gaussianas (como Canny o Laplaciano de Gauss) añaden un paso adicional para abordar este problema: primero, difuminar la imagen. Este suavizado, a menudo realizado con un filtro Gaussiano, reduce las pequeñas variaciones que podrían crear bordes falsos. Después del suavizado, estos métodos aún buscan cambios bruscos de brillo, pero los resultados son más limpios y precisos para imágenes ruidosas o de baja calidad.
Fig. 6. Detección de bordes basada en gradientes vs. basada en Gaussianas. Imagen del autor.
Aplicaciones del mundo real de la detección de bordes
Con una mejor comprensión de cómo funciona la detección de bordes, exploremos cómo se aplica en situaciones del mundo real.
Uso de la detección de bordes para identificar grietas
La inspección de grandes estructuras de hormigón, como puentes y edificios de gran altura, suele ser una tarea difícil y peligrosa. Estas estructuras pueden abarcar largas distancias o alcanzar grandes alturas, lo que hace que las inspecciones tradicionales sean lentas, costosas y arriesgadas. Estas inspecciones también suelen requerir andamios, acceso con cuerdas, mediciones manuales de cerca o fotografía.
En 2019 se exploró un enfoque interesante, cuando los investigadores probaron un método más seguro y rápido utilizando drones equipados con cámaras de alta resolución para capturar imágenes de entrada detalladas de superficies de hormigón. Estas imágenes se procesaron posteriormente con diversas técnicas de detección de bordes para identificar automáticamente las grietas.
El estudio demostró que este método redujo significativamente la necesidad de acceso humano directo a áreas peligrosas y aceleró las inspecciones. Sin embargo, su precisión aún dependía de factores como las condiciones de iluminación, la claridad de la imagen y el funcionamiento estable del dron. En algunos casos, todavía era necesaria la revisión humana para eliminar los falsos positivos.
Aplicación de la detección de bordes en imágenes médicas
Las radiografías y las resonancias magnéticas a menudo contienen alteraciones visuales conocidas como ruido, lo que puede dificultar la visualización de detalles finos. Esto supone un reto para los médicos cuando intentan detectar los bordes de un tumor, trazar el contorno de un órgano o controlar cambios sutiles a lo largo del tiempo.
Un reciente estudio de imágenes médicas probó qué tan bien los métodos comunes de detección de bordes, como Sobel, Canny, Prewitt y Laplacian, manejan las imágenes ruidosas. Los investigadores agregaron diferentes tipos y niveles de ruido a las imágenes y verificaron con qué precisión cada método podía delinear características importantes.
Canny generalmente producía los bordes más limpios, incluso cuando el ruido era intenso, pero no era la mejor opción en todos los casos. Algunos métodos funcionaban mejor con ciertos patrones de ruido, por lo que no existe una solución perfecta única.
Fig. 7. Canny (d–f) proporciona bordes más claros que Sobel (g–i) a medida que aumenta el ruido. (Fuente)
Esto resalta por qué las tecnologías como la visión artificial son tan importantes. Al combinar algoritmos avanzados y modelos de Visión IA, tales soluciones pueden ir más allá de la detección de bordes básica para ofrecer resultados más precisos y confiables incluso en condiciones desafiantes.
Ventajas de la detección de bordes
Estos son algunos de los beneficios de utilizar la detección de bordes y el procesamiento de imágenes:
Mejor compresión de datos: La detección de bordes permite que las imágenes se representen utilizando solo características clave, lo que reduce el tamaño del archivo al tiempo que conserva la información esencial. Esto hace que el almacenamiento y la transmisión sean más eficientes.
Localización de objetos más precisa: Al identificar con precisión los límites de los objetos, la detección de bordes mejora la capacidad de los sistemas para localizar y rastrear objetos, lo que beneficia a aplicaciones como la IA de visión en robótica y los vehículos autónomos.
Detección de características multiescala: Las técnicas de detección de bordes pueden analizar imágenes a diferentes escalas, capturando tanto pequeños detalles como formas más grandes. Esta flexibilidad es útil en diversas tareas, desde el análisis de texturas hasta la comprensión de escenas.
Limitaciones del uso del procesamiento de imágenes para la detección de bordes
Si bien la detección de bordes en el procesamiento de imágenes tiene muchas ventajas, también presenta algunos desafíos. Estas son algunas de las limitaciones clave que debe tener en cuenta:
Problemas con texturas complejas: En imágenes con patrones intrincados o repetidos, la detección de bordes a menudo produce muchos bordes falsos o irrelevantes, lo que complica el análisis posterior y reduce la fiabilidad.
Sensible a la iluminación: Las variaciones en el brillo, las sombras y los reflejos pueden hacer que los detectores de bordes interpreten erróneamente los cambios de iluminación como límites de objetos, lo que lleva a resultados inconsistentes.
Sin identificación de objetos: Si bien los bordes resaltan dónde comienzan y terminan los objetos, no muestran cuáles son los objetos. Se necesita un procesamiento adicional para asignar significado o etiquetas a los bordes detectados.
Cuando la visión artificial se puede utilizar para la detección de bordes
La detección de bordes se inspira en cómo nuestros ojos y nuestro cerebro trabajan juntos para dar sentido al mundo. Cuando se trata de la visión humana, las neuronas especializadas en la corteza visual son muy sensibles a los bordes, las líneas y los límites.
Estas señales visuales nos ayudan a determinar rápidamente dónde termina un objeto y dónde comienza otro. Por eso, incluso un simple dibujo lineal puede ser reconocible al instante: nuestro cerebro depende en gran medida de los bordes para identificar formas y objetos.
La visión artificial tiene como objetivo imitar esta capacidad, pero va un paso más allá. Los modelos como Ultralytics YOLO11 van más allá del resaltado básico de bordes y la mejora de imágenes. Pueden detectar objetos, delinearlos con precisión y rastrear el movimiento en tiempo real. Este nivel más profundo de comprensión los hace esenciales en escenarios donde la detección de bordes por sí sola no es suficiente.
Uso de Ultralytics YOLO11 para detectar bordes con mayor precisión
Estas son algunas tareas clave de visión artificial compatibles con YOLO11 que se basan en la detección de bordes y van más allá:
Detección de objetos: Identifica y localiza múltiples objetos en una imagen o vídeo dibujando cajas delimitadoras alrededor de cada uno, dando una visión clara de lo que está presente y dónde se posiciona cada objeto.
Segmentación de instancias: Esto implica descomponer los objetos hasta el nivel de píxel, produciendo contornos limpios y precisos incluso cuando los objetos se superponen o tienen formas irregulares.
Estimación de la pose: El objetivo aquí es determinar la posición, orientación o postura de un objeto o persona, lo que ayuda a monitorear el movimiento o detectar cambios estructurales a lo largo del tiempo.
Seguimiento de objetos: Esta tarea sigue a un objeto mientras se mueve a través de los fotogramas de video, asegurando una identificación consistente para una observación precisa a largo plazo.
Clasificación de imágenes: Asigna etiquetas a objetos o imágenes completas basándose en sus características visuales, lo que facilita la organización e interpretación de grandes conjuntos de datos.
Detección de bordes en infraestructuras con visión artificial
Un buen ejemplo de cómo la visión artificial mejora una aplicación que tradicionalmente se basaba en la detección de bordes es la detección de grietas en infraestructuras y activos industriales. Los modelos de visión artificial como YOLO11 pueden entrenarse para identificar con precisión las grietas en carreteras, puentes y tuberías. La misma técnica también puede aplicarse en el mantenimiento de aeronaves, las inspecciones de edificios y el control de calidad de la fabricación, lo que ayuda a acelerar las inspecciones y a mejorar la seguridad.
Fig. 8. Un ejemplo del uso de YOLO11 para la segmentación de grietas. (Fuente)
Conclusiones clave
La detección de bordes ha recorrido un largo camino, desde métodos iniciales simples hasta técnicas avanzadas que pueden detectar incluso límites sutiles en imágenes complejas. Ayuda a resaltar detalles importantes, destacar áreas clave y preparar imágenes para un análisis más profundo, lo que la convierte en una parte fundamental del procesamiento de imágenes.
En visión artificial, la detección de bordes juega un papel importante en la definición de formas, la separación de objetos y la extracción de información útil. Se utiliza en muchas áreas, como la imagenología médica, las inspecciones industriales, la conducción autónoma y la seguridad, para ofrecer una comprensión visual precisa y fiable.