Skills you'll learn:

Computer Vision
Nanodegree Program
Master the computer vision skills behind advances in robotics and automation. Write programs to analyze images, implement feature extraction, and recognize objects using deep learning models.
Master the computer vision skills behind advances in robotics and automation. Write programs to analyze images, implement feature extraction, and recognize objects using deep learning models.
Subscription · Monthly
- Cancel Anytime
- Unlimited access to hundreds of top-rated courses
- Hands-on projects with expert feedback
- Personalized career coaching and interview prep
- Program Certificates
Prerequisites:
Advanced
37 hours
Last Updated May 30, 2025
Skills you'll learn:
Prerequisites:
Courses In This Program
Course 1 • 45 minutes
Welcome to the Nanodegree Program!
Welcome to Udacity! We're excited to share more about your Nanodegree program and start this journey with you!
Lesson 1
Welcome!
Welcome to Udacity. Takes 5 minutes to get familiar with Udacity courses and gain some tips to succeed in courses.
Lesson 2
Getting Help
You are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.
Course 2 • 12 hours
Introduction to Computer Vision
Master computer vision and image processing essentials. Learn to extract important features from image data, and apply deep learning techniques to classification tasks
Lesson 1
Welcome to Computer Vision
Welcome to the Computer Vision Nanodegree program!
Lesson 2
Image Representation & Classification
Learn how images are represented numerically and implement image processing techniques, such as color masking and binary classification.
Lesson 3
Convolutional Filters and Edge Detection
Learn about frequency in images and implement your own image filters for detecting edges and shapes in an image. Use a computer vision library to perform face detection.
Lesson 4
Types of Features & Image Segmentation
Program a corner detector and learn techniques, like k-means clustering, for segmenting an image into unique parts.
Lesson 5
Feature Vectors
Learn how to describe objects and images using feature vectors.
Lesson 6
CNN Layers and Feature Visualization
Define and train your own convolution neural network for clothing recognition. Use feature visualization techniques to see what a network has learned.
Lesson 7 • Project
Project: Facial Keypoint Detection
Apply your knowledge of image processing and deep learning to create a CNN for facial keypoint (eyes, mouth, nose, etc.) detection.
Course 3 • 40 minutes
Optional: Cloud Computing
Lesson 1
Optional: Cloud Computing with AWS
Take advantage of Amazon's GPUs to train your neural network faster. In this lesson, you'll learn how to setup an instance on AWS and train a neural network on a GPU.
Course 4 • 9 hours
Advanced Computer Vision and Deep Learning
Learn to apply deep learning architectures to computer vision tasks. Discover how to combine CNN and RNN networks to build an automatic image captioning application.
Lesson 1
Advanced CNN Architectures
Learn about advances in CNN architectures and see how region-based CNN’s, like Faster R-CNN, have allowed for fast, localized object recognition in images.
Lesson 2
YOLO
Learn about the YOLO (You Only Look Once) multi-object detection model and work with a YOLO implementation.
Lesson 3
RNN's
Explore how memory can be incorporated into a deep learning model using recurrent neural networks (RNNs). Learn how RNNs can learn from and generate ordered sequences of data.
Lesson 4
Long Short-Term Memory Networks (LSTMs)
Luis explains Long Short-Term Memory Networks (LSTM), and similar architectures which have the benefits of preserving long term memory.
Lesson 5
Hyperparameters
Learn about a number of different hyperparameters that are used in defining and training deep learning models. We'll discuss starting values and intuitions for tuning each hyperparameter.
Lesson 6
Optional: Attention Mechanisms
Attention is one of the most important recent innovations in deep learning. In this section, you'll learn how attention models work and go over a basic code implementation.
Lesson 7
Image Captioning
Learn how to combine CNNs and RNNs to build a complex, automatic image captioning model.
Lesson 8 • Project
Project: Image Captioning
Train a CNN-RNN model to predict captions for a given image. Your main task will be to implement an effective RNN decoder for a CNN encoder.
Course 5 • 15 hours
Object Tracking and Localization
Learn how to locate an object and track it over time. These techniques are used in a variety of moving systems, such as self-driving car navigation and drone flight.
Lesson 1
Introduction to Motion
This lesson introduces a way to represent motion mathematically, outlines what you'll learn in this section, and introduces optical flow.
Lesson 2
Robot Localization
Learn to implement a Bayesian filter to locate a robot in space and represent uncertainty in robot motion.
Lesson 3
Mini-project: 2D Histogram Filter
Write sense and move functions (and debug) a 2D histogram filter!
Lesson 4
Introduction to Kalman Filters
Learn the intuition behind the Kalman Filter, a vehicle tracking algorithm, and implement a one-dimensional tracker of your own.
Lesson 5
Representing State and Motion
Learn about representing the state of a car in a vector that can be modified using linear algebra.
Lesson 6
Matrices and Transformation of State
Linear Algebra is a rich branch of math and a useful tool. In this lesson you'll learn about the matrix operations that underly multidimensional Kalman Filters.
Lesson 7
Simultaneous Localization and Mapping
Learn how to implement SLAM: simultaneously localize an autonomous vehicle and create a map of landmarks in an environment.
Lesson 8
Optional: Vehicle Motion and Calculus
Review the basics of calculus and see how to derive the x and y components of a self-driving car's motion from sensor measurements and other data.
Lesson 9 • Project
Project: Landmark Detection & Tracking
Implement SLAM, a robust method for tracking an object over time and mapping out its surrounding environment, using elements of probability, motion models, and linear algebra.
(Optional) Course 6 • 40 minutes
Applications of Computer Vision & Deep Learning
Take a quick look at a few really cool applications of deep learning and computer vision, such as Neural Style Transfer, that using pre-trained models.
Lesson 1
Applying Deep Learning Models
Try out a few really cool applications of computer vision and deep learning, such as style transfer, using pre-trained models that others have generously provided on Github.
(Optional) Course 7 • 4 hours
Review: Training A Neural Network
Review how neural networks turn an input into an output and how they monitor errors as they train. This section will also cover methods to avoid overfitting your data.
Lesson 1
Feedforward and Backpropagation
Short introduction to neural networks: how they train by doing a feedforward pass then performing backpropagation.
Lesson 2
Training Neural Networks
Now that you know what neural networks are, in this lesson you will learn several techniques to improve their training.
Lesson 3
Deep Learning with PyTorch
Learn how to use PyTorch for building deep learning models
(Optional) Course 8 • 2 hours
Skin Cancer Detection
Learn how to utilize neural networks to distinguish between images of benign and cancerous skin tissue.
Lesson 1
Deep Learning for Cancer Detection with Sebastian Thrun
Sebastian Thrun teaches us about his groundbreaking work detecting skin cancer with convolutional neural networks.
(Optional) Course 9 • 2 hours
Text Sentiment Analysis
Learn how to create a simple neural network for analyzing the sentiment (bad or good) in the text of movie reviews.
Lesson 1
Sentiment Analysis
In this lesson, Andrew Trask, the author of Grokking Deep Learning, will walk you through using neural networks for sentiment analysis.
(Optional) Course 10 • 1 hour
More Deep Learning Models
Lesson 1
Fully-Convolutional Neural Networks & Semantic Segmentation
Get a high-level overview of how fully-convolutional neural networks work, and see how they can be used to classify every pixel in an image.
(Optional) Course 11 • 19 hours
C++ Programming
Lesson 1
C++ Getting Started
The differences between C++ and Python and how to write C++ code.
Lesson 2
C++ Vectors
To program matrix algebra operations and translate your Python code, you will need to use C++ Vectors. These vectors are similar to Python lists, but the syntax can be somewhat tricky.
Lesson 3
Practical C++
Learn how to write C++ code on your own computer and compile it into a executable program without running into too many compilation errors.
Lesson 4
C++ Object Oriented Programming
Learn the syntax of C++ object oriented programming as well as some of the additional OOP features provided by the language.
Lesson 5
Python and C++ Speed
In this lesson, we'll compare the execution times of C++ and Python programs.
Lesson 6
C++ Intro to Optimization
Optimizing C++ involves understanding how a computer actually runs your programs. You'll learn how C++ uses the CPU and RAM to execute your code and get a sense for what can slow things down.
Lesson 7
C++ Optimization Practice
Now you understand how C++ programs execute. It's time to learn specific optimization techniques and put them into practice. This lesson will prepare you for the lesson's code optimization project.
Lesson 8
Project: Optimize Histogram Filter
Get ready to optimize some C++ code. You are provided with a working 2-dimensional histogram filter; your job is to get the histogram filter code to run faster!
Taught By The Best

