ShrinkGuard

Estima la pose de cada persona en vídeo, la sigue con un identificador estable y señala gestos de mano a cinturilla, bolsillo o bolso. Genera señales para que una persona las revise; nunca toma decisiones sobre nadie.

Estado
Terminado
Áreas
IA, Backend
Tecnologías
  • Python
  • YOLO11-pose
  • ByteTrack
  • OpenCV
  • NumPy
  • PyTorch (LSTM)
  • Threading

Demo interactiva

Qué hace

  • Pose de 17 puntos por persona con YOLO11-pose y seguimiento con ByteTrack
  • Suavizado temporal ponderado por confianza y tolerancia a oclusiones breves
  • Zonas de interés como polígonos normalizados, válidas para cualquier resolución
  • Varias cámaras en paralelo, un hilo por fuente (webcam, vídeo o RTSP)
  • Guarda un recorte y una línea en eventos.csv por cada señal para revisarla

Qué aprendí

  • Calibrar umbrales con precisión y recall sobre clips etiquetados en vez de a ojo
  • Añadir el ancla de pecho subió el recall de 0,37 a 0,83
  • El clasificador LSTM supera a la heurística en validación (F1 0,89 frente a 0,82)
  • RGPD, guías de la AEPD y AI Act: por qué la decisión final tiene que ser humana

La demo dibuja figuras sintéticas en el navegador: no hay vídeo, ni personas reales, ni modelos.

Cómo está montado

  1. Vídeo o RTSPun hilo por cámara
  2. YOLO11-pose + ByteTrackkeypoints por track_id
  3. Suavizado + ROINumPy
  4. Heurística o LSTMmisma interfaz
  5. Revisión humanarecorte + CSV