Reconocimiento de acciones en el dataset MECCANO fusionando embeddings de vídeo (SlowFast), de objetos (crops + clases + posición) y de affordances (Gemini), clasificados con un MLP. Se barren estrategias de selección de frames × tipos de affordance × modos de fusión.
- Dataset MECCANO montado en
/datasets(anotaciones de objetos activos, CSVs de acciones y frames de objetos activos). - Checkpoint de SlowFast
SLOWFAST_8x8_R50_RGB_MECCANO.pyth: descargar del repositorio oficial de MECCANO y deja ensrc/. Se usa para extraer los embeddings de vídeo. - Embeddings de vídeo en
outputs/prueba_videos_val/embeddings_by_video/— paso previo con SlowFast (slowfast/tools/extract_meccano_features.py); el orquestador los da por hechos. - Clave de Gemini
bash scripts/run_docker.sh
docker attach tfg_meccano_
cd /workspaceOrquestados por scripts/run_single_seed_fusion_experiments.sh. El MLP recorre todos los modos de fusión automáticamente. Resultados en outputs/experiment_runs/<TIMESTAMP>/ (summary.csv, summary_all_seeds.csv, logs/).
1) Sin affordances, todas las estrategias de selección de frames:
for F in uniform_sampling high_variability progressive_discovery maximize_transitions; do
RUN_AFFORDANCES=0 RUN_EMBEDDINGS=1 RUN_FUSE=1 RUN_MLP=1 FRAMES=$F \
bash scripts/run_single_seed_fusion_experiments.sh
done2) Con affordances, solo para maximize_transitions:
RUN_AFFORDANCES=1 RUN_EMBEDDINGS=1 RUN_FUSE=1 RUN_MLP=1 FRAMES=maximize_transitions \
AFFORDANCE_TYPES="text_only text_plus_crop text_plus_full_frame_only text_plus_full_frame_and_crop" \
AFFORDANCE_WORKERS=8 \
bash scripts/run_single_seed_fusion_experiments.shEn ambos casos hace falta
RUN_EMBEDDINGS=1 RUN_FUSE=1: los embeddings con y sin affordances son distintos.