making ready for skirts
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
# check if upscaler is better then filling
|
||||
import os
|
||||
|
||||
from models.upscaler import UpscalerBasic as Upscaler
|
||||
os.environ["CUDA_VISIBLE_DEVICES"] = "3"
|
||||
|
||||
import tqdm
|
||||
import numpy as np
|
||||
import plotly.graph_objects as go
|
||||
|
||||
from custom_utils.custom_utils import UV2Mesh, _maskFaces, load_model
|
||||
# from custom_utils.custom_utils import UV2Mesh, maskFacesBatch, _maskFaces
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# folder = '/home/workspace/data/dataset/skirt_test'
|
||||
folder = '/home/workspace/data/dataset/train_skirt_25_2'
|
||||
mask = np.load('custom_utils/mask_256x512_skirt.npy')
|
||||
F = np.load("custom_utils/smpl_faces_skirt.npy")
|
||||
uv2mesh = UV2Mesh(res=256, is_skirt=True)
|
||||
res = 32
|
||||
res_modifier = '_' + str(res)
|
||||
|
||||
|
||||
ids = os.listdir(os.path.join(folder))
|
||||
visited = set()
|
||||
meshes = []
|
||||
count = 0
|
||||
|
||||
for id in tqdm.tqdm(ids):
|
||||
garment_dir = os.path.join(folder, id)
|
||||
|
||||
if not os.path.isdir(garment_dir):
|
||||
continue
|
||||
|
||||
# if os.path.exists(os.path.join(folder, id, 'gt_uv')):
|
||||
# continue
|
||||
|
||||
garments = [f.replace('.pc16','') for f in os.listdir(garment_dir) if f.find('_') == -1 and f != 'info.mat' and not f.endswith('.obj')]
|
||||
# assert len (garments) == 1
|
||||
if len (garments) != 1:
|
||||
continue
|
||||
garment = garments[0]
|
||||
|
||||
# id, frame_nr = frame.split('_')
|
||||
# frame_nr = frame_nr.split('.')[0]
|
||||
frame_nr = '0'
|
||||
print(id)
|
||||
uv_unposed_no_shape = np.load(os.path.join(folder, id, 'uv_unposed_no_shape', garment + '_' + frame_nr + '.npz')); uv_unposed_no_shape = uv_unposed_no_shape['uv_unposed_no_shape']
|
||||
# uv_posed = np.load(os.path.join(folder, id, 'gt_uv', garment + '_' + frame_nr + '.npz')); uv_posed = uv_posed['uv_gt']
|
||||
mesh_mask = np.load(os.path.join(folder, id, garment + '_mask.npy'))
|
||||
uv_mask = np.load(os.path.join(folder, id, 'mask_uv.npy'))
|
||||
|
||||
# body_posed_uv = np.load(os.path.join(folder, id, 'body_posed_uv', garment + '_' + frame_nr + '.npz'))
|
||||
# body_posed_uv = body_posed_uv['uv_body']
|
||||
|
||||
mesh = uv2mesh(uv_unposed_no_shape[np.newaxis,:,:,:]).numpy()[0]
|
||||
# mesh = uv2mesh(body_posed_uv[np.newaxis,:,:,:]).numpy()[0]
|
||||
|
||||
mesh, faces = _maskFaces(mesh, F, mesh_mask)
|
||||
# faces = F
|
||||
x = mesh
|
||||
meshes = [go.Mesh3d(
|
||||
x=x[:,0],
|
||||
y=x[:,2],
|
||||
z=x[:,1],
|
||||
i = faces[:,0],
|
||||
j = faces[:,1],
|
||||
k = faces[:,2]
|
||||
),]
|
||||
|
||||
fig = go.Figure(data=meshes)
|
||||
fig.update_layout(scene_aspectmode='manual', scene_aspectratio=dict(x=1, y=1, z=1))
|
||||
fig.update_layout(
|
||||
scene = dict(
|
||||
xaxis = dict(nticks=4, range=[-1,1],),
|
||||
yaxis = dict(nticks=4, range=[-1,1],),
|
||||
zaxis = dict(nticks=4, range=[-1,1],),)
|
||||
)
|
||||
|
||||
fig.show()
|
||||
|
||||
print()
|
||||
Reference in New Issue
Block a user