Skip to content

Latest commit

 

History

History
61 lines (46 loc) · 2.94 KB

README.md

File metadata and controls

61 lines (46 loc) · 2.94 KB

Deep Learning for Fine-grained Visual Classification

Here we implement state-of-the-art techniques for fine-grained classification.

  1. Discriminative filter learning within CNN -- CVPR, June 2018
  2. Bilinear CNN -- ICCV, 2015

To this end, we authored a few notebooks that illustrate both techniques as well as other approaches:

  • Plain ResNet50, VGG19_bn.ipynb contain codes and description for our fine-tuned ResNet-50 and VGG-19 models.
  • dfl.ipynb outlines major components and implementation of the DFL architecture.
  • BilinearPooling with FastAI on Stenford Cars.ipynb contains a simple implementation of Bilinear CNN
  • ResNet34.ipynb contains a straightforward transfer learning approach using ResNet34.

Datasets:

Implemented using PyTorch. This work is done as part of the final project for Deep Vision, ST2019.

This work is also partly inspired by

To train a DFL model:

# clone this repo
git clone https://github.com/Physicist91/dvfp

# first edit the parameters (e.g. GPU number, batch_size) then execute run.sh
# to load our trained model, specify the path to weights in --resume
./run.sh

Stanford Cars is the primary dataset used in this project. CUB_200_2011 is used only for further comparison and testing. The final results are:

table

The weights can be downloaded from here. The poster for this project can be found below (note that the numbers/results have been updated -- refer to the table above).


poster