Skip to content

radami2006/mock-cone-detector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Detector de conos con YOLO

Ejemplo minimo para detectar conos de trafico usando un modelo YOLO-World preentrenado de Ultralytics. No hace falta entrenar: el script usa prompts abiertos (traffic cone, orange traffic cone, road cone) para buscar conos.

Ademas, el script elige dos conos, calcula el punto medio entre sus centros y lo dibuja en la imagen. Tambien imprime el punto medio por consola:

frame=1 conos=2 punto_medio=(421, 318)

Instalacion

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt

Uso

Webcam:

python detect_cones.py

Esto abre la camara en tiempo real. Pulsa q en la ventana para salir. Por defecto no guarda video ni fotos.

Para subir FPS:

python detect_cones.py --imgsz 416 --camera-width 640 --camera-height 480

Si aun va lento, puedes hacer inferencia cada 2 frames y seguir viendo video fluido:

python detect_cones.py --imgsz 416 --infer-every 2

Con GPU NVIDIA:

python detect_cones.py --device 0 --half --imgsz 416

Imagen:

python detect_cones.py --source .\foto.jpg

Con una imagen se abre una ventana grafica automaticamente. Pulsa cualquier tecla para cerrarla.

Carpeta de fotos:

python detect_cones.py --source .\fotos

Con una carpeta de fotos tambien se abre una ventana grafica automaticamente. Pulsa cualquier tecla para pasar a la siguiente foto o q para salir.

Video existente:

python detect_cones.py --source .\video.mp4

El script resalta el area de todos los conos detectados. Si encuentra al menos dos, marca los dos elegidos y dibuja el punto medio entre ellos.

Opciones utiles

python detect_cones.py --source .\foto.jpg --conf 0.25 --imgsz 960
  • --conf: subelo si aparecen falsos positivos, bajalo si no detecta conos pequenos.
  • --imgsz: subelo para mejorar objetos pequenos a costa de velocidad.
  • --camera-width / --camera-height: baja la resolucion de webcam para ganar FPS.
  • --camera-fps: FPS solicitados a la webcam.
  • --infer-every: ejecuta YOLO cada N frames. 2 o 3 mejora fluidez, con deteccion menos frecuente.
  • --device 0: usa GPU CUDA si esta disponible.
  • --half: usa FP16 en GPU compatible.
  • --select confidence: usa los dos conos con mayor confianza. Es el valor por defecto.
  • --select area: usa los dos conos mas grandes, util si quieres priorizar los mas cercanos.
  • --max-frames 100: limita cuantos frames procesa en webcam o video.
  • --no-show: no abre ventana grafica.
  • --save: guarda frames/imagenes anotadas en runs/cone_detector/predict.
  • --model: puedes pasar pesos propios, por ejemplo --model best.pt, si entrenas un detector especifico de conos.

Ejemplo usando los dos conos mas grandes:

python detect_cones.py --source .\video.mp4 --select area

Nota

YOLO-World es la opcion facil porque soporta deteccion open-vocabulary con clases personalizadas sin reentrenar. Para produccion o competicion, lo normal seria etiquetar tus imagenes de conos y ajustar un YOLO especifico.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages