Приветствую всех читающих!
Меня зовут Антон Антонов, я инженер — исследователь, работаю в Институте искусственного интеллекта AIRI в команде FusionBrain.Robotics, мы занимаемся Embodied AI — областью, связывающей робототехнику, компьютерное зрение и большие языковые модели.
Недавно наша группа получила приятное известие: нашу статью с описанием модели того, как люди кликают и тапают на картинки, приняли на грядущий NeurIPS! Она будет полезна, чтобы тестировать модели интерактивной сегментации, которые помогают автоматизировать и ускорить процесс разметки изображений человеком.
Ниже я хотел бы подробнее рассказать о нашей разработке.
От волшебной палочки до трансформеров
Помните тот момент, когда Photoshop впервые появился на наших компьютерах? Среди множества его инструментов была одна по‑настоящему «магическая» функция — «волшебная палочка». Одним кликом мыши можно было выделить целый объект или фон, что казалось настоящим чудом по сравнению с утомительным ручным выделением.
Принцип работы этого инструмента был прост: программа находила похожие по цвету и тону пиксели рядом с местом клика и объединяла их в фигуру. Это существенно ускоряло работу, хотя результат не всегда был идеальным, особенно на сложных изображениях.
Сегодня эта технология эволюционировала в то, что мы называем интерактивной сегментацией — выделение объектов на фото или видео при минимальном участии человека. Представьте себе умного помощника, которому достаточно пары кликов, чтобы понять, какой именно объект вы хотите выделить. Он анализирует не только цвет, но и форму, текстуру, контекст — всё, что помогает точно определить границы объекта.
Ныне на решение этой задачи брошены самые разные типы архитектур, например, свёрточные сети или трансформеры. Но насколько хорошо современные алгоритмы понимают реальные намерения пользователей? Именно на этот вопрос мы даём ответ в исследовании.
Сделай SAM
В 2023 году компания Meta [признана экстремистской организацией, деятельность запрещена на территории России] представила революционный метод Segment Anything Model (SAM), который поднял интерактивную сегментацию на новый уровень. SAM и подобные ей системы сегодня используются везде: от обработки медицинских снимков до создания спецэффектов в видео.
Однако у разработчиков подобных систем есть серьёзная проблема. Чтобы улучшать алгоритмы и правильно их тестировать, нужно понимать, как реальные люди с ними взаимодействуют. И там не всё так просто.
Скажем, когда пользователь кликает на человека, алгоритм немного ошибается и не захватывает голову с рукой. В этот момент пользователю приходится делать второй клик. Раньше предполагалось, что пользователь всегда кликает в центр самой большой области ошибки, мы далее будем называть это базовой стратегией. На этом предположении строилась основная процедура тестирования.
Но в нескольких работах уже было показано, что человек не робот — он не высчитывает математически идеальную точку для клика. Его внимание и действия зависят от множества факторов: от того, что привлекает его взгляд, от удобства выполнения действия, от того, как он понимает задачу и много ещё от чего.
Мы провели масштабное исследование, чтобы узнать, как люди на самом деле взаимодействуют с методами интерактивной сегментации, когда хотят выбрать объект. Собрав датасет более 475 000 реальных кликов от множества пользователей, мы создали модель, которая может предсказывать вероятность клика в каждую часть цели или, как у нас говорят, объекта интереса. Это позволило нам разработать новый способ тестирования методов интерактивной сегментации, который намного лучше отражает реальное использование технологии людьми.
Взаимодействие с системами интерактивной сегментации
Прежде чем рассказать о наших находках, давайте разберемся, как вообще пользователи могут взаимодействовать с системами интерактивной сегментации.
Существует несколько способов такого взаимодействия. Можно нарисовать прямоугольник вокруг объекта, провести линию через него, обвести контуром или даже описать объект словами. Самый простой и интуитивный способ — это клик мышкой (или тап по смартфону). Именно на нем мы и сосредоточили наше внимание.
Прежде, чем двигаться дальше, нужно рассказать про предсказание салиенси (или, если более по‑русски, салентности) — задачу определить, какие части изображения или видео привлекут наибольшее внимание человека при первом взгляде. Например, представьте фотографию улицы, где есть люди, машины, вывески магазинов. По предсказанию салиентности мы увидим, что яркая вывеска магазина или человек в красной куртке привлекут внимание быстрее, чем серая стена здания на заднем плане.
Обычно данные для этой задачи собираются с помощью трекеров взгляда, фиксирующих движения глаз. Однако проведение таких экспериментов является сложным и дорогостоящим процессом. Поэтому некоторые исследователи предложили трекать движения мыши, так как это упрощает масштабирование экспериментов.
Но в контексте интерактивной сегментации такой подход не применим. В задачах предсказания внимания наблюдатели свободно просматривают изображение, тогда как в нашей задаче пользователь целенаправленно взаимодействует с объектом, который хочет выделить. Тем не менее, способы сбора данных, используемые в предсказании салиентности, оказали влияние и на наше исследование.
Датасет
Вооружившись таким инструментом, мы создали уникальный датасет из реальных кликов пользователей для задач интерактивной сегментации под названием RClicks. Объединив классические датасеты, такие как GrabCut, Berkeley, DAVIS, COCO‑MVal и TETRIS, мы собрали более 475 000 кликов от пользователей.
Чтобы собрать датасет, мы разработали специальный веб‑интерфейс для сбора данных и использовали его в Яндекс Заданиях (это, кто не знает, такая краудсорсинговая платформа). В каждом задании пользователям показывалось изображение и соответствующая маска сегментации, после чего снова показывалось изображение и их просили кликнуть на целевой объект.
Изначально мы показывали белую маску на черном фоне, чтобы указать объект интереса. Но достаточно быстро мы заметили, что люди наводят на центр этой белой маски и не учитывают окружающий контекст и саму текстуру объекта. Так мы поняли, что интерфейс может приводить к смещению в распределении кликов.
Поэтому мы провели исследование, чтобы выбрать наиболее естественный способ взаимодействия. Мы протестировали несколько режимов отображения задач:
-
Text Description: пользователям предлагалось текстовое описание целевого объекта.
-
Object CutOut: показывался сам объект на сером фоне в его исходном положении.
-
Shifted CutOut: объект отображался на сером фоне, но сдвигался в угол экрана.
-
Silhouette Mask: демонстрировалась черно‑белая маска объекта в его исходном положении.
-
Highlighted Instance: на оригинальном изображении объект выделялся цветной рамкой.
В начале исследования мы предположили, что самый несмещенный способ показа изображения соответствует тому, как люди представляют в голове то, что хотят выделить. Ближе всего к этому Text Description. Но мы не можем так размечать все примеры, потому что на втором клике бывает трудно объяснить текстом, где ошибочно выделилось, а где нет, а также когда на изображении много похожих объектов. Так что мы решили найти наиболее «близкий» к Text Description способ показа — им оказался Object CutOut.
С применением Object CutOut мы собрали клики пользователей как на компьютерах, так и на мобильных устройствах. Для повышения достоверности данных мы ввели проверки: например, учитывались только те клики, которые попадали в пределы объекта или были не дальше определенного расстояния от его границы.
Но на этом мы не закончили. При использовании инструментов интерактивной сегментации на практике пользователям часто приходится корректировать ошибки первого раунда взаимодействия. Поэтому мы смоделировали последующие раунды, используя современные методы интерактивной сегментации — SAM, SimpleClick и RITM. Мы применяли эти методы к изображениям и кликам первого раунда, получали маски с определенными ошибками и просили пользователей кликнуть в области этих ошибок для их исправления.
В итоге мы собрали масштабный датасет, который включает в себя не только первые клики, но и их действия по корректировке первого клика. После его сбора мы решили создать модель, которая будет предсказывать нам эти клики. Это нужно, например, на данных, для которых нет собранных кликов, а модели интерактивной сегментации протестировать на них очень хочется.
Симуляция кликов и модель кликабельности
Итак, имея данные человеческих кликов, мы задались вопросом, как можно их просимулировать. Помните, до этого мы упоминали задачу предсказания салиенси? Раз можно предсказать карту внимания человека по изображению, то, решили мы, можно предсказать и то, куда человек будет кликать, зная изображение и маску объекта интереса.
Аналогично задаче предсказания салиенси, мы формулируем задачу моделирования кликов пользователя как вероятностную задачу. Основные особенности модели:
-
Исходные данные: на вход подается оригинальное изображение, маска целевого объекта и маска ошибок сегментации (где предыдущий результат оказался неверным).
-
Предсказание: модель выдает вероятность того, что пользователь кликнет в каждую конкретную точку изображения.
-
Архитектура: мы использовали современную архитектуру SegNeXt, которая хорошо зарекомендовала себя в задачах сегментации.
На следующем рисунке вы можете увидеть полную архитектуру нашей модели:
Создание датасета для обучения
Нам нужно было определить, как правильно использовать собранные клики для обучения нашей модели. Тут нам пригодились специальные карты кликабельности, которые показывают вероятность клика в каждой точке изображения. Процесс создания таких карт включает несколько шагов:
-
Инициализация карты: создаем изначальную карту с нулевыми значениями.
-
Добавление кликов: в местах, где пользователь сделал клик, увеличиваем значение карты до единицы.
-
Сглаживание: применяем гауссово размытие к карте.
-
Учет маски ошибок: умножаем значения карты, полученные на предыдущем шаге, на сглаженную маску ошибок, чтобы сосредоточить внимание на областях, требующих коррекции.
-
Нормализация: делим каждое значение карты на сумму всех значений.
Таким образом, каждая карта кликабельности отражает не только вероятные позиции кликов, но и учитывает контекст ошибок сегментации.
Сравнение с бейзлайнами
С самого начала нам нужны были модели, с которыми мы сможем сравнить наш метод. На роль бейзлайнов мы выбрали три метода:
-
Равномерное распределение на объекте интереса (uniform distribution). Модель предполагает, что вероятность клика в любую точку объекта одинаковая.
-
Распределение, полученное с помощью преобразования расстояния (distance transform). Модель основывается на предположении, что пользователи чаще кликают ближе к центру объекта.
-
Предсказание салиенси по изображению (saliency map). Так как нам нужно как‑то обусловиться на объект интереса, то мы подаем на вход модели изображение объекта на сером фоне. Идея в том, что пользователь с большей вероятностью кликнет туда, куда интуитивно смотрит в первую очередь.
Далее идёт изображение с визуализацией всех моделей, включая нашу.
Следующим шагом мы сравнили предложенные базовые модели с нашей моделью, обученной на TETRIS train (части TETRIS, состоящей из пар изображение-маска), используя соответствующие метрики. Подробнее о метриках — под катом:
Скрытый текст
PDE — вероятность истинных кликов в карте кликабильности и NSS из бенчмарков saliency.
NSS — метрика оценки качества предсказания карт внимания (saliency maps). Она измеряет, насколько хорошо предсказанная карта внимания соответствует реальным точкам фиксации взгляда человека.
WD — расстояние Вассерштейна, метрика, измеряющая расстояние между двумя вероятностными распределениями.
PL1 — среднее попарное L1-расстояние между сгенерированными кликами и реальными.
KS — процент пар, где не отвергается гипотеза теста Колмогорова — Смирнова, что две группы точек порождены одним распределением.
Ниже представлен результат сравнения на TETRIS val.:
Как видите, мы тут бъём все бейзлайны с неплохим отрывом.
На рисунке ниже можно увидеть примеры предсказаний моделью кликов и плотности вероятности, а также сравнить их с реальными кликами:
В большинстве случаев клики базовой стратегии находятся близко к моде распределения пользователей (см. (b) и (e)), однако в некоторых случаях они могут находиться далеко от моды (например, (a), (d)) или не охватывать все моды распределения (например, (c), (e)).
Бенчмарк
Наконец‑то мы переходим к самой интересной части нашего повествования: как используя нашу модель кликабельности можно сделать тестирование методов интерактивной сегментации более близким к тому, как люди ведут себя в реальной жизни.
Так как наша модель возвращает плотности вероятности объекта, то мы можем ввести концепт Группы Кликов. Чтобы это сделать, мы сортируем все наши вероятности и разбиваем их на 10 групп так, что сумма каждой группы была равна 10%, но средняя вероятность в более ранних группах была ниже, чем в более поздних. Мы интерпретируем эти группы, как отражение разных стратегий и привычек пользователей при выборе точки для клика.
Мы модифицировали классический тестовый протокол для методов интерактивной сегментации с помощью замены базовой стратегии постановки клика на сэмплирование из различных групп.
Одна из классических метрик для оценки методов интерактивной сегментации Number of Clicks (NoC) позволяет оценивать время в кликах, необходимых, чтобы достигнуть 90% IoU.
Скрытый текст
Intersection over Union (IoU) или мера Жаккара оценивает пересечение истинной и предсказанной областей, приведенное к их общей площади.
На ее основе мы вводим 3 новые метрики:
1) Sample NoC
Мы заменяем базовую стратегию постановки кликов на сэмплирование из одной и той же группы каждый последующий клик. Так мы для одного инстанса получаем 10 значений для каждой группы. Потом эти 10 значений усредняем по группам, после — по инстансам. Эта метрика позволяет нам оценить, сколько средний человек потратит времени (в кликах) на выделение среднего объекта.
2) ∆SB
Эта метрика считает относительное увеличение Sample NoC относительно NoC, использующего базовую стратегию. То есть нам эта метрика интересна как метрика переобучения методов интерактивной сегментации к базовой стратегии постановки клика. Мы хотим, чтобы разницы не было, или она была минимальной.
3) ∆GR
Эта метрика считает относительное увеличение времени (в кликах) выделения объекта при сэмплировании кликов из группы G1 над группой G10. Суть этой метрики в том, насколько скорость выделения объектов будет отличаться у людей, которые принадлежат двум разным группам. В идеале мы хотим, чтобы разницы не было.
Стандартное отклонение Sample NoC, ∆SB, ∆GR можно считать метриками робастности, тогда как среднее Sample NoC можно считать метрикой эффективности.
Далее мы представляем сокращенную версию таблицы с результатами. Наверху написано название использованных датасетов. Первые 3 столбца — название метода, бэкбон метода, данные, на которых метод был обучен.
Согласно значениям Sample NoC и ∆GR, лучшее время аннотирования достигнуто SAM 2 Hiera‑H (на DAVIS), CFR‑ICL (на TETRIS) и SimpleClick ViT‑H (на COCO‑MVal). Два последних метода менее надежны по сравнению с SAM‑подобными методами, которые работают более стабильно в разных группах кликов.
Также мы использовали первые клики реальных людей для определения сложности аннотирования датасетов и отдельных инстансов. Чтобы это сделать, мы брали каждый клик, использовали его для инференса каждого метода интерактивной сегментации, который мы имеем. Замеряли среднее и стандартное отклонение IoU и считали Noise to Signal ratio (NSR) как отношение стандартного отклонения к среднему. Чем оно больше, тем нестабильнее методы ведут себя на данном конкретном инстансе. Потом усредняли NSR по датасетам: тот датасет, у которого результат усреднения самый большой, — самый сложный.
Ниже приведены примеры двух картинок с высоким NSR. Слева направо идут маски, усредненные по кликам, полученных разными методами: RITM, SimpleClick, SAM, SAM‑HQ.
Далее идет визуализация диаграммой рассеяния. Если хочется найти самые сложные инстансы (логично на них смотреть глазами, когда обучил новый метод для анализа сложных случаев), то стоит выбирать инстансы из правого нижнего угла.
Выводы
В ходе экспериментов мы сформулировали несколько важных наблюдений, который будут полезны в первую очередь разработчикам методов интерактивной сегментации:
-
Согласно ∆SB, базовая стратегия недооценивает реальное время аннотирования от 5% до 29%.
-
Затем, согласно ∆GR, время аннотирования пользователей из разных групп варьируется от 3% до 79%.
-
В настоящее время не существует метода сегментации, который был бы оптимальным с точки зрения как эффективности, так и робастности на всех датасетах. Следовательно, разработчики должны выбирать метод в соответствии со своими требованиями.
-
Согласно усредненному NSR, мы определили самый сложный для аннотации датасет — это DAVIS с NSR равным 24.15.
Как это всё можно было бы применить на практике? Во‑первых, во время обучения методов интерактивной сегментации можно использовать NSR для определения самых сложных примеров из обучающей выборки.
Кроме того, наш подход может быть использован для оценки времени (а, значит, и стоимости) разметки нового датасета. Для этого можно разметить небольшую часть данных, а затем запустить наш бенчмарк на этой подвыборке. Это позволит получить более реалистичную оценку времени, необходимое для разметки всего датасета, рассчитать требуемое количество аннотаторов, объем их работы и стоимость разметки.
Наконец, используя полученные результаты на подвыборке, можно будет выбрать оптимальных метод аннотирования для конкретного набора данных.
Впечатления
В заключении мне хотелось бы подчеркнуть несколько моментов, которые мне запомнились во время работы.
Во‑первых, было не очевидно, что модели предсказания салиенси не подойдут для симуляции кликов и будут хуже нашей модели, так как казалось, что предположение «куда притягивается взгляд, туда и кликаешь» достаточно логичное.
Во‑вторых, было очень неожиданно, когда сразу не получилось нормально собрать клики, пришлось думать, как правильно людям указывать на объект, который нужно выделить.
В‑третьих, когда мы обучили модель, надо было придумать, как её правильно использовать для тестирования методов интерактивной сегментации. Изначально не было концепта групп кликов, мы сэмплировали из всего распределения, а когда появилась концепция с группами, то мы очень опасались, что не сойдутся Sample NoC. Но они сошлись, это тоже было очень приятно, так как мы понимали, что в теории они должны сойтись, но не факт, что так было бы на практике.
В‑четвертых, идея с NSR для оценки сложности инстансов и датасетов мне очень понравилась сама по себе.
Особенно значимым достижением стало принятие нашей статьи на NeurIPS 2024 — одну из самых влиятельных конференций в области машинного обучения. Невероятно воодушевляет мысль о том, что наша модель может стать фундаментом для будущих прорывов в сегментации!
Постер для конференции
На этом я закругляюсь, всем удачного дня!
Более технически полный разбор можно прочитать в самой статье, код и данные можно найти на github.
Благодарю за помощь в написании статьи научного писателя AIRI Марата Хамадеева, а также моих коллег: Влада Шахуро, Дениса Шепелева и Андрея Москаленко.
ссылка на оригинал статьи https://habr.com/ru/articles/864602/
Добавить комментарий