Restauration de vieilles photos

Date

Temps de lecture

4 minutes
Restauration de vieilles photos

Restauration de vieilles photos grâce à Python et Replicate (IA)

Pour restaurer d’anciennes photos personnelles, j’ai utilisé pendant un certain temps une application et un site web qui avaient tous les deux une utilisation limitée. J’ai découvert la technologie utilisée par le site en y prenant connaissance dans sa description. De cette façon, je me suis familiarisé avec Replicate, un projet open source qui nous aide à appliquer diverses modifications aux photos. Grâce au langage de programmation Python et à l’API de ce site, j’ai pu créer un petit projet pour restaurer mes photos. Dans cet article, je vais partager avec vous comment créer ce projet, afin que vous puissiez vous aussi restaurer vos anciennes photos ou travailler un peu avec Python et l’intelligence artificielle si le sujet vous intéresse.

Tout d’abord, vous devez vous inscrire sur le site pour obtenir votre token. Sur la page d’accueil, cliquez sur Sign in situé dans la barre du navigateur :

Untitled

Dans cette nouvelle page, cliquez sur le bouton Sign In With GitHub :

Untitled

Cliquez sur l’onglet Account pour obtenir votre Token :

Untitled

Sur la page Explore, il existe différents modèles pour les utiliser :

Untitled

Pour cet article, j’ai utilisé le modèle Codeformer qui est disponible sur le lien suivant :

Untitled

Le modèle choisi s’ouvre dans une nouvelle page, cliquez sur l’onglet API. Ce dernier vous explique comment vous pouvez modifier vos photos grâce à Python et Replicate :

Untitled

Si vous n’avez jamais utilisé Python et son gestionnaire de packages pip, vous pouvez les installer en appliquant les étapes suivantes :

Ensuite, rendez-vous dans le dossier où vous avez téléchargé votre fichier get-pip.py pour y ouvrir le terminal et entrez la commande suivante pour installer “pip” sur votre ordinateur :

  • Windows :
py get-pip.py
  • MacOS :
python get-pip.py
  • Linux :
python get-pip.py

Pour vérifier que Python et “pip” se sont bien installés, vous devez entrer les commandes suivantes :

python -V
pip -V

Untitled

Dans ce projet, vous devez utiliser deux librairies replicate et python-dotenv. Installez les avec les commandes suivantes depuis le terminal :

pip install replicate
pip install python-dotenv

Créez un dossier dans votre ordinateur et ouvrez-le dans votre IDE. Dans ce dossier, vous devez créer deux fichiers :

  • .env
  • main.py

Dans “.env”, vous devez ajouter votre token comme l’exemple ci-dessous :

export REPLICATE_API_TOKEN=<votre token>

Dans main.py, vous devez ajouter le code disponible depuis le lien ci-dessous :

J’ai modifié le code du lien ci-dessus et je vous explique :

# Importer la librairie replicate pour modifier vos photos
import replicate

# Importer la librairie dotenv pour utiliser votre token
from dotenv import load_dotenv

# Importer la librairie urllib pour télécharger votre photo
import urllib.request

# Exécuter la fonction load_dotenv() pour récupérer toutes
# les variables dans le fichier ".env"
load_dotenv()

# Choisir un modèle pour modifier votre photo
model = replicate.models.get("sczhou/codeformer")
version = model.versions.get("7de2ea26c616d5bf2245ad0d5e24f0ff9a6204578a5c876db53142edd9d2cd56")

# Les paramètres pour modifier votre photo
inputs = {
    # Importer votre photo pour la restaurer
    'image': open("./image.jpg", "rb"),

    # Balance the quality (lower number)
    # and fidelity (higher number).
    # Range: 0 to 1
    'codeformer_fidelity': 0.5,

    # Enhance background image with Real-ESRGAN
    'background_enhance': True,

    # Upsample restored faces
    # for high-resolution AI-created images
    'face_upsample': True,

    # The final upsampling scale of the image
    'upscale': 2,
}

# Variable avec la valeur de lien de votre photo restaurée
output = version.predict(**inputs)

# Nom de votre photo restaurée pour l'exporter
exportName = "./edit.jpg"

# Télécharger votre photo restaurée
# et l'enregistrer avec un nouveau nom
urllib.request.urlretrieve(output, exportName)

Pour terminer, exécuter la commande suivante :

python main.py

Informations importantes :

  • Assurez-vous que le terminal est lancé depuis votre dossier projet;
  • Votre photo originale est enregistrée dans le même dossier que votre fichier “main.py”, sinon vous devez modifier son emplacement depuis les paramètres input dans votre code;

Untitled

  • Votre photo restaurée est téléchargée (enregistrée) dans le même dossier que votre projet.

J’espère que cet article vous a plu

Bon courage