Spaces:
Runtime error
Runtime error
| from metaseg import SegAutoMaskPredictor, SegManualMaskPredictor, SahiAutoSegmentation, sahi_sliced_predict | |
| # For image | |
| def automask_image_app(image_path, model_type, points_per_side, points_per_batch, min_area): | |
| SegAutoMaskPredictor().image_predict( | |
| source=image_path, | |
| model_type=model_type, # vit_l, vit_h, vit_b | |
| points_per_side=points_per_side, | |
| points_per_batch=points_per_batch, | |
| min_area=min_area, | |
| output_path="output.png", | |
| show=False, | |
| save=True, | |
| ) | |
| return "output.png" | |
| # For video | |
| def automask_video_app(video_path, model_type, points_per_side, points_per_batch, min_area): | |
| SegAutoMaskPredictor().video_predict( | |
| source=video_path, | |
| model_type=model_type, # vit_l, vit_h, vit_b | |
| points_per_side=points_per_side, | |
| points_per_batch=points_per_batch, | |
| min_area=min_area, | |
| output_path="output.mp4", | |
| ) | |
| return "output.mp4" | |
| # For manuel box and point selection | |
| def manual_app(image_path, model_type, input_point, input_label, input_box, multimask_output, random_color): | |
| SegManualMaskPredictor().image_predict( | |
| source=image_path, | |
| model_type=model_type, # vit_l, vit_h, vit_b | |
| input_point=input_point, | |
| input_label=input_label, | |
| input_box=input_box, | |
| multimask_output=multimask_output, | |
| random_color=random_color, | |
| output_path="output.png", | |
| show=False, | |
| save=True, | |
| ) | |
| return "output.png" | |
| # For sahi sliced prediction | |
| def sahi_autoseg_app( | |
| image_path, | |
| sam_model_type, | |
| detection_model_type, | |
| detection_model_path, | |
| conf_th, | |
| image_size, | |
| slice_height, | |
| slice_width, | |
| overlap_height_ratio, | |
| overlap_width_ratio, | |
| ): | |
| boxes = sahi_sliced_predict( | |
| image_path=image_path, | |
| detection_model_type=detection_model_type, # yolov8, detectron2, mmdetection, torchvision | |
| detection_model_path=detection_model_path, | |
| conf_th=conf_th, | |
| image_size=image_size, | |
| slice_height=slice_height, | |
| slice_width=slice_width, | |
| overlap_height_ratio=overlap_height_ratio, | |
| overlap_width_ratio=overlap_width_ratio, | |
| ) | |
| SahiAutoSegmentation().predict( | |
| source=image_path, | |
| model_type=sam_model_type, | |
| input_box=boxes, | |
| multimask_output=False, | |
| random_color=False, | |
| show=False, | |
| save=True, | |
| ) | |
| return "output.png" | |