Course 1: Welcome to the Nanodegree Program! Welcome to Udacity! We're excited to share more about your Nanodegree program and start this journey with you!45 minutesWelcome!Welcome to Udacity. Takes 5 minutes to get familiar with Udacity courses and gain some tips to succeed in courses.Getting HelpYou are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.Course 2: 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 tasks12 hoursWelcome to Computer VisionWelcome to the Computer Vision Nanodegree program!Image Representation & ClassificationLearn how images are represented numerically and implement image processing techniques, such as color masking and binary classification.Convolutional Filters and Edge DetectionLearn 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.Types of Features & Image SegmentationProgram a corner detector and learn techniques, like k-means clustering, for segmenting an image into unique parts.Feature VectorsLearn how to describe objects and images using feature vectors.CNN Layers and Feature VisualizationDefine and train your own convolution neural network for clothing recognition. Use feature visualization techniques to see what a network has learned. Project: Facial Keypoint DetectionApply your knowledge of image processing and deep learning to create a CNN for facial keypoint (eyes, mouth, nose, etc.) detection.Course 3: Optional: Cloud Computing 40 minutesOptional: Cloud Computing with AWSTake 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: 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.9 hoursAdvanced CNN ArchitecturesLearn 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. YOLOLearn about the YOLO (You Only Look Once) multi-object detection model and work with a YOLO implementation.RNN'sExplore 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. 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.HyperparametersLearn 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.Optional: Attention MechanismsAttention 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.Image CaptioningLearn how to combine CNNs and RNNs to build a complex, automatic image captioning model.Project: Image CaptioningTrain 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: 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.15 hoursIntroduction to MotionThis lesson introduces a way to represent motion mathematically, outlines what you'll learn in this section, and introduces optical flow.Robot LocalizationLearn to implement a Bayesian filter to locate a robot in space and represent uncertainty in robot motion.Mini-project: 2D Histogram FilterWrite sense and move functions (and debug) a 2D histogram filter!Introduction to Kalman FiltersLearn the intuition behind the Kalman Filter, a vehicle tracking algorithm, and implement a one-dimensional tracker of your own.Representing State and MotionLearn about representing the state of a car in a vector that can be modified using linear algebra.Matrices and Transformation of StateLinear 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.Simultaneous Localization and MappingLearn how to implement SLAM: simultaneously localize an autonomous vehicle and create a map of landmarks in an environment. Optional: Vehicle Motion and CalculusReview 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.Project: Landmark Detection & TrackingImplement 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.Course 6: OptionalApplications of Computer Vision & Deep Learning OptionalTake 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.40 minutesApplying Deep Learning ModelsTry 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. Course 7: OptionalReview: Training A Neural Network OptionalReview 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.4 hoursFeedforward and BackpropagationShort introduction to neural networks: how they train by doing a feedforward pass then performing backpropagation.Training Neural NetworksNow that you know what neural networks are, in this lesson you will learn several techniques to improve their training.Deep Learning with PyTorchLearn how to use PyTorch for building deep learning modelsCourse 8: OptionalSkin Cancer Detection OptionalLearn how to utilize neural networks to distinguish between images of benign and cancerous skin tissue.2 hoursDeep Learning for Cancer Detection with Sebastian ThrunSebastian Thrun teaches us about his groundbreaking work detecting skin cancer with convolutional neural networks. Course 9: OptionalText Sentiment Analysis OptionalLearn how to create a simple neural network for analyzing the sentiment (bad or good) in the text of movie reviews.2 hoursSentiment AnalysisIn this lesson, Andrew Trask, the author of Grokking Deep Learning, will walk you through using neural networks for sentiment analysis.Course 10: OptionalMore Deep Learning Models Optional1 hourFully-Convolutional Neural Networks & Semantic SegmentationGet 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.Course 11: OptionalC++ Programming Optional19 hoursC++ Getting StartedThe differences between C++ and Python and how to write C++ code.C++ VectorsTo 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.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.C++ Object Oriented ProgrammingLearn the syntax of C++ object oriented programming as well as some of the additional OOP features provided by the language.Python and C++ SpeedIn this lesson, we'll compare the execution times of C++ and Python programs.C++ Intro to OptimizationOptimizing 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.C++ Optimization PracticeNow 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.Project: Optimize Histogram FilterGet 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!CompanyAbout Us Why Udacity? Blog In the News Jobs at Udacity Become a Mentor Partner with Udacity ResourcesCatalog Career Outcomes Help and FAQ Scholarships Resource Center Udacity SchoolsSchool of Artificial Intelligence School of Autonomous Systems School of Business School of Cloud Computing School of Cybersecurity School of Data Science School of Executive Leadership School of Product Management School of Programming and Development Career Resources Featured ProgramsBusiness Analytics SQL AWS Cloud Architect Data Analyst Intro to Programming Digital Marketing Self Driving Car Engineer Only at UdacityArtificial Intelligence Deep Learning Digital Marketing Flying Car and Autonomous Flight Engineer Intro to Self-Driving Cars Machine Learning Engineer Robotics Software Engineer