save
This commit is contained in:
+27
-19
@@ -1,5 +1,5 @@
|
||||
import os
|
||||
os.environ["CUDA_VISIBLE_DEVICES"] = "6"
|
||||
os.environ["CUDA_VISIBLE_DEVICES"] = "1"
|
||||
import sys
|
||||
import time
|
||||
import cv2
|
||||
@@ -128,7 +128,11 @@ def get_experiment_plots(folder, frames, experiments, skirt_mods, bodies, faces,
|
||||
frame_out = []
|
||||
id = frame.split('_')[0]
|
||||
for exp in experiments:
|
||||
garment = np.load(os.path.join(folder, exp[0] + skirt_mods[id] + '-' + exp[1], frame + '.npy'))
|
||||
path = os.path.join(folder, exp[0] + skirt_mods[id] + '-' + exp[1], frame + '.npy')
|
||||
if not os.path.exists(path):
|
||||
path = os.path.join('/home/workspace/local-data_128/results/iccv', exp[0] + skirt_mods[id] + '-' + exp[1], frame + '.npy')
|
||||
assert os.path.exists(path), path
|
||||
garment = np.load(path)
|
||||
if exp == 'abl_orient':
|
||||
garment = deorient(garment, frame, skirt_mods[id] == '_skirt')
|
||||
garment = postprocess(garment, bodies[frame], id, skirt_mods[id] == '_skirt')
|
||||
@@ -190,11 +194,11 @@ if __name__ == '__main__':
|
||||
|
||||
faces = get_faces()
|
||||
|
||||
frames = ['00079_135']
|
||||
frames = ['00079_135', '00505_23', '00688_25', '01693_128', '00408_34']
|
||||
# frames = [ '00075_4', '00475_273', '00761_295', '00793_3', '00993_220', '01134_112', '01278_108', '00718_38', '00951_34', '00962_60','01065_38','01191_83','01240_168']
|
||||
# rand_frames = [frame.split('.')[0] for frame in os.listdir('/home/workspace/data/dataset/test_ready/pose_shape')]
|
||||
# random.shuffle(rand_frames)
|
||||
# rand_frames = rand_frames[:25]
|
||||
rand_frames = [frame.split('.')[0] for frame in os.listdir('/home/workspace/data/dataset/test_ready/pose_shape')]
|
||||
random.shuffle(rand_frames)
|
||||
rand_frames = rand_frames[:25]
|
||||
# frames.extend(rand_frames)
|
||||
# rand_frames = [frame.split('.')[0] for frame in os.listdir('/home/workspace/data/dataset/test_skirt_ready_2/pose_shape')]
|
||||
# random.shuffle(rand_frames)
|
||||
@@ -207,34 +211,38 @@ if __name__ == '__main__':
|
||||
cameras = {frame: camera_1 for frame in frames}
|
||||
|
||||
# abl_all replace abl_norm maybe
|
||||
experiments = [['iccv_pyr_32', '335000'], ['iccv_pyr_32_skin', '330000'], ['iccv_pyr_32_curv', '155000'], ['iccv_pyr_32_reg', '150000']] # , 'pyra_32_res'
|
||||
# experiments = [['iccv_pyr_32_64_128_256_512', '120000'], ['iccv_pyr_32_64_128_256_512_curv', '80000'], ['iccv_pyr_32_64_128_256_512_skin', '115000'], ['iccv_pyr_32_64_128_256_512_reg', '75000']] # , 'pyra_32_res'
|
||||
# experiments = [['iccv_pyr_32_64_128_256_512', '120000'], ['iccv_pyr_32_64_128_256_curv', '80000'], ['iccv_pyr_32_64_128_256_skin', '145000'], ['iccv_pyr_32_64_128_256_reg', '35000']] # , 'pyra_32_res'
|
||||
# experiments = [['iccv_pyr_32_64_128_256_512', '120000'], ['iccv_pyr_32_64_128_curv', '20000'], ['iccv_pyr_32_64_128_skin_2', '20000'], ['iccv_pyr_32_64_128_reg_2', '80000']] # , 'pyra_32_res'
|
||||
experiments = [['abl_all_3', '130000']] # , 'pyra_32_res'
|
||||
skirt_mods = { frame.split('_')[0]: ('_skirt' if os.path.exists('/home/workspace/data/dataset/test_skirt_ready_2/pose_shape/' + frame + '.npy') else '') for frame in frames }
|
||||
|
||||
bodies = get_bodies(frames, skirt_mods)
|
||||
# gts = get_gt_image(frames, bodies, faces, cameras, skirt_mods)
|
||||
gts = get_gt_meshes(frames, bodies, faces, cameras, skirt_mods)
|
||||
|
||||
results_folder_base = '/home/workspace/data/results/iccv/'
|
||||
|
||||
output_folder = os.path.join(results_folder_base, 'ablation_plots')
|
||||
output_folder = os.path.join('examples/ablation/img_3')
|
||||
output_folder_stl = os.path.join('examples/ablation/stl_3')
|
||||
os.makedirs(output_folder, exist_ok=True)
|
||||
os.makedirs(output_folder_stl, exist_ok=True)
|
||||
|
||||
# gts_img = get_gt_image(frames, bodies, faces, cameras, skirt_mods)
|
||||
# images = get_experiment_plots(results_folder_base, frames, experiments, skirt_mods, bodies, faces, cameras)
|
||||
# rows = [np.concatenate((gt, exp), axis=1) for gt, exp in zip(gts_img, images)]
|
||||
# for frame, row in zip(frames, rows):
|
||||
# custom_imshow(row).write_image(os.path.join(output_folder, frame + '_ablation.png'))
|
||||
|
||||
gts = get_gt_meshes(frames, bodies, faces, cameras, skirt_mods)
|
||||
meshes = get_experiment_meshes(results_folder_base, frames, experiments, skirt_mods, bodies, faces, cameras)
|
||||
for mesh, frame in zip(meshes, frames):
|
||||
for exp, (garment, body, faces) in zip(experiments, mesh):
|
||||
save_stl(f'examples/{frame}_{exp[0]}_garment.stl', garment, faces)
|
||||
save_stl(f'examples/{frame}_{exp[0]}_body.stl', body, F)
|
||||
|
||||
save_stl(f'{output_folder_stl}/{frame}_{exp[0]}_garment.stl', garment, faces)
|
||||
save_stl(f'{output_folder_stl}/{frame}_{exp[0]}_body.stl', body, F)
|
||||
for mesh, frame in zip(gts, frames):
|
||||
garment, body, faces = mesh
|
||||
save_stl(f'examples/{frame}_gt_garment.stl', garment, faces)
|
||||
save_stl(f'examples/{frame}_gt_body.stl', body, F)
|
||||
save_stl(f'{output_folder_stl}/{frame}_gt_garment.stl', garment, faces)
|
||||
save_stl(f'{output_folder_stl}/{frame}_gt_body.stl', body, F)
|
||||
|
||||
# rows = [np.concatenate((gt, exp), axis=1) for gt, exp in zip(gts, images)]
|
||||
|
||||
# for frame, row in zip(frames, rows):
|
||||
# custom_imshow(row).write_image(os.path.join(output_folder, frame + '_ablation.png'))
|
||||
|
||||
# final = np.concatenate(rows, axis=0)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user