Skip to content

alispada/MachineLearning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Art Technique Classifier

Art Technique Classifier is an application developed using the Flask python library, which integrates deep learning to solve the task of technique recognition and classification in the art field.

The model is built upon the EfficientNet-B0 architecture. EfficientNet represents a family of Convolutional Neural Networks that aims to achieve high performance while minimizing computational overhead.

The dataset employed for the training is a subset of the original ART500K Dataset, the "toy dataset", made of 43.455 images. The model can recognize eleven different techniques: architecture, drawing, engraving, fresco, glass art, manuscript, mosaic, oil painting, sculpture metal, sculpture stone, tempera on panel.

Repository contents

  • dataset/: in this folder you can find the toy_dataset_label.csv. To be able to replicate the training, download the toy_dataset.zip and unzip the content inside the dataset folder. The structure should be dataset/toy_dataset/.
  • model/: the folder containing the EfficientNet-B0.tar model with the final weights.
  • technique_recognition.ipynb: the Jupyter Notebook used to train and evaluate the model.
  • app.py: the application.
  • static/ and templates/: containing the html files and the stylesheet for the application interface.
  • examples/: containing some images of artworks to test the application.
  • requirements.txt: containing the python libraries to download to run the training and the application.

Setup for Reproducibility

  1. Download the repository's .zip and the toy_dataset.zip. Place it inside the dataset folder.

  2. Create a virtual environment to install dependencies:

    python -m venv venv
    # Mac/Linux:
    source venv/bin/activate
    # Windows:
    venv\Scripts\activate
  3. Install libraries

    pip install -r requirements.txt
  4. Start the application

    python app.py

The application is configured to run exclusively in a local environment. Once the app.py script is run, the interface will only be accessible from your computer's browser at http://127.0.0.1:5000.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors