MetroFlow estima la ocupación en andén y vagón mediante visión artificial en el borde y expone el resultado en un panel operativo en la nube. Resuelve el monitoreo de aforo sin sensores dedicados ni transmisión de video. Está orientado a operación de transporte masivo, equipos de integración y evaluación de arquitecturas IaaS, PaaS y SaaS.
El sistema separa inferencia local (edge), lógica de negocio (API) y visualización (dashboard). El ingestor envía telemetría anonimizada (headcount, estado de aforo) al backend; el frontend consulta la API cada seis segundos durante la detención del tren en andén.
| Capa | Componente | Producción |
|---|---|---|
| SaaS | Dashboard | https://frontend-green-xi-68.vercel.app |
| PaaS | API / OpenAPI | https://ocupacion-api.onrender.com |
| IaaS | PostgreSQL | AWS EC2 |
| Edge | YOLO + ingestor | Estación / ai/ |
POST /api/v1/analyze (modo demo o inferencia en video)| Tecnología | Propósito |
|---|---|
| Python, Ultralytics, OpenCV | Inferencia e ingestor edge |
| FastAPI, SQLAlchemy, asyncpg | API y persistencia |
| React, TypeScript, Vite, Tailwind | Panel operativo |
| PostgreSQL | Historial de ocupación |
| Docker Compose | Entorno local |
| Vercel / Render / AWS EC2 | SaaS, PaaS e IaaS |
Requisitos: Node.js 20+, Python 3.10+, Docker (opcional).
docker compose up -d
cd backend
py -3.14 -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
cd ..\frontend
npm install
npm run dev
Local: API http://localhost:8000 · UI http://localhost:5173
.\scripts\verify-rubric.ps1 -ApiUrl http://localhost:8000
cd ai
.\.venv\Scripts\pip install -r requirements.txt
.\.venv\Scripts\python edge_ingestor.py --preset efe --api https://ocupacion-api.onrender.com
Modo --live ejecuta inferencia real sobre el video EFE; por defecto el preset envía un guión de abordaje aleatorio (POST cada 6 s, ventana 20–40 s). Overlay y exportación: metro_demo_video.py --preset efe.
├── ai/ # Inferencia, ingestor, presets de video
├── backend/ # API FastAPI
├── frontend/ # Dashboard (raíz de Vercel)
├── docs/ # Documentación técnica
├── scripts/ # Verificación y demos
└── render.yaml # Blueprint Render (solo API PaaS)
Todos los derechos reservados. Uso y redistribución restringidos sin autorización escrita de los titulares.
Proyecto académico — Infraestructura TI.
|
Andrés Tapia Technical Lead |
Lukas Flores ML Developer |
Gonzalo Jara Backend Developer |
Felipe Figueroa Frontend Developer |
Jose Maraboli Documentation & QA |