import gradio as gr import torch from carvekit.api.interface import Interface from carvekit.ml.wrap.fba_matting import FBAMatting from carvekit.ml.wrap.tracer_b7 import TracerUniversalB7 from carvekit.pipelines.postprocessing import MattingMethod from carvekit.pipelines.preprocessing import PreprocessingStub from carvekit.trimap.generator import TrimapGenerator device = 'cuda' if torch.cuda.is_available() else 'cpu' # Check doc strings for more information seg_net = TracerUniversalB7(device=device, batch_size=1) fba = FBAMatting(device=device, input_tensor_size=2048, batch_size=1) trimap = TrimapGenerator() preprocessing = PreprocessingStub() postprocessing = MattingMethod(matting_module=fba, trimap_generator=trimap, device=device) interface = Interface(pre_pipe=preprocessing, post_pipe=postprocessing, seg_pipe=seg_net) def predict(image): return interface([image])[0] footer = r"""