그림 1: 개인 이미지를 보호하기 위한 적대적 섭동 생성을 보여줍니다. |
Edit Away and My Face Will Not Stay: 악성 생성 편집에 대한 개인 생체 인식 방어 논문의 공식 저장소에 오신 것을 환영합니다.
최근 확산 모델의 발전으로 인해 생성적 이미지 편집이 그 어느 때보다 쉬워졌습니다. 이러한 개발을 통해 사용자는 쉽게 창의적인 편집을 생성할 수 있지만 특히 개인의 개인 정보 보호 및 신원 보안을 위협하는 인물 사진에 대한 악의적인 편집과 관련하여 심각한 윤리적 우려가 제기됩니다. 기존의 범용 이미지 보호 방법은 주로 편집 효과를 무효화하기 위해 적대적인 섭동을 생성하는 데 중점을 둡니다. 그러나 이러한 접근 방식은 다양한 편집 요청을 방지하기에는 불안정한 경우가 많습니다. 이 작업에서는 악의적인 편집으로부터 개인 인물 사진을 보호하는 새로운 관점을 소개합니다. 편집 내용이 적용되는 것을 방지하는 것을 목표로 하는 기존 방법과 달리, 우리 방법인 FaceLock 은 적대적인 섭동을 최적화하여 얼굴 특징과 같은 원본 생체 인식 정보가 편집 후 파괴되거나 실질적으로 변경되도록 보장하여 대상을 편집된 출력은 생체 인식이 불가능합니다. 우리의 접근 방식은 얼굴 인식 및 시각적 인식 요소를 섭동 최적화 프로세스에 혁신적으로 통합하여 다양한 편집 시도에 대해 강력한 보호를 보장합니다. 게다가 우리는 이미지 편집에서 일반적으로 사용되는 평가 지표를 통해 몇 가지 중요한 문제를 조명하고 이를 쉽게 조작할 수 있는 부정 행위 방법을 공개하여 기만적인 보호 평가로 이어집니다. 광범위한 실험을 통해 우리는 FaceLock이 광범위한 악성 편집에 대한 방어 성능의 모든 기준을 훨씬 능가한다는 것을 입증했습니다. 또한, 우리의 방법은 정제 기술에 대해 강력한 견고성을 나타냅니다. 우리의 작업은 생체인식 방어 분야의 최첨단 기술을 발전시킬 뿐만 아니라 이미지 편집에서 보다 안전하고 개인 정보를 보호하는 방식의 기반을 마련합니다.
환경 설정을 위한 conda env 파일을 제공합니다.
conda env create -f 환경.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 평가# 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={편집을 하면 내 얼굴이 유지되지 않습니다: 악의적인 생성 편집에 대한 개인 생체 인식 방어}, 저자={Hanhui Wang, Yihua Zhang, Ruizheng Bai, Yue Zhao, Sijia Liu, Zhengzhong Tu}, 저널={arXiv preprint arXiv:2411.16832}, }