Clustering-Deepening: Clustering Algorithms for Object Tracking & Image Segmentation

Clustering-Deepening is an educational and experimental project that implements, analyses, and compares a wide spectrum of clustering algorithms. Beyond benchmarks, each algorithm is applied to two concrete vision tasks: object tracking and image segmentation.

Algorithms Covered

AlgorithmKey Properties
k-MeansCentroid-based, Euclidean, fast
k-Means++Improved initialisation, more stable
k-MediansMedian centroid, robust to outliers
k-MedoidsCluster centres must be data points
Mean-ShiftNon-parametric, bandwidth-driven
DBSCANDensity-based, arbitrary shapes, detects noise
GMM (EM)Probabilistic, soft assignments

Evaluation Metrics

  • Davies-Bouldin Index: lower = more compact, well-separated clusters.
  • Rand Index: agreement with ground-truth labels (where available).
  • Silhouette score for internal evaluation without labels.

Applications

  • Object Tracking: use clustering to group detections across frames, associating each cluster with a tracked object.
  • Image Segmentation: apply colour-space clustering to partition images into semantically meaningful regions without supervision.

Technology

Python, scikit-learn, NumPy, OpenCV, Matplotlib, Jupyter Notebooks.