DeepSeek Thinking-Visual-Primitives обзор 2026 | AiManual
AiManual Logo Ai / Manual.
30 Апр 2026 Инструмент

DeepSeek Thinking-with-Visual-Primitives: фреймворк, который заставит ИИ думать картинками

Разбираем новый фреймворк DeepSeek для визуального мышления: что такое Visual Primitives, как это работает и кому пригодится. Сравнение с аналогами, примеры код

ИИ видит, но не понимает. Пока

Вы когда-нибудь смотрели, как нейросеть "смотрит" на изображение? Она видит пиксели, паттерны, градиенты. Но понимает ли она, что это стул рядом с окном, а за окном дождь? Обычно нет. Большинство мультимодальных моделей работают как зрительная кора без префронтальной коры — распознают, но не рассуждают.

В апреле 2026 года DeepSeek выпустила фреймворк, который пытается закрыть эту дыру. Называется он Thinking-with-Visual-Primitives (давайте сократим до TVP, чтобы не сломать язык). Это не очередная модель, а целый пайплайн для превращения сырых картинок в структурированные логические цепочки. По сути — конструктор для визуального рассуждения.

⚠️ Важно: TVP — open-source, распространяется под лицензией MIT. Код лежит на GitHub, веса предобученных моделей доступны через Hugging Face. Никаких скрытых API или платных подписок.

Что за зверь — Visual Primitives?

Идея простая до безобразия: вместо того чтобы скормить нейросети сырую матрицу пикселей (512x512x3 — привет, 786 тысяч чисел), мы разбиваем изображение на семантические примитивы. Это не просто патчи, как в ViT, а осмысленные блоки: объекты, их части, отношения между ними, текстуры, формы, контуры.

Например, на фотографии тарелки с яблоком TVP выделит: apple_ellipse, plate_circle, apple_red_gradient, shadow_under_apple, table_wood_texture. Каждый примитив — это маленький графовый узел с атрибутами (цвет, положение, размер). И дальше фреймворк строит из них граф сцены, по которому уже можно рассуждать логически.

Звучит как магия? На самом деле — это элегантная компиляция идей из scene graph generation и neuro-symbolic reasoning. DeepSeek взяла лучшее из обоих миров и засунула в унифицированный пайплайн.

Как это работает? (очень краткий ликбез)

Пайплайн состоит из трёх этапов:

  1. Extractor — нейросетка (на основе EfficientNetV2 или ConvNeXt, выбор за вами) вытаскивает сырые признаки. Но не просто features, а карты семантических примитивов — специально обученный детектор-декодер.
  2. Structural Encoder — превращает эти карты в граф: узлы — примитивы, рёбра — пространственные или функциональные связи (выше, ниже, внутри, поддерживает).
  3. Reasoning Engine — скармливает граф в трансформер + графовая нейросеть (GNN), которая уже делает выводы. Например, отвечает на вопрос: "Поместится ли это яблоко в ту коробку?"

В теории эта схема позволяет модели не просто угадывать ответ по статистическим паттернам, а реально "думать" о пространстве, физике, логике. На практике — да, работает лучше, чем чистый трансформер для задач типа VL-Checklist, CLEVR, GQA.

Кстати, если вам интересно, как другие фреймворки решают похожие задачи — почитайте про DeepEyesV2, где используется аудиовизуальное внимание. Или про PEVA, который предсказывает следующий кадр через взгляд человека.

Сравнение с альтернативами: кто кого?

Фреймворк / Модель Подход Поддерживает reasoning? Графовая структура Open-source?
DeepSeek TVP Примитивы + граф Да (explicit) Да, Scene Graph Да (MIT)
CLIP + LLM (обычный пайплайн) Векторные эмбеддинги Нет (только ассоциации) Нет Да
ViT + GPT-4V Патчи + трансформер Среднее (implicit) Нет Нет (закрытые)
OFA / Unified-IO Seq2Seq Слабое Нет Да
Scene Graph Benchmark (SGB) Статический граф Только генерация графа Да Да

