judgecliff SigLIP brand judge v1

Part of judgecliff: which image-QC judges survive optimization pressure? A brand-fidelity judge for rhode (beauty brand). A judge = these SigLIP weights

  • calibration.json (rhode train-split centroid + Platt scaling params) in this repo.

Base: google/siglip-so400m-patch14-384 (full SiglipModel, contrastively fine-tuned).

Training: SupCon contrastive fine-tune, rhode positives vs competitor-brand negatives (Glossier, ILIA and others), judgecliff train split. No violation negatives.

Report card (judgecliff Phase 1, 2,622-item test set): brand AUC 0.99, logo-masking delta 0.00 (style reader, not a wordmark reader), brand-dial Spearman 0.24, near-zero violation detection.

v1 learned the brand's center, not its boundaries: it is violation-blind, and under SRPO gradient pressure it was fully exploited (hacked images scored 0.84). See v2 (+violation negatives) and v3 (hardened) for the ablations.

Scoring

Score = Platt-calibrated cosine similarity between the image embedding and the rhode centroid:

import json, numpy as np, torch
from PIL import Image
from transformers import SiglipModel, SiglipImageProcessor
from huggingface_hub import hf_hub_download

repo = "Gupta28/judgebench-siglip-judge-v1"
model = SiglipModel.from_pretrained(repo)
proc = SiglipImageProcessor.from_pretrained(repo)
params = json.load(open(hf_hub_download(repo, "calibration.json")))
centroid = np.array(params["centroid"])  # L2-normalized rhode train centroid

img = Image.open("image.jpg")
with torch.no_grad():
    emb = model.get_image_features(**proc(images=img, return_tensors="pt"))
v = emb[0].numpy(); v /= np.linalg.norm(v)
cos = float(v @ centroid)
score = 1 / (1 + np.exp(-(params["platt_a"] * cos + params["platt_b"])))  # calibrated on-brand prob

Full evaluation protocol, test-set construction, and findings: https://github.com/amargupta0428/judgecliff.

Downloads last month
14
Safetensors
Model size
0.9B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Gupta28/judgebench-siglip-judge-v1

Finetuned
(46)
this model