Всё больше и больше набирают обороты
open-vocabulary (
OV) методы в компьютерном зрении. Это подходы, позволяющие вместо фиксированного списка категорий для классификации, детекции, сегментации,
whatever, задавать теги \ текстовые описания искомых классов. Таким образом, модели учатся понимать и сравнивать семантику текста и изображения.
Касательно простых методов, как классификация, визуально-языковые модели (
VLM), такие как CLIP, BLIP, BLIP2 и легионы других, уже давно достаточно развиты, хорошо известны и активно используются повсеместно.
Куда более сложно решить задачу OV в разрезе детекции или сегментации. Существуют различные методы и
готовые решения, свои
собственные бенчмарки и т.д.
И вот, ещё один шаг вперёд делает Google. Совсем недавно они анонсировали
RO-ViT. В кратце, когда мы тренируем VLM модель, мы учим её сравнивать признаки всего изображения с признаками из текста. Если эта модель затем будет использована для адаптации к задаче детекции, это может быть не очень хорошо: требуется работа на уровне не всего изображения, а его регионов.
Авторы этот вопрос решают через модификацию
positional embeddings - специальных элементов, которые хранят пространственную информацию о патчах, на которые изображение разбивается перед подачей в трансформер. Ну и там ещё есть нюансы, можете прочитать в оригинальном посте. Например, softmax cross entropy loss заменили на focal, что меня, как фаната, очень радует.
В итоге, конечно, показывают, что всех пересотили, даже
CoCa модель, у которой в 3 раза больше параметров.