Documentación de FSCL-Vision Data Pipeline¶
Bienvenido a la documentación detallada del pipeline de datos para FSCL-Vision.
Contenido¶
Guías Generales¶
- Configuración - Guía completa de parámetros de configuración YAML
Etapas del Pipeline¶
El pipeline se ejecuta en 6 etapas secuenciales:
| Etapa | Script | Descripción |
|---|---|---|
| 1 | 01_fetch_observations | Obtención de observaciones desde iNaturalist |
| 2 | 02_download_images | Descarga paralela de imágenes |
| 3 | 03_deduplicate | Deduplicación espacio-temporal |
| 4 | 04_assess_quality | Evaluación de calidad de imágenes |
| 5 | 05_select_samples | Selección de muestras representativas |
| 6 | 06_organize_dataset | Organización del dataset final |
Referencia de Módulos¶
Documentación técnica de cada módulo del código fuente:
| Módulo | Descripción |
|---|---|
| api_client | Cliente para iNaturalist API v1 |
| image_downloader | Descarga paralela de imágenes |
| deduplicator | Clustering espacio-temporal |
| quality_assessor | Evaluación de calidad de imágenes |
| sample_selector | Selección de muestras representativas |
| dataset_organizer | Organización y generación de manifests |
Utilidades¶
| Módulo | Descripción |
|---|---|
| logger | Sistema de logging estructurado |
| rate_limiter | Control de tasa de llamadas API |
| geo_utils | Utilidades geográficas |
| image_utils | Procesamiento de imágenes |
| local_cache | Caché local para respuestas API |
Flujo del Pipeline¶
+---------------------------------------------------------------------+
| FSCL-Vision Data Pipeline |
+---------------------------------------------------------------------+
|
v
+---------------------------------------------------------------------+
| 1. FETCH OBSERVATIONS |
| - Consulta iNaturalist API |
| - Aplica filtros geograficos y taxonomicos |
| - Respeta rate-limiting |
| - Cachea respuestas localmente |
| Salida: observations.json |
+---------------------------------------------------------------------+
|
v
+---------------------------------------------------------------------+
| 2. DOWNLOAD IMAGES |
| - Descarga imagenes en paralelo |
| - Valida integridad de archivos |
| - Guarda metadatos por imagen |
| Salida: raw/{species}/*.jpg + *.json |
+---------------------------------------------------------------------+
|
v
+---------------------------------------------------------------------+
| 3. DEDUPLICATE |
| - Agrupa por especie |
| - Clustering DBSCAN espacio-temporal |
| - Selecciona mejor observacion por cluster |
| Salida: observations_deduplicated.json |
+---------------------------------------------------------------------+
|
v
+---------------------------------------------------------------------+
| 4. ASSESS QUALITY |
| - Evalua nitidez, exposicion, contraste |
| - Calcula score compuesto |
| - Filtra por umbrales de calidad |
| Salida: observations_quality.json |
+---------------------------------------------------------------------+
|
v
+---------------------------------------------------------------------+
| 5. SELECT SAMPLES |
| - Aplica metodo de seleccion (quality/clustering/stratified) |
| - Balancea entre especies si esta configurado |
| - Filtra especies con minimo insuficiente |
| Salida: observations_selected.json |
+---------------------------------------------------------------------+
|
v
+---------------------------------------------------------------------+
| 6. ORGANIZE DATASET |
| - Crea estructura de directorios |
| - Copia imagenes seleccionadas |
| - Genera manifests y metadatos |
| - Valida integridad del dataset |
| Salida: final_datasets/{dataset_name}/ |
+---------------------------------------------------------------------+
Inicio Rápido¶
- Configurar: Crear o modificar un archivo YAML en
config/ - Ejecutar:
python scripts/helpers/run_full_pipeline.py --config config/mi_config.yaml - Validar:
python scripts/helpers/validate_dataset.py --dataset data/final_datasets/mi_dataset/
Para más detalles, consultar la Guía de Configuración.