Table of Content
The ability to detect similarities between images and use clustering learning techniques to create a video of pictures ordered based on their similarity has become an increasingly popular area of research in recent years. While traditional computer vision techniques may be effective at identifying specific features or patterns within an image, clustering learning algorithms can be used to identify more abstract similarities between images based on their overall visual characteristics.
In order to create a video of pictures ordered based on their similarity, clustering learning techniques can be used to cluster images based on their embeddings and then arrange the clusters in a way that maximizes the similarity between adjacent images. This can be done using a variety of techniques, such as hierarchical clustering or k-means clustering, depending on the specific needs of the project. In fact, we will be using tSNE and PCA in this project.
Team Name: FIS - Taiwanno1
Team rules:
Turn in results before the deadline
There is no bad idea
Be positive and active in discussion
Be open to different ideas
Cover one another if someone needs it
Get off work on time every day
Winston Sun
Project Manager, Software Engineer
wsun12@uw.edu
Winston enrolled in UW in 2021, currently doing studies on data analytics, machine learning, and algorithm analysis. After dwelling in Taiwan for a long time, he decided to come to the US to explore opportunities.
Expertise:
Software engineering
System Flow design
Mechanical Engineering
Expectation
Develop the software framework
https://drive.google.com/file/d/166ID1kFU5nxrvk-2V48nXPUuV60ZXRhW/view?usp=share_link
Pixel Comparison (Previous Homeworks)
PCA (Principal Component Analysis)
tSNE (t-distributed stochastic neighbor embedding)
Euclidian distance
Finding the top N eigenvectors with the largest eigenvalues because projection to these vectors has the most influence on the data
e.g. first principal component accounts for the largest possible variance in the data set (purple)
Build a map that shows the distance between neighbors which presents the similarity between data points applying the t-distribution
Converting the high-D Euclidean distance into conditional probabilities that represent similarities
When the distance from the higher dimension (p) correlates with the lower dimension (q) using the KL equation below, we say it is a good projection of distances
When it comes to creating a grid visualization, one of the key challenges is deciding on the most effective way to present the grid. There are many different ways to assemble the grid, and each option can have its own advantages and drawbacks. Depending on the specific data set and the message you want to convey, you may need to experiment with different layouts and arrangements to find the best approach.
One of the main challenges with grid visualizations is that it can be difficult to see all of the characteristics of the data through raw observation alone. This is especially true if the grid contains a large amount of data or if the data is highly complex. In some cases, you may need to use additional techniques, such as labeling, to make it easier to identify patterns or trends within the data.
If you kept working on the project, there are a number of next steps you could take to further improve the quality and usefulness of your results. One possible direction would be to explore higher dimensions of embedding, which could help to capture more complex relationships between the different data points. By using techniques such as Principal Component Analysis (PCA) or t-SNE, you could create embeddings with more dimensions, allowing you to better understand the structure and patterns in your data.
Another potential next step would be to add supervised data to label the clusters. This could help to identify specific patterns or trends in the data that may not be immediately obvious from the clustering alone. For example, you could train a supervised machine learning model to identify specific features or characteristics of the data and then use this information to label the different clusters.
The benefit of embedding algorithms compared to traditional computer vision is that they are able to capture more complex relationships and patterns in the data. Traditional computer vision techniques typically rely on handcrafted features and rule-based approaches to analyze visual data, which can be limited in their ability to capture the full range of variation and complexity in the data.
One of the main benefits of embedding algorithms is that they can be used for unsupervised learning, meaning that they can automatically identify patterns and clusters in the data without the need for manual labeling or annotation. This can be particularly useful in situations where the data is large or complex, and it may not be feasible to manually label every data point.
Overall, the ability to detect similarities between images and use clustering learning techniques to create videos based on similarity is a powerful tool for data analysis and visualization. By identifying patterns and clusters in the data automatically, these techniques can enable more efficient and effective analysis of large datasets, as well as the creation of engaging and informative visualizations that can be used in a wide range of applications.