SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2412.14006 · 2024

InstructSeg: Unifying Instructed Visual Segmentation with Multi-modal Large Language Models

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 14 functions out of this paper's own repositories and ran 10 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
congvvc/instructseg canonical 10 of 14
FunctionStatusWhere it lives
window_partition Ran congvvc/instructseg/instructseg/model/mask_encoder/swin_trans.py
code served (permissive licence) · get_code("144d10b49baeb8a6")
FeedForward Ran congvvc/instructseg/instructseg/model/language_model/ovp.py
code served (permissive licence) · get_code("4d75570b4e91d0b4")
exists Ran congvvc/instructseg/instructseg/model/language_model/ovp.py
code served (permissive licence) · get_code("aa5486a3650902d8")
expand2square Ran congvvc/instructseg/instructseg/model/mipha/mm_utils.py
code served (permissive licence) · get_code("592b3c1a88f93d7c")
find_linear_layers Ran congvvc/instructseg/instructseg/train/merge_lora_weights_and_save_hf_model.py
code served (permissive licence) · get_code("520d771d01a3c5ef")
get_mask_from_json Ran congvvc/instructseg/instructseg/model/datasets_mapper/IVS_mapper.py
code served (permissive licence) · get_code("231df0d16f40deaf")
load_image_from_base64 Ran congvvc/instructseg/instructseg/model/mipha/mm_utils.py
code served (permissive licence) · get_code("c3ee9d07c900dd55")
load_revos_json Ran congvvc/instructseg/instructseg/datasets/ytvos.py
code served (permissive licence) · get_code("50b4f58ac51e3844")
parse_args Ran congvvc/instructseg/instructseg/train/merge_lora_weights_and_save_hf_model.py
code served (permissive licence) · get_code("9e11de9f538299ab")
window_reverse Ran congvvc/instructseg/instructseg/model/mask_encoder/swin_trans.py
code served (permissive licence) · get_code("61bf152e6a42a184")
build_swin_t Not yet run congvvc/instructseg/instructseg/model/mask_encoder/swin_trans.py
code served (permissive licence) · get_code("670eda77b277eb8a")
check_shape Not yet run congvvc/instructseg/instructseg/model/language_model/einops_exts.py
code served (permissive licence) · get_code("bbe128f6633ed802")
filter_empty_instances_soft Not yet run congvvc/instructseg/instructseg/datasets/ytvos.py
code served (permissive licence) · get_code("ee5e474262386435")
process_images Not yet run congvvc/instructseg/instructseg/model/mipha/mm_utils.py
code served (permissive licence) · get_code("344dff4791fd1381")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Boosted by Multi-modal Large Language Models (MLLMs), text-guided universal segmentation models for the image and video domains have made rapid progress recently. However, these methods are often developed separately for specific domains, overlooking the similarities in task settings and solutions across these two areas. In this paper, we define the union of referring segmentation and reasoning segmentation at both the image and video levels as Instructed Visual Segmentation (IVS). Correspondingly, we propose InstructSeg, an end-to-end segmentation pipeline equipped with MLLMs for IVS. Specifically, we employ an object-aware video perceiver to extract temporal and object information from reference frames, facilitating comprehensive video understanding. Additionally, we introduce vision-guided multi-granularity text fusion to better integrate global and detailed text information with fine-grained visual guidance. By leveraging multi-task and end-to-end training, InstructSeg demonstrates superior performance across diverse image and video segmentation tasks, surpassing both segmentation specialists and MLLM-based methods with a single model. Our code is available at https://github.com/congvvc/InstructSeg.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2412.14006")
get_code_for_paper("2412.14006")
have("2412.14006")

Connect an agent — have() is free.