rushi-the-neural-arch / cottonwood_martian_images

Autoencoder-based image compression using pictures of the surface of Mars.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Image Compression using Autoencoders

[work in progress]

This is an End-to-End case study showing how to use an autoencoder (a type of deep neural network) to compress a set of images.

We make use of the Cottonwood machine learning framework, a flexible tool for building and experimenting with neural networks and other machine learning methods.

Our goal is to compress images taken from cameras on the Mars Rover Curiosity so that they can be efficiently transmitted back to Earth.

Trained autoencoder

The methods we user here are explained fully in a sequence of courses in the End-to-End Machine Learning School, especially

Installation

Dependencies

First make sure you have the packages in place that it depends on. Installing Cottonwood will ensure that most dependecies are met. This project also uses

  • Pillow, an image library for Python,
  • Lodgepole, a set of image processing tools I find useful, and
  • Ponderosa, a hyperparameter optimization package.
git clone https://github.com/brohrer/cottonwood.git
git clone https://github.com/brohrer/lodgepole.git
git clone https://github.com/brohrer/ponderosa.git
python3 -m pip install -e cottonwood
python3 -m pip install -e lodgepole
python3 -m pip install -e ponderosa
python3 -m pip install Pillow --user

To use the code for this project, clone this repository and run it locally. You can do all this at the command line. Just a heads-up that this repository includes a dataset of 270 images and weighs in at 177 MB.

git clone https://github.com/brohrer/cottonwood_martian_images.git
cd cottonwood_martian_images
python3 build_patch_dictionary.py

About

Autoencoder-based image compression using pictures of the surface of Mars.

License:MIT License


Languages

Language:Python 100.0%