--- 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 ||| |---|---| | ![Demo 1](demo-1.png) | ![Demo 2](demo-2.png) | --- ## 🧠 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)