The reconstruction of frescoes from individual fragments represents a significant challenge in the field of image processing and cultural heritage conservation. This complex problem has stimulated the use of numerous approaches, ranging from machine learning to mathematics, to the conceptualization of studies dedicated to the reconstruction of works of art from various types and historical periods.
In the present study, we propose a methodology to simplify the process of fresco reconstruction, without restricting it to any specific historical period or type of artwork. In particular, we introduce a multi-stage approach for clustering fragments related to a reference image.
We propose a multi-stage clustering-based approach for grouping fragments relative to a reference image. The method is structured into the following phases:
-
Feature Extraction: Color histograms and texture features are extracted, and fragment edges are detected using the Canny Edge Detector with thresholds set to 50 for weak pixels and 150 for strong pixels.
-
Fragment Clustering: Fragments are grouped based on their color histograms, intersection with the color histogram of the reference image, and similarity of textures.
-
IN-Cluster Selection: Among the clusters formed, the IN-Cluster is identified as the cluster most likely to contain the majority of fragments belonging to the reference image.
-
Refinement: The selected IN-Cluster undergoes a refinement phase aimed at removing irrelevant fragments and retaining only those relevant to the reference image.
A comprehensive overview of our methodology is presented in the subsequent image.
To install the necessary requirements for the project, please follow the steps below.
Verify you have Python installed on your machine. The project is compatible with Python 3.10.1
.
If you do not have Python installed, please refer to the official Python Guide.
To clone this repository, download and extract the .zip
project files using the <Code>
button on the top-right or run the following command in your terminal:
git clone https://github.com/angelonazzaro/artworks-reconstruction.git
It's strongly recommended to create a virtual environment for the project and activate it before proceeding.
Feel free to use any Python package manager to create the virtual environment. However, for a smooth installation of the requirements we recommend you use pip
. Please refer to Creating a virtual environment.
You may skip this step, but please keep in mind that doing so could potentially lead to conflicts if you have other projects on your machine.
To install the requirements, please:
-
Make sure you have activated the virtual environment where you installed the project's requirements. If activated, your terminal, assuming you are using bash, should look like the following:
(name-of-your-virtual-environment) user@user path
-
Install the project requirements using
pip
:
pip install -r requirements.txt
If you have have found this work useful and have decided to include it in your work, please consider citing
@online{nazzaro-aurucci-palmieri2024:multi-phase-clustering-for-artworks-reconstruction,
author={Angelo Nazzaro, Raffaele Aurucci, Angelo Palmieri},
title = {Clustering Multi-fase per la Ricostruzione di Affreschi},
url={https://github.com/angelonazzaro/artworks-reconstruction},
year={2024}
}