| README.md | ||
🎬 Проект генерации видео — Обзор статуса и метрики
📌 Введение
Этот документ фиксирует текущее состояние пайплайна генерации видео, последние обновления и принятую систему оценки качества.
Цель — иметь единый источник правды о том, что уже готово, как мы измеряем результат и какие выводы делаем по последним сгенерированным кадрам.
🚀 Последние обновления
-
Проведён аудит проекта
Выполнен обзор существующих наработок команды по генерации видео. Основные выводы и план действий зафиксированы ниже. -
Выбрана основная метрика
После анализа нескольких вариантов в качестве ключевого показателя качества утверждён CLIP-score. -
Структурирован README
Вся разрозненная информация сведена в этот документ, который будет поддерживаться в актуальном состоянии.
💻 Текущее состояние кода
| Компонент | Статус | Примечания |
|---|---|---|
| Основной пайплайн генерации | ✅ Работает стабильно | Инференс проходит без ошибок, возможны небольшие доработки. |
| Управление конфигурациями | ⚠️ В процессе | Переход на единый YAML-конфиг для повторяемости экспериментов. |
| Скрипты для оценки метрик | ✅ Добавлены | Интегрирован расчет CLIP-score, вывод как по семплам, так и агрегированный. |
| Документация | ✅ Обновлена | Данный файл заменяет заметки в чатах, актуализирован. |
⚡ Ближайшие шаги
- Прогнать полную оценку по метрике на свежей партии генераций.
- Задокументировать гиперпараметры и зерна (seeds) для каждого запуска.
- Встроить логирование метрик прямо в пайплайн генерации.
📏 Метрика оценки: CLIP-score
Для количественной оценки соответствия сгенерированного изображения (или кадра видео) текстовому описанию мы используем CLIP-score.
- Что измеряет: Косинусное сходство между эмбеддингами CLIP для текста (промпта) и визуального контента.
- Почему выбрана именно она:
- Хорошо коррелирует с человеческой оценкой релевантности «текст–картинка».
- Не требует эталонного изображения (reference-free).
- Является общепринятым стандартом в сообществе.
- Источник: Learning Transferable Visual Models From Natural Language Supervision (Radford et al.)
Детали реализации
# Псевдокод расчета CLIP-score
from transformers import CLIPProcessor, CLIPModel
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
inputs = processor(text=prompt, images=image, return_tensors="pt", padding=True)
outputs = model(**inputs)
score = outputs.logits_per_image.softmax(dim=1).item() # или чистое косинусное сходство