Research
Using images containing seen classes we obtained image features using a pre-trained CNN. With that and the GloVe word embeddings, we trained a Conditional Variational Autoencoder. Using that we generated synthetic examples of unseen classes and trained a classifier on real and synthetic data to predict all classes. Obtained 21% testing accuracy in generalized zero-shot setting, whereas 50% testing accuracy in the conventional zero-shot setting.
- Python
- GloVe
- Pytorch
Local Binary CNN uses binary convolution filters to reduce computation without much loss of accuracy. Implemented that in Keras using available implementations in Pytorch and Tensorflow.
- Python
- Custom Keras layers
- Tensorflow
Performed object detection on MNIST dataset by creating artificial images containing three digits using YOLO architecture. Created a simplified architecture, by predicting just one box per grid instead of five, and the code, by creating the target tensor before feeding it into the model. Learned to make grids for bounding box prediction and using confidence for discriminating objects from the background.
- Python
- Keras
- YOLO
- End-to-end object detection
Created a dataset of images and their corresponding steering angle recorded by a dash-cam placed in a vehicle and driven around the campus. Created a custom CNN to encode input frames. The current frame, along with two previous frames, was encoded and passed to a sequence classification model (LSTM) which predicted the output steering angle. History was provided to the model to enable it to understand the velocity and direction of the vehicle as well as other vehicles, which corrected the erratic output. The output steering angle was binned to the size of 10°, resulting in 36 classes and therefore categorical cross-entropy loss was used to train the full end-to-end model. This was done to prevent overfitting as in the case of regression. Obtained 90% testing accuracy.
- Python
- CNN
- LSTM
- Keras
Learned to create Convolutional Neural Netowrks in Keras. Trained a small VGG CNN model with Batch Normalization from scratch on MNIST dataset. The maximum accuracy that was achieved was 98.5%.
- Python
- CNN
- Keras
- HDF5
- Jupyter