Downloads · 30 days
0
Sp82216/Watermark_Removal
Watermark_Removal is a machine learning model from Sp82216. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
The Watermark Removal model is an image processing model based on neural networks. It is designed to remove watermarks from images while preserving the original image quality. The model utilizes an encoder-decoder str…
Downloads · 30 days
0
Access
Public
Updated Apr 30, 2026
Repo size
251 MB
Likes
0
Public
Click a slice to open those files.
.pth126 MB · 100%
From the Hugging Face model README
The Watermark Removal model is an image processing model based on neural networks. It is designed to remove watermarks from images while preserving the original image quality. The model utilizes an encoder-decoder structure with skip connections to maintain fine details during the watermark removal process.
<div align="center"> <img width="640" alt="foduucom/Watermark_Removal" src="https://huggingface.co/foduucom/Watermark_Removal/resolve/main/output.png"> </div>pip install torch torchvision
pip install Pillow matplotlib numpy
or you can run :
pip install -r requirements.txt
import torch
from torchvision import transforms
from PIL import Image
from watermark_remover import WatermarkRemover
import numpy as np
image_path = "path to your test image" # Replace with the path to your test image
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# Load the trained model
model = WatermarkRemover().to(device)
model_path = "path to your model.pth" # Replace with the path to your saved model
model.load_state_dict(torch.load(model_path, map_location=device))
model.eval()
transform = transforms.Compose([transforms.Resize((256, 256)),
transforms.ToTensor(),])
watermarked_image = Image.open(image_path).convert("RGB")
original_size = watermarked_image.size
input_tensor = transform(watermarked_image).unsqueeze(0).to(device)
with torch.no_grad():
output_tensor = model(input_tensor)
predicted_image = output_tensor.squeeze(0).cpu().permute(1, 2, 0).clamp(0, 1).numpy()
predicted_pil = Image.fromarray((predicted_image * 255).astype(np.uint8))
predicted_pil = predicted_pil.resize(original_size, Image.Resampling.LANCZOS)
predicted_pil.save("predicted_image.jpg", quality=100)
The model has been evaluated using Peak Signal-to-Noise Ratio (PSNR) and Structural Similarity Index (SSIM) on a test set of watermarked images, achieving an average PSNR of 30.5 dB and an SSIM of 0.92.
NVIDIA GeForce RTX 3060 card
The model was trained on Jupyter Notebook environment.
For inquiries and contributions, please contact us at info@foduu.com
@ModelCard{
author = {Nehul Agrawal and
Priyal Mehta},
title = {Watermark Removal Using Neural Networks},
year = {2025}
}