Transfer learning is a process in Machine Learning to reuse models that are already developed and trained with the huge dataset. Transfer learning is widely used in computer vision applications because the models are pre-trained with the Imagenet database. it is a widely accepted technique, popular in machine learning because training a model needs a huge amount of data, time consuming and needs high compute power.
In general, the pre-trained models acquire knowledge from the training data, this is called feature extraction from the model, with transfer learning we use the knowledge acquired by the pre-trained models. Transfer learning is more effective when the model is trained with the more generic dataset.
After the features extracted from the model, a new model will be created with a few last layers, sometimes a single output layer which is a dense layer in the case of CNN. in this process some of the layers on the model is removed
Machine learning frameworks like Keras, Caffe come with famous pre-trained models like VGG16, resnet and mobilenet etc.. Building new model with these pre-trained models in easy and quick turnaround time.