TVP выигрывает за счёт того, что не просто генерирует граф сцены, а сразу встраивает его в reasoning-трансформер. SGB, например, делает только граф, а дальше вы сами крутитесь. CLIP+LLM — вообще чёрный ящик. Единственный минус TVP — относительная тяжеловесность: extractor + encoder + GNN требуют приличной памяти. На RTX 4090 простые картинки летают, но для видео нужно оптимизировать.

Руки в код: быстрый старт

Установка — пара команд:

pip install deepseek-tvp
# или из сорцов:
git clone https://github.com/deepseek-ai/tvp.git && cd tvp && pip install -e .

Теперь самое вкусное — минимальный пример. Допустим, у вас есть картинка с яблоком на столе и чашкой рядом. Хотите спросить: "Что находится слева от яблока?"

from deepseek_tvp import TVPVisualThinker

thinker = TVPVisualThinker(pretrained="deepseek/tvp-small")
scene_graph = thinker.extract("table.jpg")

# Задаём вопрос в виде примитивов (или natural language)
answer = thinker.reason(scene_graph, query="object_left_of(apple)")
print(answer)  # {'cup': 0.92}

Фреймворк поддерживает и NL-вопросы через легковесный LLM-мостик (встроенный dipperLM). Но честно — с NL он пока туповат, если вопрос сложнее "что где?"
Лучше использовать встроенный DSL на основе примитивов — он и быстрее, и точнее.

💡 Совет: для продакшена используйте TVP как препроцессор для LLM. Извлекли граф -> сериализовали в JSON -> скормили GPT-4o или DeepSeek-R1 для генерации текста. Так вы снижаете галлюцинации, потому что модель не гадает, что на картинке, а читает структурированные данные.

Кому это реально нужно?

Давайте без дипломатии. TVP — не игрушка для запуска в одну строку. Он требует понимания графов, аугментаций, настройки детектора примитивов. Но если вы:

  • Исследователь в области multimodal reasoning — это best-practice реализация SOTA подхода на начало 2026. Сравнивать свои эксперименты удобно.
  • Разработчик AI-агентов для роботов — граф сцены из TVP можно напрямую скормить планировщику движений. Тот самый Screen Vision для UI — частный случай, а TVP для физического мира.
  • Создаете образовательные или диагностические системы — например, проверка чертежей, медицинских снимков с объяснением, почему вердикт такой.
  • Просто фанат DeepSeek — после загадочных утечек model1 TVP выглядит логичным дополнением: текст+видео+reasoning.

Если же вы хотите просто распознать котика на фото — возьмите любой классификатор. TVP тут — из пушки по воробьям.

Не верьте цифрам, пока не попробуете

В бенчмарках TVP набирает 88.7% на CLEVR (против 72% у базового ViT-L+GPT-4V) и 76.3% на VL-Checklist-hard. Звучит круто. Но на практике я заметил: если на картинке есть тени, блики или странный ракурс — extractor иногда теряет объекты. Дурацкая ситуация: яблоко на белом фоне с бликом — примитив "apple" не выделился, потому что декодер посчитал его частью фона. Пришлось подкручивать threshold.

Ещё нюанс: TVP пока плохо дружит с динамическими сценами (видео). Для каждого кадра нужно запускать extractor заново — это O(n) по времени. DeepSeek обещает в следующем релизе временной encoder, но пока приходится костылить через Edit Mind для выделения ключевых кадров.

🔮
Мой прогноз: через полгода-год TVP станет стандартом де-факто для визуального reasoning в open-source. Как только DeepSeek выпустит предобученные веса для видео — робототехника и multimodal AI-агенты сделают скачок. А пока берите, ковыряйте, пишите свои детекторы примитивов. Это того стоит.

Подписаться на канал