alt.freeweights.vision / owlv2-base-patch16
From: google <huggingface.co/google>Newsgroups: alt.freeweights.visionSubject:

owlv2-base-patch16

Date: 2026-11-14Commit: 2a15608Signed: 2DC28CC7B26A283B ✓

Zero shot object detection model with 155M parameters. Safetensors weights, 1.24 GB in all. Published by google under Apache-2.0.

155M params1.24GBowlv2-base-patch16safetensorspermissive
FactsParams155MSize1.24 GBFormatssafetensorsTaskzero shot object detectionLicenseApache-2.0From sourcepermissive
$ fw get google/owlv2-base-patch16
# manifest sha256 80c98ef59168… · 1.24 GB · 11 files
$ fw verify ./owlv2-base-patch16 google/owlv2-base-patch16
From sourceHosted (signed)google/owlv2-base-patch16Last check: 2026-11-14 21:36 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Works with

Runs with

Ranked by fit to this model (safetensors), then by GitHub stars.

Overview

Size
1.24 GB
Weights
620 MB (safetensors)
Parameters
155M
Formats
safetensors
Task
zero shot object detection
License
Apache-2.0 (permissive)
Files
11, each with a sha256
Publisher
google
Added
2026-11-14
Section
alt.freeweights.vision
Lineage

Original release from the publisher.

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-14 21:36 UTCpassed

Model card

From the publisher at commit 2a15608. Shown as plain text with links; images open at the publisher.

Model Card: OWLv2#

Model Details#

The OWLv2 model (short for Open-World Localization) was proposed in Scaling Open-Vocabulary Object Detection by Matthias Minderer, Alexey Gritsenko, Neil Houlsby. OWLv2, like OWL-ViT, is a zero-shot text-conditioned object detection model that can be used to query an image with one or multiple text queries.

The model uses CLIP as its multi-modal backbone, with a ViT-like Transformer to get visual features and a causal language model to get the text features. To use CLIP for detection, OWL-ViT removes the final token pooling layer of the vision model and attaches a lightweight classification and box head to each transformer output token. Open-vocabulary classification is enabled by replacing the fixed classification layer weights with the class-name embeddings obtained from the text model. The authors first train CLIP from scratch and fine-tune it end-to-end with the classification and box heads on standard detection datasets using a bipartite matching loss. One or multiple text queries per image can be used to perform zero-shot text-conditioned object detection.

Model Date#

June 2023

Model Type#

The model uses a CLIP backbone with a ViT-B/16 Transformer architecture as an image encoder and uses a masked self-attention Transformer as a text encoder. These encoders are trained to maximize the similarity of (image, text) pairs via a contrastive loss. The CLIP backbone is trained from scratch and fine-tuned together with the box and class prediction heads with an object detection objective.

Documents#
Use with Transformers#
import requests
from PIL import Image
import numpy as np
import torch
from transformers import AutoProcessor, Owlv2ForObjectDetection
from transformers.utils.constants import OPENAI_CLIP_MEAN, OPENAI_CLIP_STD

processor = AutoProcessor.from_pretrained("google/owlv2-base-patch16")
model = Owlv2ForObjectDetection.from_pretrained("google/owlv2-base-patch16")

url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
texts = [["a photo of a cat", "a photo of a dog"]]
inputs = processor(text=texts, images=image, return_tensors="pt")

# forward pass
with torch.no_grad():
    outputs = model(**inputs)

# Note: boxes need to be visualized on the padded, unnormalized image
# hence we'll set the target image sizes (height, width) based on that

def get_preprocessed_image(pixel_values):
    pixel_values = pixel_values.squeeze().numpy()
    unnormalized_image = (pixel_values * np.array(OPENAI_CLIP_STD)[:, None, None]) + np.array(OPENAI_CLIP_MEAN)[:, None, None]
    unnormalized_image = (unnormalized_image * 255).astype(np.uint8)
    unnormalized_image = np.moveaxis(unnormalized_image, 0, -1)
    unnormalized_image = Image.fromarray(unnormalized_image)
    return unnormalized_image

unnormalized_image = get_preprocessed_image(inputs.pixel_values)

target_sizes = torch.Tensor([unnormalized_image.size[::-1]])
# Convert outputs (bounding boxes and class logits) to final bounding boxes and scores
results = processor.post_process_object_detection(
    outputs=outputs, threshold=0.2, target_sizes=target_sizes
)

i = 0  # Retrieve predictions for the first image for the corresponding text queries
text = texts[i]
boxes, scores, labels = results[i]["boxes"], results[i]["scores"], results[i]["labels"]

for box, score, label in zip(boxes, scores, labels):
    box = [round(i, 2) for i in box.tolist()]
    print(f"Detected {text[label]} with confidence {round(score.item(), 3)} at location {box}")

Model Use#

Intended Use#

The model is intended as a research output for research communities. We hope that this model will enable researchers to better understand and explore zero-shot, text-conditioned object detection. We also hope it can be used for interdisciplinary studies of the potential impact of such models, especially in areas that commonly require identifying objects whose label is unavailable during training.

