Skip to content
0xDapaPublic

About

CamAI — visión de locales para dueños (YOLO batch → decisiones). Bitácoras y briefs para agentes.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

CAM AI

CAM AI convierte grabaciones del CCTV existente en evidencia para revisar la operación de una tienda. El objetivo es ayudar al dueño a decidir dónde intervenir y comprobar si esa intervención mejora el negocio. No identifica personas ni deduce compras, ingresos o existencias a partir de una cámara.

Este repositorio contiene el código desarrollado en la VM, la interfaz liquid glass, pruebas, configuración y documentación. Conserva las bitácoras y briefs anteriores. Es un entorno de revisión y validación, no un producto desplegado a producción.

Estado comprobado — 11 de octubre de 2026

Componente Implementación y límites
Detección y seguimiento RT-DETR R18 ONNX + ByteTrack independiente, en CPU. No requiere Ultralytics ni Torch.
Comprensión de video Adaptador Gemini 3.8 Flash preparado para cuatro intentos acotados. Pendiente clave y prueba real; no se ha llamado al proveedor.
Alternativa local Qwen3-VL-4B Q4 probado; su salida especuló una compra y quedó en cuarentena. Qwen 8B no instalado.
Grabaciones FFmpeg para clips. Frigate y go2rtc son opciones futuras, no servicios instalados.
Persistencia PostgreSQL 17 + pgvector; objetos locales por SHA256. Sin S3 remoto ni embeddings calculados. SQLite histórico conservado.
Orquestación Python, FastAPI, Redis/RQ y servicios de datos Docker. Una tarea CPU simultánea.
Interfaz Liquid glass; clips y botones para confirmar o descartar hallazgos, sin alta manual inicial de productos.
Razonamiento comercial Análisis del agente sobre datos verificados. No hay servicio GPT autónomo ni integración OpenAI API.

El video largo analizado produjo 4.150 muestras de actividad visible; incluye personal y no equivale a 4.150 clientes. En tres clips públicos CAVIAR, el conteo por puerta detectó 5 de 6 cruces etiquetados, con 0 falsos. Es una prueba pequeña seleccionada: no valida otra cámara ni demuestra rentabilidad.

Los hallazgos del modelo son candidatos. Solo los intervalos confirmados con evidencia alimentan las duraciones observadas de fila, paso bloqueado o atención interrumpida. No son tiempos individuales de espera ni totales completos del turno. Ventas, stock, clientes y resultado económico permanecen desconocidos mientras no exista una fuente verificada.

Estructura

  • retail_vision/: pipeline, detectores, conteo por puerta, revisión, persistencia y API.
  • retail_vision/crm_demo/static/turno.html: interfaz actual; el CRM histórico permanece disponible para revisión.
  • scripts/: supervisión, recuperación, respaldos, acceso privado y benchmarks.
  • configs/: perfiles de la VM y zonas específicas de cada grabación.
  • tests/: regresiones de métricas, evidencia, API, presupuesto Gemini y seguimiento.
  • docs/: estado técnico, decisiones y límites de validación.
  • bitacora/, briefs/, outbox/*.md: historial de desarrollo; sus propuestas antiguas no describen necesariamente el stack activo.

Se mantiene el nombre interno retail_vision para conservar la infraestructura existente. No se ha creado otra aplicación.

Instalar y probar el código

Python 3.13 es la versión utilizada en la VM. FFmpeg y FFprobe son necesarios para trabajar con video.

python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python -m pytest -q
.venv/bin/python -m pip check

Las pruebas usan fixtures sintéticos o aislados. Las comprobaciones que requieren los videos, pesos o bases existentes se omiten si esos archivos no están disponibles. El repositorio no descarga modelos automáticamente ni incluye videos, bases comerciales, respaldos o claves.

Para analizar un video propio con pesos ONNX ya obtenidos:

.venv/bin/python -m retail_vision.cli run \
  --video /ruta/video.mp4 \
  --detector rtdetr:/ruta/model.onnx \
  --zones /ruta/zonas.json \
  --out runs/prueba \
  --device cpu --no-preview

Las zonas y la línea de puerta deben calibrarse para esa cámara. Los perfiles en configs/ apuntan a recursos de la VM; copiar sus rutas o polígonos no valida otra instalación. Las métricas del pipeline histórico son señales de trayectorias, no datos comerciales confirmados.

Recuperar los servicios existentes en la VM

cd /workspace/retail-vision-p1
bash scripts/recover_camai.sh

Este comando está limitado a la VM grok-bot-vm-358484926 y usa sus recursos existentes. La API escucha en localhost:8770 y el gateway de revisión en localhost:8769. No es un instalador genérico ni un despliegue a producción. No hay autostart del sistema ni nuevo enlace público comprobado para el nodo actual.

Los dumps de PostgreSQL se guardan cada 300 segundos en var/stack_v3/backups. La recuperación restaura solo cuando no hay tablas públicas. Falta retención y copia externa; los volúmenes Docker solos no garantizan persistencia al reemplazar el runtime.

Las claves y configuración privada se mantienen fuera del repositorio, bajo /home/box/.config/camai/, con permisos 0600. El acceso y cuota de la API deben comprobarse por separado. No pegues claves en issues, commits o archivos versionados.

Documentación y siguiente validación

La prioridad es evaluar Gemini con evidencia reservada y controles sin eventos, calibrar la cámara objetivo y medir una intervención durante varios días comparables. La rentabilidad requiere ventas, márgenes y costos reales; una descripción de video no la prueba.

Las fuentes incluidas conservan sus avisos y licencias. La revisión de licencia de los pesos ONNX convertidos y las integraciones comerciales sigue pendiente antes de vender el servicio. No se ha asignado una nueva licencia global al proyecto.

About

CamAI — visión de locales para dueños (YOLO batch → decisiones). Bitácoras y briefs para agentes.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages