Prototipo de un clasificador de residuos sólidos utilizando visión por computador y aprendizaje por transferencia. Este proyecto fue desarrollado como el proyecto final del bootcamp de IA Nivel Explorador de TalentoTECH.
VIREC es un pipeline de MLOps de extremo a extremo que permite:
- Gestionar y sanitizar un dataset de imágenes de forma colaborativa.
- Entrenar y evaluar modelos de clasificación de imágenes de forma automatizada.
- Desplegar el mejor modelo en una interfaz web interactiva.
- /notebooks: Contiene los Google Colab notebooks para cada etapa del pipeline.
00_Preparacion_y_Auditoria_Datos.ipynb: Herramientas para sanitizar datos crudos (convertir HEIC, eliminar duplicados por hash) y auditar la consistencia de todo el pipeline.01_Preprocesamiento_Dataset.ipynb: Script para organizar y dividir el dataset en conjuntos de entrenamiento, validación y prueba.02_Entrenamiento_Modelo.ipynb: Pipeline automatizado para ejecutar experimentos de entrenamiento definidos en Google Sheets.03_Streamlit_App_Launcher.ipynb: Notebook para seleccionar un modelo entrenado y lanzar la interfaz web a través de un túnel de ngrok.
- /streamlit_app: Contiene el código fuente de la aplicación de Streamlit (
app.py) y sus activos estáticos (CSS, logo). - /google_workspace: Incluye el código de Apps Script y las plantillas CSV para configurar las Hojas de Cálculo de Google.
- /assets: Imágenes y diagramas utilizados en la documentación.
requirements.txt: Archivo que lista todas las dependencias de Python del proyecto.config.py.template: Plantilla para el archivo de configuración local.
Sigue estos pasos para poner en marcha el proyecto en tu propio entorno de Google.
git clone https://github.com/tu-usuario/Proyecto_VIREC.git- Sube la carpeta clonada
Proyecto_VIRECa tu "Mi unidad" en Google Drive. - Dentro de
Proyecto_VIREC/dataset/, crea las carpetasfotos_crudas_propiasyfotos_crudas_externasy sube tus imágenes allí.
- Crea dos Hojas de Cálculo en tu Google Drive.
- Hoja de Etiquetas:
- Dale el nombre que prefieras (ej. "VIREC - Hoja de Etiquetas").
- Asegúrate de que la primera pestaña se llame "Lista de etiquetas".
- Copia los encabezados de
google_workspace/hoja_etiquetas_template.csv. - Abre
Extensiones > Apps Script, borra el código por defecto y pega el contenido degoogle_workspace/apps_script_code.js. Guarda el proyecto.
- Hoja de Experimentos:
- Dale el nombre que prefieras (ej. "VIREC - Hoja de Experimentos").
- Asegúrate de que la primera pestaña se llame "Experimentos".
- Copia los encabezados de
google_workspace/hoja_experimentos_template.csv.
- En la raíz de tu proyecto, haz una copia de
config.py.templatey renómbralo aconfig.py. - Abre
config.pyy rellena todas las variables con tu información personal. Este archivo no se subirá a GitHub.
- Sanitizar: Abre
00_Preparacion_y_Auditoria_Datos.ipynben Google Colab. Ejecuta las celdas para limpiar tus datos crudos. - Sincronizar: Usa la herramienta en Google Sheets (menú
🤖 VIREC Tools) para listar los nuevos archivos limpios. - Etiquetar: Rellena las etiquetas en la hoja de cálculo.
- Organizar: Abre
01_Preprocesamiento_Dataset.ipynby ejecútalo para organizar tu dataset entrain/val/test. - Experimentar: Define tus experimentos en la "Hoja de Experimentos".
- Entrenar: Abre
02_Entrenamiento_Modelo.ipynby ejecútalo para entrenar tus modelos de forma automatizada. - Lanzar Interfaz: Abre
03_Streamlit_App_Launcher.ipynb, selecciona el modelo que quieres probar y ejecuta las celdas para lanzar la aplicación web.
