Estimaci贸n de la velocidad mediante Ultralytics YOLO11 馃殌
驴Qu茅 es la estimaci贸n de la velocidad?
La estimaci贸n de la velocidad es el proceso de c谩lculo de la velocidad de movimiento de un objeto dentro de un contexto determinado, a menudo empleado en aplicaciones de visi贸n por ordenador. Con Ultralytics YOLO11 ahora es posible calcular la velocidad de un objeto utilizando el seguimiento de objetos junto con datos de distancia y tiempo, algo crucial para tareas como el tr谩fico y la vigilancia. La precisi贸n de la estimaci贸n de la velocidad influye directamente en la eficacia y fiabilidad de diversas aplicaciones, lo que la convierte en un componente clave para el avance de los sistemas inteligentes y los procesos de toma de decisiones en tiempo real.
Observa: Estimaci贸n de la velocidad mediante Ultralytics YOLO11
Visita nuestro blog
Para profundizar en la estimaci贸n de la velocidad, consulte nuestra entrada de blog: Ultralytics YOLO11 for Speed Estimation in Computer Vision Projects (en ingl茅s).
驴Ventajas de la estimaci贸n de la velocidad?
- Control eficaz del tr谩fico: La estimaci贸n precisa de la velocidad ayuda a gestionar el flujo de tr谩fico, mejorar la seguridad y reducir la congesti贸n en las carreteras.
- Navegaci贸n aut贸noma precisa: En sistemas aut贸nomos como los coches autoconducidos, una estimaci贸n fiable de la velocidad garantiza una navegaci贸n segura y precisa del veh铆culo.
- Seguridad de vigilancia mejorada: La estimaci贸n de la velocidad en los an谩lisis de vigilancia ayuda a identificar comportamientos inusuales o amenazas potenciales, mejorando la eficacia de las medidas de seguridad.
Aplicaciones en el mundo real
Transporte | Transporte |
---|---|
Estimaci贸n de la velocidad en carretera mediante Ultralytics YOLO11 | Estimaci贸n de la velocidad en puentes mediante Ultralytics YOLO11 |
Estimaci贸n de la velocidad mediante YOLO11 Ejemplo
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
# Video writer
video_writer = cv2.VideoWriter("speed_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Define speed region points
speed_region = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
speed = solutions.SpeedEstimator(
show=True, # Display the output
model="yolo11n-pose.pt", # Path to the YOLO11 model file.
region=speed_region, # Pass region points
# classes=[0, 2], # If you want to estimate speed of specific classes.
# line_width=2, # Adjust the line width for bounding boxes and text display
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if success:
out = speed.estimate_speed(im0)
video_writer.write(im0)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
continue
print("Video frame is empty or video processing has been successfully completed.")
break
cap.release()
cv2.destroyAllWindows()
La velocidad es una estimaci贸n
La velocidad ser谩 una estimaci贸n y puede no ser completamente exacta. Adem谩s, la estimaci贸n puede variar en funci贸n de la velocidad de GPU .
Argumentos SpeedEstimator
Nombre | Tipo | Por defecto | Descripci贸n |
---|---|---|---|
model |
str |
None |
Ruta de acceso al archivo del modelo Ultralytics YOLO |
region |
list |
[(20, 400), (1260, 400)] |
Lista de puntos que definen la regi贸n de recuento. |
line_width |
int |
2 |
Grosor de l铆nea de los cuadros delimitadores. |
show |
bool |
False |
Indicador para controlar si se muestra el flujo de v铆deo. |
Argumentos model.track
Argumento | Tipo | Por defecto | Descripci贸n |
---|---|---|---|
source |
str |
None |
Especifica el directorio de origen de las im谩genes o v铆deos. Admite rutas de archivo y URL. |
persist |
bool |
False |
Permite el seguimiento persistente de objetos entre fotogramas, manteniendo los ID en todas las secuencias de v铆deo. |
tracker |
str |
botsort.yaml |
Especifica el algoritmo de seguimiento a utilizar, por ejemplo, bytetrack.yaml o botsort.yaml . |
conf |
float |
0.3 |
Establece el umbral de confianza para las detecciones; los valores m谩s bajos permiten rastrear m谩s objetos pero pueden incluir falsos positivos. |
iou |
float |
0.5 |
Establece el umbral de intersecci贸n sobre uni贸n (IoU) para filtrar las detecciones solapadas. |
classes |
list |
None |
Filtra los resultados por 铆ndice de clase. Por ejemplo, classes=[0, 2, 3] s贸lo rastrea las clases especificadas. |
verbose |
bool |
True |
Controla la visualizaci贸n de los resultados del rastreo, proporcionando una salida visual de los objetos rastreados. |
PREGUNTAS FRECUENTES
驴C贸mo puedo estimar la velocidad de un objeto utilizando Ultralytics YOLO11 ?
Estimar la velocidad de un objeto con Ultralytics YOLO11 implica combinar t茅cnicas de detecci贸n y seguimiento de objetos. En primer lugar, es necesario detectar objetos en cada fotograma utilizando el modelo YOLO11 . A continuaci贸n, realizar un seguimiento de estos objetos a trav茅s de los fotogramas para calcular su movimiento en el tiempo. Por 煤ltimo, utiliza la distancia recorrida por el objeto entre fotogramas y la frecuencia de fotogramas para estimar su velocidad.
Por ejemplo:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video/file.mp4")
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize SpeedEstimator
speed_obj = solutions.SpeedEstimator(
region=[(0, 360), (1280, 360)],
model="yolo11n.pt",
show=True,
)
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
im0 = speed_obj.estimate_speed(im0)
video_writer.write(im0)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
Para m谩s detalles, consulte nuestra entrada oficial en el blog.
驴Cu谩les son las ventajas de utilizar Ultralytics YOLO11 para estimar la velocidad en la gesti贸n del tr谩fico?
La utilizaci贸n de Ultralytics YOLO11 para la estimaci贸n de la velocidad ofrece importantes ventajas en la gesti贸n del tr谩fico:
- Mayor seguridad: Estime con precisi贸n la velocidad de los veh铆culos para detectar el exceso de velocidad y mejorar la seguridad vial.
- Supervisi贸n en tiempo real: Benef铆ciese de la capacidad de detecci贸n de objetos en tiempo real de YOLO11 para supervisar eficazmente el flujo de tr谩fico y los atascos.
- Escalabilidad: Despliegue el modelo en varias configuraciones de hardware, desde dispositivos perif茅ricos hasta servidores, lo que garantiza soluciones flexibles y escalables para implementaciones a gran escala.
Para m谩s aplicaciones, consulte las ventajas de la estimaci贸n de la velocidad.
驴Puede YOLO11 integrarse con otros marcos de IA como TensorFlow o PyTorch?
S铆, YOLO11 puede integrarse con otros marcos de IA como TensorFlow y PyTorch. Ultralytics proporciona soporte para exportar modelos YOLO11 a varios formatos como ONNX, TensorRT, y CoreML, asegurando una interoperabilidad fluida con otros marcos de ML.
Para exportar un modelo YOLO11 al formato ONNX :
M谩s informaci贸n sobre la exportaci贸n de modelos en nuestra gu铆a sobre exportaci贸n.
驴Cu谩l es la precisi贸n de la estimaci贸n de la velocidad mediante Ultralytics YOLO11 ?
La precisi贸n de la estimaci贸n de la velocidad mediante Ultralytics YOLO11 depende de varios factores, como la calidad del seguimiento del objeto, la resoluci贸n y la frecuencia de fotogramas del v铆deo y las variables ambientales. Aunque el estimador de velocidad proporciona estimaciones fiables, puede no ser preciso al 100% debido a las variaciones en la velocidad de procesamiento de fotogramas y a la oclusi贸n de objetos.
Nota: tenga siempre en cuenta el margen de error y valide las estimaciones con datos reales sobre el terreno cuando sea posible.
Si desea m谩s consejos para mejorar la precisi贸n, consulte el Argumentos SpeedEstimator
secci贸n.
驴Por qu茅 elegir Ultralytics YOLO11 en lugar de otros modelos de detecci贸n de objetos como TensorFlow Object Detection API?
Ultralytics YOLO11 ofrece varias ventajas sobre otros modelos de detecci贸n de objetos, como la API de detecci贸n de objetos TensorFlow :
- Rendimiento en tiempo real: YOLO11 est谩 optimizado para la detecci贸n en tiempo real, lo que proporciona una gran velocidad y precisi贸n.
- Facilidad de uso: Dise帽ado con una interfaz f谩cil de usar, YOLO11 simplifica la formaci贸n y la implantaci贸n de modelos.
- Versatilidad: Admite m煤ltiples tareas, como la detecci贸n de objetos, la segmentaci贸n y la estimaci贸n de la pose.
- Comunidad y asistencia: YOLO11 cuenta con el respaldo de una comunidad activa y una amplia documentaci贸n, lo que garantiza que los desarrolladores dispongan de los recursos que necesitan.
Para m谩s informaci贸n sobre las ventajas de YOLO11, explore nuestra p谩gina de modelos detallados.