Sistema de Accesibilidad para Personas Hipoacusicas, deteccion de sirenas de emergencia con IA embebida en ESP32-S3. Proyecto final, EEST N.5 Amancio Williams.
Find a file
Matias7235 a6fc65fdc7 TODO: agregar roadmap en 5 fases y marcar lo hecho
El roadmap deja explicito el cuello de botella: sin datos propios no hay
ningun numero que se pueda defender en la presentacion. Las fases 0
(dataset) y 2 (modelo) pueden avanzar en paralelo a la 1.

Se agrega una tabla de resultados ya medidos, que no son tareas sino
cosas que van al informe: el rango de 46,7 % a 99,6 % segun el reparto,
los 11 grupos que pasaron a 20.262, el 71,6 % del atajo del volumen.

Se marcan como hechos: la decision de bajar los negativos dificiles
ahora, el fallback del bloqueo de YouTube y el salteo de videos muertos.
Los items de bajo valor (los 35 clips sin etiqueta, los 314 con recorte)
quedan marcados como tales para que no se pierdan pero no consuman tiempo.
2026-09-22 23:43:41 -03:00
Carpeta de Campo Pipeline de ML: índice, auditoría, split y features + documentación 2026-09-22 20:49:50 -03:00
ml PASO 0: plan B cuando YouTube marca la IP 2026-09-22 23:34:39 -03:00
.gitignore PASO 0: descarga de sirenas de AudioSet 2026-09-22 22:33:40 -03:00
Código.zip Pipeline de ML: índice, auditoría, split y features + documentación 2026-09-22 20:49:50 -03:00
Informe Proyecto Final _SAPH_ (1) (1).odt Pipeline de ML: índice, auditoría, split y features + documentación 2026-09-22 20:49:50 -03:00
Informe Proyecto Final _SAPH_ (1).odt Pipeline de ML: índice, auditoría, split y features + documentación 2026-09-22 20:49:50 -03:00
Informe Proyecto Final _SAPH_.docx Pipeline de ML: índice, auditoría, split y features + documentación 2026-09-22 20:49:50 -03:00
Informe Proyecto Final _SAPH_.odt Pipeline de ML: índice, auditoría, split y features + documentación 2026-09-22 20:49:50 -03:00
Informe Proyecto Final _SAPH_.pdf Pipeline de ML: índice, auditoría, split y features + documentación 2026-09-22 20:49:50 -03:00
Online Gantt 20260512.gantt Pipeline de ML: índice, auditoría, split y features + documentación 2026-09-22 20:49:50 -03:00
PFF.odt Pipeline de ML: índice, auditoría, split y features + documentación 2026-09-22 20:49:50 -03:00
README.md Documentar el dataset sin publicarlo (licencias) 2026-09-22 20:58:23 -03:00
TODO.md TODO: agregar roadmap en 5 fases y marcar lo hecho 2026-09-22 23:43:41 -03:00

SAPH — Sistema de Accesibilidad para Personas Hipoacúsicas

Proyecto final — EEST N.°5 "Amancio Williams", Tecnicatura en Electrónica.

Autores: Tisera Matías y Rodríguez Mauro. Docentes: Lucas Martín Treser y Juan Manuel Mercadín. Lugar y fecha: Mar del Plata, 2026.


Qué es el proyecto

Un dispositivo para conductores hipoacúsicos que detecta sirenas de emergencia con micrófonos, decide si hay una sirena, y avisa con LEDs de qué lado viene. El procesamiento corre en el dispositivo (ESP32-S3), sin internet y sin nube.

   Mic Izq ─┐
            ├─► captura de audio ─► modelo de IA ─┐
   Mic Der ─┘                                     ├─► LEDs de dirección
            └─► comparación de amplitud ──────────┘

Estructura del repositorio

Carpeta Qué contiene ¿En el repo?
ml/ Pipeline de Machine Learning: dataset → features → entrenamiento → modelo para el ESP32
Código.zip Firmware ESP-IDF (versión oficial) + versión Arduino archivada
Informe Proyecto Final _SAPH_.* Informe en ODT, DOCX y PDF
Online Gantt 20260512.gantt Diagrama de Gantt
Carpeta de Campo/ Enlaces y material de campo
Para_OpenCloud/ Dataset de audio: 5093 clips ver abajo
Kicad/ Esquemáticos ver abajo

Lo que NO está en el repositorio

1. El dataset de audio (Para_OpenCloud/, 406 MB)

No se publica por una razón de licencias: los 5093 clips se extrajeron de videos de YouTube de terceros. Redistribuir ese audio no es "open source", es redistribuir contenido con copyright ajeno.

Es el mismo criterio que usa AudioSet — el dataset de sonidos más usado del mundo, y con el que está entrenado YAMNet —, que no distribuye el audio: distribuye los identificadores de YouTube y un script para descargarlo.

Los 11 videos de origen, los parámetros de extracción y el procedimiento completo para reconstruirlo están en ml/DATASET.md. Así el dataset es reproducible sin redistribuirlo.

El dataset completo sí está versionado localmente en la rama dataset-local, como respaldo. Ver la sección "Dataset" más abajo.

2. Los esquemáticos (Kicad/ y *.kicad_*)

Se versionan aparte, por decisión del equipo.

3. Los resultados del pipeline (ml/out/)

Pesan ~160 MB y se regeneran en ~3 minutos corriendo los pasos.


Dataset

El dataset completo está versionado en tu copia local del repo, en la rama dataset-local, pero no se sube al remoto público:

  origin/main     código + documentación + informes     (20 MB, público)
  dataset-local   todo lo anterior + los 5093 clips      (370 MB, local)

Por qué separado: así git push nunca sube el audio por accidente, y main se mantiene idéntico al repositorio público.

# Ver el dataset versionado (vuelve a main al terminar)
git checkout dataset-local
ls Para_OpenCloud/
git checkout main

# Ver el historial del dataset
git log dataset-local --oneline

Cómo regenerar los resultados de Machine Learning

cd ml
uv venv --python 3.11
uv pip install -r requirements.txt

.venv/bin/python -m saph.paso1_indexar    # índice canónico   (~2 min)
.venv/bin/python -m saph.paso2_auditar    # auditoría         (~10 s)
.venv/bin/python -m saph.paso3_split      # splits            (~15 s)
.venv/bin/python -m saph.paso4_features   # features          (~20 s)

Ver ml/README.md para la explicación completa de cada paso, los hallazgos sobre el dataset y el glosario.


Estado

Componente Estado
Dataset (5093 clips, 11 grabaciones) auditado y deduplicado
Pipeline de ML (pasos 14) funcionando
Entrenamiento del modelo (paso 5) pendiente
Exportación a INT8 para el ESP32 (paso 6) pendiente
Firmware ESP-IDF 🔶 estructura lista, modelo sin integrar
Esquemático para ESP32-S3 pendiente de rediseño

Limitación conocida del dataset

Las 11 grabaciones son videos de YouTube, con otros micrófonos y sin el ruido propio de un auto en marcha. Ninguna métrica de este dataset responde la pregunta "¿funciona arriba del auto?". La validación real requiere grabar audio con el dispositivo final.