drawing


This blog post presents a project on Non-negative Matrix Factorization (NMF) and image classification. Find the project on my Github repository and a French presentation here:

Abstract

Clustering, also known as automatic classification, involves dividing a set of objects into groups or classes where objects within a group are similar to each other. With the increasing importance of data science, clustering has become an essential tool in many fields, including image analysis. As images are prevalent on web and social media platforms, our project aims to develop an image classification system that can handle various types of images, such as photos, paintings, and comics. We use Non-negative Matrix Factorization (NMF), a method that approximates a positive data matrix as the product of two smaller positive matrices. NMF is popular for dimension reduction and clustering tasks due to its simplicity and ability to group data into a user-specified number of classes (k).

Our dataset is sourced from: People Art

Example

Here, we analyze the explained variance for SepNMF with Spherical K-means using Norm L2 (rank = [20;70]).

Conclusion

Clustering is a complex task with many challenges. Through this project, we gained valuable insights into automatic classification. Despite our efforts in pre-processing the data and testing various NMF configurations, the results were not as satisfactory as we had hoped. The main issue lies in the high variability within individual data points, which makes it difficult for NMF to identify patterns.

It’s important to note that while NMF is widely used in scientific applications, its rigorous mathematical foundation has only been established in the past 30 years. There may still be room for improvement in the algorithms used. Additionally, due to time constraints, we were unable to perform analyses using RGB and binary matrices.

We utilized cloud computing services like Amazon Web Service and Google Cloud Computing, as well as libraries like Nimfa and NMF for R. However, using GPUs for intensive matrix calculations can significantly speed up computation time.

All project resources, including graphics and scripts, are available here.

Finally, given that the dataset was constructed for cross-depiction tasks, it appears that NMF may not be the most suitable approach for this problem. Other methods, such as convolutional neural networks or Deep Semi-NMF, could potentially provide better solutions.