This project is the implementation of the paper: "Using filter banks in Convolutional Neural Networks for texture classification" [arXiv] in pytorch.
V. Andrearczyk & Paul F. Whelan
In this project, TCNN3 architecture is implemented in end to end manner from scratch(No pretraining) for the DTD dataset.
Download the raw images (train/test/val) from the following link:
https://www.robots.ox.ac.uk/~vgg/data/dtd/
Edit the ROOT_PATH variable in create_texture_train_test_val_file.py to give the path of the downloaded images from DTD dataset link.
Run the following command:
python3 create_texture_train_test_val_file.py
This will seprate out the the 10 splits of train, test and validtion files in the ./images folder.
Run the following command:
python3 create_pickle.py
This will create the train, test and val pickle files in the folder: ./Dataset/Texture/DTD/
Python(ver: 3.7)
Pytorch(ver: 1.3.1)
Pretrained pytorch models for DTD dataset of TCNN3 architecture can be dowbloaded from the following link:
https://uflorida-my.sharepoint.com/:f:/g/personal/shantanughosh_ufl_edu/EsslShM1m61Ji2lxzrtI9gUB-yqIhDIntbkzaVHPlYv1vQ?e=Z0CBah
python3 train.py
This will create the models and place them in the ./Models folder.
python3 test.py
Epochs: 400
Learning rate: 0.0001
Batch size: 32
Weight Decay: 0.0005
The accuracy is replicated as 27.8 % on the DTD dataset training from scratch(end to end as specified by the authors of the paper)