keras_compact_bilnear_CNN
keras_compact_bilnear_CNN copied to clipboard
This is an implementation of compact bilinear CNN using keras
Keras Implementation of Compact Bilinear Pooling
This repository contains the keras implementation of Compact Bilinear CNN. Compact bilinear pooling was first introduced in paper Compact biinear pooling and gives significant performance on fine-grained image classification tasks such as bird species classification and aeroplane type categorization.
Usage
- Download CUB_200_2011 dataset from here.
Extract the contents in folder
data/CUB_200_2011
- Download the VGG16 weights file from here in the working directory
- For training only the last fully connected layer of the network, use
python train_cbcnn_last.py 0 # If training without GPU
python train_cbcnn_last.py 1 # If training with GPU
- For training the complete net after the last layer has been tuned, use:
python train_cbcnn_all.py 0 # If training without GPU
python train_cbcnn_all.py 0 # If training with GPU
- For testing the trained model, run
python test_model.py
More on Applications of Compact bilinear CNN
At Squad, we further utilized Compact bilinear CNN for solving complex use cases like apparel items classification, and retrieval of similar item from in-shop and street-to-shop domain. The proposed pipeline and results are presented in the research paper [Fine-grained Apparel Classification and Retrieval without rich annotations] (https://arxiv.org/abs/1811.02385)
References
If you utilize Compact bilinear CNN for your research then pls refer
Gao, Y., Beijbom, O., Zhang, N., & Darrell, T. (2016). Compact bilinear pooling. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 317-326).
Additionally if you utilize Compact bilinear CNN for solving Apparel items categorization or related use case, pls refer
Bhatnagar, A., & Aggarwal, S. (2018). Fine-grained Apparel Classification and Retrieval without rich annotations. arXiv preprint arXiv:1811.02385.
Acknowledgments
I have referred Compact bilinear pooling implementation in Caffe by the authors here and tensorflow implementation here