This is the official code for the paper "Temporal Slowness in Central Vision Drives Semantic Object Learning".
git clone https://github.com/t9s9/central-vision-ssl.git
cd central-vision-ssl
pip install -r requirements.txtDownload all pretrained checkpoints from Zenodo:
https://zenodo.org/records/19191064
import torch
from omegaconf import OmegaConf
from solo.methods import METHODS
ckpt = torch.load(CHECKPOINT_PATH, weights_only=False)
cfg = OmegaConf.create(ckpt["args"])
model = METHODS[cfg["method"]](cfg)
model.load_state_dict(ckpt["state_dict"], strict=True)Download the full Ego4D dataset from https://ego4d-data.org/
Follow the instructions at https://github.com/Aubret/GLC/blob/main/GENERATION.md in the GLC repository.
Before training, set your data paths in scripts/pretrain/ego4d/paths/default.yaml:
data_train_path: /path/to/ego4d/h5
checkpoint_dir: /path/to/save/checkpoints
knn_clb_train_path: /path/to/imagenet100/train
knn_clb_val_path: /path/to/imagenet100/valResNet-50:
python main_pretrain.py --config-path scripts/pretrain/ego4d/ --config-name mocov3_resnet50.yamlViT-Base:
python main_pretrain.py --config-path scripts/pretrain/ego4d/ --config-name mocov3_vit.yaml| Parameter | Description |
|---|---|
data.dataset_kwargs.time_window |
Number of frames between the two views sampled for contrastive learning. Larger values enforce slower temporal invariance. |
data.dataset_kwargs.gaze_size |
Size of the gaze-centered crop (in pixels). Set to 540 to use the full frame instead of a gaze crop. |
data.dataset_kwargs.center_crop |
Set to True to crop around the frame center instead of the gaze location. |
These can be overridden on the command line, e.g.:
python main_pretrain.py --config-path scripts/pretrain/ego4d/ --config-name mocov3_resnet50.yaml \
data.dataset_kwargs.time_window=20 \
data.dataset_kwargs.gaze_size=224 \
data.dataset_kwargs.center_crop=FalseSet your data paths in scripts/linear/paths/default.yaml, then run:
python main_linear.py --config-path scripts/linear/ --config-name mocov3_resnet50.yamlThe model_semantic_alignment/ directory contains a pipeline for measuring how well SSL model representations align with object co-occurrence structure (COCO, Visual Genome, ADE20K).
See model_semantic_alignment/README.md for full usage instructions.
@inproceedings{
schaumloffel2026temporal,
title={Temporal Slowness in Central Vision Drives Semantic Object Learning},
author={Timothy Schauml{\"o}ffel and Arthur Aubret and Gemma Roig and Jochen Triesch},
booktitle={The Fourteenth International Conference on Learning Representations},
year={2026},
url={https://openreview.net/forum?id=tEezDE0vWt}
}This project is licensed under the MIT License — see LICENSE for details.
