/ Модель

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

Архитектура
vision-encoder-decoder · dense
Библиотека
transformers
Опубликована
18 янв 2023

vit-rugpt2-image-captioning

Описание изображенийИзображение → текст3 профессии

Модель на архитектуре VisionEncoderDecoder генерирует русскоязычные подписи к изображениям.

19скачиваний за 30 дней13лайковвеса обновлены26 янв 2023

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Распознавание текста» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

tuman/vit-rugpt2-image-captioning — модель описания изображений на русском языке, разработанная автором репозитория tuman. Она обучена на русских переводах датасета COCO2014 и использует архитектуру VisionEncoderDecoder: визуальный энкодер и языковой декодер.

Модель предназначена для генерации текстовой подписи к изображению. Энкодер инициализирован из google/vit-base-patch16-224-in21k, декодер — из sberbank-ai/rugpt3large_based_on_gpt2. В карточке приведены результаты на тестовых данных: BLEU 8,672 и BLEU precision 1 — 30,567. Для запуска автор предлагает библиотеку Transformers и pipeline image-to-text.

Подходит для автоматического составления кратких русскоязычных описаний изображений, в том числе в сценариях, связанных с коллекцией COCO. Метрики указывают на ограниченное качество описаний; данных о более широких тестах и поддержке других языков в карточке нет. Лицензия в предоставленных сведениях не указана.

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

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

Ограничения

В тестах на COCO2014 указаны BLEU 8,672 и BLEU precision 1 — 30,567, что следует учитывать при оценке качества описаний. Поддержка других языков и лицензия в доступных сведениях не подтверждены.

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

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

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

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

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

Открыть на Hugging Face

First image captioning model for russian language vit-rugpt2-image-captioning

This is an image captioning model trained on translated version (en-ru) of dataset COCO2014.

Model Details

Model was initialized google/vit-base-patch16-224-in21k for encoder and sberbank-ai/rugpt3large_based_on_gpt2 for decoder.

Metrics on test data

  • Bleu: 8.672
  • Bleu precision 1: 30.567
  • Bleu precision 2: 7.895
  • Bleu precision 3: 3.261

Sample running code


from transformers import VisionEncoderDecoderModel, ViTFeatureExtractor, AutoTokenizer
import torch
from PIL import Image

model = VisionEncoderDecoderModel.from_pretrained("vit-rugpt2-image-captioning")
feature_extractor = ViTFeatureExtractor.from_pretrained("vit-rugpt2-image-captioning")
tokenizer = AutoTokenizer.from_pretrained("vit-rugpt2-image-captioning")

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)

max_length = 16
num_beams = 4
gen_kwargs = {"max_length": max_length, "num_beams": num_beams}

def predict_caption(image_paths):
  images = []
  for image_path in image_paths:
    i_image = Image.open(image_path)
    if i_image.mode != "RGB":
      i_image = i_image.convert(mode="RGB")

    images.append(i_image)

  pixel_values = feature_extractor(images=images, return_tensors="pt").pixel_values
  pixel_values = pixel_values.to(device)

  output_ids = model.generate(pixel_values, **gen_kwargs)

  preds = tokenizer.batch_decode(output_ids, skip_special_tokens=True)
  preds = [pred.strip() for pred in preds]
  return preds

predict_caption(['train2014/COCO_train2014_000000295442.jpg']) # ['Самолет на взлетно-посадочной полосе аэропорта.']

Sample running code using transformers pipeline


from transformers import pipeline

image_to_text = pipeline("image-to-text", model="vit-rugpt2-image-captioning")

image_to_text("train2014/COCO_train2014_000000296754.jpg") # [{'generated_text': 'Человек идет по улице с зонтом.'}]

Contact for any help

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

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

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
VisionEncoderDecoderModel
Ревизия весов
a5cf023

0 моделей