MPC_controller_logo

Model Predictive Control for cars in C++

In the 10’th project from the Self-Driving Car engineer program designed by Udacity, we implemented a Model Predictive Control to drive the car around the track. This time however we’re not given the crosstrack error, we had to calculate that ourself. Additionally, there’s a 100 millisecond latency between actuations commands on top of the connection[…]

particle_filter_logo

Robot Localization with Particle Filter and C++

In the 8’th project from the Self-Driving Car engineer program designed by Udacity, we implemented a 2 dimensional 3DOF particle filter in C++ to localize our vehicle in a known map. Our vehicle starts in an unknown location and using the particle filter approach we need to determine where our vehicle is. The particle filter[…]

object_tracking_logo

Object tracking with LIDAR, Radar, sensor fusion and Extended Kalman Filter

In the 6’th project from the Self-Driving Car engineer program designed by Udacity, we will utilize an Extended Kalman Filter to estimate the state of a moving object of interest with noisy LIDAR and Radar measurements. This post builds up starting with a very simple Kalman Filter implementation for the 1D motion smoothing, to a complex[…]

vehicle_detection_logo

Vehicle Detection using OpenCV and SVM classifier

In this 5’th project from the Self-Driving Car engineer program designed by Udacity, our goals are the following: Perform a Histogram of Oriented Gradients (HOG) feature extraction on a labeled training set of images and train a classifier Linear SVM classifier Optionally, you can also apply a color transform and append binned color features, as[…]

Advanced_Lane_Finding_logo.jpg

Advanced Lane Finding using OpenCV

In this 4’th project from the Self-Driving Car engineer program designed by Udacity, our goal is to write a software pipeline to identify the lane boundaries in a video from a front-facing camera on a car. The camera calibration images, test road images, and project videos are available here repository. The goals / steps of[…]

behavioral_cloning_logo

Predicting Steering Angles using Deep Learning and Behavioral Cloning

The Self-Driving Car engineer program designed by Udacity is currently the only machine learning program which is focused entirely on autonomous driving. The program offers worldclass traning staff and prominent partners like Nvidia or Mercedes Benz. Besides interesting lessons and exercises the program expects students to prove their deep learning skills in real world projects.[…]

dnn_classification_logo

Image classification with Deep Learning, CNN, Caffe, OpenCV 3.x and CUDA

This prototype tests different implementations of the image classification with Deep Learning, Convolutional Neural Networks (CNN), Caffe, OpenCV 3.x and CUDA. Topics covered: Image Classification, Neural Networks vs Deep Learning, CNN vs R-CNN, cuDNN, Caffe, ImageNet & challenges Testing of OpenCV’s DNN CPU classification using GoogLeNet, a trained network from Caffe model zoo Testing of[…]

surf_tracking_logo

Object detection with SURF, KNN, FLANN, OpenCV 3.X and CUDA

This prototype tests different implementations of the real-time feature-based object detection with SURF, KNN, FLANN, OpenCV 3.X and CUDA. Object detection is the process of finding instances of real-world objects such as faces, bicycles, and buildings in images or videos. Object detection algorithms typically use extracted features and learning algorithms to recognize instances of an object[…]

sketch-logo

Image and video pencil sketch with OpenCV 3.X and CUDA

This prototype tests implementations of the pencil sketch operation for images and videos using C++, CUDA, OpenCV 3.X. Sketching is a natural way of expressing some types of ideas. It conveys information that can be really hard to explain using text, and at the same time it does not require a tremendous amount of effort. It[…]

image segmentation

Image Segmentation with Watershed, C++, OpenCV 3.X and CUDA

This prototype tests the image segmentation with several Watershed-based algorithms, including the marker-controlled variation provided by OpenCV 3.X, with the graph-based variation Power Watershed implemented in C++, with the unified version of waterfalls, standard and P algorithms implemented in C++, and a CUDA implementation of the standard algorithm. In computer vision, image segmentation is the[…]