| --- |
| license: apache-2.0 |
| tags: |
| - image-colorization |
| - pokemon |
| - unet |
| - pytorch |
| - computer-vision |
| - tcg |
| datasets: |
| - ellimaaac/pokemon-tcg-all-image-cards |
| language: |
| - en |
| pipeline_tag: image-to-image |
| --- |
| |
| # 🎨 PokeColor — Pokémon Card Colorizer |
|
|
| **PokeColor** is a deep learning model that automatically colorizes grayscale Pokémon Trading Card Game (TCG) images. It is based on a **U-Net** architecture and trained on a large collection of official Pokémon TCG card images. |
|
|
| --- |
|
|
| ## 🖼️ Demo |
|
|
| grayscale -> generated -> original |
|
|
| ||| |
| |---|---| |
| |  |  | |
|
|
| --- |
|
|
| ## 🧠 Model Architecture |
|
|
| - **Architecture**: U-Net (encoder–decoder with skip connections) |
| - **Framework**: PyTorch |
| - **Task**: Image-to-image translation (grayscale → color) |
| - **Input**: Grayscale Pokémon TCG card image |
| - **Output**: Colorized RGB image |
|
|
| --- |
|
|
| ## 📦 Dataset |
|
|
| The model was trained on the [**Pokemon TCG — All Image Cards**](https://www.kaggle.com/datasets/ellimaaac/pokemon-tcg-all-image-cards) dataset from Kaggle, which contains thousands of official Pokémon card images spanning multiple generations and sets. |
|
|
| --- |
|
|
| ## 🚀 Usage |
|
|
| ### Load the model |
|
|
| ```python |
| import torch |
| import torch.nn as nn |
| from torchvision import transforms |
| from PIL import Image |
| |
| # Define your U-Net architecture (must match training) |
| # model = UNet(...) |
| |
| # Load weights |
| model.load_state_dict(torch.load("pokemon_unet_colorizer.pth", map_location="cpu")) |
| model.eval() |
| ``` |
|
|
| ### Run inference |
|
|
| ```python |
| from PIL import Image |
| import torchvision.transforms.functional as TF |
| |
| # Load and preprocess a grayscale image |
| img = Image.open("your_card.png").convert("L") # Grayscale |
| img_tensor = TF.to_tensor(img).unsqueeze(0) # Shape: [1, 1, H, W] |
| |
| # Predict |
| with torch.no_grad(): |
| output = model(img_tensor) # Shape: [1, 3, H, W] |
| |
| # Save result |
| result = TF.to_pil_image(output.squeeze(0).clamp(0, 1)) |
| result.save("colorized_card.png") |
| ``` |
|
|
| > ⚠️ Make sure the U-Net architecture used for inference matches the one used during training (number of layers, channels, etc.). |
|
|
| --- |
|
|
| ## 📁 Files |
|
|
| | File | Description | |
| |---|---| |
| | `pokemon_unet_colorizer.pth` | PyTorch model weights (373 MB) | |
| | `demo-1.png` | Example input / output image 1 | |
| | `demo-2.png` | Example input / output image 2 | |
|
|
| --- |
|
|
| ## ⚙️ Training Details |
|
|
| | Parameter | Value | |
| |---|---| |
| | Architecture | U-Net | |
| | Loss function | L1 / MSE (image reconstruction) | |
| | Dataset | Pokémon TCG All Image Cards (Kaggle) | |
| | Framework | PyTorch | |
|
|
| --- |
|
|
| ## 👤 Author |
|
|
| Made by [DO2K26](https://huggingface.co/DO2K26) / |
| - [benoitplanche](https://huggingface.co/benoitplanche) |
| - [light-srh](https://huggingface.co/light-srh) |
| - [Razano](https://huggingface.co/Razano) |
|
|
| --- |
|
|
| ## 📜 License |
|
|
| This model is released under the **Apache 2.0** license. |
| The training dataset is subject to its own [Kaggle license](https://www.kaggle.com/datasets/ellimaaac/pokemon-tcg-all-image-cards). |
| Pokémon and all related names are trademarks of Nintendo / Game Freak / The Pokémon Company. This project is not affiliated with or endorsed by them. |
|
|
| --- |
|
|
| ## 🙏 Acknowledgements |
|
|
| - Dataset by [ellimaaac](https://www.kaggle.com/ellimaaac) on Kaggle |
| - U-Net architecture originally introduced by Ronneberger et al. (2015) |