explaingit

existentialrobotics/serf-mapping

Analysis updated 2026-05-18

19PythonAudience · researcherComplexity · 5/5Setup · hard

TLDR

Research code that builds spatial feature maps for mobile robots so they can find and manipulate objects across long tasks, using learned visual features from DINOv3.

Mindmap

mindmap
  root((SERF-mapping))
    What it does
      Builds spatial feature maps
      Tracks objects over time
      Supports robot manipulation
    Maps
      Environment neural points
      Robot neural points
      DINOv3 visual features
    Workflows
      Build map from dataset
      Update map from demo
      Visualize feature map
    Tech Stack
      Python and PyTorch
      DINOv3 embeddings
      CoTracker tracking
      HuggingFace datasets
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Train a neural point map from robot camera recordings so a mobile robot can locate objects by name across a large space.

USE CASE 2

Update an existing environment map using a replayed expert demonstration to teach the robot new object locations.

USE CASE 3

Visualize a spatiotemporal feature map with a 3D robot overlay to inspect what the robot has learned about its surroundings.

What is it built with?

PythonPyTorchDINOv3CoTrackerHDF5conda

How does it compare?

existentialrobotics/serf-mapping16nic/comfyui-agnes-ai6c696e68/gpt_signup_hybrid
Stars191919
LanguagePythonPythonPython
Setup difficultyhardmoderatehard
Complexity5/52/54/5
Audienceresearchervibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires conda, large DINOv3 model weights, and multi-gigabyte HDF5 datasets from Hugging Face.

License terms are defined in the LICENSE file in the repository, not specified as a standard license in the README.

In plain English

SERF-mapping is the official code release for a research paper titled "SERF: Spatiotemporal Environment and Robot Feature Map for Long-Horizon Mobile Manipulation." It provides the mapping component of a system designed to help mobile robots perform long sequences of manipulation tasks, such as picking up and placing objects across a large environment over extended periods. The core idea is to build two types of maps from camera footage: one capturing the surrounding environment (furniture, objects, spatial layout) and one capturing the robot itself. These are called "neural point" maps, meaning they store learned visual features at 3D positions rather than raw color or depth values. The features come from a vision model called DINOv3, which can connect visual appearance to language, allowing the robot to find objects by their name or description. By updating these maps with expert demonstrations, a robot can learn where things are and how to find them again during a long task. The repository covers three workflows: building a SERF map from a dataset of recorded episodes, updating an existing map using a replayed expert demonstration with a tracking algorithm called CoTracker, and visualizing the resulting feature map with or without a 3D robot overlay. Datasets and pre-trained models are hosted on Hugging Face and can be downloaded with a few commands. The code also includes a Python script to extract DINOv3 visual embeddings from HDF5 data files before training. This is academic robotics research code. It depends on conda or mamba for environment setup, requires downloading large model weights and datasets from Hugging Face, and is part of a larger system. The companion repository SERF-VLA contains the planning and execution component that uses these maps at runtime. The license is specified in the LICENSE file in the repository.

Copy-paste prompts

Prompt 1
I have SERF-mapping installed and a dataset at data/mapping_dataset. Walk me through extracting DINOv3 embeddings and then training the environment and robot maps.
Prompt 2
How do I update a SERF environment map using a replayed expert demonstration with neural_point_tracking.py?
Prompt 3
Show me how to download the pre-trained SERF map models for task-0021 from Hugging Face and visualize the feature map with the robot overlay.

Frequently asked questions

What is serf-mapping?

Research code that builds spatial feature maps for mobile robots so they can find and manipulate objects across long tasks, using learned visual features from DINOv3.

What language is serf-mapping written in?

Mainly Python. The stack also includes Python, PyTorch, DINOv3.

What license does serf-mapping use?

License terms are defined in the LICENSE file in the repository, not specified as a standard license in the README.

How hard is serf-mapping to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is serf-mapping for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub existentialrobotics on gitmyhub

Verify against the repo before relying on details.