Clustering
Clustering is an unsupervised learning technique that groups similar data points together without using predefined labels. The algorithm finds natural structure in the data based on feature similarity, placing items that resemble each other into the same group (cluster) and separating items that differ. No human-provided labels are needed, which makes clustering useful for exploring datasets before any annotation begins.
Common algorithms include k-means (partitions data into k groups by minimizing distance to cluster centers), DBSCAN (finds arbitrarily shaped clusters based on point density, good for spatial data), and hierarchical clustering (builds a tree of nested clusters at different granularity levels). In computer vision, clustering is applied to image embeddings from pre-trained models, grouping visually similar images together.
Practical applications include organizing large unlabeled image collections by visual similarity, identifying duplicate or near-duplicate images in a dataset, discovering unknown object categories in exploration workflows, and selecting diverse subsets for annotation. Clustering combined with a pre-trained feature extractor is often the first step when analyzing a new image dataset before committing to a labeling strategy.
