Elizaveta Kovtun · Matvey Konovalov · Andrey Sakhovskiy · Semen Budennyy
Paper ↗ · Project & interactive graphs ↗ · Code ↗
3 datasets / 4 pretrained encoders / 6 downstream heads
Electronic skins have sparse, irregular sensor layouts. Tactile-JEPA learns directly from their tactile time series, using the sensor connectivity graph to choose which sensing elements to mask. By predicting their embeddings from the visible context, it learns representations that capture both local contact details and the global state of the sensing surface.
The pretrained encoder transfers to force estimation, in-hand and full-body pose estimation, object and action classification, and visuo-tactile policy learning. The paper reports 6.3% lower force error and 20.8% lower in-hand orientation error relative to the strongest reported baseline for each task. See the project results for the full comparisons.
Each repository contains one pretrained encoder and its matching downstream checkpoint(s), with original PyTorch checkpoints, safetensors weights, saved configurations, metrics and checksums.
| Model | Sensor setup | Available downstream heads |
|---|---|---|
| Tactile-JEPA · Xela | Magnetic skin · one robot hand · 368 taxels | Force estimation · object classification · in-hand pose |
| Tactile-JEPA · Socks Action | Piezoresistive socks · two feet · 453 sensors | Action classification |
| Tactile-JEPA · Socks Pose | Piezoresistive socks · two feet · 453 sensors | Full-body pose estimation |
| Tactile-JEPA · DECO | Piezoresistive skin · two robot hands · 2,124 taxels grouped into 528 nodes | Visuo-tactile policy learning |
Socks Action and Socks Pose use separate pretraining sources. The three Xela heads share a single pretrained encoder. The model cards document the selected checkpoints and their evaluation protocols; individual checkpoint scores differ from the multi-seed averages in the paper.
Explore the sensor layouts and masking strategies in the interactive visualization.
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
weights_path = hf_hub_download(
repo_id="Tactile-JEPA/tactile-jepa-xela",
filename="pretrain/encoder.safetensors",
)
encoder_state_dict = load_file(weights_path)
Use the matching architecture and preprocessing from the code repository. These are project-native PyTorch models. Each model card provides the file layout and loading details; the code README covers installation, data preparation and training.
Our experiments use existing public datasets. Please refer to their original releases for data access and licensing:
@article{kovtun2026tactilejepa,
title = {Tactile-JEPA: Topology-Aware Self-Supervised Representation
Learning for Distributed Tactile Sensors},
author = {Kovtun Elizaveta and Konovalov Matvey and
Sakhovskiy Andrey and Budennyy Semen},
journal = {arXiv preprint arXiv:2609.24385},
year = {2026},
url = {https://arxiv.org/abs/2609.24385}
}
Released checkpoints are licensed under CC BY-NC 4.0; see each model repository for its license. Our code builds on Sparsh / Sparsh-X / Sparsh-Skin. We thank the authors of the original methods and datasets for making their work available.