Update README.md
Browse files
README.md
CHANGED
|
@@ -3,4 +3,97 @@ license: mit
|
|
| 3 |
language:
|
| 4 |
- fr
|
| 5 |
pipeline_tag: image-to-image
|
| 6 |
-
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
language:
|
| 4 |
- fr
|
| 5 |
pipeline_tag: image-to-image
|
| 6 |
+
---
|
| 7 |
+
# 🎨 Dranina - Votre Coloriage Automatique de Mandalas \!
|
| 8 |
+
|
| 9 |
+

|
| 10 |
+
|
| 11 |
+
## 🌟 Aperçu du Modèle
|
| 12 |
+
|
| 13 |
+
Bienvenue dans l'univers de **Dranina**, un modèle de *machine learning* conçu pour transformer instantanément vos dessins de mandalas en noir et blanc en œuvres entièrement colorées \! 🚀
|
| 14 |
+
|
| 15 |
+
Dranina est un réseau neuronal de type **U-Net**, entraîné sur une collection de paires d'images (mandala non colorié ➡️ mandala colorié) pour apprendre l'art de la colorisation.
|
| 16 |
+
|
| 17 |
+
| Détail | Description |
|
| 18 |
+
| :--- | :--- |
|
| 19 |
+
| **Tâche Principale** | Colorisation Image-to-Image (Noir et Blanc ➡️ Couleur) |
|
| 20 |
+
| **Architecture** | U-Net (PyTorch) |
|
| 21 |
+
| **Entraîné sur** | Dataset privée (Mandalas variés) |
|
| 22 |
+
| **Idéal pour** | Les artistes numériques et les développeurs souhaitant intégrer la colorisation automatique. |
|
| 23 |
+
|
| 24 |
+
-----
|
| 25 |
+
|
| 26 |
+
## 💻 Comment Utiliser Dranina (Inférence)
|
| 27 |
+
|
| 28 |
+
Vous pouvez intégrer le modèle Dranina dans vos propres applications ou l'utiliser directement dans un environnement Python (comme Google Colab).
|
| 29 |
+
|
| 30 |
+
### 1\. Prérequis
|
| 31 |
+
|
| 32 |
+
Assurez-vous d'avoir les bibliothèques essentielles pour le chargement du modèle PyTorch et l'accès au Hub Hugging Face :
|
| 33 |
+
|
| 34 |
+
```bash
|
| 35 |
+
pip install torch torchvision pillow huggingface_hub
|
| 36 |
+
```
|
| 37 |
+
|
| 38 |
+
### 2\. Chargement du Modèle
|
| 39 |
+
|
| 40 |
+
Le modèle est stocké sur le Hub sous forme d'un fichier de poids binaire. Vous devez définir la structure U-Net puis charger les poids.
|
| 41 |
+
|
| 42 |
+
```python
|
| 43 |
+
import torch
|
| 44 |
+
from torchvision import transforms
|
| 45 |
+
from PIL import Image
|
| 46 |
+
from huggingface_hub import hf_hub_download
|
| 47 |
+
# (Nécessite la définition des classes double_conv, Up, et DraninaUnet)
|
| 48 |
+
|
| 49 |
+
# --- Paramètres ---
|
| 50 |
+
MODEL_ID = "Clemylia/Dranina-Mandala-Colorizer"
|
| 51 |
+
MODEL_FILENAME = "pytorch_model.bin"
|
| 52 |
+
|
| 53 |
+
def charger_et_predire(input_image_path):
|
| 54 |
+
# 1. Téléchargement des poids
|
| 55 |
+
model_path = hf_hub_download(repo_id=MODEL_ID, filename=MODEL_FILENAME)
|
| 56 |
+
|
| 57 |
+
# 2. Instanciation de l'architecture et chargement des poids
|
| 58 |
+
# NOTE: Assurez-vous d'avoir défini les classes DraninaUnet, Up, etc.
|
| 59 |
+
model = DraninaUnet(n_channels=3, n_classes=3)
|
| 60 |
+
state_dict = torch.load(model_path, map_location=torch.device("cpu"))
|
| 61 |
+
model.load_state_dict(state_dict)
|
| 62 |
+
model.eval() # Mode évaluation
|
| 63 |
+
|
| 64 |
+
# 3. Prédiction (Utilisez vos propres fonctions de prédiction ici)
|
| 65 |
+
# ... (Code de prédiction qui transforme l'image et utilise model(input_tensor))
|
| 66 |
+
|
| 67 |
+
# Retourne l'image coloriée
|
| 68 |
+
return image_coloree
|
| 69 |
+
```
|
| 70 |
+
|
| 71 |
+
👉 Pour une démonstration interactive, visitez notre [Hugging Face Space](https://www.google.com/search?q=https://huggingface.co/spaces/Clemylia/Dranina-Mandala-App) \!
|
| 72 |
+
|
| 73 |
+
-----
|
| 74 |
+
|
| 75 |
+
## 🚧 Limitations et Points Importants
|
| 76 |
+
|
| 77 |
+
Afin d'obtenir les meilleurs résultats, veuillez tenir compte de ces points :
|
| 78 |
+
|
| 79 |
+
### 1\. Palette de Couleurs Moyenne 🌈
|
| 80 |
+
|
| 81 |
+
Dranina a été entraîné en utilisant la **L1 Loss** (Erreur Absolue Moyenne). Ce type de fonction de perte a tendance à favoriser des choix de couleurs **"sûres"** ou **moyennes** pour minimiser les erreurs.
|
| 82 |
+
|
| 83 |
+
* **Observation :** Si les mandalas produits vous semblent manquer de saturation ou si la palette de couleurs est répétitive, cela est dû à la nature de la fonction de perte. Le modèle évite les couleurs trop vives ou trop sombres si elles ne sont pas dominantes dans la *dataset* d'entraînement.
|
| 84 |
+
|
| 85 |
+
### 2\. Résolution d'Entrée
|
| 86 |
+
|
| 87 |
+
Le modèle est optimisé pour des images carrées et redimensionne l'entrée à **$256 \\times 256$ pixels** avant l'inférence. Pour une qualité optimale, essayez de fournir des images d'entrée claires, sans bruit, et proches de ce format.
|
| 88 |
+
|
| 89 |
+
-----
|
| 90 |
+
|
| 91 |
+
## 🤝 Contribution et Retour
|
| 92 |
+
|
| 93 |
+
Votre avis est précieux \! Si vous utilisez Dranina, n'hésitez pas à :
|
| 94 |
+
|
| 95 |
+
1. **Signaler les problèmes (Issues)** si vous rencontrez des erreurs techniques.
|
| 96 |
+
2. **Partager vos résultats** et vos retours sur la qualité de la colorisation.
|
| 97 |
+
3. **Contribuer** en proposant des améliorations ou en partageant une version améliorée du modèle (par exemple, avec une Perte Perceptuelle) \!
|
| 98 |
+
|
| 99 |
+
Bonne colorisation \! ✨
|