What is transfer learning and how is it applied in computer vision tasks? How do pre-trained models help in reducing training time and improving performance? What are the common approaches to transfer learning, such as feature extraction and fine-tuning? In which scenarios is transfer learning most effective in computer vision? What are the advantages and limitations of using transfer learning in real-world applications?