Интерполяция
Генеративная модель в архитектуре 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 )