/Conv-Autoencoder

Convolutional Autoencoder

Primary LanguagePythonMIT LicenseMIT

Convolutional Autoencoder

This repository is to do convolutional autoencoder by fine-tuning SetNet with Cars Dataset from Stanford.

Dependencies

Dataset

We use the Cars Dataset, which contains 16,185 images of 196 classes of cars. The data is split into 8,144 training images and 8,041 testing images, where each class has been split roughly in a 50-50 split.

image

You can get it from Cars Dataset:

$ cd Conv-Autoencoder
$ wget http://imagenet.stanford.edu/internal/car196/cars_train.tgz
$ wget http://imagenet.stanford.edu/internal/car196/cars_test.tgz
$ wget --no-check-certificate https://ai.stanford.edu/~jkrause/cars/car_devkit.tgz

Architecture

image

ImageNet Pretrained Models

Download VGG16 into models folder.

Usage

Data Pre-processing

Extract 8,144 training images, and split them by 80:20 rule (6,515 for training, 1,629 for validation):

$ python pre-process.py

Train

$ python train.py

If you want to visualize during training, run in your terminal:

$ tensorboard --logdir path_to_current_dir/logs

image

Demo

Download pre-trained model weights into "models" folder then run:

$ python demo.py

Then check results in images folder, something like:

Input GT Output
image image image
image image image
image image image
image image image
image image image
image image image
image image image
image image image
image image image
image image image