Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Visual Question Answering (VQA)

Визуальные вопросы и ответы (VQA) — это задача отвечать на вопросы на естественном языке об изображении. Как работают модели VQA, основные бенчмарки и метрики.

Визуальные вопросы и ответы (VQA) — это задача ответов на вопросы на естественном языке об изображении, например «Какого цвета автобус?», «Сколько человек ждут?» или «Включена ли плита?». Система получает изображение вместе с вопросом и выдаёт короткий ответ. Для этого ей нужно понять вопрос, найти нужные части изображения и объединить информацию, поэтому VQA служит стандартной проверкой мультимодального ИИ. Стэнслав Антол и его коллеги из Virginia Tech и Microsoft Research представили эту задачу и первый крупный набор данных для её оценки — набор данных VQA — на ICCV 2015: около 250 000 изображений, преимущественно из COCO, 760 000 вопросов с ответами в свободной форме и 10 ответов людей на каждый вопрос — всего около 10 миллионов ответов.

Как работают модели VQA#

Модель VQA кодирует изображение с помощью свёрточной нейронной сети (CNN) или vision-трансформера (ViT), кодирует вопрос языковой моделью, а затем объединяет представления. Ранние модели объединяли глобальные признаки изображения с вектором вопроса от LSTM и рассматривали ответ как классификацию по нескольким тысячам самых распространённых ответов. Затем появился механизм внимания, который позволил вопросу определять, куда смотреть: модель снизу вверх и сверху вниз Питера Андерсона и его коллег, победившая в конкурсе VQA Challenge 2017 года, обращала внимание на области, предложенные моделью обнаружения объектов. Благодаря этому на вопрос «Какого цвета автобус?» она могла сосредоточиться на рамке автобуса. Современные визуально-языковые модели (VLM) генерируют произвольные ответы с помощью языковой модели после визуальной настройки на выполнение инструкций на данных «изображение — вопрос — ответ».

Бенчмарки и проблема языкового априорного знания#

Ранние модели VQA показывали хорошие результаты отчасти потому, что игнорировали изображение. На многие вопросы можно ответить, ориентируясь только на формулировку: на вопрос, начинающийся с «Есть ли…», обычно отвечают «да», а на «Какой вид спорта…» часто отвечают «теннис». Набор данных VQA v2, представленный Яшем Гоялом и его коллегами на CVPR 2017, учитывал это языковое смещение: каждому вопросу сопоставили два похожих изображения с разными ответами, поэтому для высокого результата модели нужно анализировать изображение. Более поздние наборы данных проверяют отдельные навыки:

  • VizWiz: более 31 000 вопросов, заданных незрячими людьми о фотографиях, сделанных на телефоны; многие снимки размыты или плохо кадрированы.
  • TextVQA: вопросы, для ответа на которые нужно прочитать текст в сцене, например номер на форме или название на вывеске магазина.
  • GQA: составные вопросы, сгенерированные на основе графов сцен, например «Стакан слева от тарелки сделан из стекла?».
  • OK-VQA: вопросы, для ответа на которые нужны внешние знания, например о том, из какой страны происходит блюдо.
  • VQA-RAD: 3 515 вопросов о 315 радиологических снимках, составленных врачами в Национальной медицинской библиотеке США.

Люди по-разному формулируют правильные ответы, поэтому в бенчмарке VQA ответ оценивается по числу совпадений с ответами 10 разметчиков: три или более совпадений считаются полностью правильным ответом, а итог усредняется по всем подмножествам из девяти разметчиков:

# Ten crowd answers to "What color is the bus?", as collected for every VQA question
human_answers = ["red"] * 7 + ["red and white"] * 2 + ["orange"]


def vqa_accuracy(prediction, answers):
    """Average min(matches / 3, 1) over the ten leave-one-out subsets of nine answers."""
    scores = []
    for i in range(len(answers)):
        others = answers[:i] + answers[i + 1 :]
        scores.append(min(others.count(prediction) / 3, 1))
    return sum(scores) / len(scores)


for prediction in ["red", "red and white", "orange", "blue"]:
    print(f"{prediction}: {vqa_accuracy(prediction, human_answers):.2f}")

Для «red» выводится 1,00, для «red and white» — 0,60, для «orange» — 0,30, а для «blue» — 0,00: ответ, который дал только один разметчик, все равно получает частичный балл, а ответ, который не дал никто, не получает баллов. Результаты сообщаются отдельно для ответов «да/нет», числовых и прочих типов. Числовые вопросы неизменно получают самые низкие оценки, поскольку для подсчета нужно найти каждый экземпляр ровно один раз. Детекторы прямо отвечают на вопросы о количестве: YOLO26 возвращает бокс для каждого объекта, поэтому количество боксов «person» в результате предсказания отвечает на вопрос «Сколько людей на картинке?» для любого из 80 классов COCO. Для классов за пределами этого списка боксы могут возвращать и визуально-языковые модели, а таблица лидеров VLM измеряет точность обнаружения объектов такими моделями в реальных наборах данных.

Описание изображений характеризует всё изображение без запроса, а VQA отвечает на один конкретный вопрос. Визуальная локализация возвращает местоположение объекта, названного во фразе, часто в виде ограничивающей рамки, а VQA отвечает на вопрос об этом объекте. Оптическое распознавание символов (OCR) извлекает текст, о котором задают вопросы в задачах типа TextVQA, а визуальное рассуждение — это многоэтапный вывод, необходимый для составных вопросов, например из GQA. Текстовые системы ответов на вопросы работают с фрагментом текста, а не с пикселями.

Применение#

Самое очевидное применение — вспомогательные технологии. В 2023 году Be My Eyes добавила Be My AI на основе GPT-4 от OpenAI, чтобы незрячие пользователи и люди с нарушениями зрения могли фотографировать этикетку, экран или улицу и задавать вопросы об изображении. Специалисты в розничной торговле и производстве задают VLM вопросы по фотографиям полок или контрольным снимкам вместо обучения отдельного классификатора для каждого вопроса. В здравоохранении исследования медицинского VQA посвящены вопросам вроде «Есть ли перелом?» по рентгеновским снимкам и КТ — это форма анализа медицинских изображений, которую оценивает VQA-RAD с помощью вопросов, составленных врачами при изучении изображений.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения