الشكل 1: رسم توضيحي لتوليد الاضطراب العدائي لحماية الصور الشخصية. |
مرحبًا بكم في المستودع الرسمي للمقالة، "التحرير بعيدًا ولن يبقى وجهي: الدفاع البيومتري الشخصي ضد التحرير التوليدي الضار".
جعلت التطورات الحديثة في نماذج الانتشار إمكانية الوصول إلى التحرير التوليدي للصور أكثر من أي وقت مضى. في حين أن هذه التطورات تسمح للمستخدمين بإنشاء تعديلات إبداعية بسهولة، فإنها تثير أيضًا مخاوف أخلاقية كبيرة، لا سيما فيما يتعلق بالتعديلات الضارة على الصور البشرية التي تهدد خصوصية الأفراد وأمن هويتهم. تركز أساليب حماية الصور ذات الأغراض العامة الحالية في المقام الأول على توليد اضطرابات عدائية لإبطال تأثيرات التحرير. ومع ذلك، غالبًا ما تظهر هذه الأساليب عدم استقرار للحماية من طلبات التحرير المتنوعة. في هذا العمل، نقدم منظورًا جديدًا لحماية الصورة البشرية الشخصية من التحرير الضار. على عكس الطرق التقليدية التي تهدف إلى منع التعديلات من أن تصبح سارية المفعول، فإن طريقتنا، FaceLock ، تعمل على تحسين الاضطرابات العدائية لضمان أن المعلومات البيومترية الأصلية --- مثل ملامح الوجه --- إما يتم إتلافها أو تغييرها بشكل كبير بعد التحرير، مما يجعل الموضوع في لا يمكن التعرف على المخرجات المعدلة من الناحية البيومترية. يدمج نهجنا بشكل مبتكر التعرف على الوجه وعوامل الإدراك البصري في عملية تحسين الاضطراب، مما يضمن حماية قوية ضد مجموعة متنوعة من محاولات التحرير. علاوة على ذلك، فإننا نلقي الضوء على العديد من المشكلات الحرجة المتعلقة بمقاييس التقييم شائعة الاستخدام في تحرير الصور ونكشف عن طرق الغش التي يمكن من خلالها التلاعب بها بسهولة، مما يؤدي إلى تقييمات خادعة للحماية. ومن خلال التجارب المكثفة، أثبتنا أن FaceLock يتفوق بشكل كبير على جميع الخطوط الأساسية في الأداء الدفاعي ضد مجموعة واسعة من التعديلات الضارة. علاوة على ذلك، تُظهر طريقتنا أيضًا متانة قوية ضد تقنيات التنقية. لا يؤدي عملنا إلى تطوير أحدث ما توصلت إليه التكنولوجيا في مجال الدفاع البيومتري فحسب، بل يضع أيضًا الأساس لممارسات أكثر أمانًا والحفاظ على الخصوصية في تحرير الصور.
نحن نقدم ملف conda env لإعداد البيئة.
كوندا إنف إنشاء -f بيئة.yml كوندا تفعيل قفل الوجه
نبدأ بتقديم الكود الخاص بتحرير الصور والدفاع عنها المطبق على صورة إدخال واحدة.
pythonedit.py --input_path=${input image 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
لعرض الحجج الأخرى لتحرير الصور
بايثون Defence.py --input_path=${input image path} --defend_method=${selected Defense 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
في عرض الحجج الأخرى للدفاع عن صورة واحدة
بعد ذلك، نقوم بتوسيع هذا لتوضيح التعليمات البرمجية للتعامل مع تحرير الصور والدفاع عنها عبر صور متعددة.
بايثون main_edit.py --src_dir=${input image dir} --edit_dir=${output image 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=${input image dir} --output_dir=${output image 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
المذكورة في الورقة.
تقييم القرص المضغوط # PSNR metricpython eval_psnr.py --clean_edit_dir=${path to the clean Edits} --defend_edit_dirs ${sequence of path to the protected Edits} --seed=${البذرة المستخدمة للتحرير والتقييم}# SSIM metricpython eval_ssim.py --clean_edit_dir=${المسار إلى التعديلات النظيفة} --defend_edit_dirs ${sequence of path to the protectededits} --seed=${البذرة المستخدمة للتحرير والتقييم على}# LPIPS metricpython eval_lpips.py --clean_edit_dir=${path to the clean Edits} --defend_edit_dirs ${sequence of المسار إلى التعديلات المحمية} --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 ${sequence of المسار إلى التعديلات المحمية} --seed=${البذرة المستخدمة للتحرير والتقييم في} [--clean_edit_dir=${المسار إلى التعديلات النظيفة}]# FR metricpython eval_facial.py --src_dir=${المسار إلى الصور المصدر} --defend_edit_dirs ${sequence of path to the protectededits} --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}، }