1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/open-mmlab-mmgeneration

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
applications.md 6.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 07:34 ccb7da8

Интерполяция

Генеративная модель в архитектуре GAN обучается сопоставлять точки скрытого пространства сгенерированным изображениям. Скрытое пространство не имеет значения, кроме того, которое придаётся ему через генеративную модель. Как правило, мы хотим исследовать структуру скрытого пространства. Одна из вещей, которую мы можем сделать, — это интерполировать последовательность точек между двумя конечными точками в скрытом пространстве и посмотреть на результаты, которые дают эти точки. (Например, мы считаем, что признаки, отсутствующие в любой конечной точке, появляются в середине пути линейной интерполяции, это признак того, что скрытое пространство запутано и факторы вариации не разделены должным образом.)

Действительно, мы предоставили пользователям сценарий приложения. Вы можете использовать apps/interpolate_sample.py со следующими командами для интерполяции безусловных моделей:

python apps/interpolate_sample.py \
    ${CONFIG_FILE} \
    ${CHECKPOINT} \
    [--show-mode ${SHOW_MODE}] \
    [--endpoint ${ENDPOINT}] \
    [--interval ${INTERVAL}] \
    [--space ${SPACE}] \
    [--samples-path ${SAMPLES_PATH}] \
    [--batch-size ${BATCH_SIZE}] \

Здесь мы предоставляем два вида show-mode, sequence и group. В режиме sequence мы сначала выбираем последовательность конечных точек, затем интерполируем точки между двумя конечными точками по порядку, сгенерированные изображения будут сохранены индивидуально. В режиме group мы выбираем несколько пар конечных точек, а затем интерполируем точки между двумя конечными точками пары, сгенерированные изображения будут сохранены в одном изображении. Более того, space относится к пространству скрытых кодов, вы можете выбрать «z» или «w» (особенно это касается пространства стилей в серии StyleGAN), endpoint указывает количество конечных точек, которые вы хотите выбрать (в режиме group должно быть установлено чётное число), interval означает количество точек (включая конечные точки), которые вы интерполируете между двумя конечными точками.

Обратите внимание, что также предлагаются более персонализированные аргументы для настройки процедуры интерполяции. Пожалуйста, используйте python apps/interpolate_sample.py --help, чтобы узнать больше деталей.

Как и в описанном выше подходе, вы можете использовать apps/conditional_interpolate.py со следующими командами для интерполяции условных моделей:

python apps/conditional_interpolate.py \
    ${CONFIG_FILE} \
    ${CHECKPOINT} \
    [--show-mode ${SHOW_MODE}] \
    [--endpoint ${ENDPOINT}] \
    [--interval ${INTERVAL}] \
    [--embedding-name ${EMBEDDING_NAME}]
    [--fix-z] \
    [--fix-y] \
    [--samples-path ${SAMPLES_PATH}] \
    [--batch-size ${BATCH_SIZE}] \

Здесь, в отличие от безусловных моделей, вам нужно предоставить имя слоя встраивания, если вложение метки совместно используется среди conv_blocks. В противном случае вы можете установить для embedding-name значение «NULL». Учитывая, что условные модели имеют шум и метку в качестве входных данных, мы предлагаем fix-z для фиксации шума и fix-y для фиксации метки при выполнении интерполяции изображений.

Проекция

Инверсия синтезирующей сети g представляет собой интересную задачу, которая имеет множество применений. Например, манипулирование данным изображением в пространстве скрытых признаков требует сначала найти соответствующий скрытый код. Обычно вы можете реконструировать целевое изображение, оптимизируя скрытый вектор, используя lpips и пиксельную потерю в качестве целевой функции.

Действительно, мы предоставили сценарий приложения, чтобы пользователи могли найти соответствующий скрытый вектор w синтезирующей сети StyleGAN для заданных изображений. Вы можете использовать apps/stylegan_projector.py со следующими командами:

python apps/stylegan_projector.py \
    ${CONFIG_FILE} \
    ${CHECKPOINT} \
    ${FILES}
    [--results-path ${RESULTS_PATH}]

Здесь FILES относятся к пути изображений, а проекционные скрытые и восстановленные изображения будут сохранены в results-path. Обратите внимание, что также предоставляются более персонализированные аргументы для настройки вашей проекции.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/open-mmlab-mmgeneration.git
git@api.gitlife.ru:oschina-mirror/open-mmlab-mmgeneration.git
oschina-mirror
open-mmlab-mmgeneration
open-mmlab-mmgeneration
master