Primary intended uses#

The primary intended users of these models are AI researchers.

We primarily imagine the model will be used by researchers to better understand robustness, generalization, and other capabilities, biases, and constraints of computer vision models.

Data#

The CLIP backbone of the model was trained on publicly available image-caption data. This was done through a combination of crawling a handful of websites and using commonly-used pre-existing image datasets such as YFCC100M. A large portion of the data comes from our crawling of the internet. This means that the data is more representative of people and societies most connected to the internet. The prediction heads of OWL-ViT, along with the CLIP backbone, are fine-tuned on publicly available object detection datasets such as COCO and OpenImages.

(to be updated for v2)

BibTeX entry and citation info#
@misc{minderer2023scaling,
      title={Scaling Open-Vocabulary Object Detection}, 
      author={Matthias Minderer and Alexey Gritsenko and Neil Houlsby},
      year={2023},
      eprint={2306.09683},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Files

11 files · 1.24 GBWeights 620 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 11 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md5.51 KBe17fc19de6236e65938fb819b29906d13c643f27bdc51abdb4038998f410ec32
added_tokens.json67 Be5dc0da35d20111e8ff3fdfc03682beca23d5f94ed74331bce81786b2636a24f
config.json414 Bba9df8c25a4b8461887dd0a93d9252c9cd84697fe8d49a9d8794ce409af9acb2
merges.txt525 KB9fd691f7c8039210e0fced15865466c65820d09b63988b0174bfe25de299051a
model.safetensors620 MBc4a566429e6b2c015abacb53087bf673260486c369a84e626e9b09fe57ca316d
preprocessor_config.json425 Bcf3e396635b797ee1a464e1b2836e98748f8edac19e89aaa2c93b55ac15b0064
pytorch_model.bin620 MB56c7c1adff4a422d9ceba3fc744d8595a29a05ac4714497a9472d1ffc2e7332f
special_tokens_map.json121 Bd6e2b9cf664efbad2d22998b8d3da986abcbeed3e0825ad33605c9401f9cf73e
tokenizer_config.json1.10 KBb55cda6198e152ded427c8a9b3faf1cccf27a7fa080697a62f6ff143f511f44f
vocab.json1.06 MBe089ad92ba36837a0d31433e555c8f45fe601ab5c221d4f607ded32d9f7a4349
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
2a1560802f pinned now manifest updated, same commit2026-11-14 21:36 UTC11 files · 1.24 GB
2a1560802f2026-11-14 21:36 UTC11 files · 1.24 GB

Use it

$ fw get google/owlv2-base-patch16
# manifest sha256 80c98ef59168… · 1.24 GB · 11 files
$ fw verify ./owlv2-base-patch16 google/owlv2-base-patch16
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/google/owlv2-base-patch16.json --dir ./owlv2-base-patch16 $ python3 fw.py verify ./owlv2-base-patch16 ./google__owlv2-base-patch16.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download google/owlv2-base-patch16 --revision 2a1560802f8cf3c408fec9b809d705f56a2f7146 --local-dir ./owlv2-base-patch16

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-14
Text in
README.md
Text sha256
e17fc19de6236e65938fb819b29906d13c643f27bdc51abdb4038998f410ec32
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: google <huggingface.co/google>Newsgroups: alt.freeweights.visionSubject: owlv2-base-patch16Date: 2026-11-14Commit: 2a15608Signed: 2DC28CC7B26A283B ✓
Upstream
google/owlv2-base-patch16
Pinned commit
2a1560802f8cf3c408fec9b809d705f56a2f7146
Manifest
owlv2-base-patch16.json · .minisig
Manifest sha256
80c98ef59168a73d2219dfa86f406dfe0c13b8dd9c5f4372512ee0983d4abf10
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:36 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/google/owlv2-base-patch16.json $ curl -O https://freeweights.allternit.com/manifests/google/owlv2-base-patch16.json.minisig $ minisign -Vm owlv2-base-patch16.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

1 model in the catalog name this one as their parent.

Quantizations
1
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download google/owlv2-base-patch16
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. owlv2-base-patch16.json. Provenance. Takedown history: none.

Variants

1 quantized or adapter build of owlv2-base-patch16. Each has its own license check and page.

From: dima806 <huggingface.co/dima806>Subject: ai_vs_real_image_detection
From: legekka <huggingface.co/legekka>Subject: AI-Anime-Image-Detector-ViT
From: onnx-community <huggingface.co/onnx-community>Subject: AI-Anime-Image-Detector-ViT-ONNX
From: AICodexLab <huggingface.co/AICodexLab>Subject: answerdotai-ModernBERT-base-ai-detector
From: onnx-community <huggingface.co/onnx-community>Subject: answerdotai-ModernBERT-base-ai-detector-ONNX
From: onnx-community <huggingface.co/onnx-community>Subject: bart-large-cnn-ONNX