Explora las arquitecturas de detección de objetos, desde las estructuras básicas hasta los componentes principales. Descubre cómo Ultralytics ofrece una velocidad y precisión excepcionales para la visión artificial en tiempo real.
Las arquitecturas de detección de objetos son los planos estructurales de las redes neuronales utilizadas para identificar y localizar elementos dentro de los datos visuales. En el campo más amplio de la visión por computadora (CV), estas arquitecturas definen cómo «ve» una máquina al procesar datos de píxeles sin procesar y convertirlos en información significativa. A diferencia de los modelos de clasificación básicos que simplemente etiquetan una imagen, una arquitectura de detección de objetos está diseñada para generar un cuadro delimitador junto con una etiqueta de clase y una puntuación de confianza para cada objeto distinto que encuentra. Este diseño estructural determina la velocidad, la precisión y la eficiencia computacional del modelo, lo que lo convierte en un factor crítico a la hora de elegir un modelo para la inferencia en tiempo real o el análisis de alta precisión.
Aunque los diseños específicos varían, la mayoría de las arquitecturas modernas comparten tres componentes fundamentales: la columna vertebral, el cuello y la cabeza. La columna vertebral actúa como el principal extractor de características. Normalmente es una red neuronal convolucional (CNN) preentrenada en un gran conjunto de datos como ImageNet, responsable de identificar formas básicas, bordes y texturas. Entre las opciones más populares para las espinas dorsales se incluyen ResNet y CSPDarknet.
El cuello conecta la columna vertebral con las capas de salida finales. Su función es mezclar y combinar características de diferentes etapas de la columna vertebral para garantizar que el modelo pueda detect de varios tamaños, un concepto conocido como fusión de características multiescala. Las arquitecturas suelen utilizar una red piramidal de características (FPN) o una red de agregación de rutas (PANet) para enriquecer la información semántica que se transmite a las capas de predicción. Por último, el cabezal de detección procesa estas características fusionadas para predecir la clase específica y la ubicación coordinada de cada objeto.
Históricamente, las arquitecturas se dividían en dos categorías principales. Los detectores de dos etapas, como la familia R-CNN, proponen primero regiones de interés (RoI) donde podrían existir objetos y luego classify regiones en un segundo paso. Aunque suelen ser precisos, a menudo requieren demasiada potencia de cálculo para los dispositivos periféricos.
YOLO el contrario, los detectores de una sola etapa tratan la detección como un simple problema de regresión, asignando los píxeles de la imagen directamente a las coordenadas del cuadro delimitador y a las probabilidades de clase en una sola pasada. Este enfoque, iniciado por la familia YOLO (You Only Look Once), revolucionó el sector al permitir un rendimiento en tiempo real. Los avances modernos han culminado en modelos como YOLO26, que no solo ofrecen una velocidad superior, sino que también han adoptado arquitecturas integrales NMS. Al eliminar la necesidad del postprocesamiento de supresión no máxima (NMS) , estas nuevas arquitecturas reducen la variabilidad de la latencia, lo cual es crucial para los sistemas críticos para la seguridad.
La elección de la arquitectura influye directamente en el éxito de las soluciones de IA en todos los sectores.
Es importante diferenciar las arquitecturas de detección de tareas similares de visión artificial:
Los marcos modernos han abstraído las complejidades de estas arquitecturas, lo que permite a los desarrolladores aprovechar
diseños de vanguardia con un código mínimo. El uso de ultralytics paquete, puede cargar un modelo preentrenado
YOLO26 modelar y ejecutar la inferencia de forma inmediata. Para los equipos
que buscan gestionar sus conjuntos de datos y entrenar arquitecturas personalizadas en la nube, el
Plataforma Ultralytics simplifica todo el proceso de MLOps.
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Run inference on an image source
# This uses the model's architecture to detect objects
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()