clustimage’s documentation!

The aim of clustimage is to detect natural groups or clusters of images.

Many computer vision tasks rely on (deep) neural networks, and aim to predict “what’s on the image”. However, not all tasks require supervised approaches or neural networks. With an unsupervised approach, we can aim to determine natural groups or clusters of images without being constrained to a fixed number of (learned) categories. In this blog, I will summarize the concepts of unsupervised clustering, followed by a hands-on tutorial on how to pre-process images, extract features (PCA, HOG), and group images with high similarity taking into account the goodness of the clustering. I will demonstrate the clustering of the MNIST dataset, the 101 objects dataset, the flower dataset, and finally the clustering of faces using the Olivetti dataset. All results are derived using the Python library clustimage.

clustimage is a generic approach for unsupervised images clustering and overcomes the following challenges:
    1. Robustly groups similar images.

    1. Returns the unique images.

    1. Many plots for deeper exploration.

    1. Finds higly similar images for a given input image.

Content

Feature Extraction

Cluster Evaluation

Performance

Save and Load

Code Documentation

Quick install

pip install clustimage

Source code and issue tracker

Available on Github, erdogant/clustimage. Please report bugs, issues and feature extensions there.

Citing clustimage

Here is an example BibTeX entry:

@misc{erdogant2019clustimage,

title={clustimage}, author={Erdogan Taskesen}, year={2019}, howpublished={url{https://github.com/erdogant/clustimage}}}

Indices and tables