Sebastian Thrun
Founder and Executive Chairman, Udacity
As the Founder and Chairman of Udacity, Sebastian's mission is to democratize education by providing lifelong learning to millions of students worldwide. He is also the founder of Google X, where he led projects including the Self-Driving Car, Google Glass, and more.

Cezanne Camacho
Curriculum Lead
Cezanne is an expert in computer vision with a Masters in Electrical Engineering from Stanford University. As a former researcher in genomics and biomedical imaging, she's applied computer vision and deep learning to medical diagnostic applications.

Jay Alammar
Instructor
Jay is a software engineer, the founder of Qaym (an Arabic-language review site), and the Investment Principal at STV, a $500 million venture capital fund focused on high-technology startups.

Alexis Cook
Curriculum Lead
Alexis is an applied mathematician with a Masters in Computer Science from Brown University and a Masters in Applied Mathematics from the University of Michigan. She was formerly a National Science Foundation Graduate Research Fellow.

Luis Serrano
Instructor
Luis was formerly a Machine Learning Engineer at Google. He holds a PhD in mathematics from the University of Michigan, and a Postdoctoral Fellowship at the University of Quebec at Montreal.

Juan Delgado
Content Developer
Juan is a computational physicist with a Masters in Astronomy. He is finishing his PhD in Biophysics. He previously worked at NASA developing space instruments and writing software to analyze large amounts of scientific data using machine learning techniques.

