Code Monkey home page Code Monkey logo

unsupervised-image-clustering-using-autoencoders's Introduction

unsupervised image classification by creating k-means clusters from bottleneck-layers of an autoencoder

| procedure:

Create bottlenecks of the CIFAR-10 dataset (only the plane, dog and truck class) and try to group them using k-means clustering.

| autoencoder:

architecture

| process:

The autoencoder was trained to reproduce images out of 3 classes from the CIFAR-10 dataset (dogs, planes and trucks). After training, the train-dataset was passed through the model again in evaluation mode and the bottleneck layers were saved.

K-means clustering was applied on the bottleneck-datapoints with K=3, since the amount of classes was fixed.

| results:

Click to see reconstructed images

plane_reconstruction dog_reconstruction truck_reconstruction

To measure the performance of the clustering, you can calculate the entropy of each cluster. We want every cluster to show (in the perfect case) just one class, therefore the better the clustering the lower the entropy.

examples cluster:

Click to see the clusters

plane_cluster dog_cluster truck_cluster

  • the first image shows a cluster with mainly planes (lower entropy)
  • the second image shows a cluster with most amount of dogs (higher entropy)
  • the third image shows a cluster with most amount of trucks (higher entropy)

After training different autoencoders and clustering, it seemed that images where mostly clustered by their colors and less by their objects. Therefore a "plane"-cluster shows more accurate results because the images often have a bright-blue or white background.

unsupervised-image-clustering-using-autoencoders's People

Contributors

theopfr avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

humblelu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.