Рисунок 1: Иллюстрация генерации состязательных возмущений для защиты личных изображений. |
Добро пожаловать в официальный репозиторий статьи «Редактируйте подальше, и мое лицо не останется: личная биометрическая защита от вредоносного генеративного редактирования».
Недавние достижения в области диффузионных моделей сделали генеративное редактирование изображений более доступным, чем когда-либо. Хотя эти разработки позволяют пользователям с легкостью создавать творческие правки, они также вызывают серьезные этические проблемы, особенно в отношении злонамеренного редактирования человеческих портретов, которое угрожает конфиденциальности и безопасности личности людей. Существующие методы защиты изображений общего назначения в первую очередь направлены на создание состязательных возмущений с целью свести на нет эффекты редактирования. Однако эти подходы часто демонстрируют нестабильность из-за защиты от различных запросов на редактирование. В этой работе мы представляем новый взгляд на защиту личных человеческих портретов от злонамеренного редактирования. В отличие от традиционных методов, направленных на предотвращение вступления изменений в силу, наш метод FaceLock оптимизирует состязательные возмущения, гарантируя, что исходная биометрическая информация, такая как черты лица, будет либо уничтожена, либо существенно изменена после редактирования, визуализируя объект в отредактированный результат биометрически неузнаваем. Наш подход инновационно интегрирует факторы распознавания лиц и визуального восприятия в процесс оптимизации возмущений, обеспечивая надежную защиту от различных попыток редактирования. Кроме того, мы проливаем свет на несколько критических проблем с часто используемыми оценочными метриками при редактировании изображений и раскрываем методы мошенничества, с помощью которых ими можно легко манипулировать, что приводит к обманчивым оценкам защиты. Путем обширных экспериментов мы продемонстрировали, что FaceLock значительно превосходит все базовые показатели по эффективности защиты от широкого спектра вредоносных изменений. Более того, наш метод также демонстрирует высокую устойчивость к методам очистки. Наша работа не только развивает современные достижения в области биометрической защиты, но и закладывает основу для более безопасных и сохраняющих конфиденциальность методов редактирования изображений.
Мы предоставляем env-файл conda для настройки среды.
conda env create -f Environment.yml Конда активирует блокировку лица
Мы начнем с представления кода для редактирования и защиты изображений, примененного к одному входному изображению.
python edit.py --input_path=${путь к входному изображению} --prompt=${подсказка инструкции, используемая для редактирования изображения} [--num_inference_steps=100 --image_guidance_scale=1.5 --guidance_scale=7.5 --help]
Объяснение аргументов:
input_path
путь к редактируемому изображению
prompt
инструкцию, используемую для редактирования изображения
num_inference, image_guidance_scale, guidance_scale
используемые для управления процессом редактирования изображений
help
просмотреть другие аргументы в пользу редактирования изображений
python defend.py --input_path=${путь к входному изображению} --defend_method=${выбранный метод защиты} [--attack_budget=0.03 --step_size=0.01 --num_iters=100 --help]
Объяснение аргумента:
input_path
путь к изображению, которое нужно защитить.
defend_method
выбранный метод защиты, мы предоставляем варианты среди [encoder/vae/cw/facelock]
attack_budget, step_size, num_iters
гиперпараметры для процесса защиты
help
просмотреть другие аргументы в защиту одного изображения
Далее мы расширим это, чтобы продемонстрировать код для редактирования и защиты изображений для нескольких изображений.
python main_edit.py --src_dir=${каталог входного изображения} --edit_dir=${каталог выходного изображения} [--num_inference_steps=100 --image_guidance_scale=1.5 --guidance_scale=7.5 --help]
Объяснение аргументов:
src_dir
путь к каталогу исходных изображений, которые нужно редактировать.
edit_dir
путь к каталогу, содержащему сгенерированные отредактированные изображения.
другие аргументы аналогичны версии для редактирования одного изображения, используйте help
чтобы увидеть более подробную информацию.
python main_defend.py --image_dir=${каталог входного изображения} --output_dir=${каталог выходного изображения} --defend_method=${выбранный метод защиты} [--attack_budget=0.03 --step_size=0.01 --num_iters=100 --помощь]
Объяснение аргументов:
image_dir
путь к каталогу исходных изображений, которые необходимо защитить.
output_dir
путь к каталогу, содержащему сгенерированные защищенные изображения.
другие аргументы аналогичны версии защиты с одним изображением, используйте help
чтобы увидеть более подробную информацию.
Мы предоставляем оценочный код для расчета метрик PSNR, SSIM, LPIPS, CLIP-S, CLIP-I, FR
упомянутых в статье.
cd Assessment# PSNR metricpython eval_psnr.py --clean_edit_dir=${путь к чистым изменениям} --defend_edit_dirs ${последовательность пути к защищенным изменениям} --seed=${начальное число, используемое для редактирования и оценки}# SSIM metricpython eval_ssim.py --clean_edit_dir=${путь к чистым изменениям} --defend_edit_dirs ${последовательность пути к защищенным изменениям} --seed=${начальное число, используемое для редактирования и оценки}# LPIPS metricpython eval_lpips.py --clean_edit_dir=${путь к чистым изменениям} --defend_edit_dirs $ {последовательность пути к защищенным изменениям} --seed=${начальное число, используемое для редактирования и оценки}# CLIP-S metricpython eval_clip_s.py --src_dir=${путь к исходным изображениям} --defend_edit_dirs ${последовательность пути к защищенным изменениям} --seed=${начальное значение, используемое для редактирования и оценки} [--clean_edit_dir=$ {путь к чистым изменениям}]# CLIP-I metricpython eval_clip_i.py --src_dir=${путь к исходные изображения} --defend_edit_dirs ${последовательность пути к защищенным изменениям} --seed=${начальное значение, используемое для редактирования и оценки} [--clean_edit_dir=${путь к чистым изменениям}]# FR metricpython eval_facial .py --src_dir=${путь к исходным изображениям} --defend_edit_dirs ${последовательность пути к защищенным изменениям} --seed=${начальное значение, используемое для редактирования и оценки} [--clean_edit_dir=${путь к чистым изменениям}]
Для PSNR
, SSIM
и LPIPS
вычисления выполняются между редактированием защищенных изображений и редактированием чистых изображений. Поэтому необходимы входные данные defend_edit_dirs
и clean_edit_dir
.
Для CLIP-S
вычисление включает в себя исходное изображение, отредактированное изображение и приглашение на редактирование. Чтобы обрабатывать ваши уникальные инструкции, вы можете изменить utils.py
. Для этого требуется дополнительный ввод для каталога исходного изображения src_dir
. Если указан clean_edit_dir
, результаты CLIP-S
также будут рассчитаны для редактирования незащищенных изображений.
Для CLIP-I
и FR
вычисления используют исходное изображение и отредактированное изображение с теми же входными настройками, что и CLIP-S
.
Если вы найдете этот репозиторий полезным для ваших исследований, пожалуйста, рассмотрите возможность цитирования нашей работы:
@article{wang2024editawayfacestay, title={Отредактируйте, и мое лицо не останется: личная биометрическая защита от вредоносного генеративного редактирования}, автор = {Ханьхуэй Ван и Ихуа Чжан и Жуйчжэн Бай и Юэ Чжао и Сидзя Лю и Чжэнчжун Ту}, журнал = {препринт arXiv arXiv:2411.16832}, }