CoolFace
Modelpublic

corzent/yolov12x-dino3-watermark-detection

sourceHugging Faceagpl-3.0updated 6mo agoView on Hugging Face
5likes101downloads
Model Card

๐Ÿ” YOLOv12x-DINOv3 Watermark Detection Model

<div align="center">

![Python](https://python.org) ![PyTorch](https://pytorch.org) ![License](LICENSE) ![Ultralytics](https://ultralytics.com)

State-of-the-art watermark detection powered by YOLOv12 + DINOv3 Vision Transformers

</div>

๐Ÿ“Š Model Performance

MetricValue
mAP@0.584.1%
mAP@0.5:0.9559.9%
Precision91.8%
Recall74.2%

๐Ÿ—๏ธ Architecture

  • โ€”Base Model: YOLOv12x (Extra-Large variant)
  • โ€”Enhancement: DINOv3 ViT-B/16 backbone integration
  • โ€”Configuration: Dual P0/P3 feature enhancement
  • โ€”Input Size: 1024ร—1024

Key Features

  • โ€”๐Ÿง  DINOv3 Vision Transformer integration at P4 level (40ร—40ร—512)
  • โ€”๐Ÿ”„ Dual-scale feature fusion for improved small/medium object detection
  • โ€”โšก Optimized for watermark detection with high precision
  • โ€”๐Ÿ›ก๏ธ Production-ready with comprehensive error handling

๐Ÿš€ Quick Start

Installation

bash
pip install ultralytics

Inference

python
from ultralytics import YOLO

# Load model from Hugging Face
model = YOLO('hf://corzent/yolov12x-dino3-watermark-detection')

# Or load locally
model = YOLO('best.pt')

# Run inference
results = model('image.jpg')

# Process results
for result in results:
    boxes = result.boxes
    for box in boxes:
        print(f"Watermark detected: confidence {box.conf[0]:.2f}")

Batch Processing

python
# Process multiple images
results = model(['image1.jpg', 'image2.jpg', 'image3.jpg'])

# Process video
results = model('video.mp4', stream=True)

๐Ÿ“‹ Training Details

ParameterValue
Epochs100
Batch Size2
Image Size1024ร—1024
OptimizerSGD
Learning Rate0.01 โ†’ 0.0001
Momentum0.937
Weight Decay0.0005
AugmentationRandAugment, MixUp (0.2), Mosaic

๐Ÿ“ˆ Training Progress

The model was trained for 100 epochs with consistent improvement:

  • โ€”Epoch 1: mAP50 = 0.3%
  • โ€”Epoch 25: mAP50 = 53.7%
  • โ€”Epoch 50: mAP50 = 77.2%
  • โ€”Epoch 75: mAP50 = 79.6%
  • โ€”Epoch 100: mAP50 = 84.1%

๐Ÿ”ง Model Configuration

The model uses the yolov12x-dino3-vitb16-dual.yaml configuration:

yaml
# YOLOv12x with DINOv3 ViT-B/16 Dual Enhancement
backbone:
  - YOLOv12x backbone layers
  - DINOv3 ViT-B/16 integration at P4

head:
  - Multi-scale detection head
  - Dual P0/P3 feature enhancement

๐Ÿ“ Files Included

  • โ€”best.pt - Best model checkpoint (highest mAP)
  • โ€”last.pt - Final epoch checkpoint
  • โ€”args.yaml - Training configuration
  • โ€”results.csv - Training metrics log
  • โ€”*.png - Training curves and confusion matrices

โš ๏ธ Limitations

  • โ€”Optimized specifically for watermark detection
  • โ€”Requires GPU with 8GB+ VRAM for inference at 1024ร—1024
  • โ€”Best performance on images similar to training distribution

๐Ÿ“„ License

This model is released under the AGPL-3.0 License.

๐Ÿ™ Acknowledgments

๐Ÿ“ž Citation

If you use this model, please cite the original YOLOv12-DINOv3 repository:

bibtex
@software{sompote_yolov12_dinov3_2024,
  title={YOLOv12 + DINOv3 Vision Transformers Integration},
  author={Sompote},
  year={2024},
  url={https://github.com/Sompote/DINOV3-YOLOV12}
}