A 3D asset admits multiple valid part decompositions, while semantics-aware segmentation should reflect both the desired granularity and the parts a user wants to extract. Ideally, a practical segmentation model should strive for a simple principle: what you ask for is what you get. However, realizing this goal is hindered by two core obstacles: the lack of multi-granularity training data and the absence of a holistic control mechanism. We propose FLEXPART, a unified framework for text-controlled 3D mesh segmentation. To establish flexible control, we introduce a holistic control prompt comprising semantic part names with location and shape clauses. To support this mechanism, we utilize an automated Vision-Language Model (VLM) pipeline to construct a large-scale dataset of multi-granularity partitions and their corresponding prompts. Driven by this data, FLEXPART generates a view-independent part-identity field in native 3D space, directly assigning discrete part IDs to mesh faces. To compel the model to respect semantic conditions rather than rely on geometric priors, we train the model using randomized background dropping. Furthermore, an inference-time VLM planner can automatically complete descriptive clauses from 2D renderings, allowing users to simply name the desired parts in ordinary words. FLEXPART with planner-completed prompts outperforms the strongest evaluated baseline by 15% in mIoU, even when that baseline receives ground-truth guidance. On our held-out FLEXPARTBENCH, FLEXPART leads at each granularity and improves average mIoU by 22% over the strongest baseline. With only the requested part names supplied by the user, it also improves IoU by 35% over the strongest click-driven baseline on selective segmentation.
Figures & tables
Figure 2: FlexPart . Left: a part-aware VAE encodes a point cloud carrying position, normal, and part ID. Its decoder can be queried at any 3D coordinate, with two cross-attention modules for geometry (SDF) and a discrete, binary-encoded part ID. Face-centre queries produce the mesh labels. Right: a text-conditioned DiT generates the field’s latent representation from the geometry latent ( green ) and encoded text tokens. A full decomposition ( blue ) and a selective input ( red ) differ only in the control prompts, and in the selective case an explicit background item absorbs parts that belong to the background. Each part item is visualized in the color corresponding to the input prompts.
Figure 3: Qualitative comparison on PartObjaverse-Tiny. Left of the divider, -GT denotes ground-truth conditions (our annotated prompt; SegviGen’s rendered guidance map), and -Auto denotes automatic conditions (our planner-completed names; SegviGen’s predicted map). Right of the divider, baselines use their native inputs. As shown, baselines suffer from missing occluded parts (SegviGen), over-segmenting along geometric seams (PartField, P3-SAM, SAMPart3D), or imprecise boundaries (Find3D). FlexPart avoids these issues, effectively following the semantic intent from GT.
Figure 4: Granularity control on FlexPartBench . For each method, panels show fine (large), coarse (top right), and medium (bottom right) granularities. While baselines receive their optimal inputs (e.g., GT part counts for PartField), only FlexPart (driven by level-specific item lists) successfully adapts its semantic decomposition across all three levels. Conversely, PartField and SAMPart3D are biased toward geometric boundaries over the requested semantic groupings, and Find3D suffers from severe surface fragmentation. Meanwhile, SegviGen struggles to follow the ground truth, since relying on a single reference map fails to resolve occlusions.
Method
Conditioning
mIoU ↑
Find3D [ 21 ]
part names
0.282
SAMPart3D [ 39 ]
one scale value
0.483
PartField [ 19 ]
target part count
0.517
P3-SAM [ 20 ]
none
0.560
SegviGen-GT [ 14 ]
part color map
0.594
SegviGen-Auto
part color map, predicted
0.413
Table 1: Part segmentation on PartObjaverse-Tiny. Conditioning denotes the input signals. -GT uses ground-truth annotations, while -Auto relies on automated inputs (e.g., predicted color maps or planner-completed lists). -direct evaluates our predictions without region-to-GT rematching, and still outperforms all baselines.
Method
Coarse ↑
Medium ↑
Fine ↑
Avg. ↑
Find3D [ 21 ]
0.364
0.154
0.086
0.201
SAMPart3D [ 39 ]
0.473
0.359
0.376
0.402
SegviGen [ 14 ]
0.592
0.466
0.409
0.489
PartField [ 19 ]
0.508
0.555
0.499
0.521
FlexPart
0.763
0.635
0.511
0.637
FlexPart -direct IoU
0.751
0.615
0.467
0.611
Table 2: Multi-granularity control. Methods are evaluated across three granularities on FlexPartBench using their optimal inputs. FlexPart significantly outperforms all baselines at every level, and even our -direct protocol (Tab. 1 ) exceeds all baselines on average. Although PartField performs reasonably well at the fine level by merely fitting the geometry, all baselines struggle at the coarse and medium levels where semantic understanding is required.
Figure 6
Method
Input
Query IoU ↑
BG IoU ↑
Find3D [ 21 ]
part names
0.090
0.745
P3-SAM [ 20 ]
GT clicks
0.230
0.413
SegviGen [ 14 ]
GT clicks
0.456
0.764
FlexPart (planner)
names only
0.615
0.895
FlexPart (GT desc.)
full descriptions
0.657
0.933
Table 3: Selective part segmentation. Query IoU averages over the named parts, and BG IoU covers the background region. FlexPart outperforms all click-driven baselines, even when relying on planner-generated prompts from names only. While baseline methods using solely part names (Find3D) fail to extract user-intended parts, our control prompts successfully achieve accurate selective segmentation.
Full ↑
Selective ↑
FlexPart
0.845
0.657
w/o drop-to-background
0.818
×
RGB, not Part IDs
0.776
0.646
Table 4: Ablation. Full averages the three granularities on a human category subset from FlexPartBench ; Selective is the accuracy on Selective-190. Using an RGB palette instead of part IDs fragments cohesive regions, resulting in lower accuracy across both tasks. Furthermore, drop-to-background training is vital; it facilitates semantics-aware understanding and strictly enables selective segmentation.
Figure 9
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
Figure 9: What the grouping call sees, per view. Each component carries a numbered mark in both renders, so the returned groups are lists of IDs. The two renders disagree about where a boundary is only where a texture hides one, which is why both are given. Sixteen such pairs cover the object, and one call returns all three levels.
Figure 10: One annotation call. The images and the prompt a single Stage 2 request receives, for the left_arm group of a five-group coarse partition. The overlay places the group in the whole object, the solo render shows its shape without occlusion, and the full scene is the object it belongs to; four viewpoints of each cover the parts a single view hides. The call returns one JSON object, and the aggregation step maps PartName , SpatialRelation and Shape to the item’s three clauses.
Training
Coarse ↑
Medium ↑
Fine ↑
Avg. ↑
w/o multi-granularity training
0.606
0.753
0.766
0.708
w/ multi-granularity training
0.891
0.852
0.792
0.845
Appendix
Table 5: Multi-granularity training.
Training
Matched mIoU ↑
Direct mIoU ↑
Unordered
0.767
0.011
Ordered
0.845
0.804
Appendix
Table 6: Ordered and unordered training.
Figure 11: What the visual planner is given. Four of the sixteen turntable views, 90∘ apart, of the bare mesh; these are its only visual input, alongside the user’s command. This object is also the first row of Fig. 7 .
Category
#
Category
#
Human
91
Building
16
Weapon and tool
66
Furniture and home
15
Vehicle
58
Plant
10
Daily container
36
Instrument, other
5
Electronics
32
Food
5
Animal
30
Total
364
Appendix
Table 7: Category distribution of FlexPartBench over its 364 objects, following the proportions of the source libraries.
Prompt condition
mIoU ↑
Δ
Full semantic prompt
0.691
–
K -only placeholders
0.373
−0.318
Mismatched semantics, same K
0.493
−0.198
Appendix
Table 8: Semantic conditioning beyond part count. Geometry and the requested number of regions K are fixed. The mismatched condition uses genuine same- K annotation text with semantics that do not match the target grouping. We report raw area-weighted mIoU without post-processing, following Sec. 4.1 .
Figure 12: Following the prompt on an existing mesh. Both methods receive the same watertight meshes and part names for coarse and fine decompositions. CubePart allocates and generates an independent latent geometry for each requested item, whereas our method retains the input surface and predicts its face labels. The displayed cases illustrate the resulting differences in partition and surface preservation. Top: At the fine level, CubePart fails to generate the waist, leaving the chest and pelvis disconnected; in contrast, our method continuously labels the original surface. Middle: The coarse prompt requests both arms and both legs as separate items, but CubePart erroneously merges them ( purple ). Our method correctly separates the arms ( green ) and legs ( grey ). At the fine level, CubePart generates the right hand as fragmented specks. Bottom: CubePart handles the coarse request successfully but its fine-grained output (armour plates, brackets, hoses) becomes a cloud of fragments. Our method instead assigns labels on the unchanged input surface, yielding a complete partition without post-processing.
Part segmentation is a fundamental problem in computer graphics and 3D vision. Recent works have expanded 3D part segmentation beyond fixed taxonomies, but existing approaches typically only address a specific setting, such as text-guided part segmentation or point-based interaction. In this work, we argue that these settings can be unified as an intent-conditioned generative problem, where different prompts specify the desired part decomposition. To this end, we introduce PartLLM, a unified multimodal model that formulates 3D part segmentation as autoregressive semantic decomposition. Conditioned on an input shape and a user prompt, PartLLM autoregressively generates semantic part hypotheses as queries for mask prediction and feeds them to a decomposition-aware decoder that jointly predicts coherent part masks. This unified design supports text-guided part segmentation, interactive segmentation, and full-shape semantic decomposition with controllable granularity within a single model. Extensive experiments across these task settings show that PartLLM consistently outperforms task-specific baselines, demonstrating the effectiveness of unifying 3D part segmentation under an intent-conditioned generative formulation.
Zhe Zhu, Yiheng Zhang, Peng Li +9
Taiyuan University of Technology, Tencent Visvise, China · Hong Kong University of Science and Technology, Tencent Visvise, China · Taiyuan University of Technology, China +6
Part-level 3D assets are essential for editing, reassembly, and interaction, yet recovering such structure from a single image remains challenging due to occlusion, ambiguous boundaries, and the need for coherent multi-part reasoning. Existing approaches struggle to achieve both controllable part-level generation and coherent multi-part structure, as part identity and spatial allocation are typically inferred implicitly. We present Seg3DParts, a segmentation-grounded framework for controllable part-level 3D generation from a single image. By treating segmentation as an explicit grounding signal, our method defines part identity during generation, enabling each component to be anchored to a corresponding image region. To ensure coherent assemblies, we introduce structured cross-part interaction that allows components to exchange global context throughout the generative process. As a result, Seg3DParts directly generates well-aligned part meshes in a shared canonical space without post-hoc alignment, supporting flexible and controllable decomposition. We further introduce PartObjectNet, a large-scale dataset with over 200K objects and 1M annotated parts. Experiments demonstrate that Seg3DParts achieves superior geometry quality, cross-part coherence, and part-level controllability over existing methods.
Jiantao Lin, Meixi Chen, Yingjie Xu +5
The Hong Kong University of Science and Technology (Guangzhou) · Knowin AI · The Hong Kong University of Science and Technology
Existing 3D part decomposition methods do not necessarily partition the original shape into non-overlapping parts that collectively cover the entire shape, allowing overlaps or gaps that hinder downstream part-level applications. We instead formulate part decomposition as a joint partitioning of the entire shape, where the predicted parts are non-overlapping and jointly recover the entire shape. Our key insight is that part decomposition should consider all desired parts jointly, rather than modeling each part independently. To this end, we develop a promptable model for 3D part decomposition from images or meshes. Users can specify desired parts through 3D point prompts for controllable decomposition. Given one point prompt per desired part, our model produces the corresponding parts as a complete partition of the entire shape. We build on a pretrained 3D generation model and first obtain a shape latent from either an input image or mesh. We then introduce a prompt encoder that maps each 3D point prompt to a part token while attending to the shape latent. To decode the desired parts, we propose a novel part decoder jointly scoring the entire shape against all part tokens in a coarse-to-fine manner, assigning every position within the shape volume to exactly one part. We perform part decomposition in this shared shape latent space, enabling a unified model for image-to-part generation, mesh-to-part generation, and part segmentation. Our method outperforms existing works on all part-quality metrics across all three tasks, and improves compatibility among parts by an order of magnitude over previous SOTA methods. Code and models will be released.