В июле исследователи Google из команды Brain Team поделились своими достижениями в области масштабирования изображений. Результаты своих исследований они опубликовали в блоге Google AI, посвящённом исследованиям и разработкам в области машинного обучения и искусственного интеллекта.
В статье под названием «Создание высокоточных изображений с использованием диффузионных моделей» (High Fidelity Image Generation Using Diffusion Models) продемонстрирована технология масштабирования изображений на базе диффузионных моделей.
Говоря простыми словами, Image Super-Resolution — это технология «умного» увеличения изображений. Она заключается в обучении модели превращать изображение с низким разрешением в изображение с высоким разрешением (технология RAISR была описана в блоге Google AI в 2016 году).
Если быть точным, в свежей публикации описан подход, основанный на комбинации двух алгоритмов — SR3 и CDM. Он позволяет создавать изображения высокого разрешения без заметной потери качества.
SR3 - Super-Resolution via Repeated Refinements - масштабирование через повторное уточнение.
CDM - Cascaded Diffusion Models - каскадные диффузионные модели.
Super-Resolution via Repeated Refinements
SR3 принимает на вход изображение в низком разрешении и пытается построить изображение с более высоким разрешением, добавляя в него гауссовский шум и размытие на каждом повторе. Итоговое изображение по сути содержит чистый шум. Затем идёт обратный процесс - модель постепенно удаляет шум для достижения нужного результата.
Обученная на огромном массиве данных, модель SR3 показывает хорошие результаты в задачах масштабирования в 4-8 раз изображений лиц и изображений объектов живой природы: 64x64 → 256x256 (в 4 раза) и 256x256 → 1024x1024 (в 4 раза). Объединив модели в каскад, можно масштабировать изображения до 16 раз: 64x64 → 1024x1024.
Как оценить качество работы SR3? Результаты работы модели сравнивают с результатами работы других моделей. Участвующих в эксперименте людей просят выбрать изображение, которое, по их мнению, сделано на фотокамеру (так ставится вопрос).
Участники выбирают между изображением, которое создала модель, и оригинальным изображением с камеры.
![Результаты масштабирования трёх алгоритмов (Bicubic, Regression, SR3): сверху — изображения с лицом (64x64 → 512x512), снизу — изображения животного (64x64 → 256x256). Оригинальное изображение в правом столбце. Результаты масштабирования трёх алгоритмов (Bicubic, Regression, SR3): сверху — изображения с лицом (64x64 → 512x512), снизу — изображения животного (64x64 → 256x256). Оригинальное изображение в правом столбце.](https://www.pvsm.ru/images/2021/09/04/tehnologiya-Google-povyshaet-razreshenie-izobrajenii-do-16-raz-bez-poteri-kachestva.jpeg)
Эффективность модели измеряется с помощью коэффициента путаницы (confusion rate): какой процент времени участники эксперимента выбирают результат работы модели, а не эталонное изображения (а идеальный алгоритм как раз и даёт "50-процентный коэффициент путаницы").
Результаты этого исследования показаны ниже:
![Сверху: коэффициент путаницы в задаче с изображениями лиц (16x16 → 128x128). Снизу: коэффициент путаницы в гораздо более сложной задаче — с изображениями объектов живой природы (64x64 → 256x256) Сверху: коэффициент путаницы в задаче с изображениями лиц (16x16 → 128x128). Снизу: коэффициент путаницы в гораздо более сложной задаче — с изображениями объектов живой природы (64x64 → 256x256)](https://www.pvsm.ru/images/2021/09/04/tehnologiya-Google-povyshaet-razreshenie-izobrajenii-do-16-raz-bez-poteri-kachestva-2.png)
Cascaded Diffusion Models
CDM обучена на огромном количестве изображений из базы ImageNet, которые представляют собой достаточно сложный набор данных. Именно по этой причине CDM построена как каскад нескольких моделей.
Каскадный подход представляет собой цепочку нескольких генеративных моделей, каждая из которых создаёт изображение с разным разрешением: одна диффузионная модель генерирует изображение с низким разрешением, которое обрабатывает SR3, постепенно повышая разрешение до максимально доступного.
GIF на 4,5 МБ
![Технология Google повышает разрешение изображений до 16 раз без потери качества - 3 Технология Google повышает разрешение изображений до 16 раз без потери качества - 3](https://www.pvsm.ru/images/2021/09/04/tehnologiya-Google-povyshaet-razreshenie-izobrajenii-do-16-raz-bez-poteri-kachestva-3.gif)
Масштабирование изображения с 32x32 до 256x256
О реальном внедрении или коммерческом применении информации пока что нет.
![Изображения, созданные из изображений низкого разрешения Изображения, созданные из изображений низкого разрешения](https://www.pvsm.ru/images/2021/09/04/tehnologiya-Google-povyshaet-razreshenie-izobrajenii-do-16-raz-bez-poteri-kachestva-4.jpg)
Дополнительные материалы:
-
Оригинальная статья: https://ai.googleblog.com/2021/07/high-fidelity-image-generation-using.html
-
Технология RAISR: https://ai.googleblog.com/2016/11/enhance-raisr-sharp-images-with-machine.html
-
Метод масштабирования изображений BigGAN-deep: https://paperswithcode.com/method/biggan-deep
-
Метод масштабирования изображений VQ-VAE-2: https://paperswithcode.com/method/vq-vae-2
Автор: Степан Медников