
[ICCV 2025] अनधिकृत व्यक्तिगत छवि निर्माण हेतु छेड़छाड़-रोधी सुरक्षा
ICCV 2025 पेपर के लिए आधिकारिक कोड
📄 अनधिकृत व्यक्तिगत छवि निर्माण के लिए एंटी-टैम्पर सुरक्षा
conda create --name ATP --file requirements.txt
conda activate ATP
CelebA-HQ और VGGFace2 डेटासेट डाउनलोड करें। डेटासेट के लिंक CelebA-HQ, VGGFace2 से मिल सकते हैं। प्राधिकरण मॉडल प्रशिक्षण के लिए, FFHQ भी डाउनलोड किया जाना चाहिए
प्राधिकरण मॉडल वेट्स और मार्गदर्शक मास्क डाउनलोड करें
configs/authorization.yaml में weights पथ और configs/protection.yaml में mask पथ सेट करें
चलाएँ
python perturb.py --device cuda:0 --input_dir path_to_cleanData --output_dir path_to_perturbedData --method CAAT --input-mask path_to_mask
हम CAAT को ATP के साथ एकीकृत करने की अनुशंसा करते हैं, जो जनरेशन दक्षता और सुरक्षा प्रदर्शन में अच्छा संतुलन प्राप्त करता है। लेकिन हम MetaCloak, Anti-DreamBooth और AdvDM को एकीकृत करने के लिए भी कोड प्रदान करते हैं।
output_dir/
├── Authorized/ # Authorized images
| ├ {id}/ # Authorized images separated by id
| ├ Authorization_messages/ # Authorization messages for each image
└── ATP_{method}/ # Protected Images by ATP+{method}
├ {id}/ # ATP Perturbed images separated by id
configs/verification.yaml में weights पथ सेट करें
✅ शुद्धिकरण के बिना: चलाएँ
cd authorization
python verify.py --message_dir path_to_authorization_messages --input_dir path_to_atp_protected_image --method CAAT
cd authorization
python verify.py --message_dir path_to_authorization_messages --input_dir path_to_atp_protected_image --method CAAT --noise-args 2 --noise-type Resize
cd authorization
python verify.py --message_dir path_to_authorization_messages --input_dir path_to_atp_protected_image --method CAAT --noise-args 70 --noise-type JPEG
cd authorization
python verify.py --message_dir path_to_authorization_messages --input_dir path_to_atp_protected_image --method GridPure
उदाहरण आउटपुट:
Average Bit-Error: 0.44984375 Unauthorized image Ratio: 1.0 Pass Verification Identity Num: 0
"Pass Verification Identity Num" का उपयोग Protect Success Rate (PSR) की गणना के लिए किया जा सकता है। जब शुद्धिकरण होता है और पहचान सत्यापन पास नहीं कर पाती है, तो हम इसे एक सफल सुरक्षा मानते हैं।
यदि छवियाँ सत्यापन पास कर लेती हैं, तो उनका उपयोग जनरेशन के लिए किया जा सकता है।
cd generation
python generate.py --input_dir path_to_image_for_generation --method CAAT --device cuda:0
परिणाम "DREAMBOOTH" निर्देशिका में सहेजे जाते हैं।
यद्यपि हमारे प्रयोगों में शुद्धिकृत छवियाँ सत्यापन पास करने में पूर्ण रूप से विफल रहने के कारण जनरेशन के लिए उपयोग नहीं की गईं, फिर भी हम तुलना सक्षम करने के लिए बेसलाइन एल्गोरिदम का कोड शामिल करते हैं।
JPEG और Resize के लिए, चलाएँ:
cd generation
python generate.py --input_dir path_to_image_for_generation --method CAAT --device cuda:0 --purification naive
GridPure के लिए, आपको पहले GridPure चलाना होगा, फिर शुद्धिकृत छवियों का उपयोग करके चलाएँ:
cd generation
python generate.py --input_dir path_to_image_for_generation --method CAAT --device cuda:0 --purification gridpure
./configs/metrics.yaml में परिभाषित सेटिंग्स को संशोधित करें। आपको मूल्यांकन की जाने वाली छवि का पथ (instance_dir), मूल्यांकन परिणाम रिकॉर्ड फ़ाइल को संग्रहीत करने के लिए निर्देशिका का पथ (output_dir), जनरेशन के लिए उपयोग किया जाने वाला प्रॉम्प्ट और ID एम्बेडिंग पथ(id_emb_path) परिभाषित करना होगा।
url से LIQE.pt डाउनलोड करें। इसे ./metrics/LIQE/checkpoints में रखें
cd metrics
python eval_dir.py --dataset CelebA-HQ --method CAAT
मूल्यांकन परिणाम output_dir में सहेजा जाएगा, जिसे आप metrics.yaml में परिभाषित करते हैं
python show.py --path evaluation_results
उदाहरण आउटपुट:
CLIP-IQAC LIQE ISM FDFR PSR
-0.176525 1.033371 0.489084 0.406250 0.859375
(eval_dir.py कोड की लाइन 67 से लाइन 68 (टिप्पणीबद्ध) को संशोधित करके, आप नैव (naive) परिवर्तन से प्राप्त शुद्धिकृत जनरेशन परिणाम का भी मूल्यांकन कर सकते हैं।)
आप अपना स्वयं का प्राधिकरण मॉडल भी प्रशिक्षित कर सकते हैं।
./configs/authorization.yaml में सेटिंग्स संशोधित करें
cd authorization
bash scripts/train.sh
इस परियोजना को निर्मित करने के लिए, हमने इनसे कोड उधार लिए: LIQE, GridPure, ANTIDB, METACLOAK, CAAT, HiDDeN, BasicSR.
उनके उत्कृष्ट कार्य के लिए धन्यवाद!
📌 यदि आपको यह परियोजना आपके शोध में उपयोगी लगे, तो कृपया हमारे पेपर को उद्धृत करने पर विचार करें।
© 2025 इलिनोइस विश्वविद्यालय के न्यासी बोर्ड। सर्वाधिकार सुरक्षित।
| तर्क | विवरण | उदाहरण |
|---|
--device | मॉडल को किस GPU पर चलाना है यह तय करें | cuda:0, cuda:1 |
--input_dir | स्वच्छ इनपुट छवियों का पथ | ./data/clean/ |
--output_dir | संशोधित छवियों को सहेजने का पथ | ./data/perturbed/ |
--method | सुरक्षा संशोधन विधि | CAAT, ANTIDB, ADVDM,METACLOAK |
--input-mask | मास्क का पथ | ./mask/050_mask.pt |
| तर्क | विवरण | उदाहरण |
|---|
--message_dir_dir | प्राधिकरण संदेश निर्देशिका का पथ | ./data/Authorization_messages |
--input_dir | सत्यापन हेतु छवियों का पथ | ./data/perturbed/ |
--method | सुरक्षा संशोधन विधि | CAAT, ANTIDB, ADVDM,METACLOAK |
--noise-args | सुरक्षा संशोधन विधि | 2, 50 |
--noise-type | सुरक्षा संशोधन विधि | JPEG, Resize |
| तर्क | विवरण | उदाहरण |
|---|
--dataset | मूल्यांकन हेतु डेटासेट | CelebA-HQ, VGGFace2 |
--method | सुरक्षा संशोधन विधि | CAAT, ANTIDB, ADVDM,METACLOAK |