Deep Learning for Computer Vision

CS231N

Stanford School of Engineering

Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars.

Core to many of these applications are visual recognition tasks such as image classification and object detection. Recent developments in neural network approaches have greatly advanced the performance of these state-of-the-art visual recognition systems.

This course is a deep dive into details of neural-network based deep learning methods for computer vision. During this course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in computer vision.

We will cover learning algorithms, neural network architectures, and practical engineering tricks for training and fine-tuning networks for visual recognition tasks.

Topics Include

  • End-to-end models
  • Image classification, localization and detection
  • Implementation, training and debugging
  • Learning algorithms, such as backpropagation
  • Long Short Term Memory (LSTM)
  • Recurrent Neural Networks (RNN)
  • Supervised and unsupervised learning

What You Need to Succeed

  • A conferred bachelor’s degree with an undergraduate GPA of 3.0 or better
  • Proficiency in Python: Assignments will be in Python (and use numpy) 
  • Please check the tutorial here for those who aren't as familiar with Python
  • Programming experience in a different language (e.g. C/C++/Matlab/Javascript) 
  • College Calculus, Linear Algebra (e.g. MATH19 or 41, MATH51)
  • Proficient with derivatives and understanding matrix vector operations and notation
  • Basic Probability and Statistics (e.g. CS109 or other stats course)

What You Need To Get Started

Before enrolling in your first graduate course, you must complete an online application.

Don’t wait! While you can only enroll in courses during open enrollment periods, you can complete your online application at any time.

Once you have enrolled in a course, your application will be sent to the department for approval. You will receive an email notifying you of the department's decision after the enrollment period closes. You can also check your application status in your mystanfordconnection account at any time.

Learn more about the graduate application process.

How Much It Will Cost

Learn more about tuition and fees.