Downloads · 30 days
0
christophernavas/watermark-remover
watermark-remover is a image segmentation model from christophernavas. Use it for the image segmentation 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.
6 specialized UNet++ segmentation models for watermark detection, combined with pixel-wise max fusion.
Downloads · 30 days
0
Access
Public
Updated Feb 14, 2026
Repo size
924 MB
Likes
7
Public
Click a slice to open those files.
.pth756 MB · 100%
From the Hugging Face model README
6 specialized UNet++ segmentation models for watermark detection, combined with pixel-wise max fusion.
| File | Specialty | Encoder | Best Val IoU | Size |
|---|---|---|---|---|
| segmenter_centered_text.pth | centered_text | efficientnet-b4 | N/A | 84.0 MB |
| segmenter_line_pattern.pth | line_pattern | efficientnet-b4 | N/A | 84.0 MB |
| segmenter_logo.pth | logo | efficientnet-b4 | N/A | 84.0 MB |
| segmenter_overlay_text.pth | overlay_text | efficientnet-b4 | N/A | 84.0 MB |
| segmenter_repeated_text.pth | repeated_text | efficientnet-b4 | N/A | 84.0 MB |
| segmenter_tiny_corner.pth | tiny_corner | efficientnet-b4 | N/A | 84.0 MB |
Image → [Model A, B, C, D, E, F] → pixel-wise max(masks) → LaMa inpainting → Clean image
Each model is trained on synthetic watermarks matching its specialty.
Fusion strategy: pixel_max (logical OR of all masks).
import segmentation_models_pytorch as smp
import torch
model = smp.UnetPlusPlus(encoder_name="efficientnet-b4", encoder_weights=None, in_channels=3, classes=1)
state_dict = torch.load("segmenter_repeated_text.pth", map_location="cpu")
model.load_state_dict(state_dict)
model.eval()
Apache-2.0
DevynLabs — AI tools for creators.