# parse arguments parser = argparse.ArgumentParser() parser.add_argument('--num', type=int, default=150, help='data_num') parser.add_argument('--tgt', type=str, required=True, help='recon or syn') opt = parser.parse_args() set_name = "recon" assert opt.tgt in ["j", "a", "s", "hmr"], \ "tgt must be in in [j, a, s, hmr]" data_num = int(opt.num) error_list = [] iou_list = [] error_list_visi = [] my_renderer = SMPLRenderer(face_path="../predef/smpl_faces.npy") hf_list = get_hf_list() tr = trange(data_num, desc='Bar desc', leave=True) for i in tr: # read results and gt mesh mesh_gt = om.read_trimesh("./eval_data/%s_set/gt/%03d.obj" % (set_name, i)) mesh_tgt = om.read_trimesh("./eval_data/%s_set/pred_save/%s_%03d.obj" \ % (set_name, opt.tgt, i)) verts_gt = mesh_gt.points() verts_tgt = mesh_tgt.points() # pick visible verts _, visi_gt = render_depth(mesh_gt, require_visi=True) _, visi_tgt = render_depth(mesh_tgt, require_visi=True)
# parse arguments parser = argparse.ArgumentParser() parser.add_argument('--num', type=int, required=True, help='data_num') parser.add_argument('--set', type=str, required=True, help='recon or syn') opt = parser.parse_args() assert opt.set in ["recon", "syn"], \ "set must be one of [recon, syn]" data_num = int(opt.num) pdt_j = joint_predictor("../demo/pretrained_model/pretrained_joint.pth") pdt_a = anchor_predictor("../demo/pretrained_model/pretrained_anchor.pth") renderer = SMPLRenderer(face_path="../predef/smpl_faces.npy") faces = np.load("../predef/smpl_faces.npy") # make verts for joint deform with open('../predef/mesh_joint_list.pkl', 'rb') as fp: item_dic = pickle.load(fp) point_list = item_dic["point_list"] index_map = item_dic["index_map"] # make verts for anchor deform with open('../predef/dsa_achr.pkl', 'rb') as fp: dic_achr = pickle.load(fp) achr_id = dic_achr['achr_id'] achr_num = len(achr_id)
from mesh_edit import fast_deform_dja from mesh_edit import fast_deform_dsa from renderer import SMPLRenderer from utility import sil_iou from utility import show_img_arr from utility import center_crop from utility import get_anchor_posi from utility import get_joint_posi pdt_j = joint_predictor("../demo/pretrained_model/pretrained_joint.pth") pdt_a = anchor_predictor("../demo/pretrained_model/pretrained_anchor.pth") dataset = dataloader_pred(dataset_path="./eval_data/wild_set/", train=False, shuffle=False) my_renderer = SMPLRenderer(face_path="../predef/smpl_faces.npy") sta_num = 2699 # make verts for joint deform with open('../predef/mesh_joint_list.pkl', 'rb') as fp: item_dic = pickle.load(fp) point_list = item_dic["point_list"] index_map = item_dic["index_map"] # make verts for anchor deform with open('../predef/dsa_achr.pkl', 'rb') as fp: dic_achr = pickle.load(fp) achr_id = dic_achr['achr_id'] achr_num = len(achr_id) ori_iou_list = []
if opt.crop_x != -1: if len(opt.crop_x) != 2: print("ERROR: crop_x must be a list with 2 elements") crop_img = crop_img[:, opt.crop_x[0]:-opt.crop_x[1]] if opt.crop_y != -1: if len(opt.crop_y) != 2: print("ERROR: crop_y must be a list with 2 elements") crop_img = crop_img[opt.crop_y[0]:-opt.crop_y[1], :] if opt.pad>0: crop_img = pad_arr(crop_img, 50) std_img, proc_para = preproc_img(crop_img, img_size = 224, margin = 30, normalize = True) # initialize hmr_pred = hmr_predictor() renderer = SMPLRenderer() faces = np.load("../predef/smpl_faces.npy") # hmr predict verts, cam, proc_para, std_img = hmr_pred.predict(std_img, normalize=False) # build output folder if not exist if not os.path.exists(opt.outf): os.makedirs(opt.outf) # write results result_mesh = make_trimesh(verts, faces) om.write_mesh(opt.outf + "hmr_mesh.obj", result_mesh) final_img = ((std_img.copy()+1)*127).astype(np.uint8) PIL.Image.fromarray(final_img).save(opt.outf + "std_img.jpg")