bypass disk
Browse files
app.py
CHANGED
@@ -1,8 +1,10 @@
|
|
1 |
from fawkes.protection import Fawkes
|
2 |
from fawkes.utils import Faces, reverse_process_cloaked
|
3 |
from fawkes.differentiator import FawkesMaskGeneration
|
|
|
4 |
import numpy as np
|
5 |
import gradio as gr
|
|
|
6 |
# import os
|
7 |
|
8 |
IMG_SIZE = 112
|
@@ -16,7 +18,9 @@ def predict(img, level, th=0.04, sd=1e7, lr=10, max_step=500, batch_size=1, form
|
|
16 |
separate_target=True, debug=False, no_align=False, exp="", maximize=True,
|
17 |
save_last_on_failed=True):
|
18 |
|
19 |
-
|
|
|
|
|
20 |
fwks = Fawkes("extractor_2", '0', 1, mode=level)
|
21 |
|
22 |
current_param = "-".join([str(x) for x in [fwks.th, sd, fwks.lr, fwks.max_step, batch_size, format,
|
@@ -25,8 +29,7 @@ def predict(img, level, th=0.04, sd=1e7, lr=10, max_step=500, batch_size=1, form
|
|
25 |
original_images = faces.cropped_faces
|
26 |
|
27 |
if len(original_images) == 0:
|
28 |
-
|
29 |
-
return 2
|
30 |
original_images = np.array(original_images)
|
31 |
|
32 |
if current_param != fwks.protector_param:
|
@@ -58,7 +61,9 @@ def predict(img, level, th=0.04, sd=1e7, lr=10, max_step=500, batch_size=1, form
|
|
58 |
reverse_process_cloaked(protected_images, preprocess=PREPROCESS),
|
59 |
reverse_process_cloaked(original_images, preprocess=PREPROCESS))
|
60 |
|
61 |
-
|
|
|
|
|
62 |
print("Done!")
|
63 |
|
64 |
|
@@ -67,6 +72,6 @@ def predict(img, level, th=0.04, sd=1e7, lr=10, max_step=500, batch_size=1, form
|
|
67 |
# print(os.listdir('/tmp'))
|
68 |
return splt[0] + "_cloaked.jpeg"
|
69 |
|
70 |
-
gr.Interface(fn=predict, inputs=[gr.components.Image(type='
|
71 |
gr.components.Radio(["low", "mid", "high"], label="``Protection Level")],
|
72 |
-
outputs=gr.components.Image(type="
|
|
|
1 |
from fawkes.protection import Fawkes
|
2 |
from fawkes.utils import Faces, reverse_process_cloaked
|
3 |
from fawkes.differentiator import FawkesMaskGeneration
|
4 |
+
from keras.preprocessing import image
|
5 |
import numpy as np
|
6 |
import gradio as gr
|
7 |
+
from PIL import ExifTags
|
8 |
# import os
|
9 |
|
10 |
IMG_SIZE = 112
|
|
|
18 |
separate_target=True, debug=False, no_align=False, exp="", maximize=True,
|
19 |
save_last_on_failed=True):
|
20 |
|
21 |
+
img = img.convert('RGB')
|
22 |
+
img = image.img_to_array(img)
|
23 |
+
|
24 |
fwks = Fawkes("extractor_2", '0', 1, mode=level)
|
25 |
|
26 |
current_param = "-".join([str(x) for x in [fwks.th, sd, fwks.lr, fwks.max_step, batch_size, format,
|
|
|
29 |
original_images = faces.cropped_faces
|
30 |
|
31 |
if len(original_images) == 0:
|
32 |
+
raise Exception("No face detected. ")
|
|
|
33 |
original_images = np.array(original_images)
|
34 |
|
35 |
if current_param != fwks.protector_param:
|
|
|
61 |
reverse_process_cloaked(protected_images, preprocess=PREPROCESS),
|
62 |
reverse_process_cloaked(original_images, preprocess=PREPROCESS))
|
63 |
|
64 |
+
# print(final_images)
|
65 |
+
|
66 |
+
return final_images[-1].astype(np.uint8)
|
67 |
print("Done!")
|
68 |
|
69 |
|
|
|
72 |
# print(os.listdir('/tmp'))
|
73 |
return splt[0] + "_cloaked.jpeg"
|
74 |
|
75 |
+
gr.Interface(fn=predict, inputs=[gr.components.Image(type='pil'),
|
76 |
gr.components.Radio(["low", "mid", "high"], label="``Protection Level")],
|
77 |
+
outputs=gr.components.Image(type="numpy"), allow_flagging="never").launch(show_error=True, quiet=False)
|