Synas-Detect-1 / README.md
TheWarrior01's picture
Update README.md
9681725 verified
|
Raw
History Blame Contribute Delete
5.17 kB
---
license: mit
base_model: openai/clip-vit-large-patch14
tags:
- ai-detection
- deepfake-detection
- vision
- image-classification
- clip
- synthetic-image-detection
pipeline_tag: image-classification
library_name: transformers
metrics:
- accuracy
model-index:
- name: Synas Detect 1
results:
- task:
type: image-classification
name: Synthetic vs Real Image Classification
dataset:
type: ComplexDataLab/OpenFake
name: OpenFake Core Dataset
metrics:
- type: accuracy
value: 95.0
---
# Synas Detect 1
**Synas Detect 1** is a high-accuracy vision classifier (~304 million parameters) developed by **Atugil Intelligence**. Fine-tuned on modern synthetic media, it specializes in determining whether an image is an authentic photograph or AI-generated by models such as **Midjourney**, **Stable Diffusion**, **DALL·E**, **Imagen**, and similar generative systems.
---
# Model Overview
| Attribute | Detail |
| :--- | :--- |
| **Developed by** | Atugil Intelligence |
| **Model Name** | Synas Detect 1 |
| **Model Type** | Vision Transformer / Image Classifier |
| **Base Architecture** | `openai/clip-vit-large-patch14` |
| **Parameter Count** | ~304 Million |
| **License** | MIT |
| **Primary Task** | Binary Image Classification (`0`: AI Generated / Fake, `1`: Real Photograph) |
---
# Intended Use
## Primary Use Cases
- **Media Authenticity Verification** – Detect synthetic imagery for journalism, publishing, and digital archives.
- **Content Moderation** – Flag AI-generated uploads within trust and safety pipelines.
- **Forensic Visual Analysis** – Assist researchers and investigators by identifying subtle generation artefacts.
## Limitations
While Synas Detect 1 performs strongly across a wide variety of datasets, it has several limitations:
- Extremely compressed JPEG images or aggressive social media recompression may reduce confidence.
- Heavy cropping, resizing, or post-processing can remove useful forensic signals.
- The model is not explicitly trained against adversarial perturbations or deliberate evasion attacks.
- Classification confidence should not be treated as absolute proof of authenticity.
---
# Training Setup
| Setting | Value |
| :--- | :--- |
| **Dataset** | `ComplexDataLab/OpenFake` (Core Partition) |
| **Hardware** | 2× NVIDIA T4 GPUs |
| **Precision** | Mixed Precision (FP16) |
| **Framework** | PyTorch + Transformers |
| **Parallelism** | DataParallel |
| **Effective Batch Size** | 64 |
| **Learning Rate** | 2e-5 |
| **Optimizer** | AdamW + Linear Learning Rate Decay |
The model was fine-tuned on high-quality synthetic and real image pairs while preserving the strong visual representations learned by CLIP.
---
# Performance
| Metric | Score |
| :--- | :--- |
| **In-Distribution Accuracy** | ~96% |
| **Out-of-Sample Accuracy** | ~92–95% |
Performance varies depending on image quality, compression level, and the generation model used.
---
# Usage
## Transformers Pipeline
```python
from transformers import pipeline
from PIL import Image
classifier = pipeline(
"image-classification",
model="Atugil-Intelligence/synas-detect-1"
)
image = Image.open("path_to_image.jpg").convert("RGB")
predictions = classifier(image)
print("Synas Detect 1 Predictions")
print("-" * 40)
for prediction in predictions:
print(
f"{prediction['label']} "
f"({prediction['score'] * 100:.2f}%)"
)
```
---
## Native PyTorch Implementation
```python
import torch
from PIL import Image
from transformers import (
AutoImageProcessor,
AutoModelForImageClassification,
)
MODEL_ID = "Atugil-Intelligence/synas-detect-1"
device = torch.device(
"cuda" if torch.cuda.is_available() else "cpu"
)
processor = AutoImageProcessor.from_pretrained(MODEL_ID)
model = AutoModelForImageClassification.from_pretrained(
MODEL_ID
).to(device)
model.eval()
image = Image.open("path_to_image.jpg").convert("RGB")
inputs = processor(
image,
return_tensors="pt"
).to(device)
with torch.no_grad():
outputs = model(**inputs)
probabilities = torch.softmax(outputs.logits, dim=-1)
prediction = probabilities.argmax(dim=-1).item()
confidence = probabilities[0][prediction].item()
labels = {
0: "AI Generated (Fake)",
1: "Real Photograph",
}
print(f"Prediction : {labels[prediction]}")
print(f"Confidence : {confidence * 100:.2f}%")
```
---
# License
Synas Detect 1 is released under the **MIT License**.
## Attribution
This model is fine-tuned from OpenAI's **CLIP ViT-Large Patch-14** vision backbone.
**Copyright**
- Copyright © 2021 OpenAI (Base Model)
- Copyright © 2026 Atugil Intelligence (Fine-Tuned Weights)
---
# Citation
If you use **Synas Detect 1** in research, benchmarks, or production systems, please cite:
```bibtex
@misc{synas_detect_1_2026,
author = {Atugil Intelligence},
title = {Synas Detect 1: High-Accuracy Synthetic Image Classifier},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/Atugil-Intelligence/synas-detect-1}}
}
```