/ Модель

Характеристики

Лицензия
OpenRAIL
Базовая модель
CLIP-ViT-B-32-256x256-DataComp-s34B-b86K
Библиотека
cinemaclip
Опубликована
12 авг 2026

CinemaCLIP

Классификация изображений без дообученияИзображение, текст → label3 профессии

CinemaCLIP — дообученная CLIP-модель для классификации кинематографических свойств кадров и сопоставления изображений с текстовыми описаниями.

55скачиваний за 30 дней0лайковвеса обновлены12 авг 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

CinemaCLIP — специализированная модель на основе CLIP ViT-B/32 с разрешением 256×256, созданная для анализа визуального языка кино на уровне отдельных кадров. Она дообучена на базе laion/CLIP-ViT-B-32-256x256-DataComp-s34B-b86K и включает 23 классификационные головы, разработанные для кинематографической таксономии. Модель предназначена для классификации кадров и поиска сходства между изображением и текстом в задачах, связанных с кино и кинематографией.

Модель принимает изображения; для режима zero-shot также используется текстовый энкодер. Классификационные выходы объединены в вектор из 101 вероятности и охватывают одиночные, многометочные и бинарные категории. Доступны веса safetensors, а также варианты ONNX и CoreML для кроссплатформенного и локального вывода. README предупреждает, что демонстрационный метод predict_image служит справочным примером и не оптимизирован для производственного использования. Лицензия — OpenRAIL.

Сценарии применения

  • классификация визуальных характеристик кадра фильма
  • анализ композиции и освещения кинематографического кадра
  • поиск кадров по текстовому описанию
  • сопоставление кадров и кинематографических понятий
  • локальный анализ изображений на устройствах Apple через CoreML

Ограничения

Демонстрационный метод predict_image предназначен прежде всего как справочный пример и не оптимизирован для производственного использования. Классификационные категории и выходы привязаны к поставляемой схеме CinemaNet.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

CinemaCLIP-1.0.0

CinemaCLIP is a ViT-B-32-256 fine-tune specialized for understanding the visual language of cinema at a frame level. It is a hybrid CLIP model with 23 classifier heads that represent a comprehensive taxonomy built with domain experts. For more info, see our launch blog post.

This repository ships three serialized forms of the same model:

  • Torch (model.safetensors) — load via the cinemaclip Python package.
  • CoreML (ImageEncoder.mlmodel, ImageEncoder.mlpackage and TextEncoder.mlpackage) — for on-device Apple Neural Engine inference.
  • ONNX (ImageEncoder.onnx, TextEncoder.onnx, plus _fp16 variants) — for cross-platform inference.

Install

pip install cinemaclip            # core
pip install "cinemaclip[coreml]"  # CoreML export/inference
pip install "cinemaclip[onnx]"    # ONNX export/inference

Usage (PyTorch)

from PIL import Image
from cinemaclip import CinemaCLIP

model = CinemaCLIP.from_pretrained("OZU-Technology/CinemaCLIP").eval()

# End-to-end classification on a PIL image
image = Image.open("still.jpg").convert("RGB")
predictions = model.predict_image(image)
predictions["classifier_preds"]  # Classifier predictions
predictions["clip_image_embedding"]

# Just the image embedding
x = model.preprocess(image).unsqueeze(0)
image_embedding = model.encode_image(x, normalize=True)   # [1, 512]

# Just the text embedding
tokens = model.tokenizer(["a medium closeup of "])
text_embedding = model.encode_text(tokens, normalize=True)  # [1, 512]

The CinemaCLIP.predict_image method is demonstrative for how to get post-processed classifier outputs from the model. It is not super efficient or production ready, and must be treated as a reference above all else.

Usage (CoreML)

import coremltools as ct
from PIL import Image

img_encoder = ct.models.MLModel("ImageEncoder.mlpackage")
# Input must be 256x256 RGB, resized with BICUBIC for parity with the released torch outputs.
img = Image.open("still.jpg").convert("RGB").resize((256, 256), Image.Resampling.BICUBIC)
out = img_encoder.predict({"Image": img})
embedding = out["clip_image_embedding"]    # [512]
probabilities = out["probabilities"]       # [101] — concat of 23 per-category outputs

# TODO
text_encoder = ct.models.MLModel("TextEncoder.mlpackage")

Usage (ONNX)

from PIL import Image
from onnxruntime import InferenceSession
from torchvision import transforms as T