Ortal Arel
Curriculum Lead
Ortal Arel has a PhD in Computer Engineering, and has been a professor and researcher in the field of applied cryptography. She has worked on design and analysis of intelligent algorithms for high-speed custom digital architectures.
Student Reviews
Average Rating: 4.7 Stars
477 Reviews
Man Fai C
February 29, 2024
The course provides the material that helps me more easier to understand the difficult concepts.
Yousef Ahmed I.
April 11, 2023
I thought the 3rd module about SLAM was irrelevant to me, I was expecting deep learning to be the focus throughout the whole course. The mentors gave me a very hard time when I tried asking questions and my questions would get queued for too long which was a disappointment since I decided to buy from audacity in the first place because of the ability to have access to mentors.
Pravin D.
February 2, 2023
The program was good, if the student takes effort into projects then it can benefit a lot.
Eric T.
November 30, 2022
Really interesting projects. This course gives you a real understanding of how CNN-RNN works.
Dev K.
September 26, 2022
VERY INFORMATIVE, I LEARNED AND GAINED THE SKILLS OF THE VARIOUS THINGS.
The Udacity Difference
Combine technology training for employees with industry experts, mentors, and projects, for critical thinking that pushes innovation. Our proven upskilling system goes after success—relentlessly.

Demonstrate proficiency with practical projects
Projects are based on real-world scenarios and challenges, allowing you to apply the skills you learn to practical situations, while giving you real hands-on experience.
Gain proven experience
Retain knowledge longer
Apply new skills immediately

Top-tier services to ensure learner success
Reviewers provide timely and constructive feedback on your project submissions, highlighting areas of improvement and offering practical tips to enhance your work.
Get help from subject matter experts
Learn industry best practices
Gain valuable insights and improve your skills
Subscription · Monthly
- Cancel Anytime
- Unlimited access to hundreds of top-rated courses
- Hands-on projects with expert feedback
- Personalized career coaching and interview prep
- Program Certificates