OverviewWatermark_Removal is a neural network model designed to remove watermarks from images while preserving original image quality, developed by foduucom. The model uses an encoder-decoder architecture with skip connections to maintain fine details during watermark removal. It was trained on 20,000 images with various watermark styles and intensities across 200 epochs on an NVIDIA GeForce RTX 3060, using a combination of Mean Squared Error and perceptual loss functions. The model operates at 256x256 resolution and requires PyTorch and torchvision to run. The single most important thing to know before using this model: performance varies significantly with watermark complexity and opacity, and it achieves best results on semi-transparent watermarks with potential degradation when applied to images at resolutions different from the training resolution.Best Use CasesRemoving semi-transparent overlays from product photography. This model excels at removing subtle, semi-transparent watermarks because the encoder-decoder architecture with skip connections preserves the underlying image details while the perceptual loss function guides artifact-free removal. If you operate an e-commerce platform that acquires product images already watermarked by suppliers, this model can recover clean product photos suitable for your own catalog without purchasing new photography.Cleaning up design mockups and stock image derivatives. The model works well on images with watermarks applied in typical watermarking patterns—centered logos, corner stamps, or subtle text overlays common in design workflows. The 256x256 training resolution means the model learned these common watermarking patterns extensively, making it reliable for removing standard watermark applications found in design files and stock image watermarking practices.Batch processing archived images with watermarks. If you maintain archives of images with degraded or unwanted watermarks and need to recover them at scale, the PyTorch-based inference pipeline allows straightforward batch processing. The model's inference can be GPU-accelerated, and the resize-to-original-size pipeline means you can process images at any resolution by internally scaling to 256x256 for the model and scaling back without significant quality loss.Removing watermarks from images captured at different resolutions. Although trained on 256x256 images, the model includes a resize step in the inference pipeline that allows processing arbitrary resolution inputs. The LANCZOS resampling during output upscaling preserves detail, making this approach suitable for removing watermarks from both high-resolution and low-resolution sources.LimitationsPerformance degrades with opaque and complex watermarks. The model achieves an average PSNR of 30.5 dB and SSIM of 0.92, which indicates good but not perfect reconstruction. Opaque watermarks, intricate text, complex logos, or multiple overlapping watermarks push the model beyond its training distribution. Performance varies depending on watermark complexity and opacity—the documentation explicitly states that best results occur only with semi-transparent watermarks.Resolution mismatch causes artifacts. The model was trained exclusively on 256x256 images. While the inference pipeline resizes inputs to this resolution and back, processing very high-resolution images (4K+) or very low-resolution images (< 256 pixels) may introduce artifacts because the model learned watermark removal patterns specifically at this scale. The Structural Similarity degradation at different resolutions remains undocumented.Requires a GPU for practical inference speed. GPU is "recommended" for faster inference, but no concrete timing is provided. CPU inference on high-resolution images would be slow. The model was trained on RTX 3060 hardware, suggesting similar or better hardware is needed for reasonable batch processing throughput. VRAM requirements are not specified, but typical encoder-decoder models of this architecture require 2-8 GB, depending on batch size and input resolution.Limited to RGB images. The inference pipeline explicitly converts inputs to RGB with .convert("RGB"), meaning it cannot process RGBA images with alpha channels or handle grayscale properly without conversion. Any embedded transparency information is lost.Apache 2.0 license permits commercial use but requires attribution. You can use this model commercially, but must include a copy of the license and provide attribution to the original authors (Nehul Agrawal and Priyal Mehta).No fine-tuning guidance provided. The documentation does not explain how to fine-tune on custom watermark types or datasets. If your watermarks differ significantly from the training distribution, no retraining pipeline is documented.How It ComparesKontext-Watermark-Remover uses a FLUX.1-Kontext adapter trained on only 150 image pairs, making it far more specialized but potentially less robust to watermark variation. Choose Watermark_Removal if you need general-purpose watermark removal across many watermark styles, since it trained on 20,000 diverse images; choose Kontext-Watermark-Remover if you need state-of-the-art quality for a specific use case and are willing to pay for inference on a larger foundation model. The tradeoff is generality versus maximum quality—Kontext uses a much larger underlying model but with minimal task-specific training data.img2watermarkmask generates watermark masks using Florence-2 rather than removing watermarks directly. This model complements rather than competes with Watermark_Removal. Use img2watermarkmask if you need to identify where watermarks are for analysis or selective removal; use this model if you already know watermarks exist and want them removed automatically. They solve different problems.sora2-watermark-remover specifically targets Sora 2 video watermarks and operates on video rather than images. Choose Watermark_Removal for still images from any source; choose sora2-watermark-remover only if you specifically need to remove Sora 2 watermarks from video footage. No overlap in use cases.Qwen-Image-Edit-2511-Object-Remover is a LoRA adapter for general object removal on Qwen's model, handling watermarks as a subset of removable objects. Choose Watermark_Removal for a dedicated, lightweight model that runs on any machine with PyTorch; choose Qwen-Image-Edit-2511-Object-Remover if you need to remove arbitrary objects and watermarks as part of a broader image editing pipeline and have access to the base Qwen model. The fundamental tradeoff is specialization versus generality—this model optimizes for watermarks specifically.image-editing/text-removal focuses on removing text and writing from images rather than watermark logos or patterns. These target different watermark types—choose Watermark_Removal for logo and image watermarks; choose image-editing/text-removal if watermarks are primarily text-based. They can be complementary depending on your watermark composition.Technical SpecificationsArchitecture: Encoder-decoder structure with skip connections. The encoder progressively compresses the input image while the decoder reconstructs the watermark-free output, with skip connections allowing fine details to bypass the bottleneck and maintain sharpness.Training dataset: 20,000 images with watermarks in various styles and intensities on a custom dataset.Training compute: 200 epochs on NVIDIA GeForce RTX 3060 GPU. Total training time not specified.Loss function: Combination of Mean Squared Error (MSE) and perceptual loss.Input resolution: Trained on 256x256 images. Inference pipeline resizes arbitrary inputs to 256x256 for processing and resizes back to original dimensions using LANCZOS resampling.Framework: PyTorch with torchvision transforms.Model evaluation metrics: Peak Signal-to-Noise Ratio (PSNR) of 30.5 dB average, Structural Similarity Index (SSIM) of 0.92 on test set of watermarked images.Model format: State dict saved as .pth PyTorch weights file.Dependencies:torchtorchvisionPillowmatplotlibnumpyColor space: RGB only (3 channels).Model Inputs and OutputsInputsFormat: PIL Image (JPEG, PNG, or other standard image formats)Color space: RGB (automatically converted if needed)Resolution: Any resolution supported; internally resized to 256x256 for processingBatch processing: Single image or stacked tensors for batch inferenceOutputsFormat: PIL Image saved to disk (JPG with quality=100 in example code)Color space: RGBResolution: Original input resolution (resized from 256x256 processing)Value range: 0-255 (uint8 numpy array converted to PIL)Post-processing: LANCZOS resampling applied during resize back to original dimensionsGetting Startedimport torch from torchvision import transforms from PIL import Image from watermark_remover import WatermarkRemover import numpy as np # Setup device = torch.device("cuda" if torch.cuda.is_available() else "cpu") model = WatermarkRemover().to(device) model.load_state_dict(torch.load("model.pth", map_location=device)) model.eval() # Load and preprocess image image_path = "watermarked_image.jpg" watermarked_image = Image.open(image_path).convert("RGB") original_size = watermarked_image.size transform = transforms.Compose([ transforms.Resize((256, 256)), transforms.ToTensor(), ]) input_tensor = transform(watermarked_image).unsqueeze(0).to(device) # Inference with torch.no_grad(): output_tensor = model(input_tensor) # Convert and save 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("watermark_removed.jpg", quality=100) Frequently asked questionsQ: Can I use this model commercially?A: Yes. The model is released under the Apache 2.0 license, which permits commercial use. You must include a copy of the license and provide attribution to the authors (Nehul Agrawal and Priyal Mehta).Q: What hardware do I need to run this model?A: GPU is recommended for practical inference speed, though the model runs on CPU. An NVIDIA GeForce RTX 3060 (12 GB VRAM) was used for training; typical inference VRAM requirements are likely 2-8 GB depending on batch size, though exact specifications are not documented.Q: How does this model handle watermarks opaque or logos?A: Performance degrades significantly with opaque watermarks. The model achieves best results on semi-transparent watermarks. The training dataset included various watermark styles, but no breakdown of performance by watermark type is provided.Q: Can I fine-tune this model on my own watermark dataset?A: No guidance is provided in the documentation for fine-tuning. The model code and training pipeline are not publicly detailed, so custom retraining would require implementing your own training loop in PyTorch.Q: What image resolutions does this model support?A: The model was trained on 256x256 images. The inference pipeline resizes any input image to 256x256, processes it, and resizes back to the original resolution using LANCZOS resampling. Quality may degrade significantly at very high resolutions (4K+) or very low resolutions (<256 pixels).Q: How fast is inference?A: Inference speed is not specified in the documentation. GPU inference should be much faster than CPU, but concrete timing is unavailable. Batch processing is possible by stacking input tensors.Q: Can the model handle RGBA images or grayscale?A: No. The inference pipeline explicitly converts all inputs to RGB with .convert("RGB"), discarding any alpha channel or grayscale information. Grayscale images are converted to RGB.Q: Is this model still maintained?A: The model was published in 2025. Maintenance status and contact information are available at info@foduu.com. No active issue tracking or recent updates are mentioned in the documentation.Image source: AIModels.fyiThis is a simplified guide to an AI model called Watermark_Removal, maintained by foduucom. If you like these kinds of analyses, join AIModels.fyi or follow us on Twitter.
Watermark_Removal: How it Removes Watermarks From Images While Preserving Original Image Quality
Full Article
Original Source
Read the full article at Hackernoon →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.