CountIn
Un sistema de visión artificial para el navegador que cuenta personas en tiempo real. TensorFlow.js hace la detección; un seguidor propio y lógica geométrica de cruce de líneas se encargan del conteo, todo en el cliente.
CountIn cuenta personas en tiempo real desde una webcam con TensorFlow.js. Todo corre en el navegador: sin servidor, sin instalación, y el flujo de la cámara nunca sale del equipo. El proyecto está en pausa por ahora, se mantiene online como referencia.
Cómo funciona
- Detección. Un modelo COCO-SSD cargado con TensorFlow.js encuentra personas en cada fotograma. La detección corre cada dos fotogramas para mantener la UI responsiva.
- Seguimiento. Un seguidor propio basado en centroides empareja las nuevas detecciones con los tracks existentes por distancia, con un umbral de confianza contra falsos positivos parpadeantes y un historial corto de posiciones para sobrevivir a la oclusión.
- Cruce de línea. El usuario dibuja líneas de conteo; para cada track, el sistema comprueba si el segmento entre su posición anterior y la actual interseca una línea, con un producto vectorial y un signo direccional para entrada o salida.
- Panel. Los conteos se actualizan en vivo por línea, con la ocupación acumulada y un gráfico de flujo.
Lo interesante
- El seguidor es propio, así que cada etapa es depurable: cuando los conteos se desvían, se ve qué etapa falla.
- Contar es geometría, no ML: un producto vectorial con signo.
- La privacidad sin servidor es estructural. El permiso de la cámara es el único permiso, el modelo se descarga una vez y se cachea, y funciona sin conexión tras cargar la página.
El rendimiento de TensorFlow.js varía mucho según el hardware, así que procesar cada dos fotogramas y renderizar en canvas en vez de en el DOM es lo que mantiene la sensación de tiempo real.
Estado
En pausa. La demo en vivo está offline ahora mismo; ejecútalo en local desde el repo. Es HTML, JS y CSS estáticos sin paso de build, y se probó en navegadores modernos y una variedad limitada de dispositivos.
Escrito con asistencia de IA. Pienso reescribirlo a mano.