Skip to content

This project aims to perform image super resolution by using traditional regression and imputation models. The goal is to enhance the resolution of an image by predicting and filling in missing pixel values, thus producing a larger version of the input image.

License

Notifications You must be signed in to change notification settings

UgurCan222/Super-Resolution-Project-Using-Traditional-Regression-and-Imputation-Models

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image Upscaling with XGBoost

Abstract

This project represents an exploratory study in the field of image resolution enhancement, utilizing advanced regression and imputation techniques to upscale color images. By leveraging the XGBoost machine learning model, the project aims to investigate the effectiveness of such techniques in predicting and generating pixel values to upscale an image.

Below is an example of the results achieved through this project:

Test Result

Introduction

Image resolution enhancement, commonly known as image upscaling, is a crucial area of research in computer vision and image processing. Traditional methods of upscaling, such as interpolation techniques, often fall short in preserving the fine details and textures of the original image. Machine learning models, particularly those designed for regression and imputation, offer promising alternatives by predicting pixel values based on learned patterns from the data.

This study focuses on applying XGBoost, a robust gradient boosting algorithm, to the task of image upscaling. XGBoost has been widely recognized for its performance in various machine learning challenges, and its application to image resolution enhancement represents an innovative approach to leveraging its predictive capabilities.

Methodology

1. Data Preparation

The initial step involves loading a color image that serves as the input for the upscaling process. The image is processed to extract its pixel values, which will be used for training and prediction purposes. The image's dimensions are recorded to facilitate the subsequent expansion steps.

2. Column Expansion

The image is first expanded in terms of columns. This process involves adding new columns between existing ones. For each pixel in the original column, a new pixel is introduced and its value is predicted using XGBoost. The prediction is based on the values of adjacent pixels to the left and right. The model is trained on these neighboring pixel values to generate the new pixel values, effectively creating an expanded column.

The expansion is conducted sequentially for each column until the last column is reached, beyond which no further columns are added.

3. Row Expansion

Following the column expansion, the focus shifts to expanding the rows of the image. Similar to column expansion, new rows are introduced between existing rows. For each pixel in the original row, the value of a new pixel is predicted using XGBoost based on the values of neighboring pixels above and below. The model is trained on these adjacent pixel values to generate the new row pixels.

This step is executed for each row until the final row is processed, after which no additional rows are added.

4. Result Compilation

The final step involves saving the upscaled image to a specified file path. This image represents the enhanced version with increased resolution, generated through the application of the XGBoost model.

Objectives and Contributions

The primary aim of this project is to explore the applicability of regression and imputation techniques for image resolution enhancement. By employing XGBoost, the study seeks to evaluate the potential of such models in producing high-quality upscaled images. The outcomes of this research are intended to provide insights into the effectiveness of machine learning models for image processing tasks, and to contribute to the ongoing advancements in the field of image resolution enhancement.

Example

Below is an example illustrating the process of image upscaling using XGBoost:

Test Result

Requirements

  • Python 3
  • NumPy
  • OpenCV
  • XGBoost

License

This project is licensed under the MIT License. For further details, please refer to the LICENSE file.

About

This project aims to perform image super resolution by using traditional regression and imputation models. The goal is to enhance the resolution of an image by predicting and filling in missing pixel values, thus producing a larger version of the input image.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages