Abstract

Self-supervised Vision Transformers (ViTs) like DINO encode rich semantics, enabling training-free segmentation of objects from the background and discovery of their parts via feature clustering. This paper focuses on part discovery: partitioning a foreground object into semantic parts. Existing approaches produce imprecise part boundaries. We trace this to the rigid ViT patch grid used in training DINO, where patches straddling boundaries contain pixels from multiple parts. While DINO’s invariance-based training could absorb this pixel-level mixing into clean features, experiments with over 26K foreground patches show it does not: boundary-overlapping patches produce features with higher entropy and lower assignment confidence, blurring predicted part boundaries.

Rather than make the massive effort of retraining DINO over geometrically coherent regions, an easier approach is to take boundaries directly from a boundary detector, which supplies the geometric information DINO’s features lack.

Motivated by this, we introduce Part-DINO, a training-free framework that combines boundaries from low-level image segmentation with DINO’s semantic features. We use the boundaries to partition the image into regions, pool DINO features within each region, and group them to discover parts. Without any training, Part-DINO produces structurally coherent part assignments, outperforming training-free baselines across four standard benchmarks (CUB, CelebA, PartImageNet-OOD, PartImageNet-Seg) and remaining competitive with weakly-supervised and unsupervised methods.

Why Do Part Boundaries Blur?

A fixed square patch can cross the boundary between two parts, mixing their pixels before feature extraction. We find that this mixing remains in DINO’s features, making part assignments less reliable near boundaries.

Bird input imageInput image
A square patch overlaps the bird head and bodyBoundary patch
Edges obtained from DINO feature similarityDINO similarity
Structural edges obtained from image contrastImage contrast
Boundary patches mix neighboring parts. A patch overlapping the bird’s head and body combines pixels from both. Edges from DINO similarity are spatially blurred, while image contrast supplies complementary boundary information.

Pixel Mixing Propagates into Feature Space

Across 26,459 foreground patches from PartImageNet, patches closer to a ground-truth part boundary have lower spatial purity, higher feature entropy, and a smaller gap between their two strongest part assignments. 21.9% of the foreground patches contain pixels from more than one part.

Patch purity increases with distance from a part boundary
Feature entropy decreases with distance from a part boundary
Top-two assignment margin increases with distance from a part boundary
Feature ambiguity increases near boundaries. As distance from the nearest part boundary increases, patch purity rises, feature entropy falls, and the top-two assignment margin grows. Spearman correlations with boundary distance are +0.71, −0.38, and +0.36, respectively.

The Part-DINO Method

Part-DINO combines boundaries from low-level image segmentation with semantic features from a frozen DINO encoder. Regions replace square patches as the units of part discovery.

Part-DINO pipeline: structural region generation, global prototype generation, and region assignment
Part-DINO overview. We generate image regions, pool DINO features within them, and cluster reference-region features into global part prototypes. A new image is segmented into regions and each region is assigned to its nearest prototype.
  1. Generate regions from image structure. Within a foreground mask, the RAMP transform estimates local intensity contrast. Watershed partitions this edge map into regions along its ridges.
  2. Build global part prototypes. We upsample frozen DINO features, pool them within each region, and apply K-means to region features from reference images. The K cluster centers represent parts shared across object instances.
  3. Assign regions to parts. For a new image, each region receives the label of its most similar part prototype under cosine similarity. All pixels in a region share the same label.
Implementation details and optional region merging

Experiments use frozen DINOv2 ViT-B/14 with registers and SAM3 foreground masks. Input resolution is 448 × 448 for CUB and 224 × 224 for the other datasets. RAMP uses four orientations, and watershed seeds have a minimum spacing of 2 pixels.

The default pipeline merges micro-regions smaller than 10 pixels into their most similar adjacent region using DINO cosine similarity. This step only removes existing boundaries; it does not introduce new boundaries. Setting the minimum region size to zero disables merging, leaving the RAMP + watershed partition unchanged.

“Training-free” means no dataset-specific neural-network optimization: the encoder stays frozen, while part prototypes are obtained through clustering. For multi-category datasets, the method maintains a separate part dictionary per category and selects the category using CLS-feature similarity.

Results

We evaluate on CUB, CelebA, PartImageNet-OOD, and PartImageNet-Seg. Part-DINO improves ARI over the foreground-matched patch baseline at every evaluated part granularity on all four benchmarks. It also improves NME on CUB and CelebA, and NMI on three of the four benchmarks.

CUB at K = 16

Against the DINO + SAM patch baseline, NMI increases from 56.92 to 65.45 (+8.53 points), ARI from 35.10 to 46.00 (+10.90 points), and NME decreases from 4.87 to 4.35.

CUB
Parts (K)MethodNME ↓NMI ↑ARI ↑
4DINO + SAM9.9239.7717.94
4Part-DINO8.2153.9323.01
8DINO + SAM6.2654.0327.18
8Part-DINO6.0061.8437.92
16DINO + SAM4.8756.9235.10
16Part-DINO4.3565.4546.00
CelebA
Parts (K)MethodNME ↓NMI ↑ARI ↑
4DINO + SAM11.361.380.01
4Part-DINO10.8145.0732.20
8DINO + SAM10.741.120.01
8Part-DINO10.5941.5328.59
16DINO + SAM11.421.990.03
16Part-DINO9.1541.0425.20
PartImageNet-OOD
Parts (K)MethodNMI ↑ARI ↑
8DINO + SAM32.8654.77
8Part-DINO30.0763.27
25DINO + SAM37.1957.87
25Part-DINO31.1464.93
50DINO + SAM40.4159.99
50Part-DINO30.1365.42
PartImageNet-Seg
Parts (K)MethodNMI ↑ARI ↑
8DINO + SAM25.5957.69
8Part-DINO37.2166.10
25DINO + SAM27.0862.92
25Part-DINO41.5466.94
50DINO + SAM32.1264.73
50Part-DINO41.8066.97

Selected training-free comparisons transcribed from the paper. “DINO + SAM” denotes the patch-based method of Amir et al., replicated with SAM foreground masks († in the paper). Lower NME is better; higher NMI and ARI are better. Bold marks an improved Part-DINO score within each comparison. See the paper for comparisons with weakly-supervised and unsupervised trained methods.

PartImageNet-OOD trade-off. ARI improves while NMI decreases across all three evaluated part granularities.

Qualitative Comparisons

Representative outputs from the paper compare Part-DINO with MPAE and a foreground-matched DINO patch baseline. The part counts are K = 16 for CUB and CelebA, and K = 50 for both PartImageNet splits.

MethodCUBCelebAPartImageNet-SegPartImageNet-OOD
InputInput on CUBInput on CelebAInput on PartImageNet-SegInput on PartImageNet-OOD
MPAE (trained)MPAE (trained) on CUBMPAE (trained) on CelebAMPAE (trained) on PartImageNet-SegMPAE (trained) on PartImageNet-OOD
DINO + SAMDINO + SAM on CUBDINO + SAM on CelebADINO + SAM on PartImageNet-SegDINO + SAM on PartImageNet-OOD
Part-DINOPart-DINO on CUBPart-DINO on CelebAPart-DINO on PartImageNet-SegPart-DINO on PartImageNet-OOD
MPAE requires dataset-specific training. DINO + SAM and Part-DINO use frozen features without dataset-specific neural-network optimization. Colors visualize each method’s discovered clusters and should not be matched across methods.

Citation

Acknowledgments

This work was supported in part by the Office of Naval Research under Grant N00014-24-1-2169, the IBM-Illinois Discovery Accelerator Institute (IIDAI), and the Amazon–Illinois Center on AI for Interactive Conversational Experiences. This research also utilized resources from the NCSA Delta system, supported by the National Science Foundation under Award OAC-2005572.