Автор: Кирам Аль-Харба

Введение

Зрение — естественный, но крайне сложный процесс для человека. Мы не просто наблюдаем за каким-то объектом, мы смотрим на него сквозь призму наших знаний. Как научить компьютер воспринимать наш мир также? Один из способов — обучить его генеративному компьютерному зрению. Такая задача представляет собой создание реалистичных изображений и видео разных сцен и объектов. Если мы научим компьютер моделировать наш визуальный мир — он начнет понимать, как связаны эти сцены и объекты между собой, а значит, понимать мир “по-человечески”. В этой статье мы поближе познакомимся с задачей генеративного компьютерного зрения, а также узнаем, где можно ее применять и какие у нее есть перспективы.

Статья состоит из трех глав:

Концепция

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

Рассмотрим в качестве примера алгоритм, обученный различать собак и кошек. Да, он сможет отличить их между собой, но не усвоит общее представление о собаках или кошках. Если ему показать изображение лошади — он определит его как собаку просто по тому, что лошадь сильно отличается от кошек. Чрезмерная относительность в принятии решений — слабость таких алгоритмов. Люди же определяют объект как собаку, основываясь на накопленных знаниях о том, как она выглядит.

Есть более общая формулировка задачи компьютерного зрения, которая позволит научить компьютер понимать окружающий мир, — это задача генеративного компьютерного зрения. Она поможет заложить понимание структуры, закономерностей и семантики нашего визуального мира. Необходимо разработать алгоритм, способный не только генерировать новые изображения, но и определять, относится ли данное изображение к тем или иным категориям. Например, он сможет и генерировать изображения кошек и собак, и определять, относится ли фотография лошади или любого другого объекта к категориям собак или кошек. Это возможно только в том случае, если алгоритм научится понимать суть представления объектов, таких как собаки, независимо от иных объектов, кошек или любых других.

Рисунок 1. Слева: дискриминативные модели выучивают отличие одних классов картинок от других. Справа: генеративные модели выучивают вид классов в их обособленности от других классов

Рисунок 1. Слева: дискриминативные модели выучивают отличие одних классов картинок от других. Справа: генеративные модели выучивают вид классов в их обособленности от других классов

Примеры применения

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

Медицина

Одни из основных проблем применения компьютерного зрения в задачах обработки медицинских изображений — нехватка данных, высокая стоимость разметки и ограничения конфиденциальности. Например, среди данных X-ray снимков мало снимков болеющих пневмонией людей, поскольку здоровых людей больше. Следовательно, модели классификации пневмонии по ним будут работать хуже из-за дисбаланса данных. Здесь оказались полезными генеративные модели для генерации синтетических данных — они помогают бороться с таким дисбалансом данных. В статье RoentGen авторы показывают: синтетические данные, сгенерированные с помощью Stable Diffusion, улучшают на 5 % качество моделей классификации пневмонии на X-ray снимках. Отметим еще несколько статьей, где авторы пытаются улучшить качество дискриминативных моделей с помощью медицинских синтетических данных:

Рисунок 2. Примеры синтетических X-ray снимков, сгенерированных с помощью Stable Diffusion

Рисунок 2. Примеры синтетических X-ray снимков, сгенерированных с помощью Stable Diffusion