# 3rd WEAR Dataset Challenge @HASCA 2026 ![WEAR multimodal activity recognition research illustration](assets/header-v2.png) Leakage-aware research scaffold for classifying 19 human activities from one-second wearable inertial signals and pre-extracted egocentric VideoMAE features. The project prioritizes participant-grouped validation and reproducible evidence over unverified leaderboard claims. > Status: research pipeline and hybrid feature infrastructure are available. > A full trainer, complete official dataset, OOF score, and Kaggle submission > are not included in this release. ## What this release contains - Read-only schema checks and deterministic sample profiling. - A train-window index retaining participant/run groups and label quality. - IMU and VideoMAE summary features with a quality-aware probability-fusion helper. - Group-disjoint fold assignment, leakage assertions, and the 19-class macro-F1 implementation. - An append-only experiment ledger that records route, billing, tokens, latency, OOF scores, hardware time, and JEV decisions. - A JEV-directed experiment protocol; the router remains independent from the model runtime. ![Hybrid IMU and VideoMAE pipeline](assets/hybrid-architecture-v2.png) ## Data and challenge metric The challenge evaluates 19 activity classes with macro-F1. Training contains continuous participant recordings with four sensor locations; test provides one sensor location per one-second window together with 15 VideoMAE feature vectors. The complete challenge dataset is distributed separately and is not included here. Obtain it from the [official Kaggle data page](https://www.kaggle.com/competitions/3rd-wear-dataset-challenge-hasca-2026/data) and follow its current license and rules. The bundled sample data used during development is intentionally excluded from this package. Do not commit full data, credentials, or hidden-test predictions. ## Install and inspect Python 3.11 or later is required. ```powershell python -m venv .venv .\.venv\Scripts\Activate.ps1 python -m pip install -e ".[dev]" ``` For a local Kaggle download stored outside the repository: ```powershell python src/inspect_schema.py --data-root E:/data/wear python src/profile_dataset.py ` --train-csv E:/data/wear/train/inertial_feat/sbj_0.csv ` --video E:/data/wear/train/videomae_feat/sbj_0.npy ` --output artifacts/sbj_0_profile.json python src/build_train_index.py ` --train-root E:/data/wear/train ` --output artifacts/train_index.csv ``` Inspect the actual array shapes before constructing any model input. Keep the test row order unchanged. ## Validation and experiment loop Every split must keep each participant and repeated recording together, and must happen before overlapping windows are generated. Fit normalization, feature selection, and calibration only on the training groups in each fold. Compare IMU-only, video-only, probability fusion, and quality-gated fusion on the same grouped OOF folds. ![Participant-grouped out-of-fold validation](assets/subject-oof-validation-v2.png) JEV chooses each next hypothesis, model route, and pre-run acceptance criterion. The local tools execute that choice and save evidence. The architecture does not automatically accept a score or submit to Kaggle. ![JEV-directed reproducible experiment cycle](assets/jev-experiment-loop-v2.png) See [the experiment protocol](docs/EXPERIMENT_PROTOCOL.md) and [the JEV-directed architecture](docs/COGNITIVE_ARCHITECTURE.md). ## Tests ```powershell $env:PYTEST_DISABLE_PLUGIN_AUTOLOAD = "1" python -m pytest -q --basetemp .pytest-tmp python -m compileall -q src tests ``` The environment flag avoids unrelated globally installed pytest plugins from being auto-loaded. Test results do not constitute a Kaggle score. ## Rules, licensing, and scope - This code is MIT licensed; see [LICENSE](LICENSE). - Dataset terms are separate and apply to the data, not this code. The full dataset is not redistributed here. - Check [the recorded rules](docs/RULES.md) and current official Kaggle rules before any submission or use of external data/weights. - No rank-1 claim is made. A competitive claim requires an official leaderboard result and reproducible evaluation evidence. ## References - [Official challenge page](https://mariusbock.github.io/wear/challenge.html) - [Kaggle competition and data](https://www.kaggle.com/competitions/3rd-wear-dataset-challenge-hasca-2026) - WEAR dataset paper: [doi:10.1145/3699776](https://doi.org/10.1145/3699776) - [Visual asset prompts and provenance](docs/ASSET_GENERATION.md)