feat: 更新人脸编辑和风格防护迁移的超参数和启动脚本

pull/22/head
Ryan 5 months ago
parent 97425b620d
commit e98d13fb30

@ -0,0 +1,57 @@
#需要环境conda activate pid
### Generate images protected by PID
export HF_HUB_OFFLINE=1
# 强制使用本地模型缓存,避免联网下载模型
### SD v2.1
# export HF_HOME="/root/autodl-tmp/huggingface_cache"
# export MODEL_PATH="stabilityai/stable-diffusion-2-1"
### SD v1.5
# export HF_HOME="/root/autodl-tmp/huggingface_cache"
# export MODEL_PATH="runwayml/stable-diffusion-v1-5"
export MODEL_PATH="../../static/hf_models/hub/models--runwayml--stable-diffusion-v1-5/snapshots/451f4fe16113bff5a5d2269ed5ad43b0592e9a14"
export TASKNAME="task001"
### Data to be protected
export INSTANCE_DIR="../../static/originals/${TASKNAME}"
### Path to save the protected data
export OUTPUT_DIR="../../static/perturbed/${TASKNAME}"
# ------------------------- 自动创建依赖路径 -------------------------
echo "Creating required directories..."
mkdir -p "$INSTANCE_DIR"
mkdir -p "$OUTPUT_DIR"
echo "Directories created successfully."
# ------------------------- 训练前清空 OUTPUT_DIR -------------------------
echo "Clearing output directory: $OUTPUT_DIR"
# 确保目录存在,避免清理命令失败
mkdir -p "$OUTPUT_DIR"
# 查找并删除目录下的所有文件和子目录(但不删除 . 或 ..
find "$OUTPUT_DIR" -mindepth 1 -delete
### Generation command
# --max_train_steps: Optimizaiton steps
# --attack_type: target loss to update, choices=['var', 'mean', 'KL', 'add-log', 'latent_vector', 'add'],
# Please refer to the file content for more usage
CUDA_VISIBLE_DEVICES=0 python ../algorithms/pid.py \
--pretrained_model_name_or_path=$MODEL_PATH \
--instance_data_dir=$INSTANCE_DIR \
--output_dir=$OUTPUT_DIR \
--resolution=512 \
--max_train_steps=2000 \
--center_crop \
--eps 10 \
--step_size 0.002 \
--save_every 200 \
--attack_type add-log \
--seed 0 \
--dataloader_num_workers 2

@ -0,0 +1,91 @@
#!/bin/bash
#=============================================================================
# Glaze 风格保护攻击脚本
# 用于保护艺术作品免受 AI 模型的风格模仿
#=============================================================================
### ===================== 环境配置 ===================== ###
export HF_HUB_OFFLINE=1
# 强制使用本地模型缓存,避免联网下载模型
export PYTHONWARNINGS="ignore"
# 忽略所有警告
export CUDA_LAUNCH_BLOCKING=0
# CUDA 异步执行
### ===================== 模型路径 ===================== ###
# Stable Diffusion v1.5 模型路径
export MODEL_PATH="../../static/hf_models/hub/models--runwayml--stable-diffusion-v1-5/snapshots/451f4fe16113bff5a5d2269ed5ad43b0592e9a14"
### ===================== 任务配置 ===================== ###
export TASKNAME="task003"
# 待保护的原始图像目录
export INSTANCE_DIR="../../static/originals/${TASKNAME}"
# 保护后图像的输出目录
export OUTPUT_DIR="../../static/perturbed/${TASKNAME}"
### ===================== 创建必要目录 ===================== ###
echo "=============================================="
echo " 艺术风格保护"
echo "=============================================="
echo ""
echo "创建必要目录..."
mkdir -p "$INSTANCE_DIR"
mkdir -p "$OUTPUT_DIR"
echo "目录创建完成。"
echo ""
### ===================== 清空输出目录 ===================== ###
echo "清空输出目录: $OUTPUT_DIR"
find "$OUTPUT_DIR" -mindepth 1 -delete 2>/dev/null || true
echo "输出目录已清空。"
echo ""
### ===================== 显示配置 ===================== ###
echo "当前配置:"
echo " - 模型路径: $MODEL_PATH"
echo " - 输入目录: $INSTANCE_DIR"
echo " - 输出目录: $OUTPUT_DIR"
echo " - 任务名称: $TASKNAME"
echo ""
# 目标风格 (target_style) 固定可选: Glaze 会将图像的 AI 特征向此风格偏移
# - "impressionism painting by van gogh" (默认,梵高印象派)
# - "abstract art by kandinsky" (康定斯基抽象艺术)
# - "cubism painting by picasso" (毕加索立体主义)
# - "oil painting in baroque style" (巴洛克风格油画)
### ===================== 运行 Glaze ===================== ###
echo "开始风格迁移保护..."
echo ""
CUDA_VISIBLE_DEVICES=0 python ../algorithms/glaze.py \
--pretrained_model_name_or_path=$MODEL_PATH \
--instance_data_dir=$INSTANCE_DIR \
--output_dir=$OUTPUT_DIR \
--resolution=512 \
--center_crop \
--max_train_steps=150 \
--eps=0.04 \
--target_style="impressionism painting by van gogh" \
--style_strength=0.75 \
--n_runs=3 \
--style_transfer_iter=15 \
--guidance_scale=7.5 \
--seed=42
echo ""
echo "=============================================="
echo " 艺术风格防护处理完成!"
echo " 输出保存至: $OUTPUT_DIR"
echo "=============================================="
Loading…
Cancel
Save