img = Image.open("still.jpg").convert("RGB")
preprocess = T.Compose([
    T.Resize((256, 256), interpolation=T.InterpolationMode.BICUBIC),
    T.ToTensor(),   # yields float tensor in [0, 1] — no mean/std normalization
])
x = preprocess(img).unsqueeze(0).numpy()

session = InferenceSession("ImageEncoder.onnx", providers=["CPUExecutionProvider"])
emb, probs = session.run(None, {"Image": x})

Output structure

probabilities is a flat [101] vector — the concatenation of all 23 classifier heads' post-activation outputs. Label names and positions are in the shipped CinemaNetSchema.json:

import json
schema = json.load(open("CinemaNetSchema.json"))
label_names = schema["probabilities_labels"]  # len == 101

The classifier heads are a mix of 3 types of classifiers:

  • Single label (softmax activation)
  • Multi label (sigmoid activation)
  • Binary (sigmoid activation)

Evaluation

CinemaCLIP outperforms not only the largest existing CLIP models (up to 28x larger), but also leading VLMs in cinematic understanding tasks (we benchmarked against the leading 4B VLMs).

Two inference modes are reported for CinemaCLIP:

  • Classifier — the shipped supervised heads on the CinemaCLIP image embedding.
  • 0-shot — zero-shot text/image similarity using CinemaCLIP's own text encoder.
CategoryCinemaCLIP 0-shotCinemaCLIP ClassifierQwen3.5-4BGemma4-4BInternVL3.5-4BMolmo2-4BDFN ViT-H-14MetaCLIP PE-bigGOpenAI ViT-L-14MobileCLIP-S1DFN ViT-L-14SigLIP2 SO400MSigLIP2 ViT-gopt
Mean83.287.757.656.755.355.345.945.244.844.239.038.736.5
Color Contrast89.387.433.735.333.735.334.033.149.438.737.157.725.2
Color Key86.895.778.178.180.364.358.250.253.259.448.322.852.6
Color Saturation83.084.366.565.472.145.955.161.858.135.846.833.331.8
Color Theory75.373.354.051.750.748.754.751.750.747.347.731.331.7
Color Tones87.389.350.262.670.662.158.550.252.055.747.224.017.7
Lighting Cast81.287.838.353.339.835.725.429.328.835.722.837.818.2
Lighting Contrast91.693.229.839.138.746.135.335.532.639.039.448.437.6
Lighting Edge80.493.622.838.831.240.422.431.641.634.021.226.025.6
Lighting Silhouette88.292.080.963.048.948.866.667.167.458.443.546.278.9
Shot Angle79.584.441.949.233.249.928.013.719.019.625.921.317.2
Shot Composition94.097.046.054.555.760.527.824.321.322.025.231.411.4
Shot Dutch Angle67.673.662.265.146.749.327.344.538.456.625.947.668.7
Shot Focus59.171.819.926.626.325.132.931.224.431.337.348.212.6
Shot Framing83.182.338.029.640.134.633.624.923.523.933.07.39.8
Shot Height89.292.838.137.441.253.037.633.728.924.033.629.623.9
Shot Lens Size73.376.749.628.043.646.632.128.034.530.125.730.117.6
Shot Location86.592.981.082.281.579.273.068.468.075.666.165.046.7
Shot Symmetry87.891.090.286.776.080.276.678.054.039.324.946.082.4
Shot Time of Day75.787.675.166.170.770.768.169.660.373.771.248.542.7
Shot Type80.786.781.361.257.057.452.840.436.535.756.746.529.7
Shot Type - Crowd96.999.197.288.294.394.855.969.168.677.237.352.469.3
Shot Type - OTS94.196.492.585.083.987.653.257.073.960.342.150.551.2

The shot.lighting.direction head ships in the classifier heads but has been excluded from the table above being a multi-label classifier.

Citation

@misc{cinemaclip2026,
  title        = {CinemaCLIP: A hybrid CLIP model and taxonomy for the visual language of cinema},
  author       = {Somani, Rahul and Marini, Anton and Stewart, Damian},
  year         = {2026},
  publisher    = {Hugging Face},
  doi          = {10.57967/hf/8539},
  howpublished = {\url{https://huggingface.co/OZU-Technology/CinemaCLIP}},
  note         = {Model weights and taxonomy}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · cinemaclip · zero-shot-image-classification

Нельзя запустить

Архитектура ? неизвестна transformers в образе рантайма.

Ревизия весов
bbbc921

0 моделей