import gradio as gr import numpy as np from PIFuHD.data import EvalWMetaDataset from PIFuHD.data.ImageBundle import ImageBundle from PIFuHD.options import BaseOptions from PIFuHD.recontructor import Reconstructor from huggingface_hub import hf_hub_download from human_pose_estimator import PoseEstimator from estimator import rect REPO_ID = "cxeep/PIFuHD" pose_estimator = PoseEstimator("cpu") checkpoint_path = hf_hub_download(repo_id=REPO_ID, filename="pifuhd.pt") cmd = [ '--dataroot', './data', '--results_path', './results', '--loadSize', '1024', '--resolution', '256', '--load_netMR_checkpoint_path', checkpoint_path, '--start_id', '-1', '--end_id', '-1' ] parser = BaseOptions() opts = parser.parse(cmd) reconstructor = Reconstructor(opts) def make_bundle(image, name): image, rects = rect(pose_estimator, image) return ImageBundle(img=image, name=name, meta=rects) def predict(img: np.ndarray): bundle = make_bundle(img, "Model3D") dataset = EvalWMetaDataset(opts, [bundle]) img, model = reconstructor.evaluate(dataset) return img, model, model footer = r"""