Virtual Unrolling
The image data of the Herculaneum scrolls (PHerc 172) look like this:
It's a mess! The scrolls, that survived a volcanic eruption and were buried under lava and mud for centuries, are carbonized, damaged, frayed and, most importantly, still wrapped!
To read a scroll, we first need to unroll it... virtually!
If, within the chaotic 3D image you are observing, you can isolate a contiguous region of the papyrus sheet, you can approximate it with a 2-manifold—specifically, an orientable genus-0 developable surface. This allows you to construct a bidimensional isometric parametrization1 on the manifold, thereby defining a local basis.
The 2-manifold is typically represented as a non-watertight triangular mesh. When rendered in the coordinate frame established by its local basis, the surface appears flat, provided that the parametrization is derived from an isometric mapping from 3D to 2D. In this case, local distances, shapes, and angles are preserved, ensuring geometric fidelity in the transformation.
By rendering the mesh in 2D and observing the now-flattened papyrus sheet, faint letters begin to emerge — appearing as brighter regions in the figure. These weak ink traces are captured by machine learning, that can enhance their visibility and improve text recovery.
The Open Question
Virtual unrolling is essential to read the scrolls, but far from trivial.
The open question that has been puzzling our community for more than one year, and Dr. Seales’ research for over twenty-five years, is the following:
Can we find an automated way to isolate the 2-manifold that represents the rolled scroll in the 3D images?
We were awarding $100k to anyone that could solve this problem by the end of 2024. The prize was left unclaimed.
However, both the community and the team worked on three approaches that are currently the state-of-the-art in virtual unrolling attempts:
- Spiral Fitting
- Surface Tracer
- Thaumato Anakalyptor
On a very high level, all three methods apply two major steps:
- Extract from the raw data a more manageable intermediate representation (via ML or classic filters).
- Process this representation into a surface mesh (via either top-down or bottom-up strategies).
Top-down approaches solve a global optimization problem: they try to fit a complete surface representing the scroll to the intermediate representation at once.
Bottom-up approaches solve a local optimization problem, building small patches that are then stitched together coherently.
All approaches rely also on the information about the scroll umbilicus. Unfortunately, no method currently manages to fit the intended surface to the data!
Let us delve into the details of how the current state-of-the-art methods work.
Top-down methods
Spiral Fitting
(Overview)
This method leverages the idea that the scroll, in its original form, was a 2D spiral extruded in a 3D shape with approximate cylindrical symmetry. Once flattened, the papyrus sheet is nearly rectangular, with locally perpendicular fibers. The approach attempts to find the transformation that deformed this canonical spiral into the observed data.
Intermediate Representations
The method extracts useful intermediate representations from the raw 3D images using machine learning–based semantic segmentation, more specifically nnUNet2, to isolate characteristic features that can be used in the fitting step.
Specifically, the extracted intermediate representations are:
- Surface sheets predictions:
- Vertical papyrus fibers predictions:
- Horizontal papyrus fibers predictions:
These representations are not free from mistakes (e.g., fake mergers or false positives), but they still make the geometry easier to handle than raw data alone.
Geometry Processing
Given surface predictions , vertical papyrus fibers , horizontal papyrus fibers , and a canonical non-deformed spiral , the goal is to find a 3D diffeomorphism, i.e. a differentiable and invertible transformation from to .
We can represent this transformation as an integrable, parametrized flow field in the full 3D volume. The canonical spiral is displaced by the flow vectors . To find the best flow field, we minimize a global objective that aligns the deformed canonical surface to the intermediate representation while enforcing fiber directions. For example, by an abuse of notation:
where represents the canonical spiral displaced by the flow field, is the domain in the 3D volume, and enforces that vertical/horizontal fibers in match up properly when flattened.
First Automated Segmentation Prize Submission
Spiral fitting was submitted by Prof Paul Henderson for the First Automated Segmentation Prize of 2024. Although it did not meet the needed quality criteria to win, it was the most elegant solution according to the Vesuvius Challenge Team.
For more information, visit this repository.
Bottom-up methods
Surface Tracer
(Overview)
Surface Tracer recognizes that, physically, the papyrus sheet is relatively continuous and should not bend abruptly from one point to the next. Instead of a global approach, it grows a surface mesh locally by “tracing” the sheet.
Intermediate Representation
As with Spiral Fitting, a semantic segmentation of the surface sheet is obtained using nnUNet2. The predictions may contain fake mergers, holes, and other errors, but they focus on identifying likely surface voxels.
Geometry Processing
Starting from one or multiple small patches on the intermediate representation, the method iteratively expands these patches. In each step, a new point on the fringe is chosen to minimize a local objective. A typical local objective might be:
where:
- measures how well the new point sits on the surface predictions,
- prevents large jumps,
- measures how adding the new point affects the mesh local curvature (flatness).
Every n iterations, the mesh is smoothed to better approximate a developable surface. Because growing a single mesh is slow, multiple patches are grown in parallel and then merged via a consensus algorithm.
Finally, human annotators should manually further refine the results to reduce mistakes in the obtained mesh.
First Automated Segmentation Prize Submission
The surface tracer was submitted by Dr Hendrik Schilling and Sean Johnson for the First Automated Segmentation Prize of 2024. Although it did not meet the needed quality criteria to win, it was very close to the target!
More information here.
Thaumato Anakalyptor
(Overview)
Thaumato Anakalyptor focuses on extracting a dense point cloud of the scroll surface by thresholding gradient-like features, then clustering those points locally to form continuous patches, which are finally stitched into a global surface.
Intermediate Representation
The raw data is first blurred with a box filter. Then a surface-like point cloud is extracted by thresholding on both first and second derivatives via Sobel filters. This approach loosely resembles a 3D Canny-edge filter 3, though it lacks some refined steps like Gaussian averaging, non-maximum suppression and hysteresis thresholding.
A limitation is that compressed regions may yield lower point-cloud density, cross-fiber edges can be falsely extracted, and scan artifacts (e.g. beam hardening effect) can be mistakenly detected as false surfaces. Nevertheless, based on visual inspection, the point clouds appear to decently represent the intended sheet surfaces.
Geometry Processing
The resulting point cloud is divided into overlapping chunks. Within each chunk, machine learning instance segmentation (i.e., Mask3D4) clusters the points into patches belonging to different wraps of the scroll. The cluster instances are then mapped to a graph where possibly adjacent instances are nodes linked by edges with weights . The instances are then stitched together by solving a global connectivity graph problem that assigns consistent “winding angles” around the scroll umbilicus to each patch, forming a single coherent mesh, and correcting segmentation errors.
Mathematically, Thaumato Anakalyptor seeks to find a winding angle assignment function , where are the nodes in the graph and is a winding angle.
Ideally, a solution could be:
where
with being the observed winding angle difference. The optimization looks for the assignment with the least number of wrongly estimated edge winding angle differences.
2023 Ink Detection Grand Prize - Additional Material
An early version of Thaumato Anakalyptor, developed by Julian Schilliger, was included as additional material in the submission that won the 2023 Ink Detection Grand Prize.
This is a recent (as of Juanuary 2025) virtual unrolling attempt with Thaumato Anakalyptor on Scroll 5 (PHerc 172).
More information can be found here.
Conclusion
All three methods—Spiral Fitting, Surface Tracer, and Thaumato Anakalyptor—share at a very high level a similar pipeline of extracting an intermediate representation and then building a surface mesh via geometry processing. However, each takes a different path to deal with errors and ambiguities in the data:
- Spiral Fitting uses a global approach to align a canonical shape to the segmented surface and fiber directions.
- Surface Tracer locally expands a mesh from patches, carefully balancing data fidelity and smoothness.
- Thaumato Anakalyptor focuses on a point-cloud extraction and local segmentation strategy, which it then stitches into a global mesh.
Despite these advances, the problem is still unsolved. No method so far manages to perfectly fit the wanted surface to the data. The most common error is sheet switching, i.e. when the fitted surface jumps a winding, resulting in a distorted, non realistic shape. We need your help to virtual unroll the Herculaneum scrolls.
References
Footnotes
-
Rabinovich et al. (2017). Scalable Locally Injective Mappings. ACM Transactions on Graphics (TOG), 36(4), 1. ↩
-
Isensee et al. (2024). nnU-Net Revisited: A Call for Rigorous Validation in 3D Medical Image Segmentation, International Conference on Medical Image Computing and Computer-Assisted Intervention (pp. 488-498). Cham: Springer Nature Switzerland. ↩ ↩2
-
Canny, J. (1986), A Computational Approach To Edge Detection, IEEE Transactions on Pattern Analysis and Machine Intelligence, 8(6):679–698. ↩
-
Schult et al. (2023). Mask3D: Mask Transformer for 3D Semantic Instance Segmentation. Paper presented at the International Conference on Robotics and Automation (ICRA). ↩