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 :
Dans cette nouvelle page, cliquez sur le bouton Sign In With GitHub
:
Cliquez sur l’onglet Account
pour obtenir votre Token
:
Sur la page Explore
, il existe différents modèles pour les utiliser :
Pour cet article, j’ai utilisé le modèle Codeformer qui est disponible sur le lien suivant :
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 :
Si vous n’avez jamais utilisé Python et son gestionnaire de packages pip
, vous pouvez les installer en appliquant les étapes suivantes :
- Pour installer Python, vous devez cliquer sur le lien ci-dessous pour le télécharger depuis votre ordinateur, en prenant soin de sélectionner votre système d’exploitation :
- Pour installer
pip
, télécharger le fichier depuis le lien ci-dessous :
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
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;
- 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