ChatGPT Image Apr 24, 2025, 09_44_31 AM.png

BnW-vs-Colored-Detection

BnW-vs-Colored-Detection is an image classification vision-language encoder model fine-tuned from google/siglip2-base-patch16-224 for a single-label classification task. It is designed to distinguish between black & white and colored images using the SiglipForImageClassification architecture.

Classification Report:
              precision    recall  f1-score   support

       B & W     0.9982    0.9996    0.9989      5000
     Colored     0.9996    0.9982    0.9989      5000

    accuracy                         0.9989     10000
   macro avg     0.9989    0.9989    0.9989     10000
weighted avg     0.9989    0.9989    0.9989     10000

download.png


The model categorizes images into 2 classes:

    Class 0: "B & W"
    Class 1: "Colored"

Install dependencies

!pip install -q transformers torch pillow gradio

Inference Code

import gradio as gr
from transformers import AutoImageProcessor, SiglipForImageClassification
from PIL import Image
import torch

# Load model and processor
model_name = "prithivMLmods/BnW-vs-Colored-Detection"  # Updated model name
model = SiglipForImageClassification.from_pretrained(model_name)
processor = AutoImageProcessor.from_pretrained(model_name)

def classify_bw_colored(image):
    """Predicts if an image is Black & White or Colored."""
    image = Image.fromarray(image).convert("RGB")
    inputs = processor(images=image, return_tensors="pt")
    
    with torch.no_grad():
        outputs = model(**inputs)
        logits = outputs.logits
        probs = torch.nn.functional.softmax(logits, dim=1).squeeze().tolist()
    
    labels = {
        "0": "B & W", "1": "Colored"
    }
    predictions = {labels[str(i)]: round(probs[i], 3) for i in range(len(probs))}
    
    return predictions

# Create Gradio interface
iface = gr.Interface(
    fn=classify_bw_colored,
    inputs=gr.Image(type="numpy"),
    outputs=gr.Label(label="Prediction Scores"),
    title="BnW vs Colored Detection",
    description="Upload an image to detect if it is Black & White or Colored."
)

if __name__ == "__main__":
    iface.launch()

Intended Use:

The BnW-vs-Colored-Detection model is designed to classify images by color mode. Potential use cases include:

  • Archive Organization: Separate historical B&W images from modern colored ones.
  • Data Filtering: Preprocess image datasets by removing or labeling specific types.
  • Digital Restoration: Assist in determining candidates for colorization.
  • Search & Categorization: Enable efficient tagging and filtering in image libraries.
Downloads last month
10
Safetensors
Model size
92.9M params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for prithivMLmods/BnW-vs-Colored-Detection

Finetuned
(2)
this model

Dataset used to train prithivMLmods/BnW-vs-Colored-Detection

Space using prithivMLmods/BnW-vs-Colored-Detection 1