Vesuvius Challenge is a machine learning and computer vision competition to read the Herculaneum scrolls.
This repository contains the source code for Vesuvius Challenge: scroll tools, libraries, our website, data processing scripts, and more.
A Python library for accessing CT scans of ancient scrolls, and for training and running the ML models used throughout the pipeline (e.g. surface prediction).
Tools to build/manage scroll datasets and cloud infrastructure, including photogrammetry masking.
Training and inference tools for Vesuvius Challenge ink detection models, built on the model that won the 2023 Grand Prize.
Originally developed by Youssef Nader and Luke Farritor, extended by the Vesuvius Challenge team.
A semi-automatic segmentation pipeline to extract papyrus sheets from CT scans of ancient scrolls. As of September 2025, it is the approach used by the Vesuvius Challenge team. Developed by Hendrik Schilling and Sean Johnson as a fork of Volume Cartographer.
A PyTorch-based optimization framework for growing and refining papyrus surface meshes, offered as an alternative to VC3D's GrowPatch. It can jointly optimize several stacked sheets so they stay consistent with each other, and also drives fiber tracing.
A fully automatic unwrapping pipeline that fits a single, globally coherent spiral to an entire scroll by deforming an ideal spiral to match traced patches, fiber skeletons, and winding annotations. Originally developed by Paul Henderson.
Source for the Vesuvius Challenge website.
Released model checkpoints.
Training run logs.
A semi-automatic segmentation pipeline to extract papyrus sheets from CT scans of ancient scrolls.
Originally developed by Julian Schilliger. Superseded by VC3D and lasagna.
A single-header C library for accessing CT scans of ancient scrolls.
A GUI tool to inspect and label ink on virtually unwrapped segments of ancient scrolls.
Originally developed by Julian Schilliger.