Skip to content

Deep learning based tool for identifying photographic processes using a digital copy

License

Notifications You must be signed in to change notification settings

guilhermesfc/ppi

Repository files navigation

Photographic Processes Identification

This is an ongoing attempt to build a deep learning based tool for identifying photographic processes using a digital copy.

You can try out the current models here:

  • A Binary model that tries to distinguish between Salted Paper Print and Albumen Print. Current accuracy for this model is around 90%.
  • A Multiclass model that tries to predict one of the following processes: Albumen Print, Ambrotype/Tintype/Ferrotype, Carbon Print, Cyanotpye, Daguerreotpye, Silver Developing-out Papers (DOP), Silver Printing-out Papers (POP), Platinotype/Palladiotype, Salted Paper Print. Current accuracy for this model is around 70%.

Using the source code

The source code for the tool is available trough this repository and you can clone it and change it according to the license.

Collecting and preparing the data

The repository contains

  • A general configuration file: config.yaml
  • A web crawler that retrieves metadata from publicly available image sites and stores it into a local database: image_metadata_crawler.py
  • A module to download images to disk: image_downloader.py
  • A module to standardize the description of photographic processes: medium_mapper.py
  • A module to interact with a SQLite database: database.py

You can find an example on how to use these modules in this notebook: Fetch and prepare image data

Note: make sure you only crawl websites for which you have permissions to do so!

Training the models

After data is available and cropped as expected, you need to copy it into google drive and execute the following colab notebooks for generating the models:

You can try running this locally, but unless you have appropriate resources (GPUs), training will be slow. Copies of the notebooks are available in the colab_noteboks directory.

Deploying the models

The models need to be converted into TensorFlow.js.

Afterwards, they can be run in the browser. Please see the code under docs for this, or take a look at this tutorial.

About

Deep learning based tool for identifying photographic processes using a digital copy

Topics

Resources

License

Stars

Watchers

Forks