Draw a picture using machine learning.
Assignment Description
In this assignment, students are required to explore the concept of machine learning in a task of increasing the resolution of an image. The task involves training a model on a low-resolution image with dimensions of 64x64 or smaller, and then generalizing the learned patterns to generate a high-resolution version of the image, such as one with dimensions of 800x800. The goal is to analyze the model’s output on the higher-resolution grid.
The approach can be framed as follows:
- Classification Approach:
- Using a classifier, treat the x and y coordinates of the image pixels as input features.
- If the image contains a limited set of distinct colors, the task of mapping (x, y) coordinates to color values becomes a classification problem. For example, if the image has only two colors (black and white), this would constitute a binary classification task. If there are four colors, it becomes a four-class classification problem.
- If the image contains more colors, then reduce the number of colors first by using clustering method, e.g. k-means.
- In the training phase on the 64x64 image, each pixel’s x and y coordinates, along with its color, represent a single training data point. This setup provides 64x64 training samples.
- After training on the low-resolution image, increase the resolution of the x and y inputs to 800x800. By using the classifier’s decision boundaries, you can generate the higher-resolution version of the image.
- Regression Approach:
- The regression-based method follows a similar structure, where the x and y coordinates are input, and the pixel color values are treated as continuous variables to be predicted.
The assignment requires you to design a complete problem statement, covering all necessary details and considerations for either classification or regression methods. This setup aims to examine the model’s capability to extrapolate learned patterns from low-resolution images to produce higher-resolution images effectively.
Submit in ipynb format and show your work. Can use SVM, or other tools in sklearn or using pytorch.
See A1, A2 ipynb in machine learning folder in course github repo.
Examples:






