Spaces:
Runtime error
Runtime error
update reqs
Browse files- PIFu/apps/eval_spaces.py +1 -3
- PIFu/requirements.txt +7 -8
- app.py +23 -10
- remove_bg.py +1 -1
- requirements.txt +9 -9
PIFu/apps/eval_spaces.py
CHANGED
|
@@ -18,8 +18,6 @@ from lib.model import *
|
|
| 18 |
|
| 19 |
from PIL import Image
|
| 20 |
import torchvision.transforms as transforms
|
| 21 |
-
import glob
|
| 22 |
-
import tqdm
|
| 23 |
|
| 24 |
import trimesh
|
| 25 |
from datetime import datetime
|
|
@@ -124,7 +122,7 @@ if __name__ == '__main__':
|
|
| 124 |
time = datetime.now()
|
| 125 |
print("evaluating" , time)
|
| 126 |
data = evaluator.load_image(test_image_path, test_mask_path)
|
| 127 |
-
evaluator.eval(data,
|
| 128 |
print("done evaluating" , datetime.now() - time)
|
| 129 |
except Exception as e:
|
| 130 |
print("error:", e.args)
|
|
|
|
| 18 |
|
| 19 |
from PIL import Image
|
| 20 |
import torchvision.transforms as transforms
|
|
|
|
|
|
|
| 21 |
|
| 22 |
import trimesh
|
| 23 |
from datetime import datetime
|
|
|
|
| 122 |
time = datetime.now()
|
| 123 |
print("evaluating" , time)
|
| 124 |
data = evaluator.load_image(test_image_path, test_mask_path)
|
| 125 |
+
evaluator.eval(data, False)
|
| 126 |
print("done evaluating" , datetime.now() - time)
|
| 127 |
except Exception as e:
|
| 128 |
print("error:", e.args)
|
PIFu/requirements.txt
CHANGED
|
@@ -1,24 +1,23 @@
|
|
| 1 |
-
cudatoolkit=10.1
|
| 2 |
cycler==0.10.0
|
| 3 |
decorator==4.4.1
|
| 4 |
imageio==2.8.0
|
| 5 |
kiwisolver==1.1.0
|
| 6 |
matplotlib==3.1.3
|
| 7 |
networkx==2.4
|
| 8 |
-
numpy==1.
|
| 9 |
-
opencv-python==4.2.
|
| 10 |
pathlib==1.0.1
|
| 11 |
-
Pillow==9.
|
| 12 |
-
PyOpenGL==3.1.
|
| 13 |
pyparsing==2.4.6
|
| 14 |
python-dateutil==2.8.1
|
| 15 |
PyWavelets==1.1.1
|
| 16 |
-
scikit-image==0.
|
|
|
|
| 17 |
scipy==1.4.1
|
| 18 |
Shapely==1.7.0
|
| 19 |
six==1.14.0
|
| 20 |
torch==1.4.0
|
| 21 |
torchvision==0.5.0
|
| 22 |
-
tqdm==4.43.0
|
| 23 |
trimesh==3.5.23
|
| 24 |
-
|
|
|
|
|
|
|
| 1 |
cycler==0.10.0
|
| 2 |
decorator==4.4.1
|
| 3 |
imageio==2.8.0
|
| 4 |
kiwisolver==1.1.0
|
| 5 |
matplotlib==3.1.3
|
| 6 |
networkx==2.4
|
| 7 |
+
numpy==1.21.6
|
| 8 |
+
opencv-python==4.1.2.30
|
| 9 |
pathlib==1.0.1
|
| 10 |
+
Pillow==9.1.0
|
| 11 |
+
PyOpenGL==3.1.6
|
| 12 |
pyparsing==2.4.6
|
| 13 |
python-dateutil==2.8.1
|
| 14 |
PyWavelets==1.1.1
|
| 15 |
+
scikit-image==0.18.3
|
| 16 |
+
scikit-learn==1.0.2
|
| 17 |
scipy==1.4.1
|
| 18 |
Shapely==1.7.0
|
| 19 |
six==1.14.0
|
| 20 |
torch==1.4.0
|
| 21 |
torchvision==0.5.0
|
|
|
|
| 22 |
trimesh==3.5.23
|
| 23 |
+
tqdm==4.64.0
|
app.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
import os
|
| 2 |
-
try:
|
| 3 |
os.system("pip install --upgrade torch==1.11.0+cu113 torchvision==0.12.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html")
|
| 4 |
except Exception as e:
|
| 5 |
print(e)
|
| 6 |
-
|
| 7 |
from pydoc import describe
|
| 8 |
from huggingface_hub import hf_hub_download
|
| 9 |
import gradio as gr
|
|
@@ -12,11 +12,17 @@ import os
|
|
| 12 |
import datetime
|
| 13 |
from PIL import Image
|
| 14 |
from remove_bg import RemoveBackground
|
| 15 |
-
import torch
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
|
| 17 |
net_C = hf_hub_download("radames/PIFu-upright-standing", filename="net_C")
|
| 18 |
net_G = hf_hub_download("radames/PIFu-upright-standing", filename="net_G")
|
| 19 |
-
torch.hub.load('pytorch/vision:v0.
|
| 20 |
|
| 21 |
remove_bg = RemoveBackground()
|
| 22 |
|
|
@@ -32,11 +38,18 @@ def process(img_path):
|
|
| 32 |
base = os.path.basename(img_path)
|
| 33 |
img_name = os.path.splitext(base)[0]
|
| 34 |
print("image name", img_name)
|
| 35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
# remove background
|
| 37 |
print("Removeing background")
|
| 38 |
-
|
| 39 |
-
|
|
|
|
|
|
|
|
|
|
| 40 |
print("Aliging mask with input training image")
|
| 41 |
subprocess.Popen(["python", "./apps/crop_img.py", "--input_image",
|
| 42 |
f'./inputs/{img_name}.png', "--out_path", "./inputs"], cwd="PIFu").communicate()
|
|
@@ -84,12 +97,12 @@ The pre-trained model has the following warning:
|
|
| 84 |
iface = gr.Interface(
|
| 85 |
fn=process,
|
| 86 |
description=description,
|
| 87 |
-
inputs=gr.Image(type="filepath", label="Input"),
|
| 88 |
-
outputs=gr.Model3D(clear_color=[0.0, 0.0, 0.0, 0.0]),
|
| 89 |
examples=examples,
|
| 90 |
allow_flagging="never",
|
| 91 |
cache_examples=True
|
| 92 |
)
|
| 93 |
|
| 94 |
if __name__ == "__main__":
|
| 95 |
-
iface.launch(debug=True, enable_queue=
|
|
|
|
| 1 |
import os
|
| 2 |
+
try:
|
| 3 |
os.system("pip install --upgrade torch==1.11.0+cu113 torchvision==0.12.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html")
|
| 4 |
except Exception as e:
|
| 5 |
print(e)
|
| 6 |
+
|
| 7 |
from pydoc import describe
|
| 8 |
from huggingface_hub import hf_hub_download
|
| 9 |
import gradio as gr
|
|
|
|
| 12 |
import datetime
|
| 13 |
from PIL import Image
|
| 14 |
from remove_bg import RemoveBackground
|
| 15 |
+
import torch, torchvision, skimage
|
| 16 |
+
|
| 17 |
+
print(
|
| 18 |
+
"torch: ", torch.__version__,
|
| 19 |
+
"\ntorchvision: ",torchvision.__version__,
|
| 20 |
+
"\nskimage:", skimage.__version__
|
| 21 |
+
)
|
| 22 |
|
| 23 |
net_C = hf_hub_download("radames/PIFu-upright-standing", filename="net_C")
|
| 24 |
net_G = hf_hub_download("radames/PIFu-upright-standing", filename="net_G")
|
| 25 |
+
torch.hub.load('pytorch/vision:v0.10.0', 'deeplabv3_resnet101', pretrained=True)
|
| 26 |
|
| 27 |
remove_bg = RemoveBackground()
|
| 28 |
|
|
|
|
| 38 |
base = os.path.basename(img_path)
|
| 39 |
img_name = os.path.splitext(base)[0]
|
| 40 |
print("image name", img_name)
|
| 41 |
+
img_raw = Image.open(img_path)
|
| 42 |
+
img = img_raw.resize(
|
| 43 |
+
(800, int(800 * img_raw.size[1] / img_raw.size[0])),
|
| 44 |
+
Image.Resampling.LANCZOS)
|
| 45 |
+
|
| 46 |
# remove background
|
| 47 |
print("Removeing background")
|
| 48 |
+
try:
|
| 49 |
+
foreground = Image.fromarray(remove_bg.inference(img), 'RGBA')
|
| 50 |
+
foreground.save("./PIFu/inputs/" + img_name + ".png")
|
| 51 |
+
except Exception as e:
|
| 52 |
+
print(e)
|
| 53 |
print("Aliging mask with input training image")
|
| 54 |
subprocess.Popen(["python", "./apps/crop_img.py", "--input_image",
|
| 55 |
f'./inputs/{img_name}.png', "--out_path", "./inputs"], cwd="PIFu").communicate()
|
|
|
|
| 97 |
iface = gr.Interface(
|
| 98 |
fn=process,
|
| 99 |
description=description,
|
| 100 |
+
inputs=gr.Image(type="filepath", label="Input Image"),
|
| 101 |
+
outputs=gr.Model3D(clear_color=[0.0, 0.0, 0.0, 0.0], label="3D Model"),
|
| 102 |
examples=examples,
|
| 103 |
allow_flagging="never",
|
| 104 |
cache_examples=True
|
| 105 |
)
|
| 106 |
|
| 107 |
if __name__ == "__main__":
|
| 108 |
+
iface.launch(debug=True, enable_queue=False)
|
remove_bg.py
CHANGED
|
@@ -6,7 +6,7 @@ from torchvision import transforms
|
|
| 6 |
|
| 7 |
class RemoveBackground(object):
|
| 8 |
def __init__(self):
|
| 9 |
-
self.model = torch.hub.load('pytorch/vision:v0.
|
| 10 |
self.model.eval()
|
| 11 |
|
| 12 |
def make_transparent_foreground(self, pic, mask):
|
|
|
|
| 6 |
|
| 7 |
class RemoveBackground(object):
|
| 8 |
def __init__(self):
|
| 9 |
+
self.model = torch.hub.load('pytorch/vision:v0.10.0', 'deeplabv3_resnet101', pretrained=True)
|
| 10 |
self.model.eval()
|
| 11 |
|
| 12 |
def make_transparent_foreground(self, pic, mask):
|
requirements.txt
CHANGED
|
@@ -4,19 +4,19 @@ imageio==2.8.0
|
|
| 4 |
kiwisolver==1.1.0
|
| 5 |
matplotlib==3.1.3
|
| 6 |
networkx==2.4
|
| 7 |
-
numpy==1.
|
| 8 |
-
opencv-python==4.2.
|
| 9 |
-
Pillow==9.
|
| 10 |
-
PyOpenGL==3.1.
|
| 11 |
pyparsing==2.4.6
|
| 12 |
python-dateutil==2.8.1
|
| 13 |
PyWavelets==1.1.1
|
| 14 |
-
scikit-image
|
|
|
|
| 15 |
scipy==1.4.1
|
| 16 |
Shapely==1.7.0
|
| 17 |
six==1.14.0
|
| 18 |
-
|
|
|
|
| 19 |
trimesh==3.5.23
|
| 20 |
-
|
| 21 |
-
torch==1.11
|
| 22 |
-
torchvision==0.12.0
|
|
|
|
| 4 |
kiwisolver==1.1.0
|
| 5 |
matplotlib==3.1.3
|
| 6 |
networkx==2.4
|
| 7 |
+
numpy==1.21.6
|
| 8 |
+
opencv-python==4.1.2.30
|
| 9 |
+
Pillow==9.1.0
|
| 10 |
+
PyOpenGL==3.1.6
|
| 11 |
pyparsing==2.4.6
|
| 12 |
python-dateutil==2.8.1
|
| 13 |
PyWavelets==1.1.1
|
| 14 |
+
scikit-image==0.18.3
|
| 15 |
+
scikit-learn==1.0.2
|
| 16 |
scipy==1.4.1
|
| 17 |
Shapely==1.7.0
|
| 18 |
six==1.14.0
|
| 19 |
+
torch==1.4.0
|
| 20 |
+
torchvision==0.5.0
|
| 21 |
trimesh==3.5.23
|
| 22 |
+
tqdm==4.64.0
|
|
|
|